summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.clang-tidy7
-rw-r--r--.gitignore1
-rw-r--r--.gitlab-ci.yml8
-rw-r--r--.luacheckrc2
-rw-r--r--.travis.yml71
-rw-r--r--CMakeLists.txt17
-rw-r--r--Dockerfile11
-rw-r--r--README.md6
-rw-r--r--build/android/Makefile5
-rw-r--r--build/android/build.gradle2
-rw-r--r--build/android/jni/Android.mk8
-rw-r--r--build/android/patches/libiconv_android.patch39
-rw-r--r--build/android/patches/libiconv_stdio.patch13
-rw-r--r--builtin/common/information_formspecs.lua4
-rw-r--r--builtin/common/misc_helpers.lua109
-rw-r--r--builtin/common/serialize.lua34
-rw-r--r--builtin/common/tests/misc_helpers_spec.lua73
-rw-r--r--builtin/common/tests/serialize_spec.lua44
-rw-r--r--builtin/common/tests/vector_spec.lua46
-rw-r--r--builtin/game/chat.lua17
-rw-r--r--builtin/game/deprecated.lua2
-rw-r--r--builtin/game/falling.lua140
-rw-r--r--builtin/game/features.lua1
-rw-r--r--builtin/game/item.lua52
-rw-r--r--builtin/game/item_entity.lua3
-rw-r--r--builtin/game/misc.lua16
-rw-r--r--builtin/game/register.lua8
-rw-r--r--builtin/mainmenu/dlg_settings_advanced.lua11
-rw-r--r--builtin/mainmenu/pkgmgr.lua74
-rw-r--r--builtin/mainmenu/tab_credits.lua81
-rw-r--r--builtin/mainmenu/tab_online.lua1
-rw-r--r--builtin/profiler/instrumentation.lua2
-rw-r--r--builtin/settingtypes.txt314
-rw-r--r--client/shaders/nodes_shader/opengl_vertex.glsl59
-rw-r--r--client/shaders/object_shader/opengl_fragment.glsl131
-rw-r--r--client/shaders/object_shader/opengl_vertex.glsl44
-rw-r--r--clientmods/preview/example.lua2
-rw-r--r--clientmods/preview/init.lua52
-rw-r--r--doc/client_lua_api.txt125
-rw-r--r--doc/lua_api.txt664
-rw-r--r--doc/menu_lua_api.txt10
-rw-r--r--doc/texture_packs.txt5
-rw-r--r--doc/world_format.txt118
-rw-r--r--fonts/Arimo-Bold.ttfbin0 -> 420920 bytes
-rw-r--r--fonts/Arimo-BoldItalic.ttfbin0 -> 417668 bytes
-rw-r--r--fonts/Arimo-Italic.ttfbin0 -> 421372 bytes
-rw-r--r--fonts/Cousine-Bold.ttfbin0 -> 288272 bytes
-rw-r--r--fonts/Cousine-BoldItalic.ttfbin0 -> 265104 bytes
-rw-r--r--fonts/Cousine-Italic.ttfbin0 -> 262524 bytes
-rw-r--r--games/minimal/mods/default/init.lua2
-rw-r--r--games/minimal/mods/default/textures/bubble.pngbin273 -> 0 bytes
-rw-r--r--games/minimal/mods/default/textures/heart.pngbin248 -> 0 bytes
-rw-r--r--games/minimal/mods/default/textures/player.pngbin157 -> 0 bytes
-rw-r--r--games/minimal/mods/default/textures/player_back.pngbin149 -> 0 bytes
-rw-r--r--games/minimal/mods/default/textures/wieldhand.pngbin212 -> 0 bytes
-rw-r--r--games/minimal/mods/test/formspec.lua84
-rw-r--r--games/minimal/mods/test/textures/test_animation.jpgbin0 -> 4376 bytes
-rw-r--r--games/minimal/mods/test/textures/test_animation.pngbin0 -> 3161 bytes
-rw-r--r--games/minimal/mods/test/textures/test_bg.pngbin0 -> 972 bytes
-rw-r--r--games/minimal/mods/test/textures/test_bg_9slice.pngbin0 -> 1017 bytes
-rw-r--r--games/minimal/mods/test/textures/test_bg_9slice_hovered.pngbin0 -> 1016 bytes
-rw-r--r--games/minimal/mods/test/textures/test_bg_9slice_pressed.pngbin0 -> 1016 bytes
-rw-r--r--games/minimal/mods/test/textures/test_bg_hovered.pngbin0 -> 972 bytes
-rw-r--r--games/minimal/mods/test/textures/test_bg_pressed.pngbin0 -> 971 bytes
-rw-r--r--lib/gmp/mini-gmp.c1810
-rw-r--r--lib/gmp/mini-gmp.h41
-rw-r--r--minetest.conf.example381
-rw-r--r--misc/net.minetest.minetest.appdata.xml2
-rw-r--r--po/ar/minetest.po4209
-rw-r--r--po/be/minetest.po700
-rw-r--r--po/ca/minetest.po493
-rw-r--r--po/cs/minetest.po659
-rw-r--r--po/da/minetest.po569
-rw-r--r--po/de/minetest.po799
-rw-r--r--po/dv/minetest.po455
-rw-r--r--po/el/minetest.po469
-rw-r--r--po/eo/minetest.po909
-rw-r--r--po/es/minetest.po1059
-rw-r--r--po/et/minetest.po1021
-rw-r--r--po/eu/minetest.po4517
-rw-r--r--po/fil/minetest.po455
-rw-r--r--po/fr/minetest.po828
-rw-r--r--po/he/minetest.po462
-rw-r--r--po/hu/minetest.po728
-rw-r--r--po/id/minetest.po676
-rw-r--r--po/it/minetest.po703
-rw-r--r--po/ja/minetest.po771
-rw-r--r--po/ja_KS/minetest.po455
-rw-r--r--po/jbo/minetest.po836
-rw-r--r--po/kk/minetest.po455
-rw-r--r--po/kn/minetest.po455
-rw-r--r--po/ko/minetest.po552
-rw-r--r--po/ky/minetest.po481
-rw-r--r--po/lo/minetest.po455
-rw-r--r--po/lt/minetest.po491
-rw-r--r--po/minetest.pot407
-rw-r--r--po/ms/minetest.po809
-rw-r--r--po/my/minetest.po455
-rw-r--r--po/nb/minetest.po1117
-rw-r--r--po/nl/minetest.po642
-rw-r--r--po/nn/minetest.po472
-rw-r--r--po/pl/minetest.po671
-rw-r--r--po/pt/minetest.po731
-rw-r--r--po/pt_BR/minetest.po672
-rw-r--r--po/ro/minetest.po605
-rw-r--r--po/ru/minetest.po965
-rw-r--r--po/sl/minetest.po498
-rw-r--r--po/sr_Cyrl/minetest.po489
-rw-r--r--po/sv/minetest.po509
-rw-r--r--po/sw/minetest.po577
-rw-r--r--po/th/minetest.po564
-rw-r--r--po/tr/minetest.po800
-rw-r--r--po/uk/minetest.po509
-rw-r--r--po/vi/minetest.po455
-rw-r--r--po/zh_CN/minetest.po1945
-rw-r--r--po/zh_TW/minetest.po1618
-rw-r--r--src/CMakeLists.txt77
-rw-r--r--src/activeobject.h4
-rw-r--r--src/client/camera.cpp35
-rw-r--r--src/client/client.cpp128
-rw-r--r--src/client/client.h32
-rw-r--r--src/client/clientenvironment.cpp57
-rw-r--r--src/client/clientevent.h16
-rw-r--r--src/client/clientobject.h6
-rw-r--r--src/client/content_cao.cpp214
-rw-r--r--src/client/content_cao.h10
-rw-r--r--src/client/content_mapblock.cpp43
-rw-r--r--src/client/fontengine.cpp127
-rw-r--r--src/client/fontengine.h79
-rw-r--r--src/client/game.cpp111
-rw-r--r--src/client/gameui.cpp12
-rw-r--r--src/client/guiscalingfilter.cpp7
-rw-r--r--src/client/guiscalingfilter.h3
-rw-r--r--src/client/hud.cpp94
-rw-r--r--src/client/hud.h12
-rw-r--r--src/client/keycode.cpp3
-rw-r--r--src/client/localplayer.cpp15
-rw-r--r--src/client/localplayer.h7
-rw-r--r--src/client/mapblock_mesh.cpp12
-rw-r--r--src/client/shader.cpp8
-rw-r--r--src/client/shader.h2
-rw-r--r--src/client/sky.cpp695
-rw-r--r--src/client/sky.h70
-rw-r--r--src/client/tile.cpp22
-rw-r--r--src/clientiface.h1
-rw-r--r--src/constants.h4
-rw-r--r--src/content/subgames.cpp4
-rw-r--r--src/content_sao.cpp12
-rw-r--r--src/craftdef.h17
-rw-r--r--src/daynightratio.h4
-rw-r--r--src/defaultsettings.cpp20
-rw-r--r--src/gui/CMakeLists.txt8
-rw-r--r--src/gui/StyleSpec.h103
-rw-r--r--src/gui/guiAnimatedImage.cpp73
-rw-r--r--src/gui/guiAnimatedImage.h28
-rw-r--r--src/gui/guiBackgroundImage.cpp69
-rw-r--r--src/gui/guiBackgroundImage.h38
-rw-r--r--src/gui/guiBox.cpp38
-rw-r--r--src/gui/guiBox.h34
-rw-r--r--src/gui/guiButton.cpp233
-rw-r--r--src/gui/guiButton.h104
-rw-r--r--src/gui/guiButtonImage.cpp160
-rw-r--r--src/gui/guiButtonImage.h59
-rw-r--r--src/gui/guiButtonItemImage.cpp57
-rw-r--r--src/gui/guiButtonItemImage.h45
-rw-r--r--src/gui/guiConfirmRegistration.cpp18
-rw-r--r--src/gui/guiEditBoxWithScrollbar.cpp11
-rw-r--r--src/gui/guiFormSpecMenu.cpp1517
-rw-r--r--src/gui/guiFormSpecMenu.h270
-rw-r--r--src/gui/guiHyperText.cpp1158
-rw-r--r--src/gui/guiHyperText.h229
-rw-r--r--src/gui/guiInventoryList.cpp217
-rw-r--r--src/gui/guiInventoryList.h130
-rw-r--r--src/gui/guiItemImage.cpp52
-rw-r--r--src/gui/guiItemImage.h46
-rw-r--r--src/gui/guiKeyChangeMenu.cpp103
-rw-r--r--src/gui/guiKeyChangeMenu.h3
-rw-r--r--src/gui/guiPasswordChange.cpp5
-rw-r--r--src/gui/guiScrollBar.cpp27
-rw-r--r--src/gui/guiScrollBar.h9
-rw-r--r--src/gui/guiVolumeChange.cpp4
-rw-r--r--src/gui/modalMenu.cpp2
-rw-r--r--src/gui/touchscreengui.h4
-rw-r--r--src/hud.cpp2
-rw-r--r--src/hud.h4
-rw-r--r--src/inventorymanager.cpp2
-rw-r--r--src/irrlicht_changes/CGUITTFont.h2
-rw-r--r--src/irrlicht_changes/static_text.cpp254
-rw-r--r--src/irrlicht_changes/static_text.h17
-rw-r--r--src/light.cpp36
-rw-r--r--src/map.cpp205
-rw-r--r--src/map.h12
-rw-r--r--src/map_settings_manager.cpp1
-rw-r--r--src/mapgen/cavegen.cpp35
-rw-r--r--src/mapgen/cavegen.h8
-rw-r--r--src/mapgen/mapgen.cpp47
-rw-r--r--src/mapgen/mapgen.h24
-rw-r--r--src/mapgen/mapgen_carpathian.cpp73
-rw-r--r--src/mapgen/mapgen_carpathian.h26
-rw-r--r--src/mapgen/mapgen_flat.cpp87
-rw-r--r--src/mapgen/mapgen_flat.h11
-rw-r--r--src/mapgen/mapgen_fractal.cpp116
-rw-r--r--src/mapgen/mapgen_fractal.h12
-rw-r--r--src/mapgen/mapgen_v5.cpp78
-rw-r--r--src/mapgen/mapgen_v5.h12
-rw-r--r--src/mapgen/mapgen_v6.cpp10
-rw-r--r--src/mapgen/mapgen_v6.h3
-rw-r--r--src/mapgen/mapgen_v7.cpp271
-rw-r--r--src/mapgen/mapgen_v7.h28
-rw-r--r--src/mapgen/mapgen_valleys.cpp78
-rw-r--r--src/mapgen/mapgen_valleys.h13
-rw-r--r--src/mapnode.cpp2
-rw-r--r--src/network/clientopcodes.cpp6
-rw-r--r--src/network/clientpackethandler.cpp171
-rw-r--r--src/network/connection.cpp32
-rw-r--r--src/network/connection.h6
-rw-r--r--src/network/networkprotocol.h62
-rw-r--r--src/network/serveropcodes.cpp12
-rw-r--r--src/network/serverpackethandler.cpp13
-rw-r--r--src/noise.cpp19
-rw-r--r--src/object_properties.cpp5
-rw-r--r--src/object_properties.h1
-rw-r--r--src/pathfinder.cpp581
-rw-r--r--src/remoteplayer.cpp15
-rw-r--r--src/remoteplayer.h40
-rw-r--r--src/script/common/c_content.cpp40
-rw-r--r--src/script/common/c_converter.cpp22
-rw-r--r--src/script/common/c_converter.h1
-rw-r--r--src/script/common/c_internal.cpp46
-rw-r--r--src/script/common/c_internal.h4
-rw-r--r--src/script/cpp_api/s_base.cpp30
-rw-r--r--src/script/cpp_api/s_item.cpp5
-rw-r--r--src/script/cpp_api/s_item.h3
-rw-r--r--src/script/cpp_api/s_security.cpp93
-rw-r--r--src/script/cpp_api/s_security.h2
-rw-r--r--src/script/lua_api/l_camera.cpp7
-rw-r--r--src/script/lua_api/l_client.cpp86
-rw-r--r--src/script/lua_api/l_client.h6
-rw-r--r--src/script/lua_api/l_env.cpp87
-rw-r--r--src/script/lua_api/l_env.h3
-rw-r--r--src/script/lua_api/l_item.cpp10
-rw-r--r--src/script/lua_api/l_localplayer.cpp4
-rw-r--r--src/script/lua_api/l_mapgen.cpp2
-rw-r--r--src/script/lua_api/l_object.cpp395
-rw-r--r--src/script/lua_api/l_object.h23
-rw-r--r--src/script/lua_api/l_server.cpp14
-rw-r--r--src/script/lua_api/l_settings.cpp25
-rw-r--r--src/script/lua_api/l_settings.h3
-rw-r--r--src/script/lua_api/l_util.cpp2
-rw-r--r--src/script/scripting_client.cpp1
-rw-r--r--src/script/scripting_server.cpp5
-rw-r--r--src/script/scripting_server.h2
-rw-r--r--src/serialization.cpp20
-rw-r--r--src/serialization.h2
-rw-r--r--src/server.cpp158
-rw-r--r--src/server.h26
-rw-r--r--src/serverenvironment.h1
-rw-r--r--src/serverlist.cpp10
-rw-r--r--src/settings.cpp89
-rw-r--r--src/settings.h22
-rw-r--r--src/settings_translation_file.cpp202
-rw-r--r--src/skyparams.h121
-rw-r--r--src/threading/semaphore.cpp27
-rw-r--r--src/unittest/test_compression.cpp63
-rw-r--r--src/unittest/test_settings.cpp37
-rw-r--r--src/unittest/test_utilities.cpp20
-rw-r--r--src/util/enriched_string.cpp88
-rw-r--r--src/util/enriched_string.h28
-rw-r--r--src/util/string.cpp123
-rw-r--r--src/util/string.h19
-rw-r--r--textures/base/pack/bubble.pngbin0 -> 142 bytes
-rw-r--r--textures/base/pack/crack_anylength.png (renamed from games/minimal/mods/default/textures/crack_anylength.png)bin255 -> 255 bytes
-rw-r--r--textures/base/pack/heart.pngbin0 -> 255 bytes
-rw-r--r--textures/base/pack/wieldhand.pngbin0 -> 126 bytes
-rwxr-xr-xutil/buildbot/buildwin32.sh16
-rwxr-xr-xutil/buildbot/buildwin64.sh6
-rwxr-xr-xutil/reorder_translation_commits.py33
-rwxr-xr-xutil/travis/before_install.sh12
-rw-r--r--util/travis/clang-format-whitelist.txt18
-rwxr-xr-xutil/travis/clangtidy.sh12
-rw-r--r--util/travis/common.sh21
-rwxr-xr-xutil/travis/run-clang-tidy.py466
-rwxr-xr-xutil/updatepo.sh1
283 files changed, 36622 insertions, 20113 deletions
diff --git a/.clang-tidy b/.clang-tidy
index 80c1949f9..1b9f8bd07 100644
--- a/.clang-tidy
+++ b/.clang-tidy
@@ -1,4 +1,5 @@
-Checks: '-*,modernize-use-emplace,modernize-use-default-member-init,modernize-use-equals-delete,modernize-use-equals-default,modernize-return-braced-init-list,modernize-loop-convert,modernize-avoid-bind,misc-throw-by-value-catch-by-reference,misc-string-compare,misc-inefficient-algorithm,misc-inaccurate-erase,misc-incorrect-roundings,misc-unconventional-assign-operator,bugprone-suspicious-memset-usage,performance-*'
+Checks: '-*,modernize-use-emplace,modernize-avoid-bind,misc-throw-by-value-catch-by-reference,misc-unconventional-assign-operator,performance-*'
+WarningsAsErrors: '-*,modernize-use-emplace,performance-type-promotion-in-math-fn,performance-faster-string-find,performance-implicit-cast-in-loop'
CheckOptions:
- - key: modernize-use-default-member-init.UseAssignment
- value: True
+ - key: performance-unnecessary-value-param.AllowedTypes
+ value: v[23]f;v[23][su](16|32)
diff --git a/.gitignore b/.gitignore
index 57c973d47..ce0838357 100644
--- a/.gitignore
+++ b/.gitignore
@@ -55,6 +55,7 @@ gtags.files
## Configuration/log files
minetest.conf
debug.txt
+debug.txt.1
## Other files generated by Minetest
screenshot_*.png
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index dbc532090..e4691284f 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -239,13 +239,13 @@ build:fedora-24:
##
.generic_win_template: &generic_win_template
- image: ubuntu:xenial
+ image: ubuntu:bionic
before_script:
- apt-get update -y
- - apt-get install -y p7zip-full wget unzip git cmake gettext
- - wget http://minetest.kitsunemimi.pw/mingw-w64-${WIN_ARCH}_7.1.1_ubuntu14.04.7z -O mingw.7z > /dev/null
+ - apt-get install -y wget xz-utils unzip git cmake gettext
+ - wget -q http://minetest.kitsunemimi.pw/mingw-w64-${WIN_ARCH}_9.2.0_ubuntu18.04.tar.xz -O mingw.tar.xz
- sed -e "s|%PREFIX%|${WIN_ARCH}-w64-mingw32|" -e "s|%ROOTPATH%|/usr/${WIN_ARCH}-w64-mingw32|" < util/travis/toolchain_mingw.cmake.in > ${TOOLCHAIN_OUTPUT}
- - 7z x -y -o/usr mingw.7z > /dev/null
+ - tar -xaf mingw.tar.xz -C /usr
.build_win_template: &build_win_template
<<: *generic_win_template
diff --git a/.luacheckrc b/.luacheckrc
index a21051514..3ab6e10c8 100644
--- a/.luacheckrc
+++ b/.luacheckrc
@@ -18,7 +18,7 @@ read_globals = {
"profiler",
"Settings",
- string = {fields = {"split"}},
+ string = {fields = {"split", "trim"}},
table = {fields = {"copy", "getn", "indexof", "insert_all"}},
math = {fields = {"hypot"}},
}
diff --git a/.travis.yml b/.travis.yml
index bdf3e8d42..7b224b549 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,8 +1,8 @@
language: cpp
before_install: ./util/travis/before_install.sh
script: ./util/travis/script.sh
-sudo: required
-dist: trusty
+os: linux
+dist: bionic
group: edge
notifications:
email: false
@@ -10,32 +10,43 @@ matrix:
fast_finish: true
include:
- - env: CLANG_FORMAT=clang-format-7
+ - env: CLANG_FORMAT=clang-format-8
compiler: clang
os: linux
addons:
apt:
- packages: ['clang-format-7']
- sources: &sources
- - ubuntu-toolchain-r-test
- - llvm-toolchain-trusty-7
+ packages: ['clang-format-8']
- - env: CLANG_TIDY=clang-tidy-7
+ - name: "Builtin Luacheck and Unit Tests"
+ language: generic
+ compiler: null
+ os: linux
+ addons:
+ apt:
+ packages:
+ - luarocks
+ before_install:
+ - luarocks install --local luacheck
+ - luarocks install --local busted
+ script:
+ - $HOME/.luarocks/bin/luacheck builtin
+ - $HOME/.luarocks/bin/busted builtin
+
+ - env: CLANG_TIDY=clang-tidy-8
compiler: clang
os: linux
script: ./util/travis/clangtidy.sh
addons:
apt:
- packages: ['clang-7', 'clang++-7', 'clang-tools-7', 'clang-tidy-7']
- sources: &sources
- - ubuntu-toolchain-r-test
- - llvm-toolchain-trusty-7
+ packages: ['clang-tidy-8']
- - env: PLATFORM=Win32
+ - name: "MinGW cross-compiler (32-bit)"
+ env: PLATFORM=Win32
compiler: gcc
os: linux
- - env: PLATFORM=Win64
+ - name: "MinGW cross-compiler (64-bit)"
+ env: PLATFORM=Win64
compiler: gcc
os: linux
@@ -50,8 +61,6 @@ matrix:
addons:
apt:
packages: ['gcc-6', 'g++-6']
- sources: &sources
- - ubuntu-toolchain-r-test
- env: PLATFORM=Unix COMPILER=gcc-8
compiler: gcc
@@ -59,45 +68,31 @@ matrix:
addons:
apt:
packages: ['gcc-8', 'g++-8']
- sources: &sources
- - ubuntu-toolchain-r-test
- - env: PLATFORM=Unix COMPILER=clang-3.6
+ - env: PLATFORM=Unix COMPILER=clang-3.9
compiler: clang
os: linux
addons:
apt:
- packages: ['clang-3.6', 'clang++-3.6']
- sources: &sources
- - llvm-toolchain-trusty-3.6
+ packages: ['clang-3.9']
- - env: PLATFORM=Unix COMPILER=clang-7
+ - env: PLATFORM=Unix COMPILER=clang-9
compiler: clang
os: linux
addons:
apt:
- packages: ['clang-7', 'clang++-7']
- sources: &sources
- - ubuntu-toolchain-r-test
- - llvm-toolchain-trusty-7
+ packages: ['clang-9']
- - env: PLATFORM=Unix COMPILER=clang-7 FREETYPE=0
+ - env: PLATFORM=Unix COMPILER=clang-9 FREETYPE=0
compiler: clang
os: linux
addons:
apt:
- packages: ['clang-7', 'clang++-7']
- sources: &sources
- - ubuntu-toolchain-r-test
- - llvm-toolchain-trusty-7
+ packages: ['clang-9']
- - env: PLATFORM=Unix COMPILER=clang-7 VALGRIND=1
+ - env: PLATFORM=Unix COMPILER=clang-9 VALGRIND=1
compiler: clang
os: linux
addons:
apt:
- packages: ['valgrind', 'clang-7', 'clang++-7']
- sources: &sources
- - ubuntu-toolchain-r-test
- - llvm-toolchain-trusty-7
-
+ packages: ['valgrind', 'clang-9']
diff --git a/CMakeLists.txt b/CMakeLists.txt
index ecab1cc51..7613e684c 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 1)
-set(VERSION_PATCH 1)
+set(VERSION_MINOR 2)
+set(VERSION_PATCH 0)
set(VERSION_EXTRA "" CACHE STRING "Stuff to append to version string")
# Change to false for releases
@@ -164,24 +164,24 @@ if(RUN_IN_PLACE)
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/textures/texture_packs_here.txt" DESTINATION "${SHAREDIR}/textures")
endif()
-install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/games/minetest_game" DESTINATION "${SHAREDIR}/games/"
+install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/games/minetest_game" DESTINATION "${SHAREDIR}/games/"
COMPONENT "SUBGAME_MINETEST_GAME" OPTIONAL PATTERN ".git*" EXCLUDE )
-install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/games/minimal" DESTINATION "${SHAREDIR}/games/"
+install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/games/minimal" DESTINATION "${SHAREDIR}/games/"
COMPONENT "SUBGAME_MINIMAL" OPTIONAL PATTERN ".git*" EXCLUDE )
if(BUILD_CLIENT)
install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/client/shaders" DESTINATION "${SHAREDIR}/client")
install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/textures/base/pack" DESTINATION "${SHAREDIR}/textures/base")
+ install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/fonts" DESTINATION "${SHAREDIR}")
if(RUN_IN_PLACE)
install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/clientmods" DESTINATION "${SHAREDIR}")
install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/client/serverlist" DESTINATION "${SHAREDIR}/client")
endif()
endif()
-install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/fonts" DESTINATION "${SHAREDIR}")
-
install(FILES "README.md" DESTINATION "${DOCDIR}" COMPONENT "Docs")
install(FILES "doc/lua_api.txt" DESTINATION "${DOCDIR}" COMPONENT "Docs")
+install(FILES "doc/client_lua_api.txt" DESTINATION "${DOCDIR}" COMPONENT "Docs")
install(FILES "doc/menu_lua_api.txt" DESTINATION "${DOCDIR}" COMPONENT "Docs")
install(FILES "doc/texture_packs.txt" DESTINATION "${DOCDIR}" COMPONENT "Docs")
install(FILES "doc/world_format.txt" DESTINATION "${DOCDIR}" COMPONENT "Docs")
@@ -284,12 +284,12 @@ if(WIN32)
set(CPACK_CREATE_DESKTOP_LINKS ${PROJECT_NAME})
set(CPACK_WIX_PRODUCT_ICON "${CMAKE_CURRENT_SOURCE_DIR}/misc/minetest-icon.ico")
- # Supported languages can be found at
+ # Supported languages can be found at
# http://wixtoolset.org/documentation/manual/v3/wixui/wixui_localization.html
#set(CPACK_WIX_CULTURES "ar-SA,bg-BG,ca-ES,hr-HR,cs-CZ,da-DK,nl-NL,en-US,et-EE,fi-FI,fr-FR,de-DE")
set(CPACK_WIX_UI_BANNER "${CMAKE_CURRENT_SOURCE_DIR}/misc/CPACK_WIX_UI_BANNER.BMP")
set(CPACK_WIX_UI_DIALOG "${CMAKE_CURRENT_SOURCE_DIR}/misc/CPACK_WIX_UI_DIALOG.BMP")
-
+
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/doc/lgpl-2.1.txt")
# The correct way would be to include both x32 and x64 into one installer
@@ -325,3 +325,4 @@ if(DOXYGEN_FOUND)
COMMENT "Generating API documentation with Doxygen" VERBATIM
)
endif()
+
diff --git a/Dockerfile b/Dockerfile
index 27734119e..37b90e483 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -3,9 +3,7 @@ FROM debian:stretch
USER root
RUN apt-get update -y && \
apt-get -y install build-essential libirrlicht-dev cmake libbz2-dev libpng-dev libjpeg-dev \
- libsqlite3-dev libcurl4-gnutls-dev zlib1g-dev libgmp-dev libjsoncpp-dev git && \
- apt-get clean && rm -rf /var/cache/apt/archives/* && \
- rm -rf /var/lib/apt/lists/*
+ libsqlite3-dev libcurl4-gnutls-dev zlib1g-dev libgmp-dev libjsoncpp-dev git
COPY . /usr/src/minetest
@@ -16,7 +14,8 @@ RUN mkdir -p /usr/src/minetest/cmakebuild && cd /usr/src/minetest/cmakebuild &&
-DENABLE_SYSTEM_JSONCPP=1 \
.. && \
make -j2 && \
- rm -Rf ../games/minetest_game && git clone https://github.com/minetest/minetest_game ../games/minetest_game && \
+ rm -Rf ../games/minetest_game && git clone --depth 1 https://github.com/minetest/minetest_game ../games/minetest_game && \
+ rm -Rf ../games/minetest_game/.git && \
make install
FROM debian:stretch
@@ -25,7 +24,9 @@ USER root
RUN groupadd minetest && useradd -m -g minetest -d /var/lib/minetest minetest && \
apt-get update -y && \
apt-get -y install libcurl3-gnutls libjsoncpp1 liblua5.1-0 libluajit-5.1-2 libpq5 libsqlite3-0 \
- libstdc++6 zlib1g libc6
+ libstdc++6 zlib1g libc6 && \
+ apt-get clean && rm -rf /var/cache/apt/archives/* && \
+ rm -rf /var/lib/apt/lists/*
WORKDIR /var/lib/minetest
diff --git a/README.md b/README.md
index a04a3c60f..4d136b137 100644
--- a/README.md
+++ b/README.md
@@ -142,7 +142,7 @@ Compiling
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
+ sudo apt install g++ make libc6-dev 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:
@@ -152,6 +152,10 @@ For Arch users:
sudo pacman -S base-devel libcurl-gnutls cmake libxxf86vm irrlicht libpng sqlite libogg libvorbis openal freetype2 jsoncpp gmp luajit leveldb ncurses
+For Alpine users:
+
+ sudo apk add build-base irrlicht-dev cmake bzip2-dev libpng-dev jpeg-dev libxxf86vm-dev mesa-dev sqlite-dev libogg-dev libvorbis-dev openal-soft-dev curl-dev freetype-dev zlib-dev gmp-dev jsoncpp-dev luajit-dev
+
#### Download
You can install Git for easily keeping your copy up to date.
diff --git a/build/android/Makefile b/build/android/Makefile
index c5a21c290..9ec237a75 100644
--- a/build/android/Makefile
+++ b/build/android/Makefile
@@ -112,7 +112,7 @@ FREETYPE_TIMESTAMP = $(FREETYPE_DIR)timestamp
FREETYPE_TIMESTAMP_INT = $(ANDR_ROOT)/deps/freetype_timestamp
FREETYPE_URL_GIT = https://github.com/cdave1/freetype2-android
-ICONV_VERSION = 1.14
+ICONV_VERSION = 1.16
ICONV_DIR = $(ANDR_ROOT)/deps/libiconv/
ICONV_LIB = $(ICONV_DIR)/lib/.libs/libiconv.so
ICONV_TIMESTAMP = $(ICONV_DIR)timestamp
@@ -445,9 +445,6 @@ iconv_download :
tar -xzf libiconv-${ICONV_VERSION}.tar.gz || exit 1; \
rm libiconv-${ICONV_VERSION}.tar.gz; \
ln -s libiconv-${ICONV_VERSION} libiconv; \
- cd ${ICONV_DIR}; \
- patch -p1 < ${ANDR_ROOT}/patches/libiconv_android.patch; \
- patch -p1 < ${ANDR_ROOT}/patches/libiconv_stdio.patch; \
fi
iconv : $(ICONV_LIB)
diff --git a/build/android/build.gradle b/build/android/build.gradle
index 3601434f5..fa74cd497 100644
--- a/build/android/build.gradle
+++ b/build/android/build.gradle
@@ -28,7 +28,7 @@ android {
buildToolsVersion '29.0.2'
defaultConfig {
- versionCode 25
+ versionCode 26
versionName "${System.env.VERSION_STR}.${versionCode}"
minSdkVersion 14
targetSdkVersion 29
diff --git a/build/android/jni/Android.mk b/build/android/jni/Android.mk
index 22e1f8a08..72b0daab6 100644
--- a/build/android/jni/Android.mk
+++ b/build/android/jni/Android.mk
@@ -178,12 +178,20 @@ LOCAL_SRC_FILES := \
jni/src/filesys.cpp \
jni/src/genericobject.cpp \
jni/src/gettext.cpp \
+ jni/src/gui/guiAnimatedImage.cpp \
+ jni/src/gui/guiBackgroundImage.cpp \
+ jni/src/gui/guiBox.cpp \
jni/src/gui/guiButton.cpp \
+ jni/src/gui/guiButtonImage.cpp \
+ jni/src/gui/guiButtonItemImage.cpp \
jni/src/gui/guiChatConsole.cpp \
jni/src/gui/guiConfirmRegistration.cpp \
jni/src/gui/guiEditBoxWithScrollbar.cpp \
jni/src/gui/guiEngine.cpp \
jni/src/gui/guiFormSpecMenu.cpp \
+ jni/src/gui/guiHyperText.cpp \
+ jni/src/gui/guiInventoryList.cpp \
+ jni/src/gui/guiItemImage.cpp \
jni/src/gui/guiKeyChangeMenu.cpp \
jni/src/gui/guiPasswordChange.cpp \
jni/src/gui/guiPathSelectMenu.cpp \
diff --git a/build/android/patches/libiconv_android.patch b/build/android/patches/libiconv_android.patch
deleted file mode 100644
index 4eca0a4ef..000000000
--- a/build/android/patches/libiconv_android.patch
+++ /dev/null
@@ -1,39 +0,0 @@
---- a/libcharset/lib/localcharset.c 2015-06-10 11:55:25.933870724 +0200
-+++ b/libcharset/lib/localcharset.c 2015-06-10 11:55:39.578063493 +0200
-@@ -47,7 +47,7 @@
-
- #if !defined WIN32_NATIVE
- # include <unistd.h>
--# if HAVE_LANGINFO_CODESET
-+# if HAVE_LANGINFO_CODESET && !(defined __ANDROID__)
- # include <langinfo.h>
- # else
- # if 0 /* see comment below */
-@@ -124,7 +124,7 @@ get_charset_aliases (void)
- cp = charset_aliases;
- if (cp == NULL)
- {
--#if !(defined DARWIN7 || defined VMS || defined WIN32_NATIVE || defined __CYGWIN__)
-+#if !(defined DARWIN7 || defined VMS || defined WIN32_NATIVE || defined __CYGWIN__ || defined __ANDROID__)
- const char *dir;
- const char *base = "charset.alias";
- char *file_name;
-@@ -338,6 +338,9 @@ get_charset_aliases (void)
- "CP54936" "\0" "GB18030" "\0"
- "CP65001" "\0" "UTF-8" "\0";
- # endif
-+# if defined __ANDROID__
-+ cp = "*" "\0" "UTF-8" "\0";
-+# endif
- #endif
-
- charset_aliases = cp;
-@@ -361,7 +364,7 @@ locale_charset (void)
- const char *codeset;
- const char *aliases;
-
--#if !(defined WIN32_NATIVE || defined OS2)
-+#if !(defined WIN32_NATIVE || defined OS2 || defined __ANDROID__)
-
- # if HAVE_LANGINFO_CODESET
-
diff --git a/build/android/patches/libiconv_stdio.patch b/build/android/patches/libiconv_stdio.patch
deleted file mode 100644
index 9fa50f79a..000000000
--- a/build/android/patches/libiconv_stdio.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- a/srclib/stdio.in.h 2011-08-07 15:42:06.000000000 +0200
-+++ b/srclib/stdio.in.h 2015-06-10 09:27:58.129056262 +0200
-@@ -695,8 +696,9 @@ _GL_CXXALIASWARN (gets);
- /* It is very rare that the developer ever has full control of stdin,
- so any use of gets warrants an unconditional warning. Assume it is
- always declared, since it is required by C89. */
--_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
-+/*_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");*/
-+#define gets(a) fgets( a, sizeof(*(a)), stdin)
- #endif
-
-
-#if @GNULIB_OBSTACK_PRINTF@ || @GNULIB_OBSTACK_PRINTF_POSIX@
diff --git a/builtin/common/information_formspecs.lua b/builtin/common/information_formspecs.lua
index b977e2656..8afa5bc87 100644
--- a/builtin/common/information_formspecs.lua
+++ b/builtin/common/information_formspecs.lua
@@ -136,14 +136,14 @@ help_command.func = function(name, param)
core.show_formspec(name, "__builtin:help_privs",
build_privs_formspec(name))
if name ~= admin then
- return
+ return true
end
end
if param == "" or param == "all" then
core.show_formspec(name, "__builtin:help_cmds",
build_chatcommands_formspec(name))
if name ~= admin then
- return
+ return true
end
end
diff --git a/builtin/common/misc_helpers.lua b/builtin/common/misc_helpers.lua
index d6673a691..715f89bc4 100644
--- a/builtin/common/misc_helpers.lua
+++ b/builtin/common/misc_helpers.lua
@@ -5,7 +5,7 @@
local string_sub, string_find = string.sub, string.find
--------------------------------------------------------------------------------
-function basic_dump(o)
+local function basic_dump(o)
local tp = type(o)
if tp == "number" then
return tostring(o)
@@ -200,28 +200,11 @@ function table.indexof(list, val)
return -1
end
-assert(table.indexof({"foo", "bar"}, "foo") == 1)
-assert(table.indexof({"foo", "bar"}, "baz") == -1)
-
---------------------------------------------------------------------------------
-if INIT ~= "client" then
- function file_exists(filename)
- local f = io.open(filename, "r")
- if f == nil then
- return false
- else
- f:close()
- return true
- end
- end
-end
--------------------------------------------------------------------------------
function string:trim()
return (self:gsub("^%s*(.-)%s*$", "%1"))
end
-assert(string.trim("\n \t\tfoo bar\t ") == "foo bar")
-
--------------------------------------------------------------------------------
function math.hypot(x, y)
local t
@@ -259,64 +242,6 @@ function math.factorial(x)
return v
end
---------------------------------------------------------------------------------
-function get_last_folder(text,count)
- local parts = text:split(DIR_DELIM)
-
- if count == nil then
- return parts[#parts]
- end
-
- local retval = ""
- for i=1,count,1 do
- retval = retval .. parts[#parts - (count-i)] .. DIR_DELIM
- end
-
- return retval
-end
-
---------------------------------------------------------------------------------
-function cleanup_path(temppath)
-
- local parts = temppath:split("-")
- temppath = ""
- for i=1,#parts,1 do
- if temppath ~= "" then
- temppath = temppath .. "_"
- end
- temppath = temppath .. parts[i]
- end
-
- parts = temppath:split(".")
- temppath = ""
- for i=1,#parts,1 do
- if temppath ~= "" then
- temppath = temppath .. "_"
- end
- temppath = temppath .. parts[i]
- end
-
- parts = temppath:split("'")
- temppath = ""
- for i=1,#parts,1 do
- if temppath ~= "" then
- temppath = temppath .. ""
- end
- temppath = temppath .. parts[i]
- end
-
- parts = temppath:split(" ")
- temppath = ""
- for i=1,#parts,1 do
- if temppath ~= "" then
- temppath = temppath
- end
- temppath = temppath .. parts[i]
- end
-
- return temppath
-end
-
function core.formspec_escape(text)
if text ~= nil then
text = string.gsub(text,"\\","\\\\")
@@ -428,10 +353,9 @@ if INIT == "game" then
core.rotate_node = function(itemstack, placer, pointed_thing)
local name = placer and placer:get_player_name() or ""
local invert_wall = placer and placer:get_player_control().sneak or false
- core.rotate_and_place(itemstack, placer, pointed_thing,
+ return core.rotate_and_place(itemstack, placer, pointed_thing,
is_creative(name),
{invert_wall = invert_wall}, true)
- return itemstack
end
end
@@ -521,9 +445,6 @@ function core.string_to_pos(value)
return nil
end
-assert(core.string_to_pos("10.0, 5, -2").x == 10)
-assert(core.string_to_pos("( 10.0, 5, -2)").z == -2)
-assert(core.string_to_pos("asd, 5, -2)") == nil)
--------------------------------------------------------------------------------
function core.string_to_area(value)
@@ -576,6 +497,29 @@ function table.insert_all(t, other)
end
+function table.key_value_swap(t)
+ local ti = {}
+ for k,v in pairs(t) do
+ ti[v] = k
+ end
+ return ti
+end
+
+
+function table.shuffle(t, from, to, random)
+ from = from or 1
+ to = to or #t
+ random = random or math.random
+ local n = to - from + 1
+ while n > 1 do
+ local r = from + n-1
+ local l = from + random(0, n-1)
+ t[l], t[r] = t[r], t[l]
+ n = n-1
+ end
+end
+
+
--------------------------------------------------------------------------------
-- mainmenu only functions
--------------------------------------------------------------------------------
@@ -756,6 +700,3 @@ function core.privs_to_string(privs, delim)
end
return table.concat(list, delim)
end
-
-assert(core.string_to_privs("a,b").b == true)
-assert(core.privs_to_string({a=true,b=true}) == "a,b")
diff --git a/builtin/common/serialize.lua b/builtin/common/serialize.lua
index c91d2d5ce..163aa67ad 100644
--- a/builtin/common/serialize.lua
+++ b/builtin/common/serialize.lua
@@ -177,13 +177,16 @@ end
-- Deserialization
-local env = {
- loadstring = loadstring,
-}
+local function safe_loadstring(...)
+ local func, err = loadstring(...)
+ if func then
+ setfenv(func, {})
+ return func
+ end
+ return nil, err
+end
-local safe_env = {
- loadstring = function() end,
-}
+local function dummy_func() end
function core.deserialize(str, safe)
if type(str) ~= "string" then
@@ -195,7 +198,10 @@ function core.deserialize(str, safe)
end
local f, err = loadstring(str)
if not f then return nil, err end
- setfenv(f, safe and safe_env or env)
+
+ -- The environment is recreated every time so deseralized code cannot
+ -- pollute it with permanent references.
+ setfenv(f, {loadstring = safe and dummy_func or safe_loadstring})
local good, data = pcall(f)
if good then
@@ -204,17 +210,3 @@ function core.deserialize(str, safe)
return nil, data
end
end
-
-
--- Unit tests
-local test_in = {cat={sound="nyan", speed=400}, dog={sound="woof"}}
-local test_out = core.deserialize(core.serialize(test_in))
-
-assert(test_in.cat.sound == test_out.cat.sound)
-assert(test_in.cat.speed == test_out.cat.speed)
-assert(test_in.dog.sound == test_out.dog.sound)
-
-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/tests/misc_helpers_spec.lua b/builtin/common/tests/misc_helpers_spec.lua
new file mode 100644
index 000000000..bb9d13e7f
--- /dev/null
+++ b/builtin/common/tests/misc_helpers_spec.lua
@@ -0,0 +1,73 @@
+_G.core = {}
+dofile("builtin/common/misc_helpers.lua")
+
+describe("string", function()
+ it("trim()", function()
+ assert.equal("foo bar", string.trim("\n \t\tfoo bar\t "))
+ end)
+
+ describe("split()", function()
+ it("removes empty", function()
+ assert.same({ "hello" }, string.split("hello"))
+ assert.same({ "hello", "world" }, string.split("hello,world"))
+ assert.same({ "hello", "world" }, string.split("hello,world,,,"))
+ assert.same({ "hello", "world" }, string.split(",,,hello,world"))
+ assert.same({ "hello", "world", "2" }, string.split("hello,,,world,2"))
+ assert.same({ "hello ", " world" }, string.split("hello :| world", ":|"))
+ end)
+
+ it("keeps empty", function()
+ assert.same({ "hello" }, string.split("hello", ",", true))
+ assert.same({ "hello", "world" }, string.split("hello,world", ",", true))
+ assert.same({ "hello", "world", "" }, string.split("hello,world,", ",", true))
+ assert.same({ "hello", "", "", "world", "2" }, string.split("hello,,,world,2", ",", true))
+ assert.same({ "", "", "hello", "world", "2" }, string.split(",,hello,world,2", ",", true))
+ assert.same({ "hello ", " world | :" }, string.split("hello :| world | :", ":|"))
+ end)
+
+ it("max_splits", function()
+ assert.same({ "one" }, string.split("one", ",", true, 2))
+ assert.same({ "one,two,three,four" }, string.split("one,two,three,four", ",", true, 0))
+ assert.same({ "one", "two", "three,four" }, string.split("one,two,three,four", ",", true, 2))
+ assert.same({ "one", "", "two,three,four" }, string.split("one,,two,three,four", ",", true, 2))
+ assert.same({ "one", "two", "three,four" }, string.split("one,,,,,,two,three,four", ",", false, 2))
+ end)
+
+ it("pattern", function()
+ assert.same({ "one", "two" }, string.split("one,two", ",", false, -1, true))
+ assert.same({ "one", "two", "three" }, string.split("one2two3three", "%d", false, -1, true))
+ end)
+ end)
+end)
+
+describe("privs", function()
+ it("from string", function()
+ assert.same({ a = true, b = true }, core.string_to_privs("a,b"))
+ end)
+
+ it("to string", function()
+ assert.equal("one", core.privs_to_string({ one=true }))
+
+ local ret = core.privs_to_string({ a=true, b=true })
+ assert(ret == "a,b" or ret == "b,a")
+ end)
+end)
+
+describe("pos", function()
+ it("from string", function()
+ assert.same({ x = 10, y = 5.1, z = -2}, core.string_to_pos("10.0, 5.1, -2"))
+ assert.same({ x = 10, y = 5.1, z = -2}, core.string_to_pos("( 10.0, 5.1, -2)"))
+ assert.is_nil(core.string_to_pos("asd, 5, -2)"))
+ end)
+
+ it("to string", function()
+ assert.equal("(10.1,5.2,-2.3)", core.pos_to_string({ x = 10.1, y = 5.2, z = -2.3}))
+ end)
+end)
+
+describe("table", function()
+ it("indexof()", function()
+ assert.equal(1, table.indexof({"foo", "bar"}, "foo"))
+ assert.equal(-1, table.indexof({"foo", "bar"}, "baz"))
+ end)
+end)
diff --git a/builtin/common/tests/serialize_spec.lua b/builtin/common/tests/serialize_spec.lua
new file mode 100644
index 000000000..c41b0a372
--- /dev/null
+++ b/builtin/common/tests/serialize_spec.lua
@@ -0,0 +1,44 @@
+_G.core = {}
+
+_G.setfenv = require 'busted.compatibility'.setfenv
+
+dofile("builtin/common/serialize.lua")
+
+describe("serialize", function()
+ it("works", function()
+ local test_in = {cat={sound="nyan", speed=400}, dog={sound="woof"}}
+ local test_out = core.deserialize(core.serialize(test_in))
+
+ assert.same(test_in, test_out)
+ end)
+
+ it("handles characters", function()
+ local test_in = {escape_chars="\n\r\t\v\\\"\'", non_european="θש×٩∂"}
+ local test_out = core.deserialize(core.serialize(test_in))
+ assert.same(test_in, test_out)
+ end)
+
+ it("handles recursive structures", function()
+ local test_in = { hello = "world" }
+ test_in.foo = test_in
+
+ local test_out = core.deserialize(core.serialize(test_in))
+ assert.same(test_in, test_out)
+ end)
+
+ it("strips functions in safe mode", function()
+ local test_in = {
+ func = function(a, b)
+ error("test")
+ end,
+ foo = "bar"
+ }
+
+ local str = core.serialize(test_in)
+ assert.not_nil(str:find("loadstring"))
+
+ local test_out = core.deserialize(str, true)
+ assert.is_nil(test_out.func)
+ assert.equals(test_out.foo, "bar")
+ end)
+end)
diff --git a/builtin/common/tests/vector_spec.lua b/builtin/common/tests/vector_spec.lua
new file mode 100644
index 000000000..79f032f28
--- /dev/null
+++ b/builtin/common/tests/vector_spec.lua
@@ -0,0 +1,46 @@
+_G.vector = {}
+dofile("builtin/common/vector.lua")
+
+describe("vector", function()
+ describe("new()", function()
+ it("constructs", function()
+ assert.same({ x = 0, y = 0, z = 0 }, vector.new())
+ assert.same({ x = 1, y = 2, z = 3 }, vector.new(1, 2, 3))
+ assert.same({ x = 3, y = 2, z = 1 }, vector.new({ x = 3, y = 2, z = 1 }))
+
+ local input = vector.new({ x = 3, y = 2, z = 1 })
+ local output = vector.new(input)
+ assert.same(input, output)
+ assert.are_not.equal(input, output)
+ end)
+
+ it("throws on invalid input", function()
+ assert.has.errors(function()
+ vector.new({ x = 3 })
+ end)
+
+ assert.has.errors(function()
+ vector.new({ d = 3 })
+ end)
+ end)
+ end)
+
+ it("equal()", function()
+ local function assertE(a, b)
+ assert.is_true(vector.equals(a, b))
+ end
+ local function assertNE(a, b)
+ assert.is_false(vector.equals(a, b))
+ end
+
+ assertE({x = 0, y = 0, z = 0}, {x = 0, y = 0, z = 0})
+ assertE({x = -1, y = 0, z = 1}, {x = -1, y = 0, z = 1})
+ local a = { x = 2, y = 4, z = -10 }
+ assertE(a, a)
+ assertNE({x = -1, y = 0, z = 1}, a)
+ end)
+
+ it("add()", function()
+ assert.same({ x = 2, y = 4, z = 6 }, vector.add(vector.new(1, 2, 3), { x = 1, y = 2, z = 3 }))
+ end)
+end)
diff --git a/builtin/game/chat.lua b/builtin/game/chat.lua
index d0d456a46..fd1379162 100644
--- a/builtin/game/chat.lua
+++ b/builtin/game/chat.lua
@@ -115,6 +115,7 @@ core.register_chatcommand("me", {
privs = {shout=true},
func = function(name, param)
core.chat_send_all("* " .. name .. " " .. param)
+ return true
end,
})
@@ -141,7 +142,7 @@ core.register_chatcommand("privs", {
end
return true, "Privileges of " .. name .. ": "
.. core.privs_to_string(
- core.get_player_privs(name), ' ')
+ core.get_player_privs(name), ", ")
end,
})
@@ -919,12 +920,13 @@ core.register_chatcommand("shutdown", {
core.chat_send_all("*** Server shutting down (operator request).")
end
core.request_shutdown(message:trim(), core.is_yes(reconnect), delay)
+ return true
end,
})
core.register_chatcommand("ban", {
- params = "[<name> | <IP_address>]",
- description = "Ban player or show ban list",
+ params = "[<name>]",
+ description = "Ban the IP of a player or show the ban list",
privs = {ban=true},
func = function(name, param)
if param == "" then
@@ -936,7 +938,7 @@ core.register_chatcommand("ban", {
end
end
if not core.get_player_by_name(param) then
- return false, "No such player."
+ return false, "Player is not online."
end
if not core.ban_player(param) then
return false, "Failed to ban player."
@@ -949,7 +951,7 @@ core.register_chatcommand("ban", {
core.register_chatcommand("unban", {
params = "<name> | <IP_address>",
- description = "Remove player ban",
+ description = "Remove IP ban belonging to a player/IP",
privs = {ban=true},
func = function(name, param)
if not core.unban_player_or_ip(param) then
@@ -995,12 +997,13 @@ core.register_chatcommand("clearobjects", {
core.log("action", name .. " clears all objects ("
.. options.mode .. " mode).")
- core.chat_send_all("Clearing all objects. This may take long."
- .. " You may experience a timeout. (by "
+ core.chat_send_all("Clearing all objects. This may take a long time."
+ .. " You may experience a timeout. (by "
.. name .. ")")
core.clear_objects(options)
core.log("action", "Object clearing done.")
core.chat_send_all("*** Cleared all objects.")
+ return true
end,
})
diff --git a/builtin/game/deprecated.lua b/builtin/game/deprecated.lua
index 1a9a96f2a..73e105eb8 100644
--- a/builtin/game/deprecated.lua
+++ b/builtin/game/deprecated.lua
@@ -20,7 +20,7 @@ function core.node_metadata_inventory_move_allow_all()
end
function core.add_to_creative_inventory(itemstring)
- core.log("deprecated", "core.add_to_creative_inventory: This function is deprecated and does nothing.")
+ core.log("deprecated", "core.add_to_creative_inventory is obsolete and does nothing.")
end
--
diff --git a/builtin/game/falling.lua b/builtin/game/falling.lua
index 950d6b56f..ea02e3694 100644
--- a/builtin/game/falling.lua
+++ b/builtin/game/falling.lua
@@ -1,6 +1,34 @@
-- Minetest: builtin/item.lua
local builtin_shared = ...
+local SCALE = 0.667
+
+local facedir_to_euler = {
+ {y = 0, x = 0, z = 0},
+ {y = -math.pi/2, x = 0, z = 0},
+ {y = math.pi, x = 0, z = 0},
+ {y = math.pi/2, x = 0, z = 0},
+ {y = math.pi/2, x = -math.pi/2, z = math.pi/2},
+ {y = math.pi/2, x = math.pi, z = math.pi/2},
+ {y = math.pi/2, x = math.pi/2, z = math.pi/2},
+ {y = math.pi/2, x = 0, z = math.pi/2},
+ {y = -math.pi/2, x = math.pi/2, z = math.pi/2},
+ {y = -math.pi/2, x = 0, z = math.pi/2},
+ {y = -math.pi/2, x = -math.pi/2, z = math.pi/2},
+ {y = -math.pi/2, x = math.pi, z = math.pi/2},
+ {y = 0, x = 0, z = math.pi/2},
+ {y = 0, x = -math.pi/2, z = math.pi/2},
+ {y = 0, x = math.pi, z = math.pi/2},
+ {y = 0, x = math.pi/2, z = math.pi/2},
+ {y = math.pi, x = math.pi, z = math.pi/2},
+ {y = math.pi, x = math.pi/2, z = math.pi/2},
+ {y = math.pi, x = 0, z = math.pi/2},
+ {y = math.pi, x = -math.pi/2, z = math.pi/2},
+ {y = math.pi, x = math.pi, z = 0},
+ {y = -math.pi/2, x = math.pi, z = 0},
+ {y = 0, x = math.pi, z = 0},
+ {y = math.pi/2, x = math.pi, z = 0}
+}
--
-- Falling stuff
@@ -8,8 +36,8 @@ local builtin_shared = ...
core.register_entity(":__builtin:falling_node", {
initial_properties = {
- visual = "wielditem",
- visual_size = {x = 0.667, y = 0.667},
+ visual = "item",
+ visual_size = {x = SCALE, y = SCALE, z = SCALE},
textures = {},
physical = true,
is_visible = false,
@@ -33,11 +61,105 @@ core.register_entity(":__builtin:falling_node", {
end
end
end
+ local def = core.registered_nodes[node.name]
+ if not def then
+ -- Don't allow unknown nodes to fall
+ core.log("info",
+ "Unknown falling node removed at "..
+ core.pos_to_string(self.object:get_pos()))
+ self.object:remove()
+ return
+ end
self.meta = meta
- self.object:set_properties({
- is_visible = true,
- textures = {node.name},
- })
+ if def.drawtype == "torchlike" or def.drawtype == "signlike" then
+ local textures
+ if def.tiles and def.tiles[1] then
+ local tile = def.tiles[1]
+ if type(tile) == "table" then
+ tile = tile.name
+ end
+ if def.drawtype == "torchlike" then
+ textures = { "("..tile..")^[transformFX", tile }
+ else
+ textures = { tile, "("..tile..")^[transformFX" }
+ end
+ end
+ local vsize
+ if def.visual_scale then
+ local s = def.visual_scale
+ vsize = {x = s, y = s, z = s}
+ end
+ self.object:set_properties({
+ is_visible = true,
+ visual = "upright_sprite",
+ visual_size = vsize,
+ textures = textures,
+ glow = def.light_source,
+ })
+ elseif def.drawtype ~= "airlike" then
+ local itemstring = node.name
+ if core.is_colored_paramtype(def.paramtype2) then
+ itemstring = core.itemstring_with_palette(itemstring, node.param2)
+ end
+ local vsize
+ if def.visual_scale then
+ local s = def.visual_scale * SCALE
+ vsize = {x = s, y = s, z = s}
+ end
+ self.object:set_properties({
+ is_visible = true,
+ wield_item = itemstring,
+ visual_size = vsize,
+ glow = def.light_source,
+ })
+ end
+ -- Rotate entity
+ if def.drawtype == "torchlike" then
+ self.object:set_yaw(math.pi*0.25)
+ elseif (node.param2 ~= 0 and (def.wield_image == ""
+ or def.wield_image == nil))
+ or def.drawtype == "signlike"
+ or def.drawtype == "mesh"
+ or def.drawtype == "normal"
+ or def.drawtype == "nodebox" then
+ if (def.paramtype2 == "facedir" or def.paramtype2 == "colorfacedir") then
+ local fdir = node.param2 % 32
+ -- Get rotation from a precalculated lookup table
+ local euler = facedir_to_euler[fdir + 1]
+ if euler then
+ self.object:set_rotation(euler)
+ end
+ elseif (def.paramtype2 == "wallmounted" or def.paramtype2 == "colorwallmounted") then
+ local rot = node.param2 % 8
+ local pitch, yaw, roll = 0, 0, 0
+ if rot == 1 then
+ pitch, yaw = math.pi, math.pi
+ elseif rot == 2 then
+ pitch, yaw = math.pi/2, math.pi/2
+ elseif rot == 3 then
+ pitch, yaw = math.pi/2, -math.pi/2
+ elseif rot == 4 then
+ pitch, yaw = math.pi/2, math.pi
+ elseif rot == 5 then
+ pitch, yaw = math.pi/2, 0
+ end
+ if def.drawtype == "signlike" then
+ pitch = pitch - math.pi/2
+ if rot == 0 then
+ yaw = yaw + math.pi/2
+ elseif rot == 1 then
+ yaw = yaw - math.pi/2
+ end
+ elseif def.drawtype == "mesh" or def.drawtype == "normal" then
+ if rot >= 0 and rot <= 1 then
+ roll = roll + math.pi
+ else
+ yaw = yaw + math.pi
+ end
+ end
+ self.object:set_rotation({x=pitch, y=yaw, z=roll})
+ end
+ end
end,
get_staticdata = function(self)
@@ -128,7 +250,7 @@ core.register_entity(":__builtin:falling_node", {
meta:from_table(self.meta)
end
if def.sounds and def.sounds.place then
- core.sound_play(def.sounds.place, {pos = np})
+ core.sound_play(def.sounds.place, {pos = np}, true)
end
end
self.object:remove()
@@ -154,7 +276,7 @@ local function convert_to_falling_node(pos, node)
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})
+ core.sound_play(def.sounds.fall, {pos = pos}, true)
end
obj:get_luaentity():set_node(node, metatable)
@@ -187,7 +309,7 @@ local function drop_attached_node(p)
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})
+ core.sound_play(def.sounds.fall, {pos = p}, true)
end
core.remove_node(p)
for _, item in pairs(drops) do
diff --git a/builtin/game/features.lua b/builtin/game/features.lua
index 0af0dc1da..623f8183b 100644
--- a/builtin/game/features.lua
+++ b/builtin/game/features.lua
@@ -15,6 +15,7 @@ core.features = {
httpfetch_binary_data = true,
formspec_version_element = true,
area_store_persistent_ids = true,
+ pathfinder_works = true,
}
function core.has_feature(arg)
diff --git a/builtin/game/item.lua b/builtin/game/item.lua
index 4054949f1..513c3a5e1 100644
--- a/builtin/game/item.lua
+++ b/builtin/game/item.lua
@@ -259,7 +259,7 @@ function core.item_place_node(itemstack, placer, pointed_thing, param2,
prevent_after_place)
local def = itemstack:get_definition()
if def.type ~= "node" or pointed_thing.type ~= "node" then
- return itemstack, false
+ return itemstack, nil
end
local under = pointed_thing.under
@@ -272,7 +272,7 @@ function core.item_place_node(itemstack, placer, pointed_thing, param2,
if not oldnode_under or not oldnode_above then
log("info", playername .. " tried to place"
.. " node in unloaded position " .. core.pos_to_string(above))
- return itemstack, false
+ return itemstack, nil
end
local olddef_under = core.registered_nodes[oldnode_under.name]
@@ -284,7 +284,7 @@ function core.item_place_node(itemstack, placer, pointed_thing, param2,
log("info", playername .. " tried to place"
.. " node in invalid position " .. core.pos_to_string(above)
.. ", replacing " .. oldnode_above.name)
- return itemstack, false
+ return itemstack, nil
end
-- Place above pointed node
@@ -302,12 +302,9 @@ function core.item_place_node(itemstack, placer, pointed_thing, param2,
.. " at protected position "
.. core.pos_to_string(place_to))
core.record_protection_violation(place_to, playername)
- return itemstack
+ return itemstack, nil
end
- log("action", playername .. " places node "
- .. def.name .. " at " .. core.pos_to_string(place_to))
-
local oldnode = core.get_node(place_to)
local newnode = {name = def.name, param1 = 0, param2 = param2 or 0}
@@ -333,7 +330,7 @@ function core.item_place_node(itemstack, placer, pointed_thing, param2,
z = above.z - placer_pos.z
}
newnode.param2 = core.dir_to_facedir(dir)
- log("action", "facedir: " .. newnode.param2)
+ log("info", "facedir: " .. newnode.param2)
end
end
@@ -361,12 +358,23 @@ function core.item_place_node(itemstack, placer, pointed_thing, param2,
not builtin_shared.check_attached_node(place_to, newnode) then
log("action", "attached node " .. def.name ..
" can not be placed at " .. core.pos_to_string(place_to))
- return itemstack, false
+ return itemstack, nil
end
+ log("action", playername .. " places node "
+ .. def.name .. " at " .. core.pos_to_string(place_to))
+
-- Add node and update
core.add_node(place_to, newnode)
+ -- Play sound if it was done by a player
+ if playername ~= "" and def.sounds and def.sounds.place then
+ core.sound_play(def.sounds.place, {
+ pos = place_to,
+ exclude_player = playername,
+ }, true)
+ end
+
local take_item = true
-- Run callback
@@ -395,9 +403,10 @@ function core.item_place_node(itemstack, placer, pointed_thing, param2,
if take_item then
itemstack:take_item()
end
- return itemstack, true
+ return itemstack, place_to
end
+-- deprecated, item_place does not call this
function core.item_place_object(itemstack, placer, pointed_thing)
local pos = core.get_pointed_thing_position(pointed_thing, true)
if pos ~= nil then
@@ -415,14 +424,15 @@ function core.item_place(itemstack, placer, pointed_thing, param2)
local nn = n.name
if core.registered_nodes[nn] and core.registered_nodes[nn].on_rightclick then
return core.registered_nodes[nn].on_rightclick(pointed_thing.under, n,
- placer, itemstack, pointed_thing) or itemstack, false
+ placer, itemstack, pointed_thing) or itemstack, nil
end
end
+ -- Place if node, otherwise do nothing
if itemstack:get_definition().type == "node" then
return core.item_place_node(itemstack, placer, pointed_thing, param2)
end
- return itemstack
+ return itemstack, nil
end
function core.item_secondary_use(itemstack, placer)
@@ -465,7 +475,10 @@ function core.do_item_eat(hp_change, replace_with_item, itemstack, user, pointed
user:set_hp(user:get_hp() + hp_change)
if def and def.sound and def.sound.eat then
- minetest.sound_play(def.sound.eat, { pos = user:get_pos(), max_hear_distance = 16 })
+ core.sound_play(def.sound.eat, {
+ pos = user:get_pos(),
+ max_hear_distance = 16
+ }, true)
end
if replace_with_item then
@@ -572,7 +585,10 @@ function core.node_dig(pos, node, digger)
if not core.settings:get_bool("creative_mode") then
wielded:add_wear(dp.wear)
if wielded:get_count() == 0 and wdef.sound and wdef.sound.breaks then
- core.sound_play(wdef.sound.breaks, {pos = pos, gain = 0.5})
+ core.sound_play(wdef.sound.breaks, {
+ pos = pos,
+ gain = 0.5
+ }, true)
end
end
end
@@ -604,6 +620,14 @@ function core.node_dig(pos, node, digger)
-- Remove node and update
core.remove_node(pos)
+ -- Play sound if it was done by a player
+ if diggername ~= "" and def and def.sounds and def.sounds.dug then
+ core.sound_play(def.sounds.dug, {
+ pos = pos,
+ exclude_player = diggername,
+ }, true)
+ end
+
-- Run callback
if def and def.after_dig_node then
-- Copy pos and node because callback can modify them
diff --git a/builtin/game/item_entity.lua b/builtin/game/item_entity.lua
index 87fec93ea..968daac97 100644
--- a/builtin/game/item_entity.lua
+++ b/builtin/game/item_entity.lua
@@ -58,6 +58,8 @@ core.register_entity(":__builtin:item", {
local count = math.min(stack:get_count(), max_count)
local size = 0.2 + 0.1 * (count / max_count) ^ (1 / 3)
local coll_height = size * 0.75
+ local def = core.registered_nodes[itemname]
+ local glow = def and math.floor(def.light_source / 2 + 0.5)
self.object:set_properties({
is_visible = true,
@@ -69,6 +71,7 @@ core.register_entity(":__builtin:item", {
selectionbox = {-size, -size, -size, size, size, size},
automatic_rotate = math.pi * 0.5 * 0.2 / size,
wield_item = self.itemstring,
+ glow = glow,
})
end,
diff --git a/builtin/game/misc.lua b/builtin/game/misc.lua
index 02c36ccb1..0ed11ada0 100644
--- a/builtin/game/misc.lua
+++ b/builtin/game/misc.lua
@@ -40,9 +40,6 @@ function core.check_player_privs(name, ...)
end
-local player_list = {}
-
-
function core.send_join_message(player_name)
if not core.is_singleplayer() then
core.chat_send_all("*** " .. player_name .. " joined the game.")
@@ -61,7 +58,6 @@ end
core.register_on_joinplayer(function(player)
local player_name = player:get_player_name()
- player_list[player_name] = player
if not core.is_singleplayer() then
local status = core.get_server_status(player_name, true)
if status and status ~= "" then
@@ -74,22 +70,10 @@ end)
core.register_on_leaveplayer(function(player, timed_out)
local player_name = player:get_player_name()
- player_list[player_name] = nil
core.send_leave_message(player_name, timed_out)
end)
-function core.get_connected_players()
- local temp_table = {}
- for index, value in pairs(player_list) do
- if value:is_player_connected() then
- temp_table[#temp_table + 1] = value
- end
- end
- return temp_table
-end
-
-
function core.is_player(player)
-- a table being a player is also supported because it quacks sufficiently
-- like a player if it has the is_player function
diff --git a/builtin/game/register.lua b/builtin/game/register.lua
index bfad6845c..eb6c2897c 100644
--- a/builtin/game/register.lua
+++ b/builtin/game/register.lua
@@ -321,11 +321,11 @@ for name in pairs(forbidden_item_names) do
end
--- Deprecated:
+-- Obsolete:
-- Aliases for core.register_alias (how ironic...)
---core.alias_node = core.register_alias
---core.alias_tool = core.register_alias
---core.alias_craftitem = core.register_alias
+-- core.alias_node = core.register_alias
+-- core.alias_tool = core.register_alias
+-- core.alias_craftitem = core.register_alias
--
-- Built-in node definitions. Also defined in C.
diff --git a/builtin/mainmenu/dlg_settings_advanced.lua b/builtin/mainmenu/dlg_settings_advanced.lua
index 24b71d957..c16e4aad0 100644
--- a/builtin/mainmenu/dlg_settings_advanced.lua
+++ b/builtin/mainmenu/dlg_settings_advanced.lua
@@ -639,12 +639,23 @@ local function create_change_setting_formspec(dialogdata)
-- Flags
formspec = table.concat(fields)
.. "checkbox[0.5," .. height - 0.6 .. ";cb_defaults;"
+ --[[~ "defaults" is a noise parameter flag.
+ It describes the default processing options
+ for noise settings in main menu -> "All Settings". ]]
.. fgettext("defaults") .. ";" -- defaults
.. tostring(flags["defaults"] == true) .. "]" -- to get false if nil
.. "checkbox[5," .. height - 0.6 .. ";cb_eased;"
+ --[[~ "eased" is a noise parameter flag.
+ It is used to make the map smoother and
+ can be enabled in noise settings in
+ main menu -> "All Settings". ]]
.. fgettext("eased") .. ";" -- eased
.. tostring(flags["eased"] == true) .. "]"
.. "checkbox[5," .. height - 0.15 .. ";cb_absvalue;"
+ --[[~ "absvalue" is a noise parameter flag.
+ It is short for "absolute value".
+ It can be enabled in noise settings in
+ main menu -> "All Settings". ]]
.. fgettext("absvalue") .. ";" -- absvalue
.. tostring(flags["absvalue"] == true) .. "]"
height = height + 1
diff --git a/builtin/mainmenu/pkgmgr.lua b/builtin/mainmenu/pkgmgr.lua
index f87367689..5b8807310 100644
--- a/builtin/mainmenu/pkgmgr.lua
+++ b/builtin/mainmenu/pkgmgr.lua
@@ -16,6 +16,62 @@
--51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
--------------------------------------------------------------------------------
+local function get_last_folder(text,count)
+ local parts = text:split(DIR_DELIM)
+
+ if count == nil then
+ return parts[#parts]
+ end
+
+ local retval = ""
+ for i=1,count,1 do
+ retval = retval .. parts[#parts - (count-i)] .. DIR_DELIM
+ end
+
+ return retval
+end
+
+local function cleanup_path(temppath)
+
+ local parts = temppath:split("-")
+ temppath = ""
+ for i=1,#parts,1 do
+ if temppath ~= "" then
+ temppath = temppath .. "_"
+ end
+ temppath = temppath .. parts[i]
+ end
+
+ parts = temppath:split(".")
+ temppath = ""
+ for i=1,#parts,1 do
+ if temppath ~= "" then
+ temppath = temppath .. "_"
+ end
+ temppath = temppath .. parts[i]
+ end
+
+ parts = temppath:split("'")
+ temppath = ""
+ for i=1,#parts,1 do
+ if temppath ~= "" then
+ temppath = temppath .. ""
+ end
+ temppath = temppath .. parts[i]
+ end
+
+ parts = temppath:split(" ")
+ temppath = ""
+ for i=1,#parts,1 do
+ if temppath ~= "" then
+ temppath = temppath
+ end
+ temppath = temppath .. parts[i]
+ end
+
+ return temppath
+end
+
function get_mods(path,retval,modpack)
local mods = core.get_dir_list(path, true)
@@ -403,9 +459,9 @@ function pkgmgr.enable_mod(this, toset)
-- 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
+ for id, mod2 in pairs(list) do
+ if mod2.type == "mod" and not mod2.is_modpack then
+ mod_ids[mod2.name] = id
end
end
@@ -429,17 +485,17 @@ function pkgmgr.enable_mod(this, toset)
if not enabled_mods[name] then
enabled_mods[name] = true
- local mod = list[mod_ids[name]]
- if not mod then
+ local mod_to_enable = list[mod_ids[name]]
+ if not mod_to_enable 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
+ if mod_to_enable.enabled == false then
+ mod_to_enable.enabled = true
+ toggled_mods[#toggled_mods+1] = mod_to_enable.name
end
-- Push the dependencies of the dependency onto the stack
- local depends = pkgmgr.get_dependencies(mod.path)
+ local depends = pkgmgr.get_dependencies(mod_to_enable.path)
for i = 1, #depends do
if not enabled_mods[name] then
sp = sp+1
diff --git a/builtin/mainmenu/tab_credits.lua b/builtin/mainmenu/tab_credits.lua
index 58db129fb..962d2a3b4 100644
--- a/builtin/mainmenu/tab_credits.lua
+++ b/builtin/mainmenu/tab_credits.lua
@@ -20,51 +20,31 @@
local core_developers = {
"Perttu Ahola (celeron55) <celeron55@gmail.com>",
"sfan5 <sfan5@live.de>",
- "ShadowNinja <shadowninja@minetest.net>",
"Nathanaël Courant (Nore/Ekdohibs) <nore@mesecons.net>",
"Loic Blot (nerzhul/nrz) <loic.blot@unix-experience.fr>",
"paramat",
"Auke Kok (sofar) <sofar@foo-projects.org>",
- "rubenwardy <rw@rubenwardy.com>",
+ "Andrew Ward (rubenwardy) <rw@rubenwardy.com>",
"Krock/SmallJoker <mk939@ymail.com>",
"Lars Hofhansl <larsh@apache.org>",
}
local active_contributors = {
- "numberZero [Audiovisuals: meshgen]",
- "stujones11 [Android UX improvements]",
- "red-001 <red-001@outlook.ie> [CSM & Menu fixes]",
- "Paul Ouellette (pauloue) [Docs, fixes]",
- "Dániel Juhász (juhdanad) <juhdanad@gmail.com> [Audiovisuals: lighting]",
- "Hybrid Dog [API]",
- "srifqi [Android]",
- "Vincent Glize (Dumbeldor) [Cleanups, CSM APIs]",
- "Ben Deutsch [Rendering, Fixes, SQLite auth]",
- "Wuzzy [Translation, Slippery]",
- "ANAND (ClobberXD) [Docs, Fixes]",
- "Shara/Ezhh [Docs, Game API]",
- "DTA7 [Fixes, mute key]",
- "Thomas-S [Disconnected, Formspecs]",
- "Raymoo [Tool Capabilities]",
- "Elijah Duffy (octacian) [Mainmenu]",
- "noob3167 [Fixes]",
- "adelcoding1 [Formspecs]",
- "adrido [Windows Installer, Formspecs]",
- "Rui [Sound Pitch]",
- "Jean-Patrick G (kilbith) <jeanpatrick.guerrero@gmail.com> [Audiovisuals]",
- "Esteban (EXio4) [Cleanups]",
- "Vaughan Lapsley (vlapsley) [Carpathian mapgen]",
- "CoderForTheBetter [Add set_rotation]",
- "Quentin Bazin (Unarelith) [Cleanups]",
+ "Hugues Ross [Formspecs]",
"Maksim (MoNTE48) [Android]",
- "Gaël-de-Sailly [Mapgen, pitch fly]",
- "zeuner [Docs, Fixes]",
- "ThomasMonroe314 (tre) [Fixes]",
- "Rob Blanckaert (basicer) [Fixes]",
- "Jozef Behran (osjc) [Fixes]",
- "random-geek [Fixes]",
- "Pedro Gimeno (pgimeno) [Fixes]",
- "lisacvuk [Fixes]",
+ "DS [Formspecs]",
+ "pyrollo [Formspecs: Hypertext]",
+ "v-rob [Formspecs]",
+ "Jordach [set_sky]",
+ "random-geek [Formspecs]",
+ "Wuzzy [Pathfinder, builtin, translations]",
+ "ANAND (ClobberXD) [Fixes, per-player FOV]",
+ "Warr1024 [Fixes]",
+ "Paul Ouellette (pauloue) [Fixes, Script API]",
+ "Jean-Patrick G (kilbith) <jeanpatrick.guerrero@gmail.com> [Audiovisuals]",
+ "HybridDog [Script API]",
+ "dcbrwn [Object shading]",
+ "srifqi [Fixes]",
}
local previous_core_developers = {
@@ -79,24 +59,31 @@ local previous_core_developers = {
"Ryan Kwolek (kwolekr) <kwolekr@minetest.net>",
"sapier",
"Zeno",
+ "ShadowNinja <shadowninja@minetest.net>",
}
local previous_contributors = {
- "Gregory Currie (gregorycu) [optimisation]",
- "Diego Martínez (kaeza) <kaeza@users.sf.net>",
- "T4im [Profiler]",
- "TeTpaAka [Hand overriding, nametag colors]",
- "Duane Robertson <duane@duanerobertson.com> [MGValleys]",
- "neoascetic [OS X Fixes]",
- "TriBlade9 <triblade9@mail.com> [Audiovisuals]",
- "Jurgen Doser (doserj) <jurgen.doser@gmail.com> [Fixes]",
- "MirceaKitsune <mirceakitsune@gmail.com> [Audiovisuals]",
- "Guiseppe Bilotta (Oblomov) <guiseppe.bilotta@gmail.com> [Fixes]",
- "matttpt <matttpt@gmail.com> [Fixes]",
"Nils Dagsson Moskopp (erlehmann) <nils@dieweltistgarnichtso.net> [Minetest Logo]",
+ "Dániel Juhász (juhdanad) <juhdanad@gmail.com>",
+ "red-001 <red-001@outlook.ie>",
+ "numberZero [Audiovisuals: meshgen]",
+ "Giuseppe Bilotta",
+ "MirceaKitsune <mirceakitsune@gmail.com>",
+ "Constantin Wenger (SpeedProg)",
+ "Ciaran Gultnieks (CiaranG)",
+ "stujones11 [Android UX improvements]",
"Jeija <jeija@mesecons.net> [HTTP, particles]",
- "bigfoot547 [CSM]",
+ "Vincent Glize (Dumbeldor) [Cleanups, CSM APIs]",
+ "Ben Deutsch [Rendering, Fixes, SQLite auth]",
+ "TeTpaAka [Hand overriding, nametag colors]",
+ "Rui [Sound Pitch]",
+ "Duane Robertson <duane@duanerobertson.com> [MGValleys]",
+ "Raymoo [Tool Capabilities]",
"Rogier <rogier777@gmail.com> [Fixes]",
+ "Gregory Currie (gregorycu) [optimisation]",
+ "TriBlade9 <triblade9@mail.com> [Audiovisuals]",
+ "T4im [Profiler]",
+ "Jurgen Doser (doserj) <jurgen.doser@gmail.com>",
}
local function buildCreditList(source)
diff --git a/builtin/mainmenu/tab_online.lua b/builtin/mainmenu/tab_online.lua
index 8733f7618..7985fd84a 100644
--- a/builtin/mainmenu/tab_online.lua
+++ b/builtin/mainmenu/tab_online.lua
@@ -78,6 +78,7 @@ local function get_formspec(tabview, name, tabdata)
"text,align=right,padding=0.25;" .. -- clients_max
image_column(fgettext("Creative mode"), "creative") .. ",padding=1;" ..
image_column(fgettext("Damage enabled"), "damage") .. ",padding=0.25;" ..
+ --~ PvP = Player versus Player
image_column(fgettext("PvP enabled"), "pvp") .. ",padding=0.25;" ..
"color,span=1;" ..
"text,padding=1]" ..
diff --git a/builtin/profiler/instrumentation.lua b/builtin/profiler/instrumentation.lua
index 80eed05e8..237f048fb 100644
--- a/builtin/profiler/instrumentation.lua
+++ b/builtin/profiler/instrumentation.lua
@@ -162,7 +162,7 @@ local function init()
"on_activate",
"on_step",
"on_punch",
- "rightclick",
+ "on_rightclick",
"get_staticdata",
}
-- Wrap register_entity() to instrument them on registration.
diff --git a/builtin/settingtypes.txt b/builtin/settingtypes.txt
index 0ff8066aa..1f2889b45 100644
--- a/builtin/settingtypes.txt
+++ b/builtin/settingtypes.txt
@@ -440,7 +440,8 @@ keymap_decrease_viewing_range_min (View range decrease key) key -
[**Basic]
-# Enable VBO
+# Enable vertex buffer objects.
+# This should greatly improve graphics performance.
enable_vbo (VBO) bool true
# Whether to fog out the end of the visible area.
@@ -526,7 +527,10 @@ shader_path (Shader path) path
[***Tone Mapping]
-# Enables filmic tone mapping
+# Enables Hable's 'Uncharted 2' filmic tone mapping.
+# Simulates the tone curve of photographic film and how this approximates the
+# appearance of high dynamic range images. Mid-range contrast is slightly
+# enhanced, highlights and shadows are gradually compressed.
tone_mapping (Filmic tone mapping) bool false
[***Bumpmapping]
@@ -571,21 +575,31 @@ parallax_occlusion_bias (Parallax occlusion bias) float 0.04
[***Waving Nodes]
-# Set to true enables waving water.
+# Set to true to enable waving liquids (like water).
# Requires shaders to be enabled.
-enable_waving_water (Waving water) bool false
+enable_waving_water (Waving liquids) bool false
-water_wave_height (Waving water wave height) float 1.0
+# The maximum height of the surface of waving liquids.
+# 4.0 = Wave height is two nodes.
+# 0.0 = Wave doesn't move at all.
+# Default is 1.0 (1/2 node).
+# Requires waving liquids to be enabled.
+water_wave_height (Waving liquids wave height) float 1.0 0.0 4.0
-water_wave_length (Waving water wavelength) float 20.0
+# Length of liquid waves.
+# Requires waving liquids to be enabled.
+water_wave_length (Waving liquids wavelength) float 20.0 0.1
-water_wave_speed (Waving water wave speed) float 5.0
+# How fast liquid waves will move. Higher = faster.
+# If negative, liquid waves will move backwards.
+# Requires waving liquids to be enabled.
+water_wave_speed (Waving liquids wave speed) float 5.0
-# Set to true enables waving leaves.
+# Set to true to enable waving leaves.
# Requires shaders to be enabled.
enable_waving_leaves (Waving leaves) bool false
-# Set to true enables waving plants.
+# Set to true to enable waving plants.
# Requires shaders to be enabled.
enable_waving_plants (Waving plants) bool false
@@ -609,11 +623,11 @@ 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 clipping plane' distance in nodes, between 0 and 0.5.
-# Most users will not need to change this.
+# Camera 'near clipping plane' distance in nodes, between 0 and 0.25
+# Only works on GLES platforms. 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 clipping plane) float 0.1 0 0.5
+near_plane (Near plane) float 0.1 0 0.25
# Width component of the initial window size.
screen_w (Screen width) int 1024 1
@@ -636,25 +650,34 @@ vsync (VSync) bool false
# Field of view in degrees.
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 10.0
+# Alters the light curve by applying 'gamma correction' to it.
+# Higher values make middle and lower light levels brighter.
+# Value '1.0' leaves the light curve unaltered.
+# This only has significant effect on daylight and artificial
+# light, it has very little effect on natural night light.
+display_gamma (Light curve gamma) float 1.0 0.33 3.0
# Gradient of light curve at minimum light level.
-lighting_alpha (Darkness sharpness) float 0.0 0.0 4.0
+# Controls the contrast of the lowest light levels.
+lighting_alpha (Light curve low gradient) float 0.0 0.0 3.0
# Gradient of light curve at maximum light level.
-lighting_beta (Lightness sharpness) float 1.5 0.0 4.0
+# Controls the contrast of the highest light levels.
+lighting_beta (Light curve high gradient) float 1.5 0.0 3.0
-# Strength of light curve mid-boost.
-lighting_boost (Light curve mid boost) float 0.2 0.0 1.0
+# Strength of light curve boost.
+# The 3 'boost' parameters define a range of the light
+# curve that is boosted in brightness.
+lighting_boost (Light curve boost) float 0.2 0.0 0.4
-# Center of light curve mid-boost.
-lighting_boost_center (Light curve mid boost center) float 0.5 0.0 1.0
+# Center of light curve boost range.
+# Where 0.0 is minimum light level, 1.0 is maximum light level.
+lighting_boost_center (Light curve boost center) float 0.5 0.0 1.0
-# Spread of light curve mid-boost.
-# Standard deviation of the mid-boost gaussian.
-lighting_boost_spread (Light curve mid boost spread) float 0.2 0.0 1.0
+# Spread of light curve boost range.
+# Controls the width of the range to be boosted.
+# Standard deviation of the light curve boost Gaussian.
+lighting_boost_spread (Light curve boost spread) float 0.2 0.0 0.4
# Path to texture directory. All textures are first searched from here.
texture_path (Texture path) path
@@ -756,7 +779,7 @@ minimap_shape_round (Round minimap) bool true
# True = 256
# False = 128
-# Useable to make minimap smoother on slower machines.
+# Usable to make minimap smoother on slower machines.
minimap_double_scan_height (Minimap scan height) bool true
# Make fog and sky colors depend on daytime (dawn/sunset) and view direction.
@@ -826,29 +849,60 @@ tooltip_show_delay (Tooltip delay) int 400
tooltip_append_itemname (Append item name) bool false
# Whether FreeType fonts are used, requires FreeType support to be compiled in.
+# If disabled, bitmap and XML vectors fonts are used instead.
freetype (FreeType fonts) bool true
-# Path to TrueTypeFont or bitmap.
-font_path (Font path) filepath fonts/liberationsans.ttf
+font_bold (Font bold by default) bool false
-font_size (Font size) int 16 1
+font_italic (Font italic by default) bool false
-# Font shadow offset, if 0 then shadow will not be drawn.
+# Shadow offset (in pixels) of the default font. If 0, then shadow will not be drawn.
font_shadow (Font shadow) int 1
-# Font shadow alpha (opaqueness, between 0 and 255).
+# Opaqueness (alpha) of the shadow behind the default font, between 0 and 255.
font_shadow_alpha (Font shadow alpha) int 127 0 255
-mono_font_path (Monospace font path) filepath fonts/liberationmono.ttf
+# Font size of the default font in point (pt).
+font_size (Font size) int 16 1
+
+# Path to the default font.
+# If “freetype†setting is enabled: Must be a TrueType font.
+# If “freetype†setting is disabled: Must be a bitmap or XML vectors font.
+# The fallback font will be used if the font cannot be loaded.
+font_path (Regular font path) filepath fonts/Arimo-Regular.ttf
+font_path_bold (Bold font path) filepath fonts/Arimo-Bold.ttf
+font_path_italic (Italic font path) filepath fonts/Arimo-Italic.ttf
+font_path_bolditalic (Bold and italic font path) filepath fonts/Arimo-BoldItalic.ttf
+
+# Font size of the monospace font in point (pt).
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
+# Path to the monospace font.
+# If “freetype†setting is enabled: Must be a TrueType font.
+# If “freetype†setting is disabled: Must be a bitmap or XML vectors font.
+# This font is used for e.g. the console and profiler screen.
+mono_font_path (Monospace font path) filepath fonts/Cousine-Regular.ttf
+
+mono_font_path_bold (Bold monospace font path) filepath fonts/Cousine-Bold.ttf
+mono_font_path_italic (Italic monospace font path) filepath fonts/Cousine-Italic.ttf
+mono_font_path_bolditalic (Bold and italic monospace font path) filepath fonts/Cousine-BoldItalic.ttf
+
+# Font size of the fallback font in point (pt).
fallback_font_size (Fallback font size) int 15 1
+
+# Shadow offset (in pixels) of the fallback font. If 0, then shadow will not be drawn.
fallback_font_shadow (Fallback font shadow) int 1
+
+# Opaqueness (alpha) of the shadow behind the fallback font, between 0 and 255.
fallback_font_shadow_alpha (Fallback font shadow alpha) int 128 0 255
+# Path of the fallback font.
+# If “freetype†setting is enabled: Must be a TrueType font.
+# If “freetype†setting is disabled: Must be a bitmap or XML vectors font.
+# This font will be used for certain languages or if the default font is unavailable.
+fallback_font_path (Fallback font path) filepath fonts/DroidSansFallbackFull.ttf
+
# Path to save screenshots at.
screenshot_path (Screenshot folder) path
@@ -871,10 +925,20 @@ enable_console (Enable console window) bool false
[Sound]
+# Enables the sound system.
+# If disabled, this completely disables all sounds everywhere and the in-game
+# sound controls will be non-functional.
+# Changing this setting requires a restart.
enable_sound (Sound) bool true
+# Volume of all sounds.
+# Requires the sound system to be enabled.
sound_volume (Volume) float 0.7 0.0 1.0
+# Whether to mute sounds. You can unmute sounds at any time, unless the
+# sound system is disabled (enable_sound=false).
+# In-game, you can toggle the mute state with the mute key or by using the
+# pause menu.
mute_sound (Mute sound) bool false
[Client]
@@ -975,6 +1039,7 @@ remote_media (Remote media) string
# Enable/disable running an IPv6 server.
# Ignored if bind_address is set.
+# Needs enable_ipv6 to be enabled.
ipv6_server (IPv6 server) bool false
[**Advanced]
@@ -1145,10 +1210,10 @@ 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.
+# Decrease this to increase liquid resistance to movement.
movement_liquid_fluidity (Liquid fluidity) float 1
-# Maximum liquid resistence. Controls deceleration when entering liquid at
+# Maximum liquid resistance. Controls deceleration when entering liquid at
# high speed.
movement_liquid_fluidity_smooth (Liquid fluidity smoothing) float 0.5
@@ -1160,7 +1225,7 @@ movement_gravity (Gravity) float 9.81
[**Advanced]
-# Handling for deprecated lua api calls:
+# Handling for deprecated Lua API calls:
# - legacy: (try to) mimic old behaviour (default for release).
# - log: mimic and log backtrace of deprecated call (default for debug).
# - error: abort on usage of deprecated call (suggested for mod developers).
@@ -1307,8 +1372,7 @@ name (Player name) string
# Set the language. Leave empty to use the system language.
# A restart is required after changing this.
-language (Language) enum ,be,ca,cs,da,de,dv,en,eo,es,et,fr,he,hu,id,it,ja,jbo,ko,ky,lt,ms,nb,nl,pl,pt,pt_BR,ro,ru,sl,sr_Cyrl,sv,sw,tr,uk,zh_CN,zh_TW
-
+language (Language) enum ,ar,ca,cs,da,de,dv,el,eo,es,et,eu,fil,fr,hu,id,it,ja,ja_KS,jbo,kk,kn,lo,lt,ms,my,nb,nl,nn,pl,pt,pt_BR,ro,ru,sl,sr_Cyrl,sv,sw,th,tr,uk,vi
# Level of logging to be written to debug.txt:
# - <nothing> (no logging)
@@ -1326,7 +1390,8 @@ debug_log_level (Debug log level) enum action ,none,error,warning,action,info,ve
# 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 support (for both client and server).
+# Required for IPv6 connections to work at all.
enable_ipv6 (IPv6) bool true
[*Advanced]
@@ -1405,14 +1470,27 @@ mg_biome_np_humidity_blend (Humidity blend noise) noise_params_2d 0, 1.5, (8, 8,
mgv5_spflags (Mapgen V5 specific flags) flags caverns caverns,nocaverns
# Controls width of tunnels, a smaller value creates wider tunnels.
+# Value >= 10.0 completely disables generation of tunnels and avoids the
+# intensive noise calculations.
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
+# Minimum limit of random number of small caves per mapchunk.
+mgv5_small_cave_num_min (Small cave minimum number) int 0 0 256
+
+# Maximum limit of random number of small caves per mapchunk.
+mgv5_small_cave_num_max (Small cave maximum number) int 0 0 256
+
+# Minimum limit of random number of large caves per mapchunk.
+mgv5_large_cave_num_min (Large cave minimum number) int 0 0 64
+
+# Maximum limit of random number of large caves per mapchunk.
+mgv5_large_cave_num_max (Large cave maximum number) int 2 0 64
+
+# Proportion of large caves that contain liquid.
+mgv5_large_cave_flooded (Large cave proportion flooded) float 0.5 0.0 1.0
# Y-level of cavern upper limit.
mgv5_cavern_limit (Cavern limit) int -256
@@ -1522,30 +1600,27 @@ mgv7_spflags (Mapgen V7 specific flags) flags mountains,ridges,nofloatlands,cave
mgv7_mount_zero_level (Mountain zero level) int 0
# Controls width of tunnels, a smaller value creates wider tunnels.
+# Value >= 10.0 completely disables generation of tunnels and avoids the
+# intensive noise calculations.
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
-
-# Controls the density of mountain-type floatlands.
-# Is a noise offset added to the 'mgv7_np_mountain' noise value.
-mgv7_float_mount_density (Floatland mountain density) float 0.6
+# Minimum limit of random number of small caves per mapchunk.
+mgv7_small_cave_num_min (Small cave minimum number) int 0 0 256
-# Typical maximum height, above and below midpoint, of floatland mountains.
-mgv7_float_mount_height (Floatland mountain height) float 128.0
+# Maximum limit of random number of small caves per mapchunk.
+mgv7_small_cave_num_max (Small cave maximum number) int 0 0 256
-# Alters how mountain-type floatlands taper above and below midpoint.
-mgv7_float_mount_exponent (Floatland mountain exponent) float 0.75
+# Minimum limit of random number of large caves per mapchunk.
+mgv7_large_cave_num_min (Large cave minimum number) int 0 0 64
-# Y-level of floatland midpoint and lake surface.
-mgv7_floatland_level (Floatland level) int 1280
+# Maximum limit of random number of large caves per mapchunk.
+mgv7_large_cave_num_max (Large cave maximum number) int 2 0 64
-# Y-level to which floatland shadows extend.
-mgv7_shadow_limit (Shadow limit) int 1024
+# Proportion of large caves that contain liquid.
+mgv7_large_cave_flooded (Large cave proportion flooded) float 0.5 0.0 1.0
# Y-level of cavern upper limit.
mgv7_cavern_limit (Cavern limit) int -256
@@ -1586,13 +1661,6 @@ mgv7_np_mount_height (Mountain height noise) noise_params_2d 256, 112, (1000, 10
# Defines large-scale river channel structure.
mgv7_np_ridge_uwater (Ridge underwater noise) noise_params_2d 0, 1, (1000, 1000, 1000), 85039, 5, 0.6, 2.0, eased
-# Defines areas of floatland smooth terrain.
-# Smooth floatlands occur when noise > 0.
-mgv7_np_floatland_base (Floatland base noise) noise_params_2d -0.6, 1.5, (600, 600, 600), 114, 5, 0.6, 2.0, eased
-
-# Variation of hill height and lake depth on floatland smooth terrain.
-mgv7_np_float_base_height (Floatland base height noise) noise_params_2d 48, 24, (300, 300, 300), 907, 4, 0.7, 2.0, eased
-
# 3D noise defining mountain structure and height.
# Also defines structure of floatland mountain terrain.
mgv7_np_mountain (Mountain noise) noise_params_3d -0.6, 1, (250, 350, 250), 5333, 5, 0.63, 2.0
@@ -1630,14 +1698,27 @@ mgcarpathian_river_depth (River channel depth) float 24.0
mgcarpathian_valley_width (River valley width) float 0.25
# Controls width of tunnels, a smaller value creates wider tunnels.
+# Value >= 10.0 completely disables generation of tunnels and avoids the
+# intensive noise calculations.
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
+# Minimum limit of random number of small caves per mapchunk.
+mgcarpathian_small_cave_num_min (Small cave minimum number) int 0 0 256
+
+# Maximum limit of random number of small caves per mapchunk.
+mgcarpathian_small_cave_num_max (Small cave maximum number) int 0 0 256
+
+# Minimum limit of random number of large caves per mapchunk.
+mgcarpathian_large_cave_num_min (Large cave minimum number) int 0 0 64
+
+# Maximum limit of random number of large caves per mapchunk.
+mgcarpathian_large_cave_num_max (Large cave maximum number) int 2 0 64
+
+# Proportion of large caves that contain liquid.
+mgcarpathian_large_cave_flooded (Large cave proportion flooded) float 0.5 0.0 1.0
# Y-level of cavern upper limit.
mgcarpathian_cavern_limit (Cavern limit) int -256
@@ -1709,7 +1790,7 @@ mgcarpathian_np_dungeons (Dungeon noise) noise_params_3d 0.9, 0.5, (500, 500, 50
[*Mapgen Flat]
-# Map generation attributes specific to Mapgen flat.
+# Map generation attributes specific to Mapgen Flat.
# Occasional lakes and hills can be added to the flat world.
mgflat_spflags (Mapgen Flat specific flags) flags nolakes,nohills lakes,hills,nolakes,nohills
@@ -1719,11 +1800,24 @@ 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
+# Minimum limit of random number of small caves per mapchunk.
+mgflat_small_cave_num_min (Small cave minimum number) int 0 0 256
+
+# Maximum limit of random number of small caves per mapchunk.
+mgflat_small_cave_num_max (Small cave maximum number) int 0 0 256
+
+# Minimum limit of random number of large caves per mapchunk.
+mgflat_large_cave_num_min (Large cave minimum number) int 0 0 64
+
+# Maximum limit of random number of large caves per mapchunk.
+mgflat_large_cave_num_max (Large cave maximum number) int 2 0 64
+
+# Proportion of large caves that contain liquid.
+mgflat_large_cave_flooded (Large cave proportion flooded) float 0.5 0.0 1.0
# Controls width of tunnels, a smaller value creates wider tunnels.
+# Value >= 10.0 completely disables generation of tunnels and avoids the
+# intensive noise calculations.
mgflat_cave_width (Cave width) float 0.09
# Terrain noise threshold for lakes.
@@ -1767,20 +1861,33 @@ mgflat_np_dungeons (Dungeon noise) noise_params_3d 0.9, 0.5, (500, 500, 500), 0,
[*Mapgen Fractal]
-# Map generation attributes specific to Mapgen flat.
+# Map generation attributes specific to Mapgen Fractal.
# 'terrain' enables the generation of non-fractal terrain:
# ocean, islands and underground.
mgfractal_spflags (Mapgen Fractal specific flags) flags terrain terrain,noterrain
# Controls width of tunnels, a smaller value creates wider tunnels.
+# Value >= 10.0 completely disables generation of tunnels and avoids the
+# intensive noise calculations.
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
+# Minimum limit of random number of small caves per mapchunk.
+mgfractal_small_cave_num_min (Small cave minimum number) int 0 0 256
+
+# Maximum limit of random number of small caves per mapchunk.
+mgfractal_small_cave_num_max (Small cave maximum number) int 0 0 256
+
+# Minimum limit of random number of large caves per mapchunk.
+mgfractal_large_cave_num_min (Large cave minimum number) int 0 0 64
+
+# Maximum limit of random number of large caves per mapchunk.
+mgfractal_large_cave_num_max (Large cave maximum number) int 2 0 64
+
+# Proportion of large caves that contain liquid.
+mgfractal_large_cave_flooded (Large cave proportion flooded) float 0.5 0.0 1.0
# Lower Y limit of dungeons.
mgfractal_dungeon_ymin (Dungeon minimum Y) int -31000
@@ -1789,24 +1896,24 @@ mgfractal_dungeon_ymin (Dungeon minimum Y) int -31000
mgfractal_dungeon_ymax (Dungeon maximum Y) int 31000
# Selects one of 18 fractal types.
-# 1 = 4D "Roundy" mandelbrot set.
-# 2 = 4D "Roundy" julia set.
-# 3 = 4D "Squarry" mandelbrot set.
-# 4 = 4D "Squarry" julia set.
-# 5 = 4D "Mandy Cousin" mandelbrot set.
-# 6 = 4D "Mandy Cousin" julia set.
-# 7 = 4D "Variation" mandelbrot set.
-# 8 = 4D "Variation" julia set.
-# 9 = 3D "Mandelbrot/Mandelbar" mandelbrot set.
-# 10 = 3D "Mandelbrot/Mandelbar" julia set.
-# 11 = 3D "Christmas Tree" mandelbrot set.
-# 12 = 3D "Christmas Tree" julia set.
-# 13 = 3D "Mandelbulb" mandelbrot set.
-# 14 = 3D "Mandelbulb" julia set.
-# 15 = 3D "Cosine Mandelbulb" mandelbrot set.
-# 16 = 3D "Cosine Mandelbulb" julia set.
-# 17 = 4D "Mandelbulb" mandelbrot set.
-# 18 = 4D "Mandelbulb" julia set.
+# 1 = 4D "Roundy" Mandelbrot set.
+# 2 = 4D "Roundy" Julia set.
+# 3 = 4D "Squarry" Mandelbrot set.
+# 4 = 4D "Squarry" Julia set.
+# 5 = 4D "Mandy Cousin" Mandelbrot set.
+# 6 = 4D "Mandy Cousin" Julia set.
+# 7 = 4D "Variation" Mandelbrot set.
+# 8 = 4D "Variation" Julia set.
+# 9 = 3D "Mandelbrot/Mandelbar" Mandelbrot set.
+# 10 = 3D "Mandelbrot/Mandelbar" Julia set.
+# 11 = 3D "Christmas Tree" Mandelbrot set.
+# 12 = 3D "Christmas Tree" Julia set.
+# 13 = 3D "Mandelbulb" Mandelbrot set.
+# 14 = 3D "Mandelbulb" Julia set.
+# 15 = 3D "Cosine Mandelbulb" Mandelbrot set.
+# 16 = 3D "Cosine Mandelbulb" Julia set.
+# 17 = 4D "Mandelbulb" Mandelbrot set.
+# 18 = 4D "Mandelbulb" Julia set.
mgfractal_fractal (Fractal type) int 1 1 18
# Iterations of the recursive function.
@@ -1828,7 +1935,7 @@ mgfractal_scale (Scale) v3f (4096.0, 1024.0, 4096.0)
# Can be used to move a desired point to (0, 0) to create a
# suitable spawn point, or to allow 'zooming in' on a desired
# point by increasing 'scale'.
-# The default is tuned for a suitable spawn point for mandelbrot
+# The default is tuned for a suitable spawn point for Mandelbrot
# sets with default parameters, it may need altering in other
# situations.
# Range roughly -2 to 2. Multiply by 'scale' for offset in nodes.
@@ -1901,9 +2008,20 @@ 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
+# Minimum limit of random number of small caves per mapchunk.
+mgvalleys_small_cave_num_min (Small cave minimum number) int 0 0 256
+
+# Maximum limit of random number of small caves per mapchunk.
+mgvalleys_small_cave_num_max (Small cave maximum number) int 0 0 256
+
+# Minimum limit of random number of large caves per mapchunk.
+mgvalleys_large_cave_num_min (Large cave minimum number) int 0 0 64
+
+# Maximum limit of random number of large caves per mapchunk.
+mgvalleys_large_cave_num_max (Large cave maximum number) int 2 0 64
+
+# Proportion of large caves that contain liquid.
+mgvalleys_large_cave_flooded (Large cave proportion flooded) float 0.5 0.0 1.0
# Depth below which you'll find giant caverns.
mgvalleys_cavern_limit (Cavern upper limit) int -256
@@ -1921,6 +2039,8 @@ mgvalleys_river_depth (River depth) int 4
mgvalleys_river_size (River size) int 5
# Controls width of tunnels, a smaller value creates wider tunnels.
+# Value >= 10.0 completely disables generation of tunnels and avoids the
+# intensive noise calculations.
mgvalleys_cave_width (Cave width) float 0.09
# Lower Y limit of dungeons.
diff --git a/client/shaders/nodes_shader/opengl_vertex.glsl b/client/shaders/nodes_shader/opengl_vertex.glsl
index bbf7b1d65..ccff1260d 100644
--- a/client/shaders/nodes_shader/opengl_vertex.glsl
+++ b/client/shaders/nodes_shader/opengl_vertex.glsl
@@ -46,6 +46,42 @@ float smoothTriangleWave(float x)
return smoothCurve(triangleWave(x)) * 2.0 - 1.0;
}
+// OpenGL < 4.3 does not support continued preprocessor lines
+#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
+
+//
+// Simple, fast noise function.
+// See: https://gist.github.com/patriciogonzalezvivo/670c22f3966e662d2f83
+//
+vec4 perm(vec4 x)
+{
+ return mod(((x * 34.0) + 1.0) * x, 289.0);
+}
+
+float snoise(vec3 p)
+{
+ vec3 a = floor(p);
+ vec3 d = p - a;
+ d = d * d * (3.0 - 2.0 * d);
+
+ vec4 b = a.xxyy + vec4(0.0, 1.0, 0.0, 1.0);
+ vec4 k1 = perm(b.xyxy);
+ vec4 k2 = perm(k1.xyxy + b.zzww);
+
+ vec4 c = k2 + a.zzzz;
+ vec4 k3 = perm(c);
+ vec4 k4 = perm(c + 1.0);
+
+ vec4 o1 = fract(k3 * (1.0 / 41.0));
+ vec4 o2 = fract(k4 * (1.0 / 41.0));
+
+ vec4 o3 = o2 * d.z + o1 * (1.0 - d.z);
+ vec2 o4 = o3.yw * d.x + o3.xz * (1.0 - d.x);
+
+ return o4.y * d.y + o4.x * (1.0 - d.y);
+}
+
+#endif
void main(void)
{
@@ -65,7 +101,8 @@ void main(void)
float disp_x;
float disp_z;
-#if (MATERIAL_TYPE == TILE_MATERIAL_WAVING_LEAVES && ENABLE_WAVING_LEAVES) || (MATERIAL_TYPE == TILE_MATERIAL_WAVING_PLANTS && ENABLE_WAVING_PLANTS)
+#if (MATERIAL_TYPE == TILE_MATERIAL_WAVING_LEAVES && ENABLE_WAVING_LEAVES) || \
+ (MATERIAL_TYPE == TILE_MATERIAL_WAVING_PLANTS && ENABLE_WAVING_PLANTS)
vec4 pos2 = mWorld * gl_Vertex;
float tOffset = (pos2.x + pos2.y) * 0.001 + pos2.z * 0.002;
disp_x = (smoothTriangleWave(animationTimer * 23.0 + tOffset) +
@@ -75,12 +112,21 @@ float disp_z;
smoothTriangleWave(animationTimer * 13.0 + tOffset)) * 0.5;
#endif
+ worldPosition = (mWorld * gl_Vertex).xyz;
+// OpenGL < 4.3 does not support continued preprocessor lines
#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
+ // Generate waves with Perlin-type noise.
+ // The constants are calibrated such that they roughly
+ // correspond to the old sine waves.
vec4 pos = gl_Vertex;
- pos.y -= 2.0;
- float posYbuf = (pos.z / WATER_WAVE_LENGTH + animationTimer * WATER_WAVE_SPEED * WATER_WAVE_LENGTH);
- pos.y -= sin(posYbuf) * WATER_WAVE_HEIGHT + sin(posYbuf / 7.0) * WATER_WAVE_HEIGHT;
+ vec3 wavePos = worldPosition + cameraOffset;
+ // The waves are slightly compressed along the z-axis to get
+ // wave-fronts along the x-axis.
+ wavePos.x /= WATER_WAVE_LENGTH * 3;
+ wavePos.z /= WATER_WAVE_LENGTH * 2;
+ wavePos.z += animationTimer * WATER_WAVE_SPEED * 10;
+ pos.y += (snoise(wavePos) - 1) * WATER_WAVE_HEIGHT * 5;
gl_Position = mWorldViewProj * pos;
#elif MATERIAL_TYPE == TILE_MATERIAL_WAVING_LEAVES && ENABLE_WAVING_LEAVES
vec4 pos = gl_Vertex;
@@ -101,7 +147,6 @@ float disp_z;
vPosition = gl_Position.xyz;
- worldPosition = (mWorld * gl_Vertex).xyz;
// Don't generate heightmaps when too far from the eye
float dist = distance (vec3(0.0, 0.0, 0.0), vPosition);
@@ -141,12 +186,12 @@ float disp_z;
color.rgb = gl_Color.rgb * (gl_Color.a * dayLight.rgb +
nightRatio * artificialLight.rgb) * 2;
color.a = 1;
-
+
// Emphase blue a bit in darker places
// See C++ implementation in mapblock_mesh.cpp final_color_blend()
float brightness = (color.r + color.g + color.b) / 3;
color.b += max(0.0, 0.021 - abs(0.2 * brightness - 0.021) +
0.07 * brightness);
-
+
gl_FrontColor = gl_BackColor = clamp(color, 0.0, 1.0);
}
diff --git a/client/shaders/object_shader/opengl_fragment.glsl b/client/shaders/object_shader/opengl_fragment.glsl
new file mode 100644
index 000000000..bb9e40637
--- /dev/null
+++ b/client/shaders/object_shader/opengl_fragment.glsl
@@ -0,0 +1,131 @@
+uniform sampler2D baseTexture;
+uniform sampler2D normalTexture;
+uniform sampler2D textureFlags;
+
+uniform vec4 emissiveColor;
+uniform vec4 skyBgColor;
+uniform float fogDistance;
+uniform vec3 eyePosition;
+
+varying vec3 vNormal;
+varying vec3 vPosition;
+varying vec3 worldPosition;
+
+varying vec3 eyeVec;
+varying vec3 lightVec;
+varying float vIDiff;
+
+bool normalTexturePresent = false;
+bool texTileableHorizontal = false;
+bool texTileableVertical = false;
+bool texSeamless = false;
+
+const float e = 2.718281828459;
+const float BS = 10.0;
+const float fogStart = FOG_START;
+const float fogShadingParameter = 1 / ( 1 - fogStart);
+
+void get_texture_flags()
+{
+ vec4 flags = texture2D(textureFlags, vec2(0.0, 0.0));
+ if (flags.r > 0.5) {
+ normalTexturePresent = true;
+ }
+ if (flags.g > 0.5) {
+ texTileableHorizontal = true;
+ }
+ if (flags.b > 0.5) {
+ texTileableVertical = true;
+ }
+ if (texTileableHorizontal && texTileableVertical) {
+ texSeamless = true;
+ }
+}
+
+float intensity(vec3 color)
+{
+ return (color.r + color.g + color.b) / 3.0;
+}
+
+float get_rgb_height(vec2 uv)
+{
+ if (texSeamless) {
+ return intensity(texture2D(baseTexture, uv).rgb);
+ } else {
+ return intensity(texture2D(baseTexture, clamp(uv, 0.0, 0.999)).rgb);
+ }
+}
+
+vec4 get_normal_map(vec2 uv)
+{
+ vec4 bump = texture2D(normalTexture, uv).rgba;
+ bump.xyz = normalize(bump.xyz * 2.0 - 1.0);
+ return bump;
+}
+
+void main(void)
+{
+ vec3 color;
+ vec4 bump;
+ vec2 uv = gl_TexCoord[0].st;
+ bool use_normalmap = false;
+ get_texture_flags();
+
+#if USE_NORMALMAPS == 1
+ if (normalTexturePresent) {
+ bump = get_normal_map(uv);
+ use_normalmap = true;
+ }
+#endif
+
+#if GENERATE_NORMALMAPS == 1
+ if (normalTexturePresent == false) {
+ float tl = get_rgb_height(vec2(uv.x - SAMPLE_STEP, uv.y + SAMPLE_STEP));
+ float t = get_rgb_height(vec2(uv.x - SAMPLE_STEP, uv.y - SAMPLE_STEP));
+ float tr = get_rgb_height(vec2(uv.x + SAMPLE_STEP, uv.y + SAMPLE_STEP));
+ float r = get_rgb_height(vec2(uv.x + SAMPLE_STEP, uv.y));
+ float br = get_rgb_height(vec2(uv.x + SAMPLE_STEP, uv.y - SAMPLE_STEP));
+ float b = get_rgb_height(vec2(uv.x, uv.y - SAMPLE_STEP));
+ float bl = get_rgb_height(vec2(uv.x -SAMPLE_STEP, uv.y - SAMPLE_STEP));
+ float l = get_rgb_height(vec2(uv.x - SAMPLE_STEP, uv.y));
+ float dX = (tr + 2.0 * r + br) - (tl + 2.0 * l + bl);
+ float dY = (bl + 2.0 * b + br) - (tl + 2.0 * t + tr);
+ bump = vec4(normalize(vec3 (dX, dY, NORMALMAPS_STRENGTH)), 1.0);
+ use_normalmap = true;
+ }
+#endif
+
+ vec4 base = texture2D(baseTexture, uv).rgba;
+
+#ifdef ENABLE_BUMPMAPPING
+ if (use_normalmap) {
+ vec3 L = normalize(lightVec);
+ vec3 E = normalize(eyeVec);
+ float specular = pow(clamp(dot(reflect(L, bump.xyz), E), 0.0, 1.0), 1.0);
+ float diffuse = dot(-E,bump.xyz);
+ color = (diffuse + 0.1 * specular) * base.rgb;
+ } else {
+ color = base.rgb;
+ }
+#else
+ color = base.rgb;
+#endif
+
+ vec4 col = vec4(color.rgb, base.a);
+
+ col.rgb *= emissiveColor.rgb * vIDiff;
+ // Due to a bug in some (older ?) graphics stacks (possibly in the glsl compiler ?),
+ // the fog will only be rendered correctly if the last operation before the
+ // clamp() is an addition. Else, the clamp() seems to be ignored.
+ // E.g. the following won't work:
+ // float clarity = clamp(fogShadingParameter
+ // * (fogDistance - length(eyeVec)) / fogDistance), 0.0, 1.0);
+ // As additions usually come for free following a multiplication, the new formula
+ // should be more efficient as well.
+ // Note: clarity = (1 - fogginess)
+ float clarity = clamp(fogShadingParameter
+ - fogShadingParameter * length(eyeVec) / fogDistance, 0.0, 1.0);
+ col = mix(skyBgColor, col, clarity);
+
+ gl_FragColor = vec4(col.rgb, base.a);
+}
diff --git a/client/shaders/object_shader/opengl_vertex.glsl b/client/shaders/object_shader/opengl_vertex.glsl
new file mode 100644
index 000000000..488089392
--- /dev/null
+++ b/client/shaders/object_shader/opengl_vertex.glsl
@@ -0,0 +1,44 @@
+uniform mat4 mWorldViewProj;
+uniform mat4 mWorld;
+
+uniform vec3 eyePosition;
+uniform float animationTimer;
+
+varying vec3 vNormal;
+varying vec3 vPosition;
+varying vec3 worldPosition;
+
+varying vec3 eyeVec;
+varying vec3 lightVec;
+varying float vIDiff;
+
+const float e = 2.718281828459;
+const float BS = 10.0;
+
+float directional_ambient(vec3 normal)
+{
+ vec3 v = normal * normal;
+
+ if (normal.y < 0)
+ return dot(v, vec3(0.670820f, 0.447213f, 0.836660f));
+
+ return dot(v, vec3(0.670820f, 1.000000f, 0.836660f));
+}
+
+void main(void)
+{
+ gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0;
+ gl_Position = mWorldViewProj * gl_Vertex;
+
+ vPosition = gl_Position.xyz;
+ vNormal = gl_Normal;
+ worldPosition = (mWorld * gl_Vertex).xyz;
+
+ vec3 sunPosition = vec3 (0.0, eyePosition.y * BS + 900.0, 0.0);
+
+ lightVec = sunPosition - worldPosition;
+ eyeVec = -(gl_ModelViewMatrix * gl_Vertex).xyz;
+ vIDiff = directional_ambient(normalize(gl_Normal));
+
+ gl_FrontColor = gl_BackColor = gl_Color;
+}
diff --git a/clientmods/preview/example.lua b/clientmods/preview/example.lua
index 2f661c073..2f42eef64 100644
--- a/clientmods/preview/example.lua
+++ b/clientmods/preview/example.lua
@@ -1,2 +1,2 @@
print("Loaded example file!, loading more examples")
-dofile("preview:examples/first.lua")
+dofile(core.get_modpath(core.get_current_modname()) .. "/examples/first.lua")
diff --git a/clientmods/preview/init.lua b/clientmods/preview/init.lua
index bb8d1d600..5777adcaf 100644
--- a/clientmods/preview/init.lua
+++ b/clientmods/preview/init.lua
@@ -1,19 +1,27 @@
-local modname = core.get_current_modname() or "??"
+local modname = assert(core.get_current_modname())
local modstorage = core.get_mod_storage()
local mod_channel
-dofile("preview:example.lua")
--- This is an example function to ensure it's working properly, should be removed before merge
+dofile(core.get_modpath(modname) .. "example.lua")
+
core.register_on_shutdown(function()
print("[PREVIEW] shutdown client")
end)
local id = nil
-local server_info = core.get_server_info()
-print("Server version: " .. server_info.protocol_version)
-print("Server ip: " .. server_info.ip)
-print("Server address: " .. server_info.address)
-print("Server port: " .. server_info.port)
+do
+ local server_info = core.get_server_info()
+ print("Server version: " .. server_info.protocol_version)
+ print("Server ip: " .. server_info.ip)
+ print("Server address: " .. server_info.address)
+ print("Server port: " .. server_info.port)
+
+ print("CSM restrictions: " .. dump(core.get_csm_restrictions()))
+
+ local l1, l2 = core.get_language()
+ print("Configured language: " .. l1 .. " / " .. l2)
+end
+
mod_channel = core.mod_channel_join("experimental_preview")
core.after(4, function()
@@ -65,6 +73,26 @@ core.register_on_item_use(function(itemstack, pointed_thing)
print("The local player used an item!")
print("pointed_thing :" .. dump(pointed_thing))
print("item = " .. itemstack:get_name())
+
+ if not itemstack:is_empty() then
+ return false
+ end
+
+ local pos = vector.add(core.localplayer:get_pos(), core.camera:get_offset())
+ local pos2 = vector.add(pos, vector.multiply(core.camera:get_look_dir(), 100))
+
+ local rc = core.raycast(pos, pos2)
+ local i = rc:next()
+ print("[PREVIEW] raycast next: " .. dump(i))
+ if i then
+ print("[PREVIEW] line of sight: " .. (core.line_of_sight(pos, i.above) and "yes" or "no"))
+
+ local n1 = core.find_nodes_in_area(pos, i.under, {"default:stone"})
+ local n2 = core.find_nodes_in_area_under_air(pos, i.under, {"default:stone"})
+ print(("[PREVIEW] found %s nodes, %s nodes under air"):format(
+ n1 and #n1 or "?", n2 and #n2 or "?"))
+ end
+
return false
end)
@@ -91,11 +119,6 @@ core.register_on_damage_taken(function(hp)
end)
-- This is an example function to ensure it's working properly, should be removed before merge
-core.register_globalstep(function(dtime)
- -- print("[PREVIEW] globalstep " .. dtime)
-end)
-
--- This is an example function to ensure it's working properly, should be removed before merge
core.register_chatcommand("dump", {
func = function(param)
return true, dump(_G)
@@ -143,8 +166,7 @@ core.after(5, function()
core.ui.minimap:show()
end
- print("[PREVIEW] Day count: " .. core.get_day_count() ..
- " time of day " .. core.get_timeofday())
+ print("[PREVIEW] Time of day " .. core.get_timeofday())
print("[PREVIEW] Node level: " .. core.get_node_level({x=0, y=20, z=0}) ..
" max level " .. core.get_node_max_level({x=0, y=20, z=0}))
diff --git a/doc/client_lua_api.txt b/doc/client_lua_api.txt
index 4bb53f403..c24de8d85 100644
--- a/doc/client_lua_api.txt
+++ b/doc/client_lua_api.txt
@@ -1,4 +1,4 @@
-Minetest Lua Client Modding API Reference 5.1.0
+Minetest Lua Client Modding API Reference 5.2.0
================================================
* More information at <http://www.minetest.net/>
* Developer Wiki: <http://dev.minetest.net/>
@@ -30,7 +30,7 @@ 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:
+In order to load client-side mods, the following conditions need to be satisfied:
1) `$path_user/minetest.conf` contains the setting `enable_client_modding = true`
@@ -43,14 +43,10 @@ be loaded or have limited functionality. See setting `csm_restriction_flags` for
Paths
-----
* `RUN_IN_PLACE=1` (Windows release, local build)
- * `$path_user`:
- * Linux: `<build directory>`
- * Windows: `<build directory>`
- * `$path_share`
- * Linux: `<build directory>`
- * Windows: `<build directory>`
+ * `$path_user`: `<build directory>`
+ * `$path_share`: `<build directory>`
* `RUN_IN_PLACE=0`: (Linux release)
- * `$path_share`
+ * `$path_share`:
* Linux: `/usr/share/minetest`
* Windows: `<install directory>/minetest-0.4.x`
* `$path_user`:
@@ -75,7 +71,6 @@ On an installed version on Linux:
Modpack support
----------------
-**NOTE: Not implemented yet.**
Mods can be put in a subdirectory, if the parent directory, which otherwise
should be a mod, contains a file named `modpack.conf`.
@@ -90,30 +85,36 @@ Mod directory structure
clientmods
├── modname
- | ├── depends.txt
- | ├── init.lua
+ │   ├── mod.conf
+ │   ├── init.lua
└── another
### modname
+
The location of this directory.
-### depends.txt
-List of mods that have to be loaded before loading this mod.
+### mod.conf
+
+An (optional) settings file that provides meta information about the mod.
-A single line contains a single modname.
+* `name`: The mod name. Allows Minetest to determine the mod name even if the
+ folder is wrongly named.
+* `description`: Description of mod to be shown in the Mods tab of the main
+ menu.
+* `depends`: A comma separated list of dependencies. These are mods that must be
+ loaded before this mod.
+* `optional_depends`: A comma separated list of optional dependencies.
+ Like a dependency, but no error if the mod doesn't exist.
-Optional dependencies can be defined by appending a question mark
-to a single modname. Their meaning is that if the specified mod
-is missing, that does not prevent this mod from being loaded.
+### `init.lua`
-### init.lua
The main Lua script. Running this script should register everything it
wants to register. Subsequent execution depends on minetest calling the
registered callbacks.
-### `sounds`
-Media files (sounds) that will be transferred to the
-client and will be available for use by the mod.
+**NOTE**: Client mods currently can't provide and textures, sounds or models by
+themselves. Any media referenced in function calls must already be loaded
+(provided by mods that exist on the server).
Naming convention for registered textual names
----------------------------------------------
@@ -142,7 +143,7 @@ The `:` prefix can also be used for maintaining backwards compatibility.
Sounds
------
-**NOTE: max_hear_distance and connecting to objects is not implemented.**
+**NOTE: Connecting sounds to objects is not implemented.**
Only Ogg Vorbis files are supported.
@@ -182,13 +183,11 @@ Examples of sound parameter tables:
{
pos = {x = 1, y = 2, z = 3},
gain = 1.0, -- default
- max_hear_distance = 32, -- default, uses an euclidean metric
}
-- Play connected to an object, looped
{
object = <an ObjectRef>,
gain = 1.0, -- default
- max_hear_distance = 32, -- default, uses an euclidean metric
loop = true,
}
@@ -631,7 +630,13 @@ Minetest namespace reference
### Utilities
* `minetest.get_current_modname()`: returns the currently loading mod's name, when we are loading a mod
-* `minetest.get_language()`: returns the currently set gettext language.
+* `minetest.get_modpath(modname)`: returns virtual path of given mod including
+ the trailing separator. This is useful to load additional Lua files
+ contained in your mod:
+ e.g. `dofile(minetest.get_modpath(minetest.get_current_modname()) .. "stuff.lua")`
+* `minetest.get_language()`: returns two strings
+ * the current gettext locale
+ * the current language code (the same as used for client-side translations)
* `minetest.get_version()`: returns a table containing components of the
engine version. Components:
* `project`: Name of the project, eg, "Minetest"
@@ -646,6 +651,11 @@ Minetest namespace reference
* `minetest.sha1(data, [raw])`: returns the sha1 hash of data
* `data`: string of data to hash
* `raw`: return raw bytes instead of hex digits, default: false
+* `minetest.get_csm_restrictions()`: returns a table of `Flags` indicating the
+ restrictions applied to the current mod.
+ * If a flag in this table is set to true, the feature is RESTRICTED.
+ * Possible flags: `load_client_mods`, `chat_messages`, `read_itemdefs`,
+ `read_nodedefs`, `lookup_nodes`, `read_playerinfo`
### Logging
* `minetest.debug(...)`
@@ -731,8 +741,6 @@ Call these functions only at load time!
* Optional: Variable number of arguments that are passed to `func`
* `minetest.get_us_time()`
* Returns time with microsecond precision. May not return wall time.
-* `minetest.get_day_count()`
- * Returns number days elapsed since world was created, accounting for time changes.
* `minetest.get_timeofday()`
* Returns the time of day: `0` for midnight, `0.5` for midday
@@ -741,11 +749,46 @@ Call these functions only at load time!
* Returns the node at the given position as table in the format
`{name="node_name", param1=0, param2=0}`, returns `nil`
for unloaded areas or flavor limited areas.
+* `minetest.get_node_light(pos, timeofday)`
+ * Gets the light value at the given position. Note that the light value
+ "inside" the node at the given position is returned, so you usually want
+ to get the light value of a neighbor.
+ * `pos`: The position where to measure the light.
+ * `timeofday`: `nil` for current time, `0` for night, `0.5` for day
+ * Returns a number between `0` and `15` or `nil`
* `minetest.find_node_near(pos, radius, nodenames, [search_center])`: returns pos or `nil`
* `radius`: using a maximum metric
* `nodenames`: e.g. `{"ignore", "group:tree"}` or `"default:dirt"`
* `search_center` is an optional boolean (default: `false`)
If true `pos` is also checked for the nodes
+* `minetest.find_nodes_in_area(pos1, pos2, nodenames)`: returns a list of
+ positions.
+ * `nodenames`: e.g. `{"ignore", "group:tree"}` or `"default:dirt"`
+ * First return value: Table with all node positions
+ * Second return value: Table with the count of each node with the node name
+ as index.
+ * Area volume is limited to 4,096,000 nodes
+* `minetest.find_nodes_in_area_under_air(pos1, pos2, nodenames)`: returns a
+ list of positions.
+ * `nodenames`: e.g. `{"ignore", "group:tree"}` or `"default:dirt"`
+ * Return value: Table with all node positions with a node air above
+ * Area volume is limited to 4,096,000 nodes
+* `minetest.line_of_sight(pos1, pos2)`: returns `boolean, pos`
+ * Checks if there is anything other than air between pos1 and pos2.
+ * Returns false if something is blocking the sight.
+ * Returns the position of the blocking node when `false`
+ * `pos1`: First position
+ * `pos2`: Second position
+* `minetest.raycast(pos1, pos2, objects, liquids)`: returns `Raycast`
+ * Creates a `Raycast` object.
+ * `pos1`: start of the ray
+ * `pos2`: end of the ray
+ * `objects`: if false, only nodes will be returned. Default is `true`.
+ * `liquids`: if false, liquid nodes won't be returned. Default is `false`.
+
+* `minetest.find_nodes_with_meta(pos1, pos2)`
+ * Get a table of positions of nodes that have metadata within a region
+ {pos1, pos2}.
* `minetest.get_meta(pos)`
* Get a `NodeMetaRef` at that position
* `minetest.get_node_level(pos)`
@@ -1072,6 +1115,32 @@ Can be obtained via `minetest.get_meta(pos)`.
* `fields`: key-value storage
* `inventory`: `{list1 = {}, ...}}`
+### `Raycast`
+
+A raycast on the map. It works with selection boxes.
+Can be used as an iterator in a for loop as:
+
+ local ray = Raycast(...)
+ for pointed_thing in ray do
+ ...
+ end
+
+The map is loaded as the ray advances. If the map is modified after the
+`Raycast` is created, the changes may or may not have an effect on the object.
+
+It can be created via `Raycast(pos1, pos2, objects, liquids)` or
+`minetest.raycast(pos1, pos2, objects, liquids)` where:
+
+* `pos1`: start of the ray
+* `pos2`: end of the ray
+* `objects`: if false, only nodes will be returned. Default is true.
+* `liquids`: if false, liquid nodes won't be returned. Default is false.
+
+#### Methods
+
+* `next()`: returns a `pointed_thing` with exact pointing location
+ * Returns the next thing pointed by the ray or nil.
+
-----------------
### Definitions
* `minetest.get_node_def(nodename)`
diff --git a/doc/lua_api.txt b/doc/lua_api.txt
index 907f47e73..bd95062a5 100644
--- a/doc/lua_api.txt
+++ b/doc/lua_api.txt
@@ -826,7 +826,7 @@ Examples of sound parameter tables:
gain = 1.0, -- default
loop = true,
}
- -- Play in a location
+ -- Play at a location
{
pos = {x = 1, y = 2, z = 3},
gain = 1.0, -- default
@@ -839,34 +839,58 @@ Examples of sound parameter tables:
max_hear_distance = 32, -- default, uses an euclidean metric
loop = true,
}
+ -- Play at a location, heard by anyone *but* the given player
+ {
+ pos = {x = 32, y = 0, z = 100},
+ max_hear_distance = 40,
+ exclude_player = name,
+ }
Looped sounds must either be connected to an object or played locationless to
-one player using `to_player = name,`.
+one player using `to_player = name`.
A positional sound will only be heard by players that are within
`max_hear_distance` of the sound position, at the start of the sound.
+`exclude_player = name` can be applied to locationless, positional and object-
+bound sounds to exclude a single player from hearing them.
+
`SimpleSoundSpec`
-----------------
-* e.g. `""`
-* e.g. `"default_place_node"`
-* e.g. `{}`
-* e.g. `{name = "default_place_node"}`
-* e.g. `{name = "default_place_node", gain = 1.0}`
-* e.g. `{name = "default_place_node", gain = 1.0, pitch = 1.0}`
+Specifies a sound name, gain (=volume) and pitch.
+This is either a string or a table.
+
+In string form, you just specify the sound name or
+the empty string for no sound.
+Table form has the following fields:
+
+* `name`: Sound name
+* `gain`: Volume (`1.0` = 100%)
+* `pitch`: Pitch (`1.0` = 100%)
+
+`gain` and `pitch` are optional and default to `1.0`.
+
+Examples:
+
+* `""`: No sound
+* `{}`: No sound
+* `"default_place_node"`: Play e.g. `default_place_node.ogg`
+* `{name = "default_place_node"}`: Same as above
+* `{name = "default_place_node", gain = 0.5}`: 50% volume
+* `{name = "default_place_node", gain = 0.9, pitch = 1.1}`: 90% volume, 110% pitch
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)
-
+ * `default_dig_<groupname>`: Default node digging sound
+ (see node sound definition for details)
Registered definitions
======================
@@ -924,7 +948,8 @@ Node paramtypes
The functions of `param1` and `param2` are determined by certain fields in the
node definition.
-`param1` is reserved for the engine when `paramtype != "none"`:
+The function of `param1` is determined by `paramtype` in node definition.
+`param1` is reserved for the engine when `paramtype != "none"`.
* `paramtype = "light"`
* The value stores light with and without sun in its upper and lower 4 bits
@@ -941,19 +966,27 @@ node definition.
* mesh
* plantlike
* plantlike_rooted
-
-`param2` is reserved for the engine when any of these are used:
-
-* `liquidtype = "flowing"`
- * The level and some flags of the liquid is stored in `param2`
-* `drawtype = "flowingliquid"`
- * The drawn liquid level is read from `param2`
-* `drawtype = "torchlike"`
-* `drawtype = "signlike"`
+* `paramtype = "none"`
+ * `param1` will not be used by the engine and can be used to store
+ an arbitrary value
+
+The function of `param2` is determined by `paramtype2` in node definition.
+`param2` is reserved for the engine when `paramtype2 != "none"`.
+
+* `paramtype2 = "flowingliquid"`
+ * Used by `drawtype = "flowingliquid"` and `liquidtype = "flowing"`
+ * The liquid level and a flag of the liquid are stored in `param2`
+ * Bits 0-2: Liquid level (0-7). The higher, the more liquid is in this node
+ * Bit 3: If set, liquid is flowing downwards (no graphical effect)
* `paramtype2 = "wallmounted"`
- * The rotation of the node is stored in `param2`. You can make this value
- by using `minetest.dir_to_wallmounted()`.
+ * Supported drawtypes: "torchlike", "signlike", "normal", "nodebox", "mesh"
+ * The rotation of the node is stored in `param2`
+ * You can make this value by using `minetest.dir_to_wallmounted()`
+ * Values range 0 - 5
+ * The value denotes at which direction the node is "mounted":
+ 0 = y+, 1 = y-, 2 = x+, 3 = x-, 4 = z+, 5 = z-
* `paramtype2 = "facedir"`
+ * Supported drawtypes: "normal", "nodebox", "mesh"
* The rotation of the node is stored in `param2`. Furnaces and chests are
rotated this way. Can be made by using `minetest.dir_to_facedir()`.
* Values range 0 - 23
@@ -972,13 +1005,13 @@ node definition.
* The height of the 'plantlike' section is stored in `param2`.
* The height is (`param2` / 16) nodes.
* `paramtype2 = "degrotate"`
- * Only valid for "plantlike". The rotation of the node is stored in
+ * Only valid for "plantlike" drawtype. The rotation of the node is stored in
`param2`.
* Values range 0 - 179. The value stored in `param2` is multiplied by two to
get the actual rotation in degrees of the node.
* `paramtype2 = "meshoptions"`
- * Only valid for "plantlike". The value of `param2` becomes a bitfield which
- can be used to change how the client draws plantlike nodes.
+ * Only valid for "plantlike" drawtype. The value of `param2` becomes a
+ bitfield which can be used to change how the client draws plantlike nodes.
* Bits 0, 1 and 2 form a mesh selector.
Currently the following meshes are choosable:
* 0 = a "x" shaped plant (ordinary plant)
@@ -1010,6 +1043,9 @@ node definition.
* `param2` values 0-63 define 64 levels of internal liquid, 0 being empty
and 63 being full.
* Liquid texture is defined using `special_tiles = {"modname_tilename.png"}`
+* `paramtype2 = "none"`
+ * `param2` will not be used by the engine and can be used to store
+ an arbitrary value
Nodes can also contain extra data. See [Node Metadata].
@@ -1260,6 +1296,11 @@ precisely positioned items in the HUD.
**Note**: `offset` _will_ adapt to screen DPI as well as user defined scaling
factor!
+The `z_index` field specifies the order of HUD elements from back to front.
+Lower z-index elements are displayed behind higher z-index elements. Elements
+with same z-index are displayed in an arbitrary order. Default 0.
+Supports negative values.
+
Below are the specific uses for fields in each type; fields not listed for that
type are ignored.
@@ -1476,7 +1517,8 @@ Usage
-----
Groups are stored in a table, having the group names with keys and the
-group ratings as values. For example:
+group ratings as values. Group ratings are integer values within the
+range [-32767, 32767]. For example:
-- Default dirt
groups = {crumbly=3, soil=1}
@@ -1923,6 +1965,9 @@ 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`.
+Since formspec version 3, elements drawn in the order they are defined. All
+background elements are drawn before all other elements.
+
**WARNING**: do _not_ use a element name starting with `key_`; those names are
reserved to pass key press events to formspec!
@@ -2075,28 +2120,47 @@ Elements
### `tooltip[<gui_element_name>;<tooltip_text>;<bgcolor>;<fontcolor>]`
* Adds tooltip for an element
-* `<bgcolor>` tooltip background color as `ColorString` (optional)
-* `<fontcolor>` tooltip font color as `ColorString` (optional)
+* `bgcolor` tooltip background color as `ColorString` (optional)
+* `fontcolor` tooltip font color as `ColorString` (optional)
### `tooltip[<X>,<Y>;<W>,<H>;<tooltip_text>;<bgcolor>;<fontcolor>]`
* Adds tooltip for an area. Other tooltips will take priority when present.
-* `<bgcolor>` tooltip background color as `ColorString` (optional)
-* `<fontcolor>` tooltip font color as `ColorString` (optional)
+* `bgcolor` tooltip background color as `ColorString` (optional)
+* `fontcolor` tooltip font color as `ColorString` (optional)
### `image[<X>,<Y>;<W>,<H>;<texture name>]`
* Show an image
+### `animated_image[<X>,<Y>;<W>,<H>;<name>;<texture name>;<frame count>;<frame duration>;<frame start>]`
+
+* Show an animated image. The image is drawn like a "vertical_frames" tile
+ animation (See [Tile animation definition]), but uses a frame count/duration
+ for simplicity
+* `name`: Element name to send when an event occurs. The event value is the index of the current frame.
+* `texture name`: The image to use.
+* `frame count`: The number of frames animating the image.
+* `frame duration`: Milliseconds between each frame. `0` means the frames don't advance.
+* `frame start` (Optional): The index of the frame to start on. Default `1`.
+
### `item_image[<X>,<Y>;<W>,<H>;<item name>]`
* Show an inventory image of registered item/node
-### `bgcolor[<color>;<fullscreen>]`
+### `bgcolor[<bgcolor>;<fullscreen>;<fbgcolor>]`
-* Sets background color of formspec as `ColorString`
-* If `true`, a fullscreen background is drawn and the color is ignored
- (does not affect the size of the formspec)
+* Sets background color of formspec.
+* `bgcolor` and `fbgcolor` (optional) are `ColorString`s, they define the color
+ of the non-fullscreen and the fullscreen background.
+* `fullscreen` (optional) can be one of the following:
+ * `false`: Only the non-fullscreen background color is drawn. (default)
+ * `true`: Only the fullscreen background color is drawn.
+ * `both`: The non-fullscreen and the fullscreen background color are drawn.
+ * `neither`: No background color is drawn.
+* Note: Leave a parameter empty to not modify the value.
+* Note: `fbgcolor`, leaving parameters empty and values for `fullscreen` that
+ are not bools are only available since formspec version 3.
### `background[<X>,<Y>;<W>,<H>;<texture name>]`
@@ -2189,8 +2253,14 @@ Elements
half a coordinate. With the old system, newlines are spaced 2/5 of
an inventory slot.
-### `vertlabel[<X>,<Y>;<label>]`
+### `hypertext[<X>,<Y>;<W>,<H>;<name>;<text>]`
+* Displays a static formatted text with hyperlinks.
+* **Note**: This element is currently unstable and subject to change.
+* `x`, `y`, `w` and `h` work as per field
+* `name` is the name of the field as returned in fields to `on_receive_fields` in case of action in text.
+* `text` is the formatted text using `Markup Language` described below.
+### `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
@@ -2334,16 +2404,40 @@ Elements
### `scrollbar[<X>,<Y>;<W>,<H>;<orientation>;<name>;<value>]`
-* Show a scrollbar
+* Show a scrollbar using options defined by the previous `scrollbaroptions[]`
* There are two ways to use it:
1. handle the changed event (only changed scrollbar is available)
2. read the value on pressing a button (all scrollbars are available)
* `orientation`: `vertical`/`horizontal`
* Fieldname data is transferred to Lua
-* Value this trackbar is set to (`0`-`1000`)
+* Value of this trackbar is set to (`0`-`1000`) by default
* See also `minetest.explode_scrollbar_event`
(main menu: `core.explode_scrollbar_event`).
+### `scrollbaroptions[opt1;opt2;...]`
+* Sets options for all following `scrollbar[]` elements
+* `min=<int>`
+ * Sets scrollbar minimum value, defaults to `0`.
+* `max=<int>`
+ * Sets scrollbar maximum value, defaults to `1000`.
+ If the max is equal to the min, the scrollbar will be disabled.
+* `smallstep=<int>`
+ * Sets scrollbar step value when the arrows are clicked or the mouse wheel is
+ scrolled.
+ * If this is set to a negative number, the value will be reset to `10`.
+* `largestep=<int>`
+ * Sets scrollbar step value used by page up and page down.
+ * If this is set to a negative number, the value will be reset to `100`.
+* `thumbsize=<int>`
+ * Sets size of the thumb on the scrollbar. Size is calculated in the number of
+ units the thumb spans out of the range of the scrollbar values.
+ * Example: If a scrollbar has a `min` of 1 and a `max` of 100, a thumbsize of 10
+ would span a tenth of the scrollbar space.
+ * If this is set to zero or less, the value will be reset to `1`.
+* `arrows=<show/hide/default>`
+ * Whether to show the arrow buttons on the scrollbar. `default` hides the arrows
+ when the scrollbar gets too small, but shows them otherwise.
+
### `table[<X>,<Y>;<W>,<H>;<name>;<cell 1>,<cell 2>,...,<cell n>;<selected idx>]`
* Show scrollable table using options defined by the previous `tableoptions[]`
@@ -2404,16 +2498,16 @@ Elements
* `span=<value>`: number of following columns to affect
(default: infinite).
-### `style[<name>;<prop1>;<prop2>;...]`
+### `style[<name 1>,<name 2>,...;<prop1>;<prop2>;...]`
-* Set the style for the named element `name`.
+* Set the style for the named element(s) `name`.
* Note: this **must** be before the element is defined.
* See [Styling Formspecs].
-### `style_type[<type>;<prop1>;<prop2>;...]`
+### `style_type[<type 1>,<type 2>,...;<prop1>;<prop2>;...]`
-* Sets the style for all elements of type `type` which appear after this element.
+* Sets the style for all elements of type(s) `type` which appear after this element.
* See [Styling Formspecs].
Migrating to Real Coordinates
@@ -2456,13 +2550,18 @@ Styling Formspecs
Formspec elements can be themed using the style elements:
- style[<name>;<prop1>;<prop2>;...]
- style_type[<type>;<prop1>;<prop2>;...]
+ style[<name 1>,<name 2>,...;<prop1>;<prop2>;...]
+ style_type[<type 1>,<type 2>,...;<prop1>;<prop2>;...]
Where a prop is:
property_name=property_value
+A name/type can optionally be a comma separated list of names/types, like so:
+
+ world_delete,world_create,world_configure
+ button,image_button
+
For example:
style_type[button;bgcolor=#006699]
@@ -2479,6 +2578,7 @@ Setting a property to nothing will reset it to the default value. For example:
Some types may inherit styles from parent types.
+* animated_image, inherits from image
* button
* button_exit, inherits from button
* checkbox
@@ -2492,17 +2592,27 @@ Some types may inherit styles from parent types.
* label
* vertlabel, inherits from field
* image_button
-* item_image_button, inherits from image_button
+* item_image_button
* tabheader
### Valid Properties
-* button, button_exit
+* animated_image
+ * noclip - boolean, set to true to allow the element to exceed formspec bounds.
+* box
+ * noclip - boolean, set to true to allow the element to exceed formspec bounds.
+ * Default to false in formspec_version version 3 or higher
+* button, button_exit, image_button, item_image_button
* 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.
+ * bgcolor_hovered - color when hovered. Defaults to a lighter bgcolor when not provided.
+ * bgcolor_pressed - color when pressed. Defaults to a darker bgcolor when not provided.
+ * bgimg - standard background image. Defaults to none.
+ * bgimg_hovered - background image when hovered. Defaults to bgimg when not provided.
+ * bgimg_middle - Makes the bgimg textures render in 9-sliced mode and defines the middle rect.
+ See background9[] documentation for more details
+ * bgimg_pressed - background 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.
@@ -2518,19 +2628,127 @@ Some types may inherit styles from parent types.
* 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
+* image
* 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.
+ * Default to false in formspec_version version 3 or higher
+* item_image
+ * noclip - boolean, set to true to allow the element to exceed formspec bounds. Default to false.
+* label, vertlabel
* noclip - boolean, set to true to allow the element to exceed formspec bounds.
+* image_button (additional properties)
+ * fgimg - standard image. Defaults to none.
+ * fgimg_hovered - image when hovered. Defaults to fgimg when not provided.
+ * fgimg_pressed - image when pressed. Defaults to fgimg when not provided.
+ * NOTE: The parameters of any given image_button will take precedence over fgimg/fgimg_pressed
* tabheader
* noclip - boolean, set to true to allow the element to exceed formspec bounds.
* textcolor - color. Default white.
+Markup Language
+---------------
+
+Markup language used in `hypertext[]` elements uses tags that look like HTML tags.
+The markup language is currently unstable and subject to change. Use with caution.
+Some tags can enclose text, they open with `<tagname>` and close with `</tagname>`.
+Tags can have attributes, in that case, attributes are in the opening tag in
+form of a key/value separated with equal signs. Attribute values should not be quoted.
+
+These are the technically basic tags but see below for usual tags. Base tags are:
+
+`<style color=... font=... size=...>...</style>`
+
+Changes the style of the text.
+
+* `color`: Text color. Given color is a `colorspec`.
+* `size`: Text size.
+* `font`: Text font (`mono` or `normal`).
+
+`<global background=... margin=... valign=... color=... hovercolor=... size=... font=... halign=... >`
+
+Sets global style.
+
+Global only styles:
+* `background`: Text background, a `colorspec` or `none`.
+* `margin`: Page margins in pixel.
+* `valign`: Text vertical alignment (`top`, `middle`, `bottom`).
+
+Inheriting styles (affects child elements):
+* `color`: Default text color. Given color is a `colorspec`.
+* `hovercolor`: Color of <action> tags when mouse is over.
+* `size`: Default text size.
+* `font`: Default text font (`mono` or `normal`).
+* `halign`: Default text horizontal alignment (`left`, `right`, `center`, `justify`).
+
+This tag needs to be placed only once as it changes the global settings of the
+text. Anyway, if several tags are placed, each changed will be made in the order
+tags appear.
+
+`<tag name=... color=... hovercolor=... font=... size=...>`
+
+Defines or redefines tag style. This can be used to define new tags.
+* `name`: Name of the tag to define or change.
+* `color`: Text color. Given color is a `colorspec`.
+* `hovercolor`: Text color when element hovered (only for `action` tags). Given color is a `colorspec`.
+* `size`: Text size.
+* `font`: Text font (`mono` or `normal`).
+
+Following tags are the usual tags for text layout. They are defined by default.
+Other tags can be added using `<tag ...>` tag.
+
+`<normal>...</normal>`: Normal size text
+
+`<big>...</big>`: Big text
+
+`<bigger>...</bigger>`: Bigger text
+
+`<center>...</center>`: Centered text
+
+`<left>...</left>`: Left-aligned text
+
+`<right>...</right>`: Right-aligned text
+
+`<justify>...</justify>`: Justified text
+
+`<mono>...</mono>`: Monospaced font
+
+`<b>...</b>`, `<i>...</i>`, `<u>...</u>`: Bold, italic, underline styles.
+
+`<action name=...>...</action>`
+
+Make that text a clickable text triggering an action.
+
+* `name`: Name of the action (mandatory).
+
+When clicked, the formspec is send to the server. The value of the text field
+sent to `on_player_receive_fields` will be "action:" concatenated to the action
+name.
+
+`<img name=... float=... width=... height=...>`
+
+Draws an image which is present in the client media cache.
+
+* `name`: Name of the texture (mandatory).
+* `float`: If present, makes the image floating (`left` or `right`).
+* `width`: Force image width instead of taking texture width.
+* `height`: Force image height instead of taking texture height.
+
+If only width or height given, texture aspect is kept.
+
+`<item name=... float=... width=... height=... rotate=...>`
+
+Draws an item image.
+
+* `name`: Item string of the item to draw (mandatory).
+* `float`: If present, makes the image floating (`left` or `right`).
+* `width`: Item image width.
+* `height`: Item image height.
+* `rotate`: Rotate item image if set to `yes` or `X,Y,Z`. X, Y and Z being
+rotation speeds in percent of standard speed (-1000 to 1000). Works only if
+`inventory_items_animations` is set to true.
+* `angle`: Angle in which the item image is shown. Value has `X,Y,Z` form.
+X, Y and Z being angles around each three axes. Works only if
+`inventory_items_animations` is set to true.
+
Inventory
=========
@@ -2554,7 +2772,6 @@ Player Inventory lists
* Is not created automatically, use `InvRef:set_size`
* Is only used to enhance the empty hand's tool capabilities
-
Colors
======
@@ -2748,6 +2965,15 @@ Helper functions
* `table.insert_all(table, other_table)`:
* Appends all values in `other_table` to `table` - uses `#table + 1` to
find new indices.
+* `table.key_value_swap(t)`: returns a table with keys and values swapped
+ * If multiple keys in `t` map to the same value, the result is undefined.
+* `table.shuffle(table, [from], [to], [random_func])`:
+ * Shuffles elements `from` to `to` in `table` in place
+ * `from` defaults to `1`
+ * `to` defaults to `#table`
+ * `random_func` defaults to `math.random`. This function receives two
+ integers as arguments and should return a random integer inclusively
+ between them.
* `minetest.pointed_thing_to_face_pos(placer, pointed_thing)`: returns a
position.
* returns the exact position on the surface of a pointed node
@@ -3530,7 +3756,7 @@ Methods
-----------
A helper class for voxel areas.
-It can be created via `VoxelArea:new{MinEdge=pmin, MaxEdge=pmax}`.
+It can be created via `VoxelArea:new{MinEdge = pmin, MaxEdge = pmax}`.
The coordinates are *inclusive*, like most other things in Minetest.
### Methods
@@ -3561,6 +3787,28 @@ The coordinates are *inclusive*, like most other things in Minetest.
`[z [y [x]]]`.
* `iterp(minp, maxp)`: same as above, except takes a vector
+### Y stride and z stride of a flat array
+
+For a particular position in a voxel area, whose flat array index is known,
+it is often useful to know the index of a neighboring or nearby position.
+The table below shows the changes of index required for 1 node movements along
+the axes in a voxel area:
+
+ Movement Change of index
+ +x +1
+ -x -1
+ +y +ystride
+ -y -ystride
+ +z +zstride
+ -z -zstride
+
+If, for example:
+
+ local area = VoxelArea:new{MinEdge = emin, MaxEdge = emax}
+
+The values of `ystride` and `zstride` can be obtained using `area.ystride` and
+`area.zstride`.
+
@@ -3657,6 +3905,7 @@ Callbacks:
* `dir`: unit vector of direction of punch. Always defined. Points from the
puncher to the punched.
* `damage`: damage that will be done to entity.
+ * Can return `true` to prevent the default damage mechanism.
* `on_death(self, killer)`
* Called when the object dies.
* `killer`: an `ObjectRef` (can be `nil`)
@@ -3802,6 +4051,8 @@ Utilities
formspec_version_element = true,
-- Whether AreaStore's IDs are kept on save/load (5.1.0)
area_store_persistent_ids = true,
+ -- Whether minetest.find_path is functional (5.2.0)
+ pathfinder_works = true,
}
* `minetest.has_feature(arg)`: returns `boolean, missing_features`
@@ -3905,6 +4156,9 @@ Call these functions only at load time!
* `minetest.unregister_biome(name)`
* Unregisters the biome from the engine, and deletes the entry with key
`name` from `minetest.registered_biomes`.
+ * Warning: This alters the biome to biome ID correspondences, so any
+ decorations or ores using the 'biomes' field must afterwards be cleared
+ and re-registered.
* `minetest.register_decoration(decoration definition)`
* Returns an integer object handle uniquely identifying the registered
decoration on success. To get the decoration ID, use
@@ -3919,12 +4173,15 @@ Call these functions only at load time!
* If the function is called when loading the mod, and `name` is a relative
path, then the current mod path will be prepended to the schematic
filename.
-* `minetest.clear_registered_ores()`
- * Clears all ores currently registered.
* `minetest.clear_registered_biomes()`
* Clears all biomes currently registered.
+ * Warning: Clearing and re-registering biomes alters the biome to biome ID
+ correspondences, so any decorations or ores using the 'biomes' field must
+ afterwards be cleared and re-registered.
* `minetest.clear_registered_decorations()`
* Clears all decorations currently registered.
+* `minetest.clear_registered_ores()`
+ * Clears all ores currently registered.
* `minetest.clear_registered_schematics()`
* Clears all schematics currently registered.
@@ -4073,6 +4330,7 @@ Call these functions only at load time!
is a table containing each formspecs element value (as string), with
the `name` parameter as index for each. The value depends on the
formspec element type:
+ * `animated_image`: Returns the index of the current frame.
* `button` and variants: If pressed, contains the user-facing button
text as value. If not pressed, is `nil`
* `field`, `textarea` and variants: Text in the field
@@ -4157,9 +4415,13 @@ Setting-related
Authentication
--------------
-* `minetest.string_to_privs(str)`: returns `{priv1=true,...}`
-* `minetest.privs_to_string(privs)`: returns `"priv1,priv2,..."`
- * Convert between two privilege representations
+* `minetest.string_to_privs(str[, delim])`:
+ * Converts string representation of privs into table form
+ * `delim`: String separating the privs. Defaults to `","`.
+ * Returns `{ priv1 = true, ... }`
+* `minetest.privs_to_string(privs[, delim])`:
+ * Returns the string representation of `privs`
+ * `delim`: String to delimit privs. Defaults to `","`.
* `minetest.get_player_privs(name) -> {priv1=true,...}`
* `minetest.check_player_privs(player_or_name, ...)`:
returns `bool, missing_privs`
@@ -4200,8 +4462,8 @@ Authentication
* `minetest.auth_reload()`
* See `reload()` in authentication handler definition
-`minetest.set_player_password`, `minetest_set_player_privs`,
-`minetest_get_player_privs` and `minetest.auth_reload` call the authentication
+`minetest.set_player_password`, `minetest.set_player_privs`,
+`minetest.get_player_privs` and `minetest.auth_reload` call the authentication
handler.
Chat
@@ -4456,16 +4718,25 @@ Environment access
* `objects`: if false, only nodes will be returned. Default is `true`.
* `liquids`: if false, liquid nodes won't be returned. Default is `false`.
* `minetest.find_path(pos1,pos2,searchdistance,max_jump,max_drop,algorithm)`
- * returns table containing path
+ * returns table containing path that can be walked on
* returns a table of 3D points representing a path from `pos1` to `pos2` or
- `nil`.
+ `nil` on failure.
+ * Reasons for failure:
+ * No path exists at all
+ * No path exists within `searchdistance` (see below)
+ * Start or end pos is buried in land
* `pos1`: start position
* `pos2`: end position
- * `searchdistance`: number of blocks to search in each direction using a
- maximum metric.
+ * `searchdistance`: maximum distance from the search positions to search in.
+ In detail: Path must be completely inside a cuboid. The minimum
+ `searchdistance` of 1 will confine search between `pos1` and `pos2`.
+ Larger values will increase the size of this cuboid in all directions
* `max_jump`: maximum height difference to consider walkable
* `max_drop`: maximum height difference to consider droppable
- * `algorithm`: One of `"A*_noprefetch"` (default), `"A*"`, `"Dijkstra"`
+ * `algorithm`: One of `"A*_noprefetch"` (default), `"A*"`, `"Dijkstra"`.
+ Difference between `"A*"` and `"A*_noprefetch"` is that
+ `"A*"` will pre-calculate the cost-data, the other will calculate it
+ on-the-fly
* `minetest.spawn_tree (pos, {treedef})`
* spawns L-system tree at given `pos` with definition in `treedef` table
* `minetest.transforming_liquid_add(pos)`
@@ -4625,9 +4896,11 @@ Item handling
given `param2` value.
* Returns `nil` if the given `paramtype2` does not contain color
information.
-* `minetest.get_node_drops(nodename, toolname)`
- * Returns list of item names.
- * **Note**: This will be removed or modified in a future version.
+* `minetest.get_node_drops(node, toolname)`
+ * Returns list of itemstrings that are dropped by `node` when dug
+ with `toolname`.
+ * `node`: node as table or node name
+ * `toolname`: name of the tool item (can be `nil`)
* `minetest.get_craft_result(input)`: returns `output, decremented_input`
* `input.method` = `"normal"` or `"cooking"` or `"fuel"`
* `input.width` = for example `3`
@@ -4635,8 +4908,9 @@ Item handling
`{stack1, stack2, stack3, stack4, stack 5, stack 6, stack 7, stack 8, stack 9}`
* `output.item` = `ItemStack`, if unsuccessful: empty `ItemStack`
* `output.time` = a number, if unsuccessful: `0`
- * `output.replacements` = list of `ItemStack`s that couldn't be placed in
- `decremented_input.items`
+ * `output.replacements` = List of replacement `ItemStack`s that couldn't be
+ placed in `decremented_input.items`. Replacements can be placed in
+ `decremented_input` if the stack of the replaced item has a count of 1.
* `decremented_input` = like `input`
* `minetest.get_craft_recipe(output)`: returns input
* returns last registered recipe for output item (node)
@@ -4697,33 +4971,36 @@ Rollback
* Revert latest actions of someone
* `actor`: `"player:<name>"`, also `"liquid"`.
-Defaults for the `on_*` item definition functions
--------------------------------------------------
-
-These functions return the leftover itemstack.
+Defaults for the `on_place` and `on_drop` item definition functions
+-------------------------------------------------------------------
* `minetest.item_place_node(itemstack, placer, pointed_thing[, param2, prevent_after_place])`
* Place item as a node
* `param2` overrides `facedir` and wallmounted `param2`
* `prevent_after_place`: if set to `true`, `after_place_node` is not called
for the newly placed node to prevent a callback and placement loop
- * returns `itemstack, success`
+ * returns `itemstack, position`
+ * `position`: the location the node was placed to. `nil` if nothing was placed.
* `minetest.item_place_object(itemstack, placer, pointed_thing)`
* Place item as-is
-* `minetest.item_place(itemstack, placer, pointed_thing, param2)`
- * Use one of the above based on what the item is.
+ * returns the leftover itemstack
+ * **Note**: This function is deprecated and will never be called.
+* `minetest.item_place(itemstack, placer, pointed_thing[, param2])`
+ * Wrapper that calls `minetest.item_place_node` if appropriate
* Calls `on_rightclick` of `pointed_thing.under` if defined instead
* **Note**: is not called when wielded item overrides `on_place`
- * `param2` overrides `facedir` and wallmounted `param2`
- * returns `itemstack, success`
+ * `param2` overrides facedir and wallmounted `param2`
+ * returns `itemstack, position`
+ * `position`: the location the node was placed to. `nil` if nothing was placed.
* `minetest.item_drop(itemstack, dropper, pos)`
* Drop the item
-* `minetest.item_eat(hp_change, replace_with_item)`
- * Eat the item.
+ * returns the leftover itemstack
+* `minetest.item_eat(hp_change[, replace_with_item])`
+ * Returns `function(itemstack, user, pointed_thing)` as a
+ function wrapper for `minetest.do_item_eat`.
* `replace_with_item` is the itemstring which is added to the inventory.
If the player is eating a stack, then replace_with_item goes to a
- different spot. Can be `nil`
- * See `minetest.do_item_eat`
+ different spot.
Defaults for the `on_punch` and `on_dig` node definition callbacks
------------------------------------------------------------------
@@ -4737,10 +5014,15 @@ Defaults for the `on_punch` and `on_dig` node definition callbacks
Sounds
------
-* `minetest.sound_play(spec, parameters)`: returns a handle
+* `minetest.sound_play(spec, parameters, [ephemeral])`: returns a handle
* `spec` is a `SimpleSoundSpec`
* `parameters` is a sound parameter table
+ * `ephemeral` is a boolean (default: false)
+ Ephemeral sounds will not return a handle and can't be stopped or faded.
+ It is recommend to use this for short sounds that happen in response to
+ player actions (e.g. door closing).
* `minetest.sound_stop(handle)`
+ * `handle` is a handle returned by `minetest.sound_play`
* `minetest.sound_fade(handle, step, gain)`
* `handle` is a handle returned by `minetest.sound_play`
* `step` determines how fast a sound will fade.
@@ -4785,13 +5067,16 @@ Server
Bans
----
-* `minetest.get_ban_list()`: returns the ban list
- (same as `minetest.get_ban_description("")`).
-* `minetest.get_ban_description(ip_or_name)`: returns ban description (string)
-* `minetest.ban_player(name)`: ban a player
-* `minetest.unban_player_or_ip(name)`: unban player or IP address
-* `minetest.kick_player(name, [reason])`: disconnect a player with a optional
+* `minetest.get_ban_list()`: returns a list of all bans formatted as string
+* `minetest.get_ban_description(ip_or_name)`: returns list of bans matching
+ IP address or name formatted as string
+* `minetest.ban_player(name)`: ban the IP of a currently connected player
+ * Returns boolean indicating success
+* `minetest.unban_player_or_ip(ip_or_name)`: remove ban record matching
+ IP address or name
+* `minetest.kick_player(name, [reason])`: disconnect a player with an optional
reason.
+ * Returns boolean indicating success (false if player nonexistant)
Particles
---------
@@ -4999,10 +5284,16 @@ Misc.
* Convert a table containing tables, strings, numbers, booleans and `nil`s
into string form readable by `minetest.deserialize`
* Example: `serialize({foo='bar'})`, returns `'return { ["foo"] = "bar" }'`
-* `minetest.deserialize(string)`: returns a table
- * Convert a string returned by `minetest.deserialize` into a table
+* `minetest.deserialize(string[, safe])`: returns a table
+ * Convert a string returned by `minetest.serialize` into a table
* `string` is loaded in an empty sandbox environment.
- * Will load functions, but they cannot access the global environment.
+ * Will load functions if safe is false or omitted. Although these functions
+ cannot directly access the global environment, they could bypass this
+ restriction with maliciously crafted Lua bytecode if mod security is
+ disabled.
+ * This function should not be used on untrusted data, regardless of the
+ value of `safe`. It is fine to serialize then deserialize user-provided
+ data, but directly providing user input to deserialize is always unsafe.
* Example: `deserialize('return { ["foo"] = "bar" }')`,
returns `{foo='bar'}`
* Example: `deserialize('print("foo")')`, returns `nil`
@@ -5446,8 +5737,21 @@ Can be gotten via `minetest.get_node_timer(pos)`.
-----------
Moving things in the game are generally these.
+This is basically a reference to a C++ `ServerActiveObject`.
+
+### Advice on handling `ObjectRefs`
+
+When you receive an `ObjectRef` as a callback argument or from another API
+function, it is possible to store the reference somewhere and keep it around.
+It will keep functioning until the object is unloaded or removed.
+
+However, doing this is **NOT** recommended as there is (intentionally) no method
+to test if a previously acquired `ObjectRef` is still valid.
+Instead, `ObjectRefs` should be "let go" of as soon as control is returned from
+Lua back to the engine.
+Doing so is much less error-prone and you will never need to wonder if the
+object you are working with still exists.
-This is basically a reference to a C++ `ServerActiveObject`
### Methods
@@ -5466,6 +5770,9 @@ 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
+ * Is limited to the range of 0 ... 65535 (2^16 - 1)
+ * For players: HP are also limited by `hp_max` specified in the player's
+ object properties
* `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.
@@ -5515,7 +5822,10 @@ This is basically a reference to a C++ `ServerActiveObject`
#### Lua entity only (no-op for other objects)
-* `remove()`: remove object (after returning from Lua)
+* `remove()`: remove object
+ * The object is removed after returning from Lua. However the `ObjectRef`
+ itself instantly becomes unusable with all further method calls having
+ no effect and returning `nil`.
* `set_velocity(vel)`
* `vel` is a vector, e.g. `{x=0.0, y=2.3, z=1.0}`
* `add_velocity(vel)`
@@ -5586,6 +5896,7 @@ This is basically a reference to a C++ `ServerActiveObject`
* `0`: player is drowning
* max: bubbles bar is not shown
* See [Object properties] for more information
+ * Is limited to range 0 ... 65535 (2^16 - 1)
* `set_fov(fov, is_multiplier)`: Sets player's FOV
* `fov`: FOV value.
* `is_multiplier`: Set to `true` if the FOV value is a multiplier.
@@ -5668,15 +5979,90 @@ This is basically a reference to a C++ `ServerActiveObject`
* `hud_set_hotbar_selected_image(texturename)`
* sets image for selected item of hotbar
* `hud_get_hotbar_selected_image`: returns texturename
-* `set_sky(bgcolor, type, {texture names}, clouds)`
- * `bgcolor`: ColorSpec, defaults to white
- * `type`: Available types:
- * `"regular"`: Uses 0 textures, `bgcolor` ignored
- * `"skybox"`: Uses 6 textures, `bgcolor` used
- * `"plain"`: Uses 0 textures, `bgcolor` used
- * `clouds`: Boolean for whether clouds appear in front of `"skybox"` or
- `"plain"` custom skyboxes (default: `true`)
-* `get_sky()`: returns bgcolor, type, table of textures, clouds
+* `set_sky(parameters)`
+ * `parameters` is a table with the following optional fields:
+ * `base_color`: ColorSpec, changes fog in "skybox" and "plain".
+ * `type`: Available types:
+ * `"regular"`: Uses 0 textures, `base_color` ignored
+ * `"skybox"`: Uses 6 textures, `base_color` used as fog.
+ * `"plain"`: Uses 0 textures, `base_color` used as both fog and sky.
+ * `textures`: A table containing up to six textures in the following
+ order: Y+ (top), Y- (bottom), X- (west), X+ (east), Z+ (north), Z- (south).
+ * `clouds`: Boolean for whether clouds appear. (default: `true`)
+ * `sky_color`: A table containing the following values, alpha is ignored:
+ * `day_sky`: ColorSpec, for the top half of the `"regular"`
+ sky during the day. (default: `#8cbafa`)
+ * `day_horizon`: ColorSpec, for the bottom half of the
+ `"regular"` sky during the day. (default: `#9bc1f0`)
+ * `dawn_sky`: ColorSpec, for the top half of the `"regular"`
+ sky during dawn/sunset. (default: `#b4bafa`)
+ The resulting sky color will be a darkened version of the ColorSpec.
+ Warning: The darkening of the ColorSpec is subject to change.
+ * `dawn_horizon`: ColorSpec, for the bottom half of the `"regular"`
+ sky during dawn/sunset. (default: `#bac1f0`)
+ The resulting sky color will be a darkened version of the ColorSpec.
+ Warning: The darkening of the ColorSpec is subject to change.
+ * `night_sky`: ColorSpec, for the top half of the `"regular"`
+ sky during the night. (default: `#006aff`)
+ The resulting sky color will be a dark version of the ColorSpec.
+ Warning: The darkening of the ColorSpec is subject to change.
+ * `night_horizon`: ColorSpec, for the bottom half of the `"regular"`
+ sky during the night. (default: `#4090ff`)
+ The resulting sky color will be a dark version of the ColorSpec.
+ Warning: The darkening of the ColorSpec is subject to change.
+ * `indoors`: ColorSpec, for when you're either indoors or
+ underground. Only applies to the `"regular"` sky.
+ (default: `#646464`)
+ * `fog_sun_tint`: ColorSpec, changes the fog tinting for the sun
+ at sunrise and sunset.
+ * `fog_moon_tint`: ColorSpec, changes the fog tinting for the moon
+ at sunrise and sunset.
+ * `fog_tint_type`: string, changes which mode the directional fog
+ abides by, `"custom"` uses `sun_tint` and `moon_tint`, while
+ `"default"` uses the classic Minetest sun and moon tinting.
+ Will use tonemaps, if set to `"default"`. (default: `"default"`)
+* `get_sky()`: returns base_color, type, table of textures, clouds.
+* `get_sky_color()`: returns a table with the `sky_color` parameters as in
+ `set_sky`.
+* `set_sun(parameters)`:
+ * `parameters` is a table with the following optional fields:
+ * `visible`: Boolean for whether the sun is visible.
+ (default: `true`)
+ * `texture`: A regular texture for the sun. Setting to `""`
+ will re-enable the mesh sun. (default: `"sun.png"`)
+ * `tonemap`: A 512x1 texture containing the tonemap for the sun
+ (default: `"sun_tonemap.png"`)
+ * `sunrise`: A regular texture for the sunrise texture.
+ (default: `"sunrisebg.png"`)
+ * `sunrise_visible`: Boolean for whether the sunrise texture is visible.
+ (default: `true`)
+ * `scale`: Float controlling the overall size of the sun. (default: `1`)
+* `get_sun()`: returns a table with the current sun parameters as in
+ `set_sun`.
+* `set_moon(parameters)`:
+ * `parameters` is a table with the following optional fields:
+ * `visible`: Boolean for whether the moon is visible.
+ (default: `true`)
+ * `texture`: A regular texture for the moon. Setting to `""`
+ will re-enable the mesh moon. (default: `"moon.png"`)
+ * `tonemap`: A 512x1 texture containing the tonemap for the moon
+ (default: `"moon_tonemap.png"`)
+ * `scale`: Float controlling the overall size of the moon (default: `1`)
+* `get_moon()`: returns a table with the current moon parameters as in
+ `set_moon`.
+* `set_stars(parameters)`:
+ * `parameters` is a table with the following optional fields:
+ * `visible`: Boolean for whether the stars are visible.
+ (default: `true`)
+ * `count`: Integer number to set the number of stars in
+ the skybox. Only applies to `"skybox"` and `"regular"` sky types.
+ (default: `1000`)
+ * `star_color`: ColorSpec, sets the colors of the stars,
+ alpha channel is used to set overall star brightness.
+ (default: `#ebebff69`)
+ * `scale`: Float controlling the overall size of the stars (default: `1`)
+* `get_stars()`: returns a table with the current stars parameters as in
+ `set_stars`.
* `set_clouds(parameters)`: set cloud parameters
* `parameters` is a table with the following optional fields:
* `density`: from `0` (no clouds) to `1` (full clouds) (default `0.4`)
@@ -5875,6 +6261,10 @@ It can be created via `Settings(filename)`.
* `default` is the value returned if `key` is not found.
* Returns `nil` if `key` is not found and `default` not specified.
* `get_np_group(key)`: returns a NoiseParams table
+* `get_flags(key)`:
+ * Returns `{flag = true/false, ...}` according to the set flags.
+ * Is currently limited to mapgen flags `mg_flags` and mapgen-specific
+ flags like `mgv5_spflags`.
* `set(key, value)`
* Setting names can't contain whitespace or any of `="{}#`.
* Setting values can't contain the sequence `\n"""`.
@@ -5949,12 +6339,11 @@ Player properties need to be saved manually.
-- Defaults to 1.625.
physical = true,
+ -- Collide with `walkable` nodes.
collide_with_objects = true,
-- Collide with other objects if physical = true
- weight = 5,
-
collisionbox = {-0.5, 0.0, -0.5, 0.5, 1.0, 0.5}, -- Default
selectionbox = {-0.5, 0.0, -0.5, 0.5, 1.0, 0.5},
-- Selection box uses collision box dimensions when not set.
@@ -5988,7 +6377,8 @@ Player properties need to be saved manually.
-- Multipliers for the visual size. If `z` is not specified, `x` will be used
-- to scale the entity along both horizontal axes.
- mesh = "model",
+ mesh = "model.obj",
+ -- File name of mesh when using "mesh" visual
textures = {},
-- Number of required textures depends on visual.
@@ -6018,14 +6408,20 @@ Player properties need to be saved manually.
-- spritesheet.
is_visible = true,
+ -- If false, object is invisible and can't be pointed.
makes_footstep_sound = false,
+ -- If true, is able to make footstep sounds of nodes
+ -- (see node sound definition for details).
automatic_rotate = 0,
-- Set constant rotation in radians per second, positive or negative.
-- Set to 0 to disable constant rotation.
stepheight = 0,
+ -- If positive number, object will climb upwards when it moves
+ -- horizontally against a `walkable` node, if the height difference
+ -- is within `stepheight`.
automatic_face_movement_dir = 0.0,
-- Automatically set yaw to movement direction, offset in degrees.
@@ -6275,6 +6671,7 @@ Used by `minetest.register_node`, `minetest.register_craftitem`, and
uses = 20, maxlevel = 2},
},
damage_groups = {groupname = damage},
+ -- Damage values must be between -32768 and 32767 (2^15)
punch_attack_uses = nil,
-- Amount of uses this tool has for attacking players and entities
@@ -6300,9 +6697,14 @@ Used by `minetest.register_node`, `minetest.register_craftitem`, and
-- upon digging. Server will always update actual result shortly.
sound = {
- breaks = "default_tool_break", -- tools only
- place = <SimpleSoundSpec>,
+ -- Definition of items sounds to be played at various events.
+ -- All fields in this table are optional.
+
+ breaks = <SimpleSoundSpec>,
+ -- When tool breaks due to wear. Ignored for non-tools
+
eat = <SimpleSoundSpec>,
+ -- When item is eaten with `minetest.do_item_eat`
},
on_place = function(itemstack, placer, pointed_thing),
@@ -6311,9 +6713,9 @@ Used by `minetest.register_node`, `minetest.register_craftitem`, and
-- default: minetest.item_place
on_secondary_use = function(itemstack, user, pointed_thing),
- -- Same as on_place but called when pointing at nothing.
+ -- Same as on_place but called when not pointing at a node.
-- The user may be any ObjectRef or nil.
- -- pointed_thing: always { type = "nothing" }
+ -- default: nil
on_drop = function(itemstack, dropper, pos),
-- Shall drop item and return the leftover itemstack.
@@ -6360,8 +6762,9 @@ Used by `minetest.register_node`.
-- Supported for drawtypes "plantlike", "signlike", "torchlike",
-- "firelike", "mesh".
-- For plantlike and firelike, the image will start at the bottom of the
- -- node, for the other drawtypes the image will be centered on the node.
- -- Note that positioning for "torchlike" may still change.
+ -- node. For torchlike, the image will start at the surface to which the
+ -- node "attaches". For the other drawtypes the image will be centered
+ -- on the node.
tiles = {tile definition 1, def2, def3, def4, def5, def6},
-- Textures of node; +Y, -Y, +X, -X, +Z, -Z
@@ -6471,7 +6874,8 @@ Used by `minetest.register_node`.
-- Tells connected nodebox nodes to connect only to these sides of this
-- node
- mesh = "model",
+ mesh = "model.obj",
+ -- File name of mesh when using "mesh" drawtype
selection_box = {
type = "fixed",
@@ -6511,12 +6915,33 @@ Used by `minetest.register_node`.
-- liquid, flowingliquid drawtypes can only wave like liquids.
sounds = {
+ -- Definition of node sounds to be played at various events.
+ -- All fields in this table are optional.
+
footstep = <SimpleSoundSpec>,
- dig = <SimpleSoundSpec>, -- "__group" = group-based sound (default)
+ -- If walkable, played when object walks on it. If node is
+ -- climbable or a liquid, played when object moves through it
+
+ dig = <SimpleSoundSpec> or "__group",
+ -- While digging node.
+ -- If `"__group"`, then the sound will be
+ -- `default_dig_<groupname>`, where `<groupname>` is the
+ -- name of the tool's digging group with the fastest digging time.
+ -- In case of a tie, one of the sounds will be played (but we
+ -- cannot predict which one)
+ -- Default value: `"__group"`
+
dug = <SimpleSoundSpec>,
+ -- Node was dug
+
place = <SimpleSoundSpec>,
+ -- Node was placed. Also played after falling
+
place_failed = <SimpleSoundSpec>,
+ -- When node placement failed
+
fall = <SimpleSoundSpec>,
+ -- When node starts to fall
},
drop = "",
@@ -7201,6 +7626,9 @@ Used by `Player:hud_add`. Returned by `Player:hud_get`.
size = { x=100, y=100 },
-- Size of element in pixels
+
+ z_index = 0,
+ -- Z index : lower z-index HUDs are displayed behind higher z-index HUDs
}
Particle definition
diff --git a/doc/menu_lua_api.txt b/doc/menu_lua_api.txt
index a2f9c3f5b..4861ed0d9 100644
--- a/doc/menu_lua_api.txt
+++ b/doc/menu_lua_api.txt
@@ -1,4 +1,4 @@
-Minetest Lua Mainmenu API Reference 5.1.0
+Minetest Lua Mainmenu API Reference 5.2.0
=========================================
Introduction
@@ -244,3 +244,11 @@ Limitations of Async operations
-Limited set of available functions
e.g. No access to functions modifying menu like core.start,core.close,
core.show_path_select_dialog
+
+Background music
+----------------
+The main menu supports background music.
+It looks for a `main_menu` sound in `$USER_PATH/sounds`. The same naming
+conventions as for normal sounds apply.
+This means the player can add a custom sound.
+It will be played in the main menu (gain = 1.0), looped.
diff --git a/doc/texture_packs.txt b/doc/texture_packs.txt
index 40fdf2eeb..7ab0aca94 100644
--- a/doc/texture_packs.txt
+++ b/doc/texture_packs.txt
@@ -63,6 +63,7 @@ by texture packs. All existing fallback textures can be found in the directory
### Gameplay textures
* `bubble.png`: the bubble texture when the player is drowning
+ (default size: 12×12)
* `crack_anylength.png`: node overlay texture when digging
@@ -74,6 +75,7 @@ by texture packs. All existing fallback textures can be found in the directory
* `halo.png`: used for the node highlighting mesh
* `heart.png`: used to display the health points of the player
+ (default size: 12×12)
* `minimap_mask_round.png`: round minimap mask, white gets replaced by the map
* `minimap_mask_square.png`: mask used for the square minimap
@@ -102,6 +104,9 @@ by texture packs. All existing fallback textures can be found in the directory
* `wieldhand.png`: texture of the wieldhand
+Note: The default textures of `player.png`, `player_back.png` and `wieldhand.png`
+are placeholders intended to be overwritten by the game.
+
### Mainmenu textures
* `menu_bg.png`: used as mainmenu background when the clouds are disabled
diff --git a/doc/world_format.txt b/doc/world_format.txt
index 7cbf13af6..73a03e5ee 100644
--- a/doc/world_format.txt
+++ b/doc/world_format.txt
@@ -13,12 +13,6 @@ The block serialization version does not fully specify every aspect of this
format; if compliance with this format is to be checked, it needs to be
done by detecting if the files and data indeed follows it.
-Legacy stuff
-=============
-Data can, in theory, be contained in the flat file directory structure
-described below in Version 17, but it is not officially supported. Also you
-may stumble upon all kinds of oddities in not-so-recent formats.
-
Files
======
Everything is contained in a directory, the name of which is freeform, but
@@ -500,10 +494,10 @@ Static objects are persistent freely moving objects in the world.
Object types:
1: Test object
2: Item
-3: Rat (deprecated)
-4: Oerkki (deprecated)
-5: Firefly (deprecated)
-6: MobV2 (deprecated)
+3: Rat (obsolete)
+4: Oerkki (obsolete)
+5: Firefly (obsolete)
+6: MobV2 (obsolete)
7: LuaEntity
1: Item:
@@ -568,107 +562,3 @@ Empty
EndInventoryList
EndInventory
---
-
-==============================================
-Minetest World Format used as of 2011-05 or so
-==============================================
-
-Map data serialization format version 17.
-
-0.3.1 does not use this format, but a more recent one. This exists here for
-historical reasons.
-
-Directory structure:
-sectors/XXXXZZZZ or sectors2/XXX/ZZZ
-XXXX, ZZZZ, XXX and ZZZ being the hexadecimal X and Z coordinates.
-Under these, the block files are stored, called YYYY.
-
-There also exists files map_meta.txt and chunk_meta, that are used by the
-generator. If they are not found or invalid, the generator will currently
-behave quite strangely.
-
-The MapBlock file format (sectors2/XXX/ZZZ/YYYY):
--------------------------------------------------
-
-NOTE: Byte order is MSB first.
-
-u8 version
-- map format version number, this one is version 17
-
-u8 flags
-- Flag bitmasks:
- - 0x01: is_underground: Should be set to 0 if there will be no light
- obstructions above the block. If/when sunlight of a block is updated and
- there is no block above it, this value is checked for determining whether
- sunlight comes from the top.
- - 0x02: day_night_differs: Whether the lighting of the block is different on
- day and night. Only blocks that have this bit set are updated when day
- transforms to night.
- - 0x04: lighting_expired: If true, lighting is invalid and should be updated.
- If you can't calculate lighting in your generator properly, you could try
- setting this 1 to everything and setting the uppermost block in every
- sector as is_underground=0. I am quite sure it doesn't work properly,
- though.
-
-zlib-compressed map data:
-- content:
- u8[4096]: content types
- u8[4096]: param1 values
- u8[4096]: param2 values
-
-zlib-compressed node metadata
-- content:
- u16 version (=1)
- u16 count of metadata
- foreach count:
- u16 position (= p.Z*MAP_BLOCKSIZE*MAP_BLOCKSIZE + p.Y*MAP_BLOCKSIZE + p.X)
- u16 type_id
- u16 content_size
- u8[content_size] misc. stuff contained in the metadata
-
-u16 mapblockobject_count
-- always write as 0.
-- if read != 0, just fail.
-
-foreach mapblockobject_count:
- - deprecated, should not be used. Length of this data can only be known by
- properly parsing it. Just hope not to run into any of this.
-
-u8 static object version:
-- currently 0
-
-u16 static_object_count
-
-foreach static_object_count:
- u8 type (object type-id)
- s32 pos_x * 1000
- s32 pos_y * 1000
- s32 pos_z * 1000
- u16 data_size
- u8[data_size] data
-
-u32 timestamp
-- Timestamp when last saved, as seconds from starting the game.
-- 0xffffffff = invalid/unknown timestamp, nothing will be done with the time
- difference when loaded (recommended)
-
-Node metadata format:
----------------------
-
-Sign metadata:
- u16 string_len
- u8[string_len] string
-
-Furnace metadata:
- TBD
-
-Chest metadata:
- TBD
-
-Locking Chest metadata:
- u16 string_len
- u8[string_len] string
- TBD
-
-// END
-
diff --git a/fonts/Arimo-Bold.ttf b/fonts/Arimo-Bold.ttf
new file mode 100644
index 000000000..0b05b445e
--- /dev/null
+++ b/fonts/Arimo-Bold.ttf
Binary files differ
diff --git a/fonts/Arimo-BoldItalic.ttf b/fonts/Arimo-BoldItalic.ttf
new file mode 100644
index 000000000..3ca5311e0
--- /dev/null
+++ b/fonts/Arimo-BoldItalic.ttf
Binary files differ
diff --git a/fonts/Arimo-Italic.ttf b/fonts/Arimo-Italic.ttf
new file mode 100644
index 000000000..fe31082e0
--- /dev/null
+++ b/fonts/Arimo-Italic.ttf
Binary files differ
diff --git a/fonts/Cousine-Bold.ttf b/fonts/Cousine-Bold.ttf
new file mode 100644
index 000000000..997817a2c
--- /dev/null
+++ b/fonts/Cousine-Bold.ttf
Binary files differ
diff --git a/fonts/Cousine-BoldItalic.ttf b/fonts/Cousine-BoldItalic.ttf
new file mode 100644
index 000000000..3d918787c
--- /dev/null
+++ b/fonts/Cousine-BoldItalic.ttf
Binary files differ
diff --git a/fonts/Cousine-Italic.ttf b/fonts/Cousine-Italic.ttf
new file mode 100644
index 000000000..2ec2c3404
--- /dev/null
+++ b/fonts/Cousine-Italic.ttf
Binary files differ
diff --git a/games/minimal/mods/default/init.lua b/games/minimal/mods/default/init.lua
index 02d195cbc..772cca881 100644
--- a/games/minimal/mods/default/init.lua
+++ b/games/minimal/mods/default/init.lua
@@ -1801,7 +1801,7 @@ function default.spawn_falling_node(p, nodename)
spawn_falling_node(p, nodename)
end
--- Horrible crap to support old code
+-- Horrible stuff to support old code
-- Don't use this and never do what this does, it's completely wrong!
-- (More specifically, the client and the C++ code doesn't get the group)
function default.register_falling_node(nodename, texture)
diff --git a/games/minimal/mods/default/textures/bubble.png b/games/minimal/mods/default/textures/bubble.png
deleted file mode 100644
index 3bca7e11c..000000000
--- a/games/minimal/mods/default/textures/bubble.png
+++ /dev/null
Binary files differ
diff --git a/games/minimal/mods/default/textures/heart.png b/games/minimal/mods/default/textures/heart.png
deleted file mode 100644
index c25f43b9a..000000000
--- a/games/minimal/mods/default/textures/heart.png
+++ /dev/null
Binary files differ
diff --git a/games/minimal/mods/default/textures/player.png b/games/minimal/mods/default/textures/player.png
deleted file mode 100644
index cf5d83f10..000000000
--- a/games/minimal/mods/default/textures/player.png
+++ /dev/null
Binary files differ
diff --git a/games/minimal/mods/default/textures/player_back.png b/games/minimal/mods/default/textures/player_back.png
deleted file mode 100644
index d498674eb..000000000
--- a/games/minimal/mods/default/textures/player_back.png
+++ /dev/null
Binary files differ
diff --git a/games/minimal/mods/default/textures/wieldhand.png b/games/minimal/mods/default/textures/wieldhand.png
deleted file mode 100644
index dbed6ad0c..000000000
--- a/games/minimal/mods/default/textures/wieldhand.png
+++ /dev/null
Binary files differ
diff --git a/games/minimal/mods/test/formspec.lua b/games/minimal/mods/test/formspec.lua
index a4d120b41..d2123b4af 100644
--- a/games/minimal/mods/test/formspec.lua
+++ b/games/minimal/mods/test/formspec.lua
@@ -1,15 +1,9 @@
+local color = minetest.colorize
+
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]
+ style_type[label,button,image_button,item_image_button,
+ tabheader,scrollbar,table,animated_image
+ ,field,textarea,checkbox,dropdown;noclip=%c]
label[0,0;A clipping test]
button[0,1;3,0.8;x;A clipping test]
@@ -23,23 +17,28 @@ local clip_fs = [[
scrollbar[0,9;3,0.8;horizontal;x9;3]
tablecolumns[text;text]
table[0,10;3,1;x10;one,two,three,four;1]
+ animated_image[-0.5,11;4.5,1;;test_animation.png;4;100]
]]
local style_fs = [[
- style[one_btn1;bgcolor=red;textcolor=yellow]
+ style[one_btn1;bgcolor=red;textcolor=yellow;bgcolor_hovered=orange;
+ bgcolor_pressed=purple]
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_btn2;border=false;textcolor=cyan] ]]..
+ "button[0,1.05;2.5,0.8;one_btn2;Text " .. color("#FF0", "Yellow") .. [[]
- style[one_btn3;bgimg=bubble.png;bgimg_pressed=heart.png]
+ style[one_btn3;bgimg=bubble.png;bgimg_hovered=default_apple.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]
+ style[one_btn4;bgimg=bubble.png;bgimg_hovered=default_apple.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]
+ style[one_btn5;bgimg=bubble.png;bgimg_hovered=default_apple.png;
+ bgimg_pressed=heart.png;border=false;alpha=false]
button[0,3.35;1,1;one_btn5;Alph]
style[one_btn6;border=true]
@@ -66,6 +65,16 @@ local style_fs = [[
style[one_btn13;border=false]
item_image_button[1.25,8.35;1,1;default:sword_steel;one_btn13;NoBor]
+ style[one_btn14;border=false;bgimg=test_bg.png;bgimg_hovered=test_bg_hovered.png;bgimg_pressed=test_bg_pressed.png;fgimg=bubble.png;fgimg_hovered=default_apple.png;fgimg_pressed=heart.png]
+ image_button[0,9.6;1,1;bubble.png;one_btn14;Bg]
+
+ style[one_btn15;border=false;bgimg=test_bg.png;bgimg_hovered=test_bg_hovered.png;bgimg_pressed=test_bg_pressed.png]
+ item_image_button[1.25,9.6;1,1;default:sword_steel;one_btn15;Bg]
+
+ style[one_btn16;border=false;bgimg=test_bg_9slice.png;bgimg_hovered=test_bg_9slice_hovered.png;bgimg_pressed=test_bg_9slice_pressed.png;bgimg_middle=4,6]
+ button[2.5,9.6;2,1;one_btn16;9-Slice Bg]
+
+
container[2.75,0]
@@ -103,8 +112,8 @@ local style_fs = [[
local pages = {
[[
+ formspec_version[3]
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]
@@ -133,16 +142,18 @@ local pages = {
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;]
+ button[9,2;2.5,1;name;] ]]..
+ "label[9,0.5;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]" ..
+ "formspec_version[3]size[12,12]" ..
+ ("label[0.375,0.375;Styled - %s %s]"):format(
+ color("#F00", "red text"),
+ color("#77FF00CC", "green text")) ..
"label[6.375,0.375;Unstyled]" ..
"box[0,0.75;12,0.1;#999]" ..
"box[6,0.85;0.1,11.15;#999]" ..
@@ -152,17 +163,35 @@ local pages = {
style_fs:gsub("one_", "two_"):gsub("style%[[^%]]+%]", ""):gsub("style_type%[[^%]]+%]", "") ..
"container_end[]",
- "size[12,12]real_coordinates[true]" ..
+ "formspec_version[3]size[12,13]" ..
"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[]",
+
+ [[
+ formspec_version[3]
+ size[12,12]
+ animated_image[0.5,0.5;1,1;;test_animation.png;4;100]
+ animated_image[0.5,1.75;1,1;;test_animation.jpg;4;100]
+ animated_image[1.75,0.5;1,1;;test_animation.png;100;100]
+ animated_image[3,0.5;1,1;ani_img_1;test_animation.png;4;1000]
+ button[4.25,0.5;1,1;ani_btn_1;Current
+Number]
+ animated_image[3,1.75;1,1;ani_img_2;test_animation.png;4;1000;2]
+ button[4.25,1.75;1,1;ani_btn_2;Current
+Number]
+ animated_image[3,3;1,1;;test_animation.png;4;0]
+ animated_image[3,4.25;1,1;;test_animation.png;4;0;3]
+ animated_image[5.5,0.5;5,2;;test_animation.png;4;100]
+ animated_image[5.5,2.75;5,2;;test_animation.jpg;4;100]
+ ]]
}
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]"
+ local fs = pages[page_id] .. "tabheader[0,0;6,0.65;maintabs;Real Coord,Styles,Noclip,MiscEle;" .. page_id .. ";false;false]"
minetest.show_formspec(pname, "test:formspec", fs)
end
@@ -177,6 +206,11 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
return true
end
+ if fields.ani_img_1 and fields.ani_btn_1 then
+ minetest.chat_send_all(fields.ani_img_1)
+ elseif fields.ani_img_2 and fields.ani_btn_2 then
+ minetest.chat_send_all(fields.ani_img_2)
+ end
end)
minetest.register_node("test:node", {
diff --git a/games/minimal/mods/test/textures/test_animation.jpg b/games/minimal/mods/test/textures/test_animation.jpg
new file mode 100644
index 000000000..b98ca2677
--- /dev/null
+++ b/games/minimal/mods/test/textures/test_animation.jpg
Binary files differ
diff --git a/games/minimal/mods/test/textures/test_animation.png b/games/minimal/mods/test/textures/test_animation.png
new file mode 100644
index 000000000..1752362ff
--- /dev/null
+++ b/games/minimal/mods/test/textures/test_animation.png
Binary files differ
diff --git a/games/minimal/mods/test/textures/test_bg.png b/games/minimal/mods/test/textures/test_bg.png
new file mode 100644
index 000000000..f0f392926
--- /dev/null
+++ b/games/minimal/mods/test/textures/test_bg.png
Binary files differ
diff --git a/games/minimal/mods/test/textures/test_bg_9slice.png b/games/minimal/mods/test/textures/test_bg_9slice.png
new file mode 100644
index 000000000..f9fe6870b
--- /dev/null
+++ b/games/minimal/mods/test/textures/test_bg_9slice.png
Binary files differ
diff --git a/games/minimal/mods/test/textures/test_bg_9slice_hovered.png b/games/minimal/mods/test/textures/test_bg_9slice_hovered.png
new file mode 100644
index 000000000..e614a5eee
--- /dev/null
+++ b/games/minimal/mods/test/textures/test_bg_9slice_hovered.png
Binary files differ
diff --git a/games/minimal/mods/test/textures/test_bg_9slice_pressed.png b/games/minimal/mods/test/textures/test_bg_9slice_pressed.png
new file mode 100644
index 000000000..125c774fb
--- /dev/null
+++ b/games/minimal/mods/test/textures/test_bg_9slice_pressed.png
Binary files differ
diff --git a/games/minimal/mods/test/textures/test_bg_hovered.png b/games/minimal/mods/test/textures/test_bg_hovered.png
new file mode 100644
index 000000000..b9ce8fd31
--- /dev/null
+++ b/games/minimal/mods/test/textures/test_bg_hovered.png
Binary files differ
diff --git a/games/minimal/mods/test/textures/test_bg_pressed.png b/games/minimal/mods/test/textures/test_bg_pressed.png
new file mode 100644
index 000000000..76aafb8c1
--- /dev/null
+++ b/games/minimal/mods/test/textures/test_bg_pressed.png
Binary files differ
diff --git a/lib/gmp/mini-gmp.c b/lib/gmp/mini-gmp.c
index f3b43fbe8..e2e686123 100644
--- a/lib/gmp/mini-gmp.c
+++ b/lib/gmp/mini-gmp.c
@@ -2,9 +2,7 @@
Contributed to the GNU project by Niels Möller
-Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1999, 2000, 2001,
-2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
-Free Software Foundation, Inc.
+Copyright 1991-1997, 1999-2019 Free Software Foundation, Inc.
This file is part of the GNU MP Library.
@@ -41,11 +39,15 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */
#include "mini-gmp.h"
-
+#if !defined(MINI_GMP_DONT_USE_FLOAT_H)
+#include <float.h>
+#endif
+
+
/* Macros */
#define GMP_LIMB_BITS (sizeof(mp_limb_t) * CHAR_BIT)
-#define GMP_LIMB_MAX (~ (mp_limb_t) 0)
+#define GMP_LIMB_MAX ((mp_limb_t) ~ (mp_limb_t) 0)
#define GMP_LIMB_HIGHBIT ((mp_limb_t) 1 << (GMP_LIMB_BITS - 1))
#define GMP_HLIMB_BIT ((mp_limb_t) 1 << (GMP_LIMB_BITS / 2))
@@ -60,18 +62,34 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */
#define GMP_MIN(a, b) ((a) < (b) ? (a) : (b))
#define GMP_MAX(a, b) ((a) > (b) ? (a) : (b))
+#define GMP_CMP(a,b) (((a) > (b)) - ((a) < (b)))
+
+#if defined(DBL_MANT_DIG) && FLT_RADIX == 2
+#define GMP_DBL_MANT_BITS DBL_MANT_DIG
+#else
+#define GMP_DBL_MANT_BITS (53)
+#endif
+
+/* Return non-zero if xp,xsize and yp,ysize overlap.
+ If xp+xsize<=yp there's no overlap, or if yp+ysize<=xp there's no
+ overlap. If both these are false, there's an overlap. */
+#define GMP_MPN_OVERLAP_P(xp, xsize, yp, ysize) \
+ ((xp) + (xsize) > (yp) && (yp) + (ysize) > (xp))
+
#define gmp_assert_nocarry(x) do { \
- mp_limb_t __cy = x; \
+ mp_limb_t __cy = (x); \
assert (__cy == 0); \
} while (0)
#define gmp_clz(count, x) do { \
mp_limb_t __clz_x = (x); \
- unsigned __clz_c; \
- for (__clz_c = 0; \
- (__clz_x & ((mp_limb_t) 0xff << (GMP_LIMB_BITS - 8))) == 0; \
- __clz_c += 8) \
- __clz_x <<= 8; \
+ unsigned __clz_c = 0; \
+ int LOCAL_SHIFT_BITS = 8; \
+ if (GMP_LIMB_BITS > LOCAL_SHIFT_BITS) \
+ for (; \
+ (__clz_x & ((mp_limb_t) 0xff << (GMP_LIMB_BITS - 8))) == 0; \
+ __clz_c += 8) \
+ { __clz_x <<= LOCAL_SHIFT_BITS; } \
for (; (__clz_x & GMP_LIMB_HIGHBIT) == 0; __clz_c++) \
__clz_x <<= 1; \
(count) = __clz_c; \
@@ -102,27 +120,42 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */
#define gmp_umul_ppmm(w1, w0, u, v) \
do { \
- mp_limb_t __x0, __x1, __x2, __x3; \
- unsigned __ul, __vl, __uh, __vh; \
- mp_limb_t __u = (u), __v = (v); \
+ int LOCAL_GMP_LIMB_BITS = GMP_LIMB_BITS; \
+ if (sizeof(unsigned int) * CHAR_BIT >= 2 * GMP_LIMB_BITS) \
+ { \
+ unsigned int __ww = (unsigned int) (u) * (v); \
+ w0 = (mp_limb_t) __ww; \
+ w1 = (mp_limb_t) (__ww >> LOCAL_GMP_LIMB_BITS); \
+ } \
+ else if (GMP_ULONG_BITS >= 2 * GMP_LIMB_BITS) \
+ { \
+ unsigned long int __ww = (unsigned long int) (u) * (v); \
+ w0 = (mp_limb_t) __ww; \
+ w1 = (mp_limb_t) (__ww >> LOCAL_GMP_LIMB_BITS); \
+ } \
+ else { \
+ mp_limb_t __x0, __x1, __x2, __x3; \
+ unsigned __ul, __vl, __uh, __vh; \
+ mp_limb_t __u = (u), __v = (v); \
\
- __ul = __u & GMP_LLIMB_MASK; \
- __uh = __u >> (GMP_LIMB_BITS / 2); \
- __vl = __v & GMP_LLIMB_MASK; \
- __vh = __v >> (GMP_LIMB_BITS / 2); \
+ __ul = __u & GMP_LLIMB_MASK; \
+ __uh = __u >> (GMP_LIMB_BITS / 2); \
+ __vl = __v & GMP_LLIMB_MASK; \
+ __vh = __v >> (GMP_LIMB_BITS / 2); \
\
- __x0 = (mp_limb_t) __ul * __vl; \
- __x1 = (mp_limb_t) __ul * __vh; \
- __x2 = (mp_limb_t) __uh * __vl; \
- __x3 = (mp_limb_t) __uh * __vh; \
+ __x0 = (mp_limb_t) __ul * __vl; \
+ __x1 = (mp_limb_t) __ul * __vh; \
+ __x2 = (mp_limb_t) __uh * __vl; \
+ __x3 = (mp_limb_t) __uh * __vh; \
\
- __x1 += __x0 >> (GMP_LIMB_BITS / 2);/* this can't give carry */ \
- __x1 += __x2; /* but this indeed can */ \
- if (__x1 < __x2) /* did we get it? */ \
- __x3 += GMP_HLIMB_BIT; /* yes, add it in the proper pos. */ \
+ __x1 += __x0 >> (GMP_LIMB_BITS / 2);/* this can't give carry */ \
+ __x1 += __x2; /* but this indeed can */ \
+ if (__x1 < __x2) /* did we get it? */ \
+ __x3 += GMP_HLIMB_BIT; /* yes, add it in the proper pos. */ \
\
- (w1) = __x3 + (__x1 >> (GMP_LIMB_BITS / 2)); \
- (w0) = (__x1 << (GMP_LIMB_BITS / 2)) + (__x0 & GMP_LLIMB_MASK); \
+ (w1) = __x3 + (__x1 >> (GMP_LIMB_BITS / 2)); \
+ (w0) = (__x1 << (GMP_LIMB_BITS / 2)) + (__x0 & GMP_LLIMB_MASK); \
+ } \
} while (0)
#define gmp_udiv_qrnnd_preinv(q, r, nh, nl, d, di) \
@@ -222,11 +255,13 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */
} while (0)
#define MPZ_SRCPTR_SWAP(x, y) \
do { \
- mpz_srcptr __mpz_srcptr_swap__tmp = (x); \
+ mpz_srcptr __mpz_srcptr_swap__tmp = (x); \
(x) = (y); \
(y) = __mpz_srcptr_swap__tmp; \
} while (0)
+const int mp_bits_per_limb = GMP_LIMB_BITS;
+
/* Memory allocation and other helper functions. */
static void
@@ -251,20 +286,20 @@ gmp_default_alloc (size_t size)
}
static void *
-gmp_default_realloc (void *old, size_t old_size, size_t new_size)
+gmp_default_realloc (void *old, size_t unused_old_size, size_t new_size)
{
- mp_ptr p;
+ void * p;
p = realloc (old, new_size);
if (!p)
- gmp_die("gmp_default_realoc: Virtual memory exhausted.");
+ gmp_die("gmp_default_realloc: Virtual memory exhausted.");
return p;
}
static void
-gmp_default_free (void *p, size_t size)
+gmp_default_free (void *p, size_t unused_size)
{
free (p);
}
@@ -311,14 +346,14 @@ mp_set_memory_functions (void *(*alloc_func) (size_t),
static mp_ptr
gmp_xalloc_limbs (mp_size_t size)
{
- return gmp_xalloc (size * sizeof (mp_limb_t));
+ return (mp_ptr) gmp_xalloc (size * sizeof (mp_limb_t));
}
static mp_ptr
gmp_xrealloc_limbs (mp_ptr old, mp_size_t size)
{
assert (size > 0);
- return (*gmp_reallocate_func) (old, 0, size * sizeof (mp_limb_t));
+ return (mp_ptr) (*gmp_reallocate_func) (old, 0, size * sizeof (mp_limb_t));
}
@@ -335,19 +370,17 @@ mpn_copyi (mp_ptr d, mp_srcptr s, mp_size_t n)
void
mpn_copyd (mp_ptr d, mp_srcptr s, mp_size_t n)
{
- while (n-- > 0)
+ while (--n >= 0)
d[n] = s[n];
}
int
mpn_cmp (mp_srcptr ap, mp_srcptr bp, mp_size_t n)
{
- for (; n > 0; n--)
+ while (--n >= 0)
{
- if (ap[n-1] < bp[n-1])
- return -1;
- else if (ap[n-1] > bp[n-1])
- return 1;
+ if (ap[n] != bp[n])
+ return ap[n] > bp[n] ? 1 : -1;
}
return 0;
}
@@ -355,10 +388,8 @@ mpn_cmp (mp_srcptr ap, mp_srcptr bp, mp_size_t n)
static int
mpn_cmp4 (mp_srcptr ap, mp_size_t an, mp_srcptr bp, mp_size_t bn)
{
- if (an > bn)
- return 1;
- else if (an < bn)
- return -1;
+ if (an != bn)
+ return an < bn ? -1 : 1;
else
return mpn_cmp (ap, bp, an);
}
@@ -366,12 +397,23 @@ mpn_cmp4 (mp_srcptr ap, mp_size_t an, mp_srcptr bp, mp_size_t bn)
static mp_size_t
mpn_normalized_size (mp_srcptr xp, mp_size_t n)
{
- for (; n > 0 && xp[n-1] == 0; n--)
- ;
+ while (n > 0 && xp[n-1] == 0)
+ --n;
return n;
}
-#define mpn_zero_p(xp, n) (mpn_normalized_size ((xp), (n)) == 0)
+int
+mpn_zero_p(mp_srcptr rp, mp_size_t n)
+{
+ return mpn_normalized_size (rp, n) == 0;
+}
+
+void
+mpn_zero (mp_ptr rp, mp_size_t n)
+{
+ while (--n >= 0)
+ rp[n] = 0;
+}
mp_limb_t
mpn_add_1 (mp_ptr rp, mp_srcptr ap, mp_size_t n, mp_limb_t b)
@@ -379,14 +421,16 @@ mpn_add_1 (mp_ptr rp, mp_srcptr ap, mp_size_t n, mp_limb_t b)
mp_size_t i;
assert (n > 0);
-
- for (i = 0; i < n; i++)
+ i = 0;
+ do
{
mp_limb_t r = ap[i] + b;
/* Carry out */
b = (r < b);
rp[i] = r;
}
+ while (++i < n);
+
return b;
}
@@ -429,14 +473,17 @@ mpn_sub_1 (mp_ptr rp, mp_srcptr ap, mp_size_t n, mp_limb_t b)
assert (n > 0);
- for (i = 0; i < n; i++)
+ i = 0;
+ do
{
mp_limb_t a = ap[i];
/* Carry out */
- mp_limb_t cy = a < b;;
+ mp_limb_t cy = a < b;
rp[i] = a - b;
b = cy;
}
+ while (++i < n);
+
return b;
}
@@ -551,23 +598,24 @@ mpn_mul (mp_ptr rp, mp_srcptr up, mp_size_t un, mp_srcptr vp, mp_size_t vn)
{
assert (un >= vn);
assert (vn >= 1);
+ assert (!GMP_MPN_OVERLAP_P(rp, un + vn, up, un));
+ assert (!GMP_MPN_OVERLAP_P(rp, un + vn, vp, vn));
/* We first multiply by the low order limb. This result can be
stored, not added, to rp. We also avoid a loop for zeroing this
way. */
rp[un] = mpn_mul_1 (rp, up, un, vp[0]);
- rp += 1, vp += 1, vn -= 1;
/* Now accumulate the product of up[] and the next higher limb from
vp[]. */
- while (vn >= 1)
+ while (--vn >= 1)
{
+ rp += 1, vp += 1;
rp[un] = mpn_addmul_1 (rp, up, un, vp[0]);
- rp += 1, vp += 1, vn -= 1;
}
- return rp[un - 1];
+ return rp[un];
}
void
@@ -587,7 +635,6 @@ mpn_lshift (mp_ptr rp, mp_srcptr up, mp_size_t n, unsigned int cnt)
{
mp_limb_t high_limb, low_limb;
unsigned int tnc;
- mp_size_t i;
mp_limb_t retval;
assert (n >= 1);
@@ -602,7 +649,7 @@ mpn_lshift (mp_ptr rp, mp_srcptr up, mp_size_t n, unsigned int cnt)
retval = low_limb >> tnc;
high_limb = (low_limb << cnt);
- for (i = n - 1; i != 0; i--)
+ while (--n != 0)
{
low_limb = *--up;
*--rp = high_limb | (low_limb >> tnc);
@@ -618,7 +665,6 @@ mpn_rshift (mp_ptr rp, mp_srcptr up, mp_size_t n, unsigned int cnt)
{
mp_limb_t high_limb, low_limb;
unsigned int tnc;
- mp_size_t i;
mp_limb_t retval;
assert (n >= 1);
@@ -630,7 +676,7 @@ mpn_rshift (mp_ptr rp, mp_srcptr up, mp_size_t n, unsigned int cnt)
retval = (high_limb << tnc);
low_limb = high_limb >> cnt;
- for (i = n - 1; i != 0; i--)
+ while (--n != 0)
{
high_limb = *up++;
*rp++ = low_limb | (high_limb << tnc);
@@ -641,60 +687,156 @@ mpn_rshift (mp_ptr rp, mp_srcptr up, mp_size_t n, unsigned int cnt)
return retval;
}
+static mp_bitcnt_t
+mpn_common_scan (mp_limb_t limb, mp_size_t i, mp_srcptr up, mp_size_t un,
+ mp_limb_t ux)
+{
+ unsigned cnt;
+
+ assert (ux == 0 || ux == GMP_LIMB_MAX);
+ assert (0 <= i && i <= un );
+
+ while (limb == 0)
+ {
+ i++;
+ if (i == un)
+ return (ux == 0 ? ~(mp_bitcnt_t) 0 : un * GMP_LIMB_BITS);
+ limb = ux ^ up[i];
+ }
+ gmp_ctz (cnt, limb);
+ return (mp_bitcnt_t) i * GMP_LIMB_BITS + cnt;
+}
+
+mp_bitcnt_t
+mpn_scan1 (mp_srcptr ptr, mp_bitcnt_t bit)
+{
+ mp_size_t i;
+ i = bit / GMP_LIMB_BITS;
+
+ return mpn_common_scan ( ptr[i] & (GMP_LIMB_MAX << (bit % GMP_LIMB_BITS)),
+ i, ptr, i, 0);
+}
+
+mp_bitcnt_t
+mpn_scan0 (mp_srcptr ptr, mp_bitcnt_t bit)
+{
+ mp_size_t i;
+ i = bit / GMP_LIMB_BITS;
+
+ return mpn_common_scan (~ptr[i] & (GMP_LIMB_MAX << (bit % GMP_LIMB_BITS)),
+ i, ptr, i, GMP_LIMB_MAX);
+}
+
+void
+mpn_com (mp_ptr rp, mp_srcptr up, mp_size_t n)
+{
+ while (--n >= 0)
+ *rp++ = ~ *up++;
+}
+
+mp_limb_t
+mpn_neg (mp_ptr rp, mp_srcptr up, mp_size_t n)
+{
+ while (*up == 0)
+ {
+ *rp = 0;
+ if (!--n)
+ return 0;
+ ++up; ++rp;
+ }
+ *rp = - *up;
+ mpn_com (++rp, ++up, --n);
+ return 1;
+}
+
/* MPN division interface. */
+
+/* The 3/2 inverse is defined as
+
+ m = floor( (B^3-1) / (B u1 + u0)) - B
+*/
mp_limb_t
mpn_invert_3by2 (mp_limb_t u1, mp_limb_t u0)
{
- mp_limb_t r, p, m;
- unsigned ul, uh;
- unsigned ql, qh;
+ mp_limb_t r, m;
- /* First, do a 2/1 inverse. */
- /* The inverse m is defined as floor( (B^2 - 1 - u1)/u1 ), so that 0 <
- * B^2 - (B + m) u1 <= u1 */
- assert (u1 >= GMP_LIMB_HIGHBIT);
+ {
+ mp_limb_t p, ql;
+ unsigned ul, uh, qh;
- ul = u1 & GMP_LLIMB_MASK;
- uh = u1 >> (GMP_LIMB_BITS / 2);
+ /* For notation, let b denote the half-limb base, so that B = b^2.
+ Split u1 = b uh + ul. */
+ ul = u1 & GMP_LLIMB_MASK;
+ uh = u1 >> (GMP_LIMB_BITS / 2);
- qh = ~u1 / uh;
- r = ((~u1 - (mp_limb_t) qh * uh) << (GMP_LIMB_BITS / 2)) | GMP_LLIMB_MASK;
+ /* Approximation of the high half of quotient. Differs from the 2/1
+ inverse of the half limb uh, since we have already subtracted
+ u0. */
+ qh = (u1 ^ GMP_LIMB_MAX) / uh;
- p = (mp_limb_t) qh * ul;
- /* Adjustment steps taken from udiv_qrnnd_c */
- if (r < p)
- {
- qh--;
- r += u1;
- if (r >= u1) /* i.e. we didn't get carry when adding to r */
- if (r < p)
- {
- qh--;
- r += u1;
- }
- }
- r -= p;
+ /* Adjust to get a half-limb 3/2 inverse, i.e., we want
- /* Do a 3/2 division (with half limb size) */
- p = (r >> (GMP_LIMB_BITS / 2)) * qh + r;
- ql = (p >> (GMP_LIMB_BITS / 2)) + 1;
+ qh' = floor( (b^3 - 1) / u) - b = floor ((b^3 - b u - 1) / u
+ = floor( (b (~u) + b-1) / u),
- /* By the 3/2 method, we don't need the high half limb. */
- r = (r << (GMP_LIMB_BITS / 2)) + GMP_LLIMB_MASK - ql * u1;
+ and the remainder
- if (r >= (p << (GMP_LIMB_BITS / 2)))
- {
- ql--;
- r += u1;
- }
- m = ((mp_limb_t) qh << (GMP_LIMB_BITS / 2)) + ql;
- if (r >= u1)
- {
- m++;
- r -= u1;
- }
+ r = b (~u) + b-1 - qh (b uh + ul)
+ = b (~u - qh uh) + b-1 - qh ul
+
+ Subtraction of qh ul may underflow, which implies adjustments.
+ But by normalization, 2 u >= B > qh ul, so we need to adjust by
+ at most 2.
+ */
+
+ r = ((~u1 - (mp_limb_t) qh * uh) << (GMP_LIMB_BITS / 2)) | GMP_LLIMB_MASK;
+
+ p = (mp_limb_t) qh * ul;
+ /* Adjustment steps taken from udiv_qrnnd_c */
+ if (r < p)
+ {
+ qh--;
+ r += u1;
+ if (r >= u1) /* i.e. we didn't get carry when adding to r */
+ if (r < p)
+ {
+ qh--;
+ r += u1;
+ }
+ }
+ r -= p;
+
+ /* Low half of the quotient is
+
+ ql = floor ( (b r + b-1) / u1).
+
+ This is a 3/2 division (on half-limbs), for which qh is a
+ suitable inverse. */
+
+ p = (r >> (GMP_LIMB_BITS / 2)) * qh + r;
+ /* Unlike full-limb 3/2, we can add 1 without overflow. For this to
+ work, it is essential that ql is a full mp_limb_t. */
+ ql = (p >> (GMP_LIMB_BITS / 2)) + 1;
+ /* By the 3/2 trick, we don't need the high half limb. */
+ r = (r << (GMP_LIMB_BITS / 2)) + GMP_LLIMB_MASK - ql * u1;
+
+ if (r >= (GMP_LIMB_MAX & (p << (GMP_LIMB_BITS / 2))))
+ {
+ ql--;
+ r += u1;
+ }
+ m = ((mp_limb_t) qh << (GMP_LIMB_BITS / 2)) + ql;
+ if (r >= u1)
+ {
+ m++;
+ r -= u1;
+ }
+ }
+
+ /* Now m is the 2/1 inverse of u1. If u0 > 0, adjust it to become a
+ 3/2 inverse. */
if (u0 > 0)
{
mp_limb_t th, tl;
@@ -715,8 +857,7 @@ mpn_invert_3by2 (mp_limb_t u1, mp_limb_t u0)
if (r < th)
{
m--;
- if (r > u1 || (r == u1 && tl > u0))
- m--;
+ m -= ((r > u1) | ((r == u1) & (tl > u0)));
}
}
@@ -807,7 +948,8 @@ mpn_div_qr_1_preinv (mp_ptr qp, mp_srcptr np, mp_size_t nn,
if (inv->shift > 0)
{
- tp = gmp_xalloc_limbs (nn);
+ /* Shift, reusing qp area if possible. In-place shift if qp == np. */
+ tp = qp ? qp : gmp_xalloc_limbs (nn);
r = mpn_lshift (tp, np, nn, inv->shift);
np = tp;
}
@@ -816,7 +958,7 @@ mpn_div_qr_1_preinv (mp_ptr qp, mp_srcptr np, mp_size_t nn,
d = inv->d1;
di = inv->di;
- while (nn-- > 0)
+ while (--nn >= 0)
{
mp_limb_t q;
@@ -824,44 +966,19 @@ mpn_div_qr_1_preinv (mp_ptr qp, mp_srcptr np, mp_size_t nn,
if (qp)
qp[nn] = q;
}
- if (inv->shift > 0)
+ if ((inv->shift > 0) && (tp != qp))
gmp_free (tp);
return r >> inv->shift;
}
-static mp_limb_t
-mpn_div_qr_1 (mp_ptr qp, mp_srcptr np, mp_size_t nn, mp_limb_t d)
-{
- assert (d > 0);
-
- /* Special case for powers of two. */
- if (d > 1 && (d & (d-1)) == 0)
- {
- unsigned shift;
- mp_limb_t r = np[0] & (d-1);
- gmp_ctz (shift, d);
- if (qp)
- mpn_rshift (qp, np, nn, shift);
-
- return r;
- }
- else
- {
- struct gmp_div_inverse inv;
- mpn_div_qr_1_invert (&inv, d);
- return mpn_div_qr_1_preinv (qp, np, nn, &inv);
- }
-}
-
static void
-mpn_div_qr_2_preinv (mp_ptr qp, mp_ptr rp, mp_srcptr np, mp_size_t nn,
+mpn_div_qr_2_preinv (mp_ptr qp, mp_ptr np, mp_size_t nn,
const struct gmp_div_inverse *inv)
{
unsigned shift;
mp_size_t i;
mp_limb_t d1, d0, di, r1, r0;
- mp_ptr tp;
assert (nn >= 2);
shift = inv->shift;
@@ -870,17 +987,14 @@ mpn_div_qr_2_preinv (mp_ptr qp, mp_ptr rp, mp_srcptr np, mp_size_t nn,
di = inv->di;
if (shift > 0)
- {
- tp = gmp_xalloc_limbs (nn);
- r1 = mpn_lshift (tp, np, nn, shift);
- np = tp;
- }
+ r1 = mpn_lshift (np, np, nn, shift);
else
r1 = 0;
r0 = np[nn - 1];
- for (i = nn - 2; i >= 0; i--)
+ i = nn - 2;
+ do
{
mp_limb_t n0, q;
n0 = np[i];
@@ -889,32 +1003,18 @@ mpn_div_qr_2_preinv (mp_ptr qp, mp_ptr rp, mp_srcptr np, mp_size_t nn,
if (qp)
qp[i] = q;
}
+ while (--i >= 0);
if (shift > 0)
{
- assert ((r0 << (GMP_LIMB_BITS - shift)) == 0);
+ assert ((r0 & (GMP_LIMB_MAX >> (GMP_LIMB_BITS - shift))) == 0);
r0 = (r0 >> shift) | (r1 << (GMP_LIMB_BITS - shift));
r1 >>= shift;
-
- gmp_free (tp);
}
- rp[1] = r1;
- rp[0] = r0;
-}
-
-#if 0
-static void
-mpn_div_qr_2 (mp_ptr qp, mp_ptr rp, mp_srcptr np, mp_size_t nn,
- mp_limb_t d1, mp_limb_t d0)
-{
- struct gmp_div_inverse inv;
- assert (nn >= 2);
-
- mpn_div_qr_2_invert (&inv, d1, d0);
- mpn_div_qr_2_preinv (qp, rp, np, nn, &inv);
+ np[1] = r1;
+ np[0] = r0;
}
-#endif
static void
mpn_div_qr_pi1 (mp_ptr qp,
@@ -941,7 +1041,8 @@ mpn_div_qr_pi1 (mp_ptr qp,
* by <d1, d0, dp[dn-3], ..., dp[0] >
*/
- for (i = nn - dn; i >= 0; i--)
+ i = nn - dn;
+ do
{
mp_limb_t n0 = np[dn-1+i];
@@ -973,6 +1074,7 @@ mpn_div_qr_pi1 (mp_ptr qp,
if (qp)
qp[i] = q;
}
+ while (--i >= 0);
np[dn - 1] = n1;
}
@@ -988,7 +1090,7 @@ mpn_div_qr_preinv (mp_ptr qp, mp_ptr np, mp_size_t nn,
if (dn == 1)
np[0] = mpn_div_qr_1_preinv (qp, np, nn, inv);
else if (dn == 2)
- mpn_div_qr_2_preinv (qp, np, np, nn, inv);
+ mpn_div_qr_2_preinv (qp, np, nn, inv);
else
{
mp_limb_t nh;
@@ -1090,7 +1192,7 @@ mpn_get_str_bits (unsigned char *sp, unsigned bits, mp_srcptr up, mp_size_t un)
unsigned char mask;
size_t sn, j;
mp_size_t i;
- int shift;
+ unsigned shift;
sn = ((un - 1) * GMP_LIMB_BITS + mpn_limb_size_in_base_2 (up[un-1])
+ bits - 1) / bits;
@@ -1128,7 +1230,7 @@ mpn_limb_get_str (unsigned char *sp, mp_limb_t w,
l = w << binv->shift;
gmp_udiv_qrnnd_preinv (w, r, h, l, binv->d1, binv->di);
- assert ( (r << (GMP_LIMB_BITS - binv->shift)) == 0);
+ assert ((r & (GMP_LIMB_MAX >> (GMP_LIMB_BITS - binv->shift))) == 0);
r >>= binv->shift;
sp[i] = r;
@@ -1231,26 +1333,29 @@ mpn_set_str_bits (mp_ptr rp, const unsigned char *sp, size_t sn,
return rn;
}
+/* Result is usually normalized, except for all-zero input, in which
+ case a single zero limb is written at *RP, and 1 is returned. */
static mp_size_t
mpn_set_str_other (mp_ptr rp, const unsigned char *sp, size_t sn,
mp_limb_t b, const struct mpn_base_info *info)
{
mp_size_t rn;
mp_limb_t w;
- unsigned first;
unsigned k;
size_t j;
- first = 1 + (sn - 1) % info->exp;
+ assert (sn > 0);
+
+ k = 1 + (sn - 1) % info->exp;
j = 0;
w = sp[j++];
- for (k = 1; k < first; k++)
+ while (--k != 0)
w = w * b + sp[j++];
rp[0] = w;
- for (rn = (w > 0); j < sn;)
+ for (rn = 1; j < sn;)
{
mp_limb_t cy;
@@ -1293,13 +1398,15 @@ mpn_set_str (mp_ptr rp, const unsigned char *sp, size_t sn, int base)
void
mpz_init (mpz_t r)
{
- r->_mp_alloc = 1;
+ static const mp_limb_t dummy_limb = GMP_LIMB_MAX & 0xc1a0;
+
+ r->_mp_alloc = 0;
r->_mp_size = 0;
- r->_mp_d = gmp_xalloc_limbs (1);
+ r->_mp_d = (mp_ptr) &dummy_limb;
}
/* The utility of this function is a bit limited, since many functions
- assings the result variable using mpz_swap. */
+ assigns the result variable using mpz_swap. */
void
mpz_init2 (mpz_t r, mp_bitcnt_t bits)
{
@@ -1316,15 +1423,19 @@ mpz_init2 (mpz_t r, mp_bitcnt_t bits)
void
mpz_clear (mpz_t r)
{
- gmp_free (r->_mp_d);
+ if (r->_mp_alloc)
+ gmp_free (r->_mp_d);
}
-static void *
+static mp_ptr
mpz_realloc (mpz_t r, mp_size_t size)
{
size = GMP_MAX (size, 1);
- r->_mp_d = gmp_xrealloc_limbs (r->_mp_d, size);
+ if (r->_mp_alloc)
+ r->_mp_d = gmp_xrealloc_limbs (r->_mp_d, size);
+ else
+ r->_mp_d = gmp_xalloc_limbs (size);
r->_mp_alloc = size;
if (GMP_ABS (r->_mp_size) > size)
@@ -1345,9 +1456,15 @@ mpz_set_si (mpz_t r, signed long int x)
if (x >= 0)
mpz_set_ui (r, x);
else /* (x < 0) */
+ if (GMP_LIMB_BITS < GMP_ULONG_BITS)
+ {
+ mpz_set_ui (r, GMP_NEG_CAST (unsigned long int, x));
+ mpz_neg (r, r);
+ }
+ else
{
r->_mp_size = -1;
- r->_mp_d[0] = GMP_NEG_CAST (unsigned long int, x);
+ MPZ_REALLOC (r, 1)[0] = GMP_NEG_CAST (unsigned long int, x);
}
}
@@ -1357,7 +1474,16 @@ mpz_set_ui (mpz_t r, unsigned long int x)
if (x > 0)
{
r->_mp_size = 1;
- r->_mp_d[0] = x;
+ MPZ_REALLOC (r, 1)[0] = x;
+ if (GMP_LIMB_BITS < GMP_ULONG_BITS)
+ {
+ int LOCAL_GMP_LIMB_BITS = GMP_LIMB_BITS;
+ while (x >>= LOCAL_GMP_LIMB_BITS)
+ {
+ ++ r->_mp_size;
+ MPZ_REALLOC (r, r->_mp_size)[r->_mp_size - 1] = x;
+ }
+ }
}
else
r->_mp_size = 0;
@@ -1404,16 +1530,20 @@ mpz_init_set (mpz_t r, const mpz_t x)
int
mpz_fits_slong_p (const mpz_t u)
{
- mp_size_t us = u->_mp_size;
+ return (LONG_MAX + LONG_MIN == 0 || mpz_cmp_ui (u, LONG_MAX) <= 0) &&
+ mpz_cmpabs_ui (u, GMP_NEG_CAST (unsigned long int, LONG_MIN)) <= 0;
+}
- if (us == 0)
- return 1;
- else if (us == 1)
- return u->_mp_d[0] < GMP_LIMB_HIGHBIT;
- else if (us == -1)
- return u->_mp_d[0] <= GMP_LIMB_HIGHBIT;
- else
- return 0;
+static int
+mpn_absfits_ulong_p (mp_srcptr up, mp_size_t un)
+{
+ int ulongsize = GMP_ULONG_BITS / GMP_LIMB_BITS;
+ mp_limb_t ulongrem = 0;
+
+ if (GMP_ULONG_BITS % GMP_LIMB_BITS != 0)
+ ulongrem = (mp_limb_t) (ULONG_MAX >> GMP_LIMB_BITS * ulongsize) + 1;
+
+ return un <= ulongsize || (up[ulongsize] < ulongrem && un == ulongsize + 1);
}
int
@@ -1421,25 +1551,36 @@ mpz_fits_ulong_p (const mpz_t u)
{
mp_size_t us = u->_mp_size;
- return us == 0 || us == 1;
+ return us >= 0 && mpn_absfits_ulong_p (u->_mp_d, us);
}
long int
mpz_get_si (const mpz_t u)
{
- mp_size_t us = u->_mp_size;
+ unsigned long r = mpz_get_ui (u);
+ unsigned long c = -LONG_MAX - LONG_MIN;
- if (us > 0)
- return (long) (u->_mp_d[0] & ~GMP_LIMB_HIGHBIT);
- else if (us < 0)
- return (long) (- u->_mp_d[0] | GMP_LIMB_HIGHBIT);
+ if (u->_mp_size < 0)
+ /* This expression is necessary to properly handle -LONG_MIN */
+ return -(long) c - (long) ((r - c) & LONG_MAX);
else
- return 0;
+ return (long) (r & LONG_MAX);
}
unsigned long int
mpz_get_ui (const mpz_t u)
{
+ if (GMP_LIMB_BITS < GMP_ULONG_BITS)
+ {
+ int LOCAL_GMP_LIMB_BITS = GMP_LIMB_BITS;
+ unsigned long r = 0;
+ mp_size_t n = GMP_ABS (u->_mp_size);
+ n = GMP_MIN (n, 1 + (mp_size_t) (GMP_ULONG_BITS - 1) / GMP_LIMB_BITS);
+ while (--n >= 0)
+ r = (r << LOCAL_GMP_LIMB_BITS) + u->_mp_d[n];
+ return r;
+ }
+
return u->_mp_size == 0 ? 0 : u->_mp_d[0];
}
@@ -1458,6 +1599,56 @@ mpz_getlimbn (const mpz_t u, mp_size_t n)
return 0;
}
+void
+mpz_realloc2 (mpz_t x, mp_bitcnt_t n)
+{
+ mpz_realloc (x, 1 + (n - (n != 0)) / GMP_LIMB_BITS);
+}
+
+mp_srcptr
+mpz_limbs_read (mpz_srcptr x)
+{
+ return x->_mp_d;
+}
+
+mp_ptr
+mpz_limbs_modify (mpz_t x, mp_size_t n)
+{
+ assert (n > 0);
+ return MPZ_REALLOC (x, n);
+}
+
+mp_ptr
+mpz_limbs_write (mpz_t x, mp_size_t n)
+{
+ return mpz_limbs_modify (x, n);
+}
+
+void
+mpz_limbs_finish (mpz_t x, mp_size_t xs)
+{
+ mp_size_t xn;
+ xn = mpn_normalized_size (x->_mp_d, GMP_ABS (xs));
+ x->_mp_size = xs < 0 ? -xn : xn;
+}
+
+static mpz_srcptr
+mpz_roinit_normal_n (mpz_t x, mp_srcptr xp, mp_size_t xs)
+{
+ x->_mp_alloc = 0;
+ x->_mp_d = (mp_ptr) xp;
+ x->_mp_size = xs;
+ return x;
+}
+
+mpz_srcptr
+mpz_roinit_n (mpz_t x, mp_srcptr xp, mp_size_t xs)
+{
+ mpz_roinit_normal_n (x, xp, xs);
+ mpz_limbs_finish (x, xs);
+ return x;
+}
+
/* Conversions and comparison to double. */
void
@@ -1472,26 +1663,22 @@ mpz_set_d (mpz_t r, double x)
/* x != x is true when x is a NaN, and x == x * 0.5 is true when x is
zero or infinity. */
- if (x == 0.0 || x != x || x == x * 0.5)
+ if (x != x || x == x * 0.5)
{
r->_mp_size = 0;
return;
}
- if (x < 0.0)
- {
- x = - x;
- sign = 1;
- }
- else
- sign = 0;
+ sign = x < 0.0 ;
+ if (sign)
+ x = - x;
if (x < 1.0)
{
r->_mp_size = 0;
return;
}
- B = 2.0 * (double) GMP_LIMB_HIGHBIT;
+ B = 4.0 * (double) (GMP_LIMB_HIGHBIT >> 1);
Bi = 1.0 / B;
for (rn = 1; x >= B; rn++)
x *= Bi;
@@ -1501,8 +1688,9 @@ mpz_set_d (mpz_t r, double x)
f = (mp_limb_t) x;
x -= f;
assert (x < 1.0);
- rp[rn-1] = f;
- for (i = rn-1; i-- > 0; )
+ i = rn-1;
+ rp[i] = f;
+ while (--i >= 0)
{
x = B * x;
f = (mp_limb_t) x;
@@ -1524,18 +1712,34 @@ mpz_init_set_d (mpz_t r, double x)
double
mpz_get_d (const mpz_t u)
{
+ int m;
+ mp_limb_t l;
mp_size_t un;
double x;
- double B = 2.0 * (double) GMP_LIMB_HIGHBIT;
+ double B = 4.0 * (double) (GMP_LIMB_HIGHBIT >> 1);
un = GMP_ABS (u->_mp_size);
if (un == 0)
return 0.0;
- x = u->_mp_d[--un];
- while (un > 0)
- x = B*x + u->_mp_d[--un];
+ l = u->_mp_d[--un];
+ gmp_clz (m, l);
+ m = m + GMP_DBL_MANT_BITS - GMP_LIMB_BITS;
+ if (m < 0)
+ l &= GMP_LIMB_MAX << -m;
+
+ for (x = l; --un >= 0;)
+ {
+ x = B*x;
+ if (m > 0) {
+ l = u->_mp_d[un];
+ m -= GMP_LIMB_BITS;
+ if (m < 0)
+ l &= GMP_LIMB_MAX << -m;
+ x += l;
+ }
+ }
if (u->_mp_size < 0)
x = -x;
@@ -1557,7 +1761,7 @@ mpz_cmpabs_d (const mpz_t x, double d)
{
xn = GMP_ABS (xn);
- B = 2.0 * (double) GMP_LIMB_HIGHBIT;
+ B = 4.0 * (double) (GMP_LIMB_HIGHBIT >> 1);
Bi = 1.0 / B;
/* Scale d so it can be compared with the top limb. */
@@ -1608,14 +1812,7 @@ mpz_cmp_d (const mpz_t x, double d)
int
mpz_sgn (const mpz_t u)
{
- mp_size_t usize = u->_mp_size;
-
- if (usize > 0)
- return 1;
- else if (usize < 0)
- return -1;
- else
- return 0;
+ return GMP_CMP (u->_mp_size, 0);
}
int
@@ -1623,21 +1820,12 @@ mpz_cmp_si (const mpz_t u, long v)
{
mp_size_t usize = u->_mp_size;
- if (usize < -1)
- return -1;
- else if (v >= 0)
+ if (v >= 0)
return mpz_cmp_ui (u, v);
else if (usize >= 0)
return 1;
- else /* usize == -1 */
- {
- mp_limb_t ul = u->_mp_d[0];
- if ((mp_limb_t)GMP_NEG_CAST (unsigned long int, v) < ul)
- return -1;
- else if ( (mp_limb_t)GMP_NEG_CAST (unsigned long int, v) > ul)
- return 1;
- }
- return 0;
+ else
+ return - mpz_cmpabs_ui (u, GMP_NEG_CAST (unsigned long int, v));
}
int
@@ -1645,19 +1833,10 @@ mpz_cmp_ui (const mpz_t u, unsigned long v)
{
mp_size_t usize = u->_mp_size;
- if (usize > 1)
- return 1;
- else if (usize < 0)
+ if (usize < 0)
return -1;
else
- {
- mp_limb_t ul = (usize > 0) ? u->_mp_d[0] : 0;
- if (ul > v)
- return 1;
- else if (ul < v)
- return -1;
- }
- return 0;
+ return mpz_cmpabs_ui (u, v);
}
int
@@ -1666,35 +1845,26 @@ mpz_cmp (const mpz_t a, const mpz_t b)
mp_size_t asize = a->_mp_size;
mp_size_t bsize = b->_mp_size;
- if (asize > bsize)
- return 1;
- else if (asize < bsize)
- return -1;
- else if (asize > 0)
+ if (asize != bsize)
+ return (asize < bsize) ? -1 : 1;
+ else if (asize >= 0)
return mpn_cmp (a->_mp_d, b->_mp_d, asize);
- else if (asize < 0)
- return -mpn_cmp (a->_mp_d, b->_mp_d, -asize);
else
- return 0;
+ return mpn_cmp (b->_mp_d, a->_mp_d, -asize);
}
int
mpz_cmpabs_ui (const mpz_t u, unsigned long v)
{
mp_size_t un = GMP_ABS (u->_mp_size);
- mp_limb_t ul;
- if (un > 1)
+ if (! mpn_absfits_ulong_p (u->_mp_d, un))
return 1;
-
- ul = (un == 1) ? u->_mp_d[0] : 0;
-
- if (ul > v)
- return 1;
- else if (ul < v)
- return -1;
else
- return 0;
+ {
+ unsigned long uu = mpz_get_ui (u);
+ return GMP_CMP(uu, v);
+ }
}
int
@@ -1707,18 +1877,14 @@ mpz_cmpabs (const mpz_t u, const mpz_t v)
void
mpz_abs (mpz_t r, const mpz_t u)
{
- if (r != u)
- mpz_set (r, u);
-
+ mpz_set (r, u);
r->_mp_size = GMP_ABS (r->_mp_size);
}
void
mpz_neg (mpz_t r, const mpz_t u)
{
- if (r != u)
- mpz_set (r, u);
-
+ mpz_set (r, u);
r->_mp_size = -r->_mp_size;
}
@@ -1733,80 +1899,28 @@ mpz_swap (mpz_t u, mpz_t v)
/* MPZ addition and subtraction */
-/* Adds to the absolute value. Returns new size, but doesn't store it. */
-static mp_size_t
-mpz_abs_add_ui (mpz_t r, const mpz_t a, unsigned long b)
-{
- mp_size_t an;
- mp_ptr rp;
- mp_limb_t cy;
-
- an = GMP_ABS (a->_mp_size);
- if (an == 0)
- {
- r->_mp_d[0] = b;
- return b > 0;
- }
-
- rp = MPZ_REALLOC (r, an + 1);
-
- cy = mpn_add_1 (rp, a->_mp_d, an, b);
- rp[an] = cy;
- an += (cy > 0);
-
- return an;
-}
-
-/* Subtract from the absolute value. Returns new size, (or -1 on underflow),
- but doesn't store it. */
-static mp_size_t
-mpz_abs_sub_ui (mpz_t r, const mpz_t a, unsigned long b)
-{
- mp_size_t an = GMP_ABS (a->_mp_size);
- mp_ptr rp = MPZ_REALLOC (r, an);
-
- if (an == 0)
- {
- rp[0] = b;
- return -(b > 0);
- }
- else if (an == 1 && a->_mp_d[0] < b)
- {
- rp[0] = b - a->_mp_d[0];
- return -1;
- }
- else
- {
- gmp_assert_nocarry (mpn_sub_1 (rp, a->_mp_d, an, b));
- return mpn_normalized_size (rp, an);
- }
-}
void
mpz_add_ui (mpz_t r, const mpz_t a, unsigned long b)
{
- if (a->_mp_size >= 0)
- r->_mp_size = mpz_abs_add_ui (r, a, b);
- else
- r->_mp_size = -mpz_abs_sub_ui (r, a, b);
+ mpz_t bb;
+ mpz_init_set_ui (bb, b);
+ mpz_add (r, a, bb);
+ mpz_clear (bb);
}
void
mpz_sub_ui (mpz_t r, const mpz_t a, unsigned long b)
{
- if (a->_mp_size < 0)
- r->_mp_size = -mpz_abs_add_ui (r, a, b);
- else
- r->_mp_size = mpz_abs_sub_ui (r, a, b);
+ mpz_ui_sub (r, b, a);
+ mpz_neg (r, r);
}
void
mpz_ui_sub (mpz_t r, unsigned long a, const mpz_t b)
{
- if (b->_mp_size < 0)
- r->_mp_size = mpz_abs_add_ui (r, b, a);
- else
- r->_mp_size = -mpz_abs_sub_ui (r, b, a);
+ mpz_neg (r, b);
+ mpz_add_ui (r, r, a);
}
static mp_size_t
@@ -1814,20 +1928,21 @@ mpz_abs_add (mpz_t r, const mpz_t a, const mpz_t b)
{
mp_size_t an = GMP_ABS (a->_mp_size);
mp_size_t bn = GMP_ABS (b->_mp_size);
- mp_size_t rn;
mp_ptr rp;
mp_limb_t cy;
- rn = GMP_MAX (an, bn);
- rp = MPZ_REALLOC (r, rn + 1);
- if (an >= bn)
- cy = mpn_add (rp, a->_mp_d, an, b->_mp_d, bn);
- else
- cy = mpn_add (rp, b->_mp_d, bn, a->_mp_d, an);
+ if (an < bn)
+ {
+ MPZ_SRCPTR_SWAP (a, b);
+ MP_SIZE_T_SWAP (an, bn);
+ }
- rp[rn] = cy;
+ rp = MPZ_REALLOC (r, an + 1);
+ cy = mpn_add (rp, a->_mp_d, an, b->_mp_d, bn);
- return rn + (cy > 0);
+ rp[an] = cy;
+
+ return an + cy;
}
static mp_size_t
@@ -1892,37 +2007,17 @@ mpz_mul_si (mpz_t r, const mpz_t u, long int v)
mpz_neg (r, r);
}
else
- mpz_mul_ui (r, u, (unsigned long int) v);
+ mpz_mul_ui (r, u, v);
}
void
mpz_mul_ui (mpz_t r, const mpz_t u, unsigned long int v)
{
- mp_size_t un;
- mpz_t t;
- mp_ptr tp;
- mp_limb_t cy;
-
- un = GMP_ABS (u->_mp_size);
-
- if (un == 0 || v == 0)
- {
- r->_mp_size = 0;
- return;
- }
-
- mpz_init2 (t, (un + 1) * GMP_LIMB_BITS);
-
- tp = t->_mp_d;
- cy = mpn_mul_1 (tp, u->_mp_d, un, v);
- tp[un] = cy;
-
- t->_mp_size = un + (cy > 0);
- if (u->_mp_size < 0)
- t->_mp_size = - t->_mp_size;
-
- mpz_swap (r, t);
- mpz_clear (t);
+ mpz_t vv;
+ mpz_init_set_ui (vv, v);
+ mpz_mul (r, u, vv);
+ mpz_clear (vv);
+ return;
}
void
@@ -1933,8 +2028,8 @@ mpz_mul (mpz_t r, const mpz_t u, const mpz_t v)
mpz_t t;
mp_ptr tp;
- un = GMP_ABS (u->_mp_size);
- vn = GMP_ABS (v->_mp_size);
+ un = u->_mp_size;
+ vn = v->_mp_size;
if (un == 0 || vn == 0)
{
@@ -1942,7 +2037,10 @@ mpz_mul (mpz_t r, const mpz_t u, const mpz_t v)
return;
}
- sign = (u->_mp_size ^ v->_mp_size) < 0;
+ sign = (un ^ vn) < 0;
+
+ un = GMP_ABS (un);
+ vn = GMP_ABS (vn);
mpz_init2 (t, (un + vn) * GMP_LIMB_BITS);
@@ -1989,12 +2087,51 @@ mpz_mul_2exp (mpz_t r, const mpz_t u, mp_bitcnt_t bits)
else
mpn_copyd (rp + limbs, u->_mp_d, un);
- while (limbs > 0)
- rp[--limbs] = 0;
+ mpn_zero (rp, limbs);
r->_mp_size = (u->_mp_size < 0) ? - rn : rn;
}
+void
+mpz_addmul_ui (mpz_t r, const mpz_t u, unsigned long int v)
+{
+ mpz_t t;
+ mpz_init_set_ui (t, v);
+ mpz_mul (t, u, t);
+ mpz_add (r, r, t);
+ mpz_clear (t);
+}
+
+void
+mpz_submul_ui (mpz_t r, const mpz_t u, unsigned long int v)
+{
+ mpz_t t;
+ mpz_init_set_ui (t, v);
+ mpz_mul (t, u, t);
+ mpz_sub (r, r, t);
+ mpz_clear (t);
+}
+
+void
+mpz_addmul (mpz_t r, const mpz_t u, const mpz_t v)
+{
+ mpz_t t;
+ mpz_init (t);
+ mpz_mul (t, u, v);
+ mpz_add (r, r, t);
+ mpz_clear (t);
+}
+
+void
+mpz_submul (mpz_t r, const mpz_t u, const mpz_t v)
+{
+ mpz_t t;
+ mpz_init (t);
+ mpz_mul (t, u, v);
+ mpz_sub (r, r, t);
+ mpz_clear (t);
+}
+
/* MPZ division */
enum mpz_div_round_mode { GMP_DIV_FLOOR, GMP_DIV_CEIL, GMP_DIV_TRUNC };
@@ -2059,8 +2196,7 @@ mpz_div_qr (mpz_t q, mpz_t r,
mp_size_t qn, rn;
mpz_t tq, tr;
- mpz_init (tr);
- mpz_set (tr, n);
+ mpz_init_set (tr, n);
np = tr->_mp_d;
qn = nn - dn + 1;
@@ -2170,10 +2306,7 @@ mpz_tdiv_r (mpz_t r, const mpz_t n, const mpz_t d)
void
mpz_mod (mpz_t r, const mpz_t n, const mpz_t d)
{
- if (d->_mp_size >= 0)
- mpz_div_qr (NULL, r, n, d, GMP_DIV_FLOOR);
- else
- mpz_div_qr (NULL, r, n, d, GMP_DIV_CEIL);
+ mpz_div_qr (NULL, r, n, d, d->_mp_size >= 0 ? GMP_DIV_FLOOR : GMP_DIV_CEIL);
}
static void
@@ -2183,7 +2316,7 @@ mpz_div_q_2exp (mpz_t q, const mpz_t u, mp_bitcnt_t bit_index,
mp_size_t un, qn;
mp_size_t limb_cnt;
mp_ptr qp;
- mp_limb_t adjust;
+ int adjust;
un = u->_mp_size;
if (un == 0)
@@ -2207,7 +2340,6 @@ mpz_div_q_2exp (mpz_t q, const mpz_t u, mp_bitcnt_t bit_index,
if (qn <= 0)
qn = 0;
-
else
{
qp = MPZ_REALLOC (q, qn);
@@ -2225,7 +2357,8 @@ mpz_div_q_2exp (mpz_t q, const mpz_t u, mp_bitcnt_t bit_index,
q->_mp_size = qn;
- mpz_add_ui (q, q, adjust);
+ if (adjust)
+ mpz_add_ui (q, q, 1);
if (un < 0)
mpz_neg (q, q);
}
@@ -2260,16 +2393,9 @@ mpz_div_r_2exp (mpz_t r, const mpz_t u, mp_bitcnt_t bit_index,
{
/* Have to negate and sign extend. */
mp_size_t i;
- mp_limb_t cy;
- for (cy = 1, i = 0; i < un; i++)
- {
- mp_limb_t s = ~u->_mp_d[i] + cy;
- cy = s < cy;
- rp[i] = s;
- }
- assert (cy == 0);
- for (; i < rn - 1; i++)
+ gmp_assert_nocarry (! mpn_neg (rp, u->_mp_d, un));
+ for (i = un; i < rn - 1; i++)
rp[i] = GMP_LIMB_MAX;
rp[rn-1] = mask;
@@ -2294,23 +2420,13 @@ mpz_div_r_2exp (mpz_t r, const mpz_t u, mp_bitcnt_t bit_index,
if (mode == ((us > 0) ? GMP_DIV_CEIL : GMP_DIV_FLOOR)) /* us != 0 here. */
{
/* If r != 0, compute 2^{bit_count} - r. */
- mp_size_t i;
-
- for (i = 0; i < rn && rp[i] == 0; i++)
- ;
- if (i < rn)
- {
- /* r > 0, need to flip sign. */
- rp[i] = ~rp[i] + 1;
- for (i++; i < rn; i++)
- rp[i] = ~rp[i];
+ mpn_neg (rp, rp, rn);
- rp[rn-1] &= mask;
+ rp[rn-1] &= mask;
- /* us is not used for anything else, so we can modify it
- here to indicate flipped sign. */
- us = -us;
- }
+ /* us is not used for anything else, so we can modify it
+ here to indicate flipped sign. */
+ us = -us;
}
}
rn = mpn_normalized_size (rp, rn);
@@ -2365,60 +2481,42 @@ mpz_divisible_p (const mpz_t n, const mpz_t d)
return mpz_div_qr (NULL, NULL, n, d, GMP_DIV_TRUNC) == 0;
}
-static unsigned long
-mpz_div_qr_ui (mpz_t q, mpz_t r,
- const mpz_t n, unsigned long d, enum mpz_div_round_mode mode)
+int
+mpz_congruent_p (const mpz_t a, const mpz_t b, const mpz_t m)
{
- mp_size_t ns, qn;
- mp_ptr qp;
- mp_limb_t rl;
- mp_size_t rs;
+ mpz_t t;
+ int res;
- ns = n->_mp_size;
- if (ns == 0)
- {
- if (q)
- q->_mp_size = 0;
- if (r)
- r->_mp_size = 0;
- return 0;
- }
+ /* a == b (mod 0) iff a == b */
+ if (mpz_sgn (m) == 0)
+ return (mpz_cmp (a, b) == 0);
- qn = GMP_ABS (ns);
- if (q)
- qp = MPZ_REALLOC (q, qn);
- else
- qp = NULL;
+ mpz_init (t);
+ mpz_sub (t, a, b);
+ res = mpz_divisible_p (t, m);
+ mpz_clear (t);
- rl = mpn_div_qr_1 (qp, n->_mp_d, qn, d);
- assert (rl < d);
+ return res;
+}
- rs = rl > 0;
- rs = (ns < 0) ? -rs : rs;
+static unsigned long
+mpz_div_qr_ui (mpz_t q, mpz_t r,
+ const mpz_t n, unsigned long d, enum mpz_div_round_mode mode)
+{
+ unsigned long ret;
+ mpz_t rr, dd;
- if (rl > 0 && ( (mode == GMP_DIV_FLOOR && ns < 0)
- || (mode == GMP_DIV_CEIL && ns >= 0)))
- {
- if (q)
- gmp_assert_nocarry (mpn_add_1 (qp, qp, qn, 1));
- rl = d - rl;
- rs = -rs;
- }
+ mpz_init (rr);
+ mpz_init_set_ui (dd, d);
+ mpz_div_qr (q, rr, n, dd, mode);
+ mpz_clear (dd);
+ ret = mpz_get_ui (rr);
if (r)
- {
- r->_mp_d[0] = rl;
- r->_mp_size = rs;
- }
- if (q)
- {
- qn -= (qp[qn-1] == 0);
- assert (qn == 0 || qp[qn-1] > 0);
+ mpz_swap (r, rr);
+ mpz_clear (rr);
- q->_mp_size = (ns < 0) ? - qn : qn;
- }
-
- return rl;
+ return ret;
}
unsigned long
@@ -2557,53 +2655,31 @@ mpn_gcd_11 (mp_limb_t u, mp_limb_t v)
unsigned long
mpz_gcd_ui (mpz_t g, const mpz_t u, unsigned long v)
{
- mp_size_t un;
+ mpz_t t;
+ mpz_init_set_ui(t, v);
+ mpz_gcd (t, u, t);
+ if (v > 0)
+ v = mpz_get_ui (t);
- if (v == 0)
- {
- if (g)
- mpz_abs (g, u);
- }
- else
- {
- un = GMP_ABS (u->_mp_size);
- if (un != 0)
- v = mpn_gcd_11 (mpn_div_qr_1 (NULL, u->_mp_d, un, v), v);
+ if (g)
+ mpz_swap (t, g);
- if (g)
- mpz_set_ui (g, v);
- }
+ mpz_clear (t);
return v;
}
static mp_bitcnt_t
-mpz_make_odd (mpz_t r, const mpz_t u)
+mpz_make_odd (mpz_t r)
{
- mp_size_t un, rn, i;
- mp_ptr rp;
- unsigned shift;
-
- un = GMP_ABS (u->_mp_size);
- assert (un > 0);
-
- for (i = 0; u->_mp_d[i] == 0; i++)
- ;
+ mp_bitcnt_t shift;
- gmp_ctz (shift, u->_mp_d[i]);
+ assert (r->_mp_size > 0);
+ /* Count trailing zeros, equivalent to mpn_scan1, because we know that there is a 1 */
+ shift = mpn_common_scan (r->_mp_d[0], 0, r->_mp_d, 0, 0);
+ mpz_tdiv_q_2exp (r, r, shift);
- rn = un - i;
- rp = MPZ_REALLOC (r, rn);
- if (shift > 0)
- {
- mpn_rshift (rp, u->_mp_d + i, rn, shift);
- rn -= (rp[rn-1] == 0);
- }
- else
- mpn_copyi (rp, u->_mp_d + i, rn);
-
- r->_mp_size = rn;
- return i * GMP_LIMB_BITS + shift;
+ return shift;
}
void
@@ -2626,8 +2702,10 @@ mpz_gcd (mpz_t g, const mpz_t u, const mpz_t v)
mpz_init (tu);
mpz_init (tv);
- uz = mpz_make_odd (tu, u);
- vz = mpz_make_odd (tv, v);
+ mpz_abs (tu, u);
+ uz = mpz_make_odd (tu);
+ mpz_abs (tv, v);
+ vz = mpz_make_odd (tv);
gz = GMP_MIN (uz, vz);
if (tu->_mp_size < tv->_mp_size)
@@ -2643,7 +2721,7 @@ mpz_gcd (mpz_t g, const mpz_t u, const mpz_t v)
{
int c;
- mpz_make_odd (tu, tu);
+ mpz_make_odd (tu);
c = mpz_cmp (tu, tv);
if (c == 0)
{
@@ -2680,7 +2758,7 @@ mpz_gcdext (mpz_t g, mpz_t s, mpz_t t, const mpz_t u, const mpz_t v)
signed long sign = mpz_sgn (v);
mpz_abs (g, v);
if (s)
- mpz_set_ui (s, 0);
+ s->_mp_size = 0;
if (t)
mpz_set_si (t, sign);
return;
@@ -2694,7 +2772,7 @@ mpz_gcdext (mpz_t g, mpz_t s, mpz_t t, const mpz_t u, const mpz_t v)
if (s)
mpz_set_si (s, sign);
if (t)
- mpz_set_ui (t, 0);
+ t->_mp_size = 0;
return;
}
@@ -2705,8 +2783,10 @@ mpz_gcdext (mpz_t g, mpz_t s, mpz_t t, const mpz_t u, const mpz_t v)
mpz_init (t0);
mpz_init (t1);
- uz = mpz_make_odd (tu, u);
- vz = mpz_make_odd (tv, v);
+ mpz_abs (tu, u);
+ uz = mpz_make_odd (tu);
+ mpz_abs (tv, v);
+ vz = mpz_make_odd (tv);
gz = GMP_MIN (uz, vz);
uz -= gz;
@@ -2754,7 +2834,7 @@ mpz_gcdext (mpz_t g, mpz_t s, mpz_t t, const mpz_t u, const mpz_t v)
if (tu->_mp_size > 0)
{
mp_bitcnt_t shift;
- shift = mpz_make_odd (tu, tu);
+ shift = mpz_make_odd (tu);
mpz_mul_2exp (t0, t0, shift);
mpz_mul_2exp (s0, s0, shift);
power += shift;
@@ -2777,7 +2857,7 @@ mpz_gcdext (mpz_t g, mpz_t s, mpz_t t, const mpz_t u, const mpz_t v)
mpz_add (t0, t0, t1);
mpz_add (s0, s0, s1);
- shift = mpz_make_odd (tv, tv);
+ shift = mpz_make_odd (tv);
mpz_mul_2exp (t1, t1, shift);
mpz_mul_2exp (s1, s1, shift);
}
@@ -2787,7 +2867,7 @@ mpz_gcdext (mpz_t g, mpz_t s, mpz_t t, const mpz_t u, const mpz_t v)
mpz_add (t1, t0, t1);
mpz_add (s1, s0, s1);
- shift = mpz_make_odd (tu, tu);
+ shift = mpz_make_odd (tu);
mpz_mul_2exp (t0, t0, shift);
mpz_mul_2exp (s0, s0, shift);
}
@@ -2817,8 +2897,9 @@ mpz_gcdext (mpz_t g, mpz_t s, mpz_t t, const mpz_t u, const mpz_t v)
mpz_sub (s0, s0, s1);
mpz_add (t0, t0, t1);
}
- mpz_divexact_ui (s0, s0, 2);
- mpz_divexact_ui (t0, t0, 2);
+ assert (mpz_even_p (t0) && mpz_even_p (s0));
+ mpz_tdiv_q_2exp (s0, s0, 1);
+ mpz_tdiv_q_2exp (t0, t0, 1);
}
/* Arrange so that |s| < |u| / 2g */
@@ -2925,12 +3006,16 @@ mpz_pow_ui (mpz_t r, const mpz_t b, unsigned long e)
mpz_t tr;
mpz_init_set_ui (tr, 1);
- for (bit = GMP_ULONG_HIGHBIT; bit > 0; bit >>= 1)
+ bit = GMP_ULONG_HIGHBIT;
+ do
{
mpz_mul (tr, tr, tr);
if (e & bit)
mpz_mul (tr, tr, b);
+ bit >>= 1;
}
+ while (bit > 0);
+
mpz_swap (r, tr);
mpz_clear (tr);
}
@@ -2939,6 +3024,7 @@ void
mpz_ui_pow_ui (mpz_t r, unsigned long blimb, unsigned long e)
{
mpz_t b;
+
mpz_init_set_ui (b, blimb);
mpz_pow_ui (r, b, e);
mpz_clear (b);
@@ -2986,7 +3072,7 @@ mpz_powm (mpz_t r, const mpz_t b, const mpz_t e, const mpz_t m)
if (e->_mp_size < 0)
{
if (!mpz_invert (base, b, m))
- gmp_die ("mpz_powm: Negative exponent and non-invertibe base.");
+ gmp_die ("mpz_powm: Negative exponent and non-invertible base.");
}
else
{
@@ -3013,12 +3099,13 @@ mpz_powm (mpz_t r, const mpz_t b, const mpz_t e, const mpz_t m)
}
mpz_init_set_ui (tr, 1);
- while (en-- > 0)
+ while (--en >= 0)
{
mp_limb_t w = e->_mp_d[en];
mp_limb_t bit;
- for (bit = GMP_LIMB_HIGHBIT; bit > 0; bit >>= 1)
+ bit = GMP_LIMB_HIGHBIT;
+ do
{
mpz_mul (tr, tr, tr);
if (w & bit)
@@ -3028,7 +3115,9 @@ mpz_powm (mpz_t r, const mpz_t b, const mpz_t e, const mpz_t m)
mpn_div_qr_preinv (NULL, tr->_mp_d, tr->_mp_size, mp, mn, &minv);
tr->_mp_size = mpn_normalized_size (tr->_mp_d, mn);
}
+ bit >>= 1;
}
+ while (bit > 0);
}
/* Final reduction */
@@ -3050,6 +3139,7 @@ void
mpz_powm_ui (mpz_t r, const mpz_t b, unsigned long elimb, const mpz_t m)
{
mpz_t e;
+
mpz_init_set_ui (e, elimb);
mpz_powm (r, b, e, m);
mpz_clear (e);
@@ -3063,20 +3153,21 @@ mpz_rootrem (mpz_t x, mpz_t r, const mpz_t y, unsigned long z)
mpz_t t, u;
sgn = y->_mp_size < 0;
- if (sgn && (z & 1) == 0)
+ if ((~z & sgn) != 0)
gmp_die ("mpz_rootrem: Negative argument, with even root.");
if (z == 0)
gmp_die ("mpz_rootrem: Zeroth root.");
if (mpz_cmpabs_ui (y, 1) <= 0) {
- mpz_set (x, y);
+ if (x)
+ mpz_set (x, y);
if (r)
r->_mp_size = 0;
return;
}
- mpz_init (t);
mpz_init (u);
+ mpz_init (t);
mpz_setbit (t, mpz_sizeinbase (y, 2) / z + 1);
if (z == 2) /* simplify sqrt loop: z-1 == 1 */
@@ -3109,7 +3200,8 @@ mpz_rootrem (mpz_t x, mpz_t r, const mpz_t y, unsigned long z)
mpz_pow_ui (t, u, z);
mpz_sub (r, y, t);
}
- mpz_swap (x, u);
+ if (x)
+ mpz_swap (x, u);
mpz_clear (u);
mpz_clear (t);
}
@@ -3141,19 +3233,69 @@ mpz_sqrt (mpz_t s, const mpz_t u)
mpz_rootrem (s, NULL, u, 2);
}
+int
+mpz_perfect_square_p (const mpz_t u)
+{
+ if (u->_mp_size <= 0)
+ return (u->_mp_size == 0);
+ else
+ return mpz_root (NULL, u, 2);
+}
+
+int
+mpn_perfect_square_p (mp_srcptr p, mp_size_t n)
+{
+ mpz_t t;
+
+ assert (n > 0);
+ assert (p [n-1] != 0);
+ return mpz_root (NULL, mpz_roinit_normal_n (t, p, n), 2);
+}
+
+mp_size_t
+mpn_sqrtrem (mp_ptr sp, mp_ptr rp, mp_srcptr p, mp_size_t n)
+{
+ mpz_t s, r, u;
+ mp_size_t res;
+
+ assert (n > 0);
+ assert (p [n-1] != 0);
+
+ mpz_init (r);
+ mpz_init (s);
+ mpz_rootrem (s, r, mpz_roinit_normal_n (u, p, n), 2);
+
+ assert (s->_mp_size == (n+1)/2);
+ mpn_copyd (sp, s->_mp_d, s->_mp_size);
+ mpz_clear (s);
+ res = r->_mp_size;
+ if (rp)
+ mpn_copyd (rp, r->_mp_d, res);
+ mpz_clear (r);
+ return res;
+}
/* Combinatorics */
void
+mpz_mfac_uiui (mpz_t x, unsigned long n, unsigned long m)
+{
+ mpz_set_ui (x, n + (n == 0));
+ if (m + 1 < 2) return;
+ while (n > m + 1)
+ mpz_mul_ui (x, x, n -= m);
+}
+
+void
+mpz_2fac_ui (mpz_t x, unsigned long n)
+{
+ mpz_mfac_uiui (x, n, 2);
+}
+
+void
mpz_fac_ui (mpz_t x, unsigned long n)
{
- if (n < 2) {
- mpz_set_ui (x, 1);
- return;
- }
- mpz_set_ui (x, n);
- for (;--n > 1;)
- mpz_mul_ui (x, x, n);
+ mpz_mfac_uiui (x, n, 1);
}
void
@@ -3161,25 +3303,299 @@ mpz_bin_uiui (mpz_t r, unsigned long n, unsigned long k)
{
mpz_t t;
- if (k > n) {
- r->_mp_size = 0;
- return;
- }
- mpz_fac_ui (r, n);
+ mpz_set_ui (r, k <= n);
+
+ if (k > (n >> 1))
+ k = (k <= n) ? n - k : 0;
+
mpz_init (t);
mpz_fac_ui (t, k);
- mpz_divexact (r, r, t);
- mpz_fac_ui (t, n - k);
+
+ for (; k > 0; --k)
+ mpz_mul_ui (r, r, n--);
+
mpz_divexact (r, r, t);
mpz_clear (t);
}
+/* Primality testing */
+
+/* Computes Kronecker (a/b) with odd b, a!=0 and GCD(a,b) = 1 */
+/* Adapted from JACOBI_BASE_METHOD==4 in mpn/generic/jacbase.c */
+static int
+gmp_jacobi_coprime (mp_limb_t a, mp_limb_t b)
+{
+ int c, bit = 0;
+
+ assert (b & 1);
+ assert (a != 0);
+ /* assert (mpn_gcd_11 (a, b) == 1); */
+
+ /* Below, we represent a and b shifted right so that the least
+ significant one bit is implicit. */
+ b >>= 1;
+
+ gmp_ctz(c, a);
+ a >>= 1;
+
+ do
+ {
+ a >>= c;
+ /* (2/b) = -1 if b = 3 or 5 mod 8 */
+ bit ^= c & (b ^ (b >> 1));
+ if (a < b)
+ {
+ bit ^= a & b;
+ a = b - a;
+ b -= a;
+ }
+ else
+ {
+ a -= b;
+ assert (a != 0);
+ }
+
+ gmp_ctz(c, a);
+ ++c;
+ }
+ while (b > 0);
+
+ return bit & 1 ? -1 : 1;
+}
+
+static void
+gmp_lucas_step_k_2k (mpz_t V, mpz_t Qk, const mpz_t n)
+{
+ mpz_mod (Qk, Qk, n);
+ /* V_{2k} <- V_k ^ 2 - 2Q^k */
+ mpz_mul (V, V, V);
+ mpz_submul_ui (V, Qk, 2);
+ mpz_tdiv_r (V, V, n);
+ /* Q^{2k} = (Q^k)^2 */
+ mpz_mul (Qk, Qk, Qk);
+}
+
+/* Computes V_k, Q^k (mod n) for the Lucas' sequence */
+/* with P=1, Q=Q; k = (n>>b0)|1. */
+/* Requires an odd n > 4; b0 > 0; -2*Q must not overflow a long */
+/* Returns (U_k == 0) and sets V=V_k and Qk=Q^k. */
+static int
+gmp_lucas_mod (mpz_t V, mpz_t Qk, long Q,
+ mp_bitcnt_t b0, const mpz_t n)
+{
+ mp_bitcnt_t bs;
+ mpz_t U;
+ int res;
+
+ assert (b0 > 0);
+ assert (Q <= - (LONG_MIN / 2));
+ assert (Q >= - (LONG_MAX / 2));
+ assert (mpz_cmp_ui (n, 4) > 0);
+ assert (mpz_odd_p (n));
+
+ mpz_init_set_ui (U, 1); /* U1 = 1 */
+ mpz_set_ui (V, 1); /* V1 = 1 */
+ mpz_set_si (Qk, Q);
+
+ for (bs = mpz_sizeinbase (n, 2) - 1; --bs >= b0;)
+ {
+ /* U_{2k} <- U_k * V_k */
+ mpz_mul (U, U, V);
+ /* V_{2k} <- V_k ^ 2 - 2Q^k */
+ /* Q^{2k} = (Q^k)^2 */
+ gmp_lucas_step_k_2k (V, Qk, n);
+
+ /* A step k->k+1 is performed if the bit in $n$ is 1 */
+ /* mpz_tstbit(n,bs) or the the bit is 0 in $n$ but */
+ /* should be 1 in $n+1$ (bs == b0) */
+ if (b0 == bs || mpz_tstbit (n, bs))
+ {
+ /* Q^{k+1} <- Q^k * Q */
+ mpz_mul_si (Qk, Qk, Q);
+ /* U_{k+1} <- (U_k + V_k) / 2 */
+ mpz_swap (U, V); /* Keep in V the old value of U_k */
+ mpz_add (U, U, V);
+ /* We have to compute U/2, so we need an even value, */
+ /* equivalent (mod n) */
+ if (mpz_odd_p (U))
+ mpz_add (U, U, n);
+ mpz_tdiv_q_2exp (U, U, 1);
+ /* V_{k+1} <-(D*U_k + V_k) / 2 =
+ U_{k+1} + (D-1)/2*U_k = U_{k+1} - 2Q*U_k */
+ mpz_mul_si (V, V, -2*Q);
+ mpz_add (V, U, V);
+ mpz_tdiv_r (V, V, n);
+ }
+ mpz_tdiv_r (U, U, n);
+ }
+
+ res = U->_mp_size == 0;
+ mpz_clear (U);
+ return res;
+}
+
+/* Performs strong Lucas' test on x, with parameters suggested */
+/* for the BPSW test. Qk is only passed to recycle a variable. */
+/* Requires GCD (x,6) = 1.*/
+static int
+gmp_stronglucas (const mpz_t x, mpz_t Qk)
+{
+ mp_bitcnt_t b0;
+ mpz_t V, n;
+ mp_limb_t maxD, D; /* The absolute value is stored. */
+ long Q;
+ mp_limb_t tl;
+
+ /* Test on the absolute value. */
+ mpz_roinit_normal_n (n, x->_mp_d, GMP_ABS (x->_mp_size));
+
+ assert (mpz_odd_p (n));
+ /* assert (mpz_gcd_ui (NULL, n, 6) == 1); */
+ if (mpz_root (Qk, n, 2))
+ return 0; /* A square is composite. */
+
+ /* Check Ds up to square root (in case, n is prime)
+ or avoid overflows */
+ maxD = (Qk->_mp_size == 1) ? Qk->_mp_d [0] - 1 : GMP_LIMB_MAX;
+
+ D = 3;
+ /* Search a D such that (D/n) = -1 in the sequence 5,-7,9,-11,.. */
+ /* For those Ds we have (D/n) = (n/|D|) */
+ do
+ {
+ if (D >= maxD)
+ return 1 + (D != GMP_LIMB_MAX); /* (1 + ! ~ D) */
+ D += 2;
+ tl = mpz_tdiv_ui (n, D);
+ if (tl == 0)
+ return 0;
+ }
+ while (gmp_jacobi_coprime (tl, D) == 1);
+
+ mpz_init (V);
+
+ /* n-(D/n) = n+1 = d*2^{b0}, with d = (n>>b0) | 1 */
+ b0 = mpz_scan0 (n, 0);
+
+ /* D= P^2 - 4Q; P = 1; Q = (1-D)/4 */
+ Q = (D & 2) ? (long) (D >> 2) + 1 : -(long) (D >> 2);
+
+ if (! gmp_lucas_mod (V, Qk, Q, b0, n)) /* If Ud != 0 */
+ while (V->_mp_size != 0 && --b0 != 0) /* while Vk != 0 */
+ /* V <- V ^ 2 - 2Q^k */
+ /* Q^{2k} = (Q^k)^2 */
+ gmp_lucas_step_k_2k (V, Qk, n);
+
+ mpz_clear (V);
+ return (b0 != 0);
+}
+
+static int
+gmp_millerrabin (const mpz_t n, const mpz_t nm1, mpz_t y,
+ const mpz_t q, mp_bitcnt_t k)
+{
+ assert (k > 0);
+
+ /* Caller must initialize y to the base. */
+ mpz_powm (y, y, q, n);
+
+ if (mpz_cmp_ui (y, 1) == 0 || mpz_cmp (y, nm1) == 0)
+ return 1;
+
+ while (--k > 0)
+ {
+ mpz_powm_ui (y, y, 2, n);
+ if (mpz_cmp (y, nm1) == 0)
+ return 1;
+ /* y == 1 means that the previous y was a non-trivial square root
+ of 1 (mod n). y == 0 means that n is a power of the base.
+ In either case, n is not prime. */
+ if (mpz_cmp_ui (y, 1) <= 0)
+ return 0;
+ }
+ return 0;
+}
+
+/* This product is 0xc0cfd797, and fits in 32 bits. */
+#define GMP_PRIME_PRODUCT \
+ (3UL*5UL*7UL*11UL*13UL*17UL*19UL*23UL*29UL)
+
+/* Bit (p+1)/2 is set, for each odd prime <= 61 */
+#define GMP_PRIME_MASK 0xc96996dcUL
+
+int
+mpz_probab_prime_p (const mpz_t n, int reps)
+{
+ mpz_t nm1;
+ mpz_t q;
+ mpz_t y;
+ mp_bitcnt_t k;
+ int is_prime;
+ int j;
+
+ /* Note that we use the absolute value of n only, for compatibility
+ with the real GMP. */
+ if (mpz_even_p (n))
+ return (mpz_cmpabs_ui (n, 2) == 0) ? 2 : 0;
+
+ /* Above test excludes n == 0 */
+ assert (n->_mp_size != 0);
+
+ if (mpz_cmpabs_ui (n, 64) < 0)
+ return (GMP_PRIME_MASK >> (n->_mp_d[0] >> 1)) & 2;
+
+ if (mpz_gcd_ui (NULL, n, GMP_PRIME_PRODUCT) != 1)
+ return 0;
+
+ /* All prime factors are >= 31. */
+ if (mpz_cmpabs_ui (n, 31*31) < 0)
+ return 2;
+
+ mpz_init (nm1);
+ mpz_init (q);
+
+ /* Find q and k, where q is odd and n = 1 + 2**k * q. */
+ mpz_abs (nm1, n);
+ nm1->_mp_d[0] -= 1;
+ k = mpz_scan1 (nm1, 0);
+ mpz_tdiv_q_2exp (q, nm1, k);
+
+ /* BPSW test */
+ mpz_init_set_ui (y, 2);
+ is_prime = gmp_millerrabin (n, nm1, y, q, k) && gmp_stronglucas (n, y);
+ reps -= 24; /* skip the first 24 repetitions */
+
+ /* Use Miller-Rabin, with a deterministic sequence of bases, a[j] =
+ j^2 + j + 41 using Euler's polynomial. We potentially stop early,
+ if a[j] >= n - 1. Since n >= 31*31, this can happen only if reps >
+ 30 (a[30] == 971 > 31*31 == 961). */
+
+ for (j = 0; is_prime & (j < reps); j++)
+ {
+ mpz_set_ui (y, (unsigned long) j*j+j+41);
+ if (mpz_cmp (y, nm1) >= 0)
+ {
+ /* Don't try any further bases. This "early" break does not affect
+ the result for any reasonable reps value (<=5000 was tested) */
+ assert (j >= 30);
+ break;
+ }
+ is_prime = gmp_millerrabin (n, nm1, y, q, k);
+ }
+ mpz_clear (nm1);
+ mpz_clear (q);
+ mpz_clear (y);
+
+ return is_prime;
+}
+
+
/* Logical operations and bit manipulation. */
/* Numbers are treated as if represented in two's complement (and
infinitely sign extended). For a negative values we get the two's
- complement from -x = ~x + 1, where ~ is bitwise complementt.
+ complement from -x = ~x + 1, where ~ is bitwise complement.
Negation transforms
xxxx10...0
@@ -3223,9 +3639,9 @@ mpz_tstbit (const mpz_t d, mp_bitcnt_t bit_index)
{
/* d < 0. Check if any of the bits below is set: If so, our bit
must be complemented. */
- if (shift > 0 && (w << (GMP_LIMB_BITS - shift)) > 0)
+ if (shift > 0 && (mp_limb_t) (w << (GMP_LIMB_BITS - shift)) > 0)
return bit ^ 1;
- while (limb_index-- > 0)
+ while (--limb_index >= 0)
if (d->_mp_d[limb_index] > 0)
return bit ^ 1;
}
@@ -3290,7 +3706,7 @@ mpz_abs_sub_bit (mpz_t d, mp_bitcnt_t bit_index)
gmp_assert_nocarry (mpn_sub_1 (dp + limb_index, dp + limb_index,
dn - limb_index, bit));
- dn -= (dp[dn-1] == 0);
+ dn = mpn_normalized_size (dp, dn);
d->_mp_size = (d->_mp_size < 0) ? - dn : dn;
}
@@ -3330,8 +3746,8 @@ mpz_combit (mpz_t d, mp_bitcnt_t bit_index)
void
mpz_com (mpz_t r, const mpz_t u)
{
- mpz_neg (r, u);
- mpz_sub_ui (r, r, 1);
+ mpz_add_ui (r, u, 1);
+ mpz_neg (r, r);
}
void
@@ -3368,12 +3784,13 @@ mpz_and (mpz_t r, const mpz_t u, const mpz_t v)
/* If the smaller input is positive, higher limbs don't matter. */
rn = vx ? un : vn;
- rp = MPZ_REALLOC (r, rn + rc);
+ rp = MPZ_REALLOC (r, rn + (mp_size_t) rc);
up = u->_mp_d;
vp = v->_mp_d;
- for (i = 0; i < vn; i++)
+ i = 0;
+ do
{
ul = (up[i] ^ ux) + uc;
uc = ul < uc;
@@ -3385,6 +3802,7 @@ mpz_and (mpz_t r, const mpz_t u, const mpz_t v)
rc = rl < rc;
rp[i] = rl;
}
+ while (++i < vn);
assert (vc == 0);
for (; i < rn; i++)
@@ -3439,12 +3857,13 @@ mpz_ior (mpz_t r, const mpz_t u, const mpz_t v)
don't matter. */
rn = vx ? vn : un;
- rp = MPZ_REALLOC (r, rn + rc);
+ rp = MPZ_REALLOC (r, rn + (mp_size_t) rc);
up = u->_mp_d;
vp = v->_mp_d;
- for (i = 0; i < vn; i++)
+ i = 0;
+ do
{
ul = (up[i] ^ ux) + uc;
uc = ul < uc;
@@ -3456,6 +3875,7 @@ mpz_ior (mpz_t r, const mpz_t u, const mpz_t v)
rc = rl < rc;
rp[i] = rl;
}
+ while (++i < vn);
assert (vc == 0);
for (; i < rn; i++)
@@ -3506,12 +3926,13 @@ mpz_xor (mpz_t r, const mpz_t u, const mpz_t v)
vx = -vc;
rx = -rc;
- rp = MPZ_REALLOC (r, un + rc);
+ rp = MPZ_REALLOC (r, un + (mp_size_t) rc);
up = u->_mp_d;
vp = v->_mp_d;
- for (i = 0; i < vn; i++)
+ i = 0;
+ do
{
ul = (up[i] ^ ux) + uc;
uc = ul < uc;
@@ -3523,6 +3944,7 @@ mpz_xor (mpz_t r, const mpz_t u, const mpz_t v)
rc = rl < rc;
rp[i] = rl;
}
+ while (++i < vn);
assert (vc == 0);
for (; i < un; i++)
@@ -3548,32 +3970,45 @@ gmp_popcount_limb (mp_limb_t x)
unsigned c;
/* Do 16 bits at a time, to avoid limb-sized constants. */
- for (c = 0; x > 0; x >>= 16)
+ int LOCAL_SHIFT_BITS = 16;
+ for (c = 0; x > 0;)
{
- unsigned w = ((x >> 1) & 0x5555) + (x & 0x5555);
+ unsigned w = x - ((x >> 1) & 0x5555);
w = ((w >> 2) & 0x3333) + (w & 0x3333);
- w = ((w >> 4) & 0x0f0f) + (w & 0x0f0f);
- w = (w >> 8) + (w & 0x00ff);
+ w = (w >> 4) + w;
+ w = ((w >> 8) & 0x000f) + (w & 0x000f);
c += w;
+ if (GMP_LIMB_BITS > LOCAL_SHIFT_BITS)
+ x >>= LOCAL_SHIFT_BITS;
+ else
+ x = 0;
}
return c;
}
mp_bitcnt_t
-mpz_popcount (const mpz_t u)
+mpn_popcount (mp_srcptr p, mp_size_t n)
{
- mp_size_t un, i;
+ mp_size_t i;
mp_bitcnt_t c;
+ for (c = 0, i = 0; i < n; i++)
+ c += gmp_popcount_limb (p[i]);
+
+ return c;
+}
+
+mp_bitcnt_t
+mpz_popcount (const mpz_t u)
+{
+ mp_size_t un;
+
un = u->_mp_size;
if (un < 0)
return ~(mp_bitcnt_t) 0;
- for (c = 0, i = 0; i < un; i++)
- c += gmp_popcount_limb (u->_mp_d[i]);
-
- return c;
+ return mpn_popcount (u->_mp_d, un);
}
mp_bitcnt_t
@@ -3590,16 +4025,13 @@ mpz_hamdist (const mpz_t u, const mpz_t v)
if ( (un ^ vn) < 0)
return ~(mp_bitcnt_t) 0;
- if (un < 0)
+ comp = - (uc = vc = (un < 0));
+ if (uc)
{
assert (vn < 0);
un = -un;
vn = -vn;
- uc = vc = 1;
- comp = - (mp_limb_t) 1;
}
- else
- uc = vc = comp = 0;
up = u->_mp_d;
vp = v->_mp_d;
@@ -3635,10 +4067,8 @@ mpz_scan1 (const mpz_t u, mp_bitcnt_t starting_bit)
{
mp_ptr up;
mp_size_t us, un, i;
- mp_limb_t limb, ux, uc;
- unsigned cnt;
+ mp_limb_t limb, ux;
- up = u->_mp_d;
us = u->_mp_size;
un = GMP_ABS (us);
i = starting_bit / GMP_LIMB_BITS;
@@ -3648,36 +4078,24 @@ mpz_scan1 (const mpz_t u, mp_bitcnt_t starting_bit)
if (i >= un)
return (us >= 0 ? ~(mp_bitcnt_t) 0 : starting_bit);
- if (us < 0)
- {
- ux = GMP_LIMB_MAX;
- uc = mpn_zero_p (up, i);
- }
- else
- ux = uc = 0;
-
- limb = (ux ^ up[i]) + uc;
- uc = limb < uc;
-
- /* Mask to 0 all bits before starting_bit, thus ignoring them. */
- limb &= (GMP_LIMB_MAX << (starting_bit % GMP_LIMB_BITS));
+ up = u->_mp_d;
+ ux = 0;
+ limb = up[i];
- while (limb == 0)
+ if (starting_bit != 0)
{
- i++;
- if (i == un)
+ if (us < 0)
{
- assert (uc == 0);
- /* For the u > 0 case, this can happen only for the first
- masked limb. For the u < 0 case, it happens when the
- highest limbs of the absolute value are all ones. */
- return (us >= 0 ? ~(mp_bitcnt_t) 0 : un * GMP_LIMB_BITS);
+ ux = mpn_zero_p (up, i);
+ limb = ~ limb + ux;
+ ux = - (mp_limb_t) (limb >= ux);
}
- limb = (ux ^ up[i]) + uc;
- uc = limb < uc;
+
+ /* Mask to 0 all bits before starting_bit, thus ignoring them. */
+ limb &= GMP_LIMB_MAX << (starting_bit % GMP_LIMB_BITS);
}
- gmp_ctz (cnt, limb);
- return (mp_bitcnt_t) i * GMP_LIMB_BITS + cnt;
+
+ return mpn_common_scan (limb, i, up, un, ux);
}
mp_bitcnt_t
@@ -3685,46 +4103,28 @@ mpz_scan0 (const mpz_t u, mp_bitcnt_t starting_bit)
{
mp_ptr up;
mp_size_t us, un, i;
- mp_limb_t limb, ux, uc;
- unsigned cnt;
+ mp_limb_t limb, ux;
- up = u->_mp_d;
us = u->_mp_size;
+ ux = - (mp_limb_t) (us >= 0);
un = GMP_ABS (us);
i = starting_bit / GMP_LIMB_BITS;
/* When past end, there's an immediate 0 bit for u>=0, or no 0 bits for
u<0. Notice this test picks up all cases of u==0 too. */
if (i >= un)
- return (us >= 0 ? starting_bit : ~(mp_bitcnt_t) 0);
+ return (ux ? starting_bit : ~(mp_bitcnt_t) 0);
- if (us < 0)
- {
- ux = GMP_LIMB_MAX;
- uc = mpn_zero_p (up, i);
- }
- else
- ux = uc = 0;
+ up = u->_mp_d;
+ limb = up[i] ^ ux;
- limb = (ux ^ up[i]) + uc;
- uc = limb < uc;
+ if (ux == 0)
+ limb -= mpn_zero_p (up, i); /* limb = ~(~limb + zero_p) */
- /* Mask to 1 all bits before starting_bit, thus ignoring them. */
- limb |= ((mp_limb_t) 1 << (starting_bit % GMP_LIMB_BITS)) - 1;
+ /* Mask all bits before starting_bit, thus ignoring them. */
+ limb &= GMP_LIMB_MAX << (starting_bit % GMP_LIMB_BITS);
- while (limb == GMP_LIMB_MAX)
- {
- i++;
- if (i == un)
- {
- assert (uc == 0);
- return (us >= 0 ? un * GMP_LIMB_BITS : ~(mp_bitcnt_t) 0);
- }
- limb = (ux ^ up[i]) + uc;
- uc = limb < uc;
- }
- gmp_ctz (cnt, ~limb);
- return (mp_bitcnt_t) i * GMP_LIMB_BITS + cnt;
+ return mpn_common_scan (limb, i, up, un, ux);
}
@@ -3741,7 +4141,7 @@ mpz_sizeinbase (const mpz_t u, int base)
size_t ndigits;
assert (base >= 2);
- assert (base <= 36);
+ assert (base <= 62);
un = GMP_ABS (u->_mp_size);
if (un == 0)
@@ -3770,11 +4170,15 @@ mpz_sizeinbase (const mpz_t u, int base)
mpn_copyi (tp, up, un);
mpn_div_qr_1_invert (&bi, base);
- for (ndigits = 0; un > 0; ndigits++)
+ ndigits = 0;
+ do
{
+ ndigits++;
mpn_div_qr_1_preinv (tp, tp, un, &bi);
un -= (tp[un-1] == 0);
}
+ while (un > 0);
+
gmp_free (tp);
return ndigits;
}
@@ -3787,23 +4191,26 @@ mpz_get_str (char *sp, int base, const mpz_t u)
mp_size_t un;
size_t i, sn;
- if (base >= 0)
+ digits = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
+ if (base > 1)
{
- digits = "0123456789abcdefghijklmnopqrstuvwxyz";
+ if (base <= 36)
+ digits = "0123456789abcdefghijklmnopqrstuvwxyz";
+ else if (base > 62)
+ return NULL;
}
+ else if (base >= -1)
+ base = 10;
else
{
base = -base;
- digits = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
+ if (base > 36)
+ return NULL;
}
- if (base <= 1)
- base = 10;
- if (base > 36)
- return NULL;
sn = 1 + mpz_sizeinbase (u, base);
if (!sp)
- sp = gmp_xalloc (1 + sn);
+ sp = (char *) gmp_xalloc (1 + sn);
un = GMP_ABS (u->_mp_size);
@@ -3847,41 +4254,34 @@ mpz_get_str (char *sp, int base, const mpz_t u)
int
mpz_set_str (mpz_t r, const char *sp, int base)
{
- unsigned bits;
+ unsigned bits, value_of_a;
mp_size_t rn, alloc;
mp_ptr rp;
- size_t sn;
size_t dn;
int sign;
unsigned char *dp;
- assert (base == 0 || (base >= 2 && base <= 36));
+ assert (base == 0 || (base >= 2 && base <= 62));
while (isspace( (unsigned char) *sp))
sp++;
- if (*sp == '-')
- {
- sign = 1;
- sp++;
- }
- else
- sign = 0;
+ sign = (*sp == '-');
+ sp += sign;
if (base == 0)
{
- if (*sp == '0')
+ if (sp[0] == '0')
{
- sp++;
- if (*sp == 'x' || *sp == 'X')
+ if (sp[1] == 'x' || sp[1] == 'X')
{
base = 16;
- sp++;
+ sp += 2;
}
- else if (*sp == 'b' || *sp == 'B')
+ else if (sp[1] == 'b' || sp[1] == 'B')
{
base = 2;
- sp++;
+ sp += 2;
}
else
base = 8;
@@ -3890,25 +4290,30 @@ mpz_set_str (mpz_t r, const char *sp, int base)
base = 10;
}
- sn = strlen (sp);
- dp = gmp_xalloc (sn + (sn == 0));
+ if (!*sp)
+ {
+ r->_mp_size = 0;
+ return -1;
+ }
+ dp = (unsigned char *) gmp_xalloc (strlen (sp));
+ value_of_a = (base > 36) ? 36 : 10;
for (dn = 0; *sp; sp++)
{
unsigned digit;
if (isspace ((unsigned char) *sp))
continue;
- if (*sp >= '0' && *sp <= '9')
+ else if (*sp >= '0' && *sp <= '9')
digit = *sp - '0';
else if (*sp >= 'a' && *sp <= 'z')
- digit = *sp - 'a' + 10;
+ digit = *sp - 'a' + value_of_a;
else if (*sp >= 'A' && *sp <= 'Z')
digit = *sp - 'A' + 10;
else
digit = base; /* fail */
- if (digit >= base)
+ if (digit >= (unsigned) base)
{
gmp_free (dp);
r->_mp_size = 0;
@@ -3918,11 +4323,17 @@ mpz_set_str (mpz_t r, const char *sp, int base)
dp[dn++] = digit;
}
+ if (!dn)
+ {
+ gmp_free (dp);
+ r->_mp_size = 0;
+ return -1;
+ }
bits = mpn_base_power_of_two_p (base);
if (bits > 0)
{
- alloc = (sn * bits + GMP_LIMB_BITS - 1) / GMP_LIMB_BITS;
+ alloc = (dn * bits + GMP_LIMB_BITS - 1) / GMP_LIMB_BITS;
rp = MPZ_REALLOC (r, alloc);
rn = mpn_set_str_bits (rp, dp, dn, bits);
}
@@ -3930,9 +4341,12 @@ mpz_set_str (mpz_t r, const char *sp, int base)
{
struct mpn_base_info info;
mpn_get_base_info (&info, base);
- alloc = (sn + info.exp - 1) / info.exp;
+ alloc = (dn + info.exp - 1) / info.exp;
rp = MPZ_REALLOC (r, alloc);
rn = mpn_set_str_other (rp, dp, dn, base, &info);
+ /* Normalization, needed for all-zero input. */
+ assert (rn > 0);
+ rn -= rp[rn-1] == 0;
}
assert (rn <= alloc);
gmp_free (dp);
@@ -3966,14 +4380,9 @@ mpz_out_str (FILE *stream, int base, const mpz_t x)
static int
gmp_detect_endian (void)
{
- static const int i = 1;
+ static const int i = 2;
const unsigned char *p = (const unsigned char *) &i;
- if (*p == 1)
- /* Little endian */
- return -1;
- else
- /* Big endian */
- return 1;
+ return 1 - *p;
}
/* Import and export. Does not support nails. */
@@ -4036,29 +4445,22 @@ mpz_import (mpz_t r, size_t count, int order, size_t size, int endian,
}
}
}
- if (bytes > 0)
+ assert (i + (bytes > 0) == rn);
+ if (limb != 0)
rp[i++] = limb;
- assert (i == rn);
+ else
+ i = mpn_normalized_size (rp, i);
- r->_mp_size = mpn_normalized_size (rp, i);
+ r->_mp_size = i;
}
void *
mpz_export (void *r, size_t *countp, int order, size_t size, int endian,
size_t nails, const mpz_t u)
{
- unsigned char *p;
- ptrdiff_t word_step;
- size_t count, k;
+ size_t count;
mp_size_t un;
- /* The current (partial) limb. */
- mp_limb_t limb;
- /* The number of bytes left to to in this limb. */
- size_t bytes;
- /* The index where the limb was read. */
- mp_size_t i;
-
if (nails != 0)
gmp_die ("mpz_import: Nails not supported.");
@@ -4066,62 +4468,90 @@ mpz_export (void *r, size_t *countp, int order, size_t size, int endian,
assert (endian >= -1 && endian <= 1);
assert (size > 0 || u->_mp_size == 0);
- un = GMP_ABS (u->_mp_size);
- if (un == 0)
- {
- if (countp)
- *countp = 0;
- return r;
- }
+ un = u->_mp_size;
+ count = 0;
+ if (un != 0)
+ {
+ size_t k;
+ unsigned char *p;
+ ptrdiff_t word_step;
+ /* The current (partial) limb. */
+ mp_limb_t limb;
+ /* The number of bytes left to to in this limb. */
+ size_t bytes;
+ /* The index where the limb was read. */
+ mp_size_t i;
- /* Count bytes in top limb. */
- for (limb = u->_mp_d[un-1], k = 0; limb > 0; k++, limb >>= CHAR_BIT)
- ;
+ un = GMP_ABS (un);
- assert (k > 0);
+ /* Count bytes in top limb. */
+ limb = u->_mp_d[un-1];
+ assert (limb != 0);
- count = (k + (un-1) * sizeof (mp_limb_t) + size - 1) / size;
+ k = (GMP_LIMB_BITS <= CHAR_BIT);
+ if (!k)
+ {
+ do {
+ int LOCAL_CHAR_BIT = CHAR_BIT;
+ k++; limb >>= LOCAL_CHAR_BIT;
+ } while (limb != 0);
+ }
+ /* else limb = 0; */
- if (!r)
- r = gmp_xalloc (count * size);
+ count = (k + (un-1) * sizeof (mp_limb_t) + size - 1) / size;
- if (endian == 0)
- endian = gmp_detect_endian ();
+ if (!r)
+ r = gmp_xalloc (count * size);
- p = (unsigned char *) r;
+ if (endian == 0)
+ endian = gmp_detect_endian ();
- word_step = (order != endian) ? 2 * size : 0;
+ p = (unsigned char *) r;
- /* Process bytes from the least significant end, so point p at the
- least significant word. */
- if (order == 1)
- {
- p += size * (count - 1);
- word_step = - word_step;
- }
+ word_step = (order != endian) ? 2 * size : 0;
- /* And at least significant byte of that word. */
- if (endian == 1)
- p += (size - 1);
+ /* Process bytes from the least significant end, so point p at the
+ least significant word. */
+ if (order == 1)
+ {
+ p += size * (count - 1);
+ word_step = - word_step;
+ }
- for (bytes = 0, i = 0, k = 0; k < count; k++, p += word_step)
- {
- size_t j;
- for (j = 0; j < size; j++, p -= (ptrdiff_t) endian)
- {
- if (bytes == 0)
- {
- if (i < un)
- limb = u->_mp_d[i++];
- bytes = sizeof (mp_limb_t);
- }
- *p = limb;
- limb >>= CHAR_BIT;
- bytes--;
- }
- }
- assert (i == un);
- assert (k == count);
+ /* And at least significant byte of that word. */
+ if (endian == 1)
+ p += (size - 1);
+
+ for (bytes = 0, i = 0, k = 0; k < count; k++, p += word_step)
+ {
+ size_t j;
+ for (j = 0; j < size; ++j, p -= (ptrdiff_t) endian)
+ {
+ if (sizeof (mp_limb_t) == 1)
+ {
+ if (i < un)
+ *p = u->_mp_d[i++];
+ else
+ *p = 0;
+ }
+ else
+ {
+ int LOCAL_CHAR_BIT = CHAR_BIT;
+ if (bytes == 0)
+ {
+ if (i < un)
+ limb = u->_mp_d[i++];
+ bytes = sizeof (mp_limb_t);
+ }
+ *p = limb;
+ limb >>= LOCAL_CHAR_BIT;
+ bytes--;
+ }
+ }
+ }
+ assert (i == un);
+ assert (k == count);
+ }
if (countp)
*countp = count;
diff --git a/lib/gmp/mini-gmp.h b/lib/gmp/mini-gmp.h
index 8c94ca2ed..45ec808c1 100644
--- a/lib/gmp/mini-gmp.h
+++ b/lib/gmp/mini-gmp.h
@@ -1,6 +1,6 @@
/* mini-gmp, a minimalistic implementation of a GNU GMP subset.
-Copyright 2011, 2012, 2013 Free Software Foundation, Inc.
+Copyright 2011-2015, 2017, 2019 Free Software Foundation, Inc.
This file is part of the GNU MP Library.
@@ -42,7 +42,11 @@ void mp_get_memory_functions (void *(**) (size_t),
void *(**) (void *, size_t, size_t),
void (**) (void *, size_t));
-typedef unsigned long mp_limb_t;
+#ifndef MINI_GMP_LIMB_TYPE
+#define MINI_GMP_LIMB_TYPE long
+#endif
+
+typedef unsigned MINI_GMP_LIMB_TYPE mp_limb_t;
typedef long mp_size_t;
typedef unsigned long mp_bitcnt_t;
@@ -64,10 +68,14 @@ typedef __mpz_struct mpz_t[1];
typedef __mpz_struct *mpz_ptr;
typedef const __mpz_struct *mpz_srcptr;
+extern const int mp_bits_per_limb;
+
void mpn_copyi (mp_ptr, mp_srcptr, mp_size_t);
void mpn_copyd (mp_ptr, mp_srcptr, mp_size_t);
+void mpn_zero (mp_ptr, mp_size_t);
int mpn_cmp (mp_srcptr, mp_srcptr, mp_size_t);
+int mpn_zero_p (mp_srcptr, mp_size_t);
mp_limb_t mpn_add_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t);
mp_limb_t mpn_add_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t);
@@ -84,10 +92,20 @@ mp_limb_t mpn_submul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t);
mp_limb_t mpn_mul (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t);
void mpn_mul_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t);
void mpn_sqr (mp_ptr, mp_srcptr, mp_size_t);
+int mpn_perfect_square_p (mp_srcptr, mp_size_t);
+mp_size_t mpn_sqrtrem (mp_ptr, mp_ptr, mp_srcptr, mp_size_t);
mp_limb_t mpn_lshift (mp_ptr, mp_srcptr, mp_size_t, unsigned int);
mp_limb_t mpn_rshift (mp_ptr, mp_srcptr, mp_size_t, unsigned int);
+mp_bitcnt_t mpn_scan0 (mp_srcptr, mp_bitcnt_t);
+mp_bitcnt_t mpn_scan1 (mp_srcptr, mp_bitcnt_t);
+
+void mpn_com (mp_ptr, mp_srcptr, mp_size_t);
+mp_limb_t mpn_neg (mp_ptr, mp_srcptr, mp_size_t);
+
+mp_bitcnt_t mpn_popcount (mp_srcptr, mp_size_t);
+
mp_limb_t mpn_invert_3by2 (mp_limb_t, mp_limb_t);
#define mpn_invert_limb(x) mpn_invert_3by2 ((x), 0)
@@ -124,6 +142,10 @@ void mpz_mul_si (mpz_t, const mpz_t, long int);
void mpz_mul_ui (mpz_t, const mpz_t, unsigned long int);
void mpz_mul (mpz_t, const mpz_t, const mpz_t);
void mpz_mul_2exp (mpz_t, const mpz_t, mp_bitcnt_t);
+void mpz_addmul_ui (mpz_t, const mpz_t, unsigned long int);
+void mpz_addmul (mpz_t, const mpz_t, const mpz_t);
+void mpz_submul_ui (mpz_t, const mpz_t, unsigned long int);
+void mpz_submul (mpz_t, const mpz_t, const mpz_t);
void mpz_cdiv_qr (mpz_t, mpz_t, const mpz_t, const mpz_t);
void mpz_fdiv_qr (mpz_t, mpz_t, const mpz_t, const mpz_t);
@@ -147,6 +169,7 @@ void mpz_mod (mpz_t, const mpz_t, const mpz_t);
void mpz_divexact (mpz_t, const mpz_t, const mpz_t);
int mpz_divisible_p (const mpz_t, const mpz_t);
+int mpz_congruent_p (const mpz_t, const mpz_t, const mpz_t);
unsigned long mpz_cdiv_qr_ui (mpz_t, mpz_t, const mpz_t, unsigned long);
unsigned long mpz_fdiv_qr_ui (mpz_t, mpz_t, const mpz_t, unsigned long);
@@ -176,6 +199,7 @@ int mpz_invert (mpz_t, const mpz_t, const mpz_t);
void mpz_sqrtrem (mpz_t, mpz_t, const mpz_t);
void mpz_sqrt (mpz_t, const mpz_t);
+int mpz_perfect_square_p (const mpz_t);
void mpz_pow_ui (mpz_t, const mpz_t, unsigned long);
void mpz_ui_pow_ui (mpz_t, unsigned long, unsigned long);
@@ -186,8 +210,12 @@ void mpz_rootrem (mpz_t, mpz_t, const mpz_t, unsigned long);
int mpz_root (mpz_t, const mpz_t, unsigned long);
void mpz_fac_ui (mpz_t, unsigned long);
+void mpz_2fac_ui (mpz_t, unsigned long);
+void mpz_mfac_uiui (mpz_t, unsigned long, unsigned long);
void mpz_bin_uiui (mpz_t, unsigned long, unsigned long);
+int mpz_probab_prime_p (const mpz_t, int);
+
int mpz_tstbit (const mpz_t, mp_bitcnt_t);
void mpz_setbit (mpz_t, mp_bitcnt_t);
void mpz_clrbit (mpz_t, mp_bitcnt_t);
@@ -211,6 +239,15 @@ double mpz_get_d (const mpz_t);
size_t mpz_size (const mpz_t);
mp_limb_t mpz_getlimbn (const mpz_t, mp_size_t);
+void mpz_realloc2 (mpz_t, mp_bitcnt_t);
+mp_srcptr mpz_limbs_read (mpz_srcptr);
+mp_ptr mpz_limbs_modify (mpz_t, mp_size_t);
+mp_ptr mpz_limbs_write (mpz_t, mp_size_t);
+void mpz_limbs_finish (mpz_t, mp_size_t);
+mpz_srcptr mpz_roinit_n (mpz_t, mp_srcptr, mp_size_t);
+
+#define MPZ_ROINIT_N(xp, xs) {{0, (xs),(xp) }}
+
void mpz_set_si (mpz_t, signed long int);
void mpz_set_ui (mpz_t, unsigned long int);
void mpz_set (mpz_t, const mpz_t);
diff --git a/minetest.conf.example b/minetest.conf.example
index 7a97d67fd..1c1796a14 100644
--- a/minetest.conf.example
+++ b/minetest.conf.example
@@ -489,7 +489,8 @@
### Basic
-# Enable VBO
+# Enable vertex buffer objects.
+# This should greatly improve graphics performance.
# type: bool
# enable_vbo = true
@@ -594,7 +595,10 @@
#### Tone Mapping
-# Enables filmic tone mapping
+# Enables Hable's 'Uncharted 2' filmic tone mapping.
+# Simulates the tone curve of photographic film and how this approximates the
+# appearance of high dynamic range images. Mid-range contrast is slightly
+# enhanced, highlights and shadows are gradually compressed.
# type: bool
# tone_mapping = false
@@ -650,26 +654,36 @@
#### Waving Nodes
-# Set to true enables waving water.
+# Set to true to enable waving liquids (like water).
# Requires shaders to be enabled.
# type: bool
# enable_waving_water = false
-# type: float
+# The maximum height of the surface of waving liquids.
+# 4.0 = Wave height is two nodes.
+# 0.0 = Wave doesn't move at all.
+# Default is 1.0 (1/2 node).
+# Requires waving liquids to be enabled.
+# type: float min: 0 max: 4
# water_wave_height = 1.0
-# type: float
+# Length of liquid waves.
+# Requires waving liquids to be enabled.
+# type: float min: 0.1
# water_wave_length = 20.0
+# How fast liquid waves will move. Higher = faster.
+# If negative, liquid waves will move backwards.
+# Requires waving liquids to be enabled.
# type: float
# water_wave_speed = 5.0
-# Set to true enables waving leaves.
+# Set to true to enable waving leaves.
# Requires shaders to be enabled.
# type: bool
# enable_waving_leaves = false
-# Set to true enables waving plants.
+# Set to true to enable waving plants.
# Requires shaders to be enabled.
# type: bool
# enable_waving_plants = false
@@ -699,11 +713,11 @@
# type: int min: 20 max: 4000
# viewing_range = 100
-# Camera 'near clipping plane' distance in nodes, between 0 and 0.5.
-# Most users will not need to change this.
+# Camera 'near clipping plane' distance in nodes, between 0 and 0.25
+# Only works on GLES platforms. 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.
-# type: float min: 0 max: 0.5
+# type: float min: 0 max: 0.25
# near_plane = 0.1
# Width component of the initial window size.
@@ -734,30 +748,39 @@
# type: int min: 45 max: 160
# fov = 72
-# 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: 10
+# Alters the light curve by applying 'gamma correction' to it.
+# Higher values make middle and lower light levels brighter.
+# Value '1.0' leaves the light curve unaltered.
+# This only has significant effect on daylight and artificial
+# light, it has very little effect on natural night light.
+# type: float min: 0.33 max: 3
# display_gamma = 1.0
# Gradient of light curve at minimum light level.
-# type: float min: 0 max: 4
+# Controls the contrast of the lowest light levels.
+# type: float min: 0 max: 3
# lighting_alpha = 0.0
# Gradient of light curve at maximum light level.
-# type: float min: 0 max: 4
+# Controls the contrast of the highest light levels.
+# type: float min: 0 max: 3
# lighting_beta = 1.5
-# Strength of light curve mid-boost.
-# type: float min: 0 max: 1
+# Strength of light curve boost.
+# The 3 'boost' parameters define a range of the light
+# curve that is boosted in brightness.
+# type: float min: 0 max: 0.4
# lighting_boost = 0.2
-# Center of light curve mid-boost.
+# Center of light curve boost range.
+# Where 0.0 is minimum light level, 1.0 is maximum light level.
# type: float min: 0 max: 1
# lighting_boost_center = 0.5
-# Spread of light curve mid-boost.
-# Standard deviation of the mid-boost gaussian.
-# type: float min: 0 max: 1
+# Spread of light curve boost range.
+# Controls the width of the range to be boosted.
+# Standard deviation of the light curve boost Gaussian.
+# type: float min: 0 max: 0.4
# lighting_boost_spread = 0.2
# Path to texture directory. All textures are first searched from here.
@@ -886,7 +909,7 @@
# True = 256
# False = 128
-# Useable to make minimap smoother on slower machines.
+# Usable to make minimap smoother on slower machines.
# type: bool
# minimap_double_scan_height = true
@@ -971,43 +994,83 @@
# tooltip_append_itemname = false
# Whether FreeType fonts are used, requires FreeType support to be compiled in.
+# If disabled, bitmap and XML vectors fonts are used instead.
# type: bool
# freetype = true
-# Path to TrueTypeFont or bitmap.
-# type: filepath
-# font_path = fonts/liberationsans.ttf
+# type: bool
+# font_bold = false
-# type: int min: 1
-# font_size = 16
+# type: bool
+# font_italic = false
-# Font shadow offset, if 0 then shadow will not be drawn.
+# Shadow offset (in pixels) of the default font. If 0, then shadow will not be drawn.
# type: int
# font_shadow = 1
-# Font shadow alpha (opaqueness, between 0 and 255).
+# Opaqueness (alpha) of the shadow behind the default font, between 0 and 255.
# type: int min: 0 max: 255
# font_shadow_alpha = 127
+# Font size of the default font in point (pt).
+# type: int min: 1
+# font_size = 16
+
+# Path to the default font.
+# If “freetype†setting is enabled: Must be a TrueType font.
+# If “freetype†setting is disabled: Must be a bitmap or XML vectors font.
+# The fallback font will be used if the font cannot be loaded.
+# type: filepath
+# font_path = fonts/Arimo-Regular.ttf
+
# type: filepath
-# mono_font_path = fonts/liberationmono.ttf
+# font_path_bold = fonts/Arimo-Bold.ttf
+# type: filepath
+# font_path_italic = fonts/Arimo-Italic.ttf
+
+# type: filepath
+# font_path_bolditalic = fonts/Arimo-BoldItalic.ttf
+
+# Font size of the monospace font in point (pt).
# type: int min: 1
# mono_font_size = 15
-# This font will be used for certain languages.
+# Path to the monospace font.
+# If “freetype†setting is enabled: Must be a TrueType font.
+# If “freetype†setting is disabled: Must be a bitmap or XML vectors font.
+# This font is used for e.g. the console and profiler screen.
# type: filepath
-# fallback_font_path = fonts/DroidSansFallbackFull.ttf
+# mono_font_path = fonts/Cousine-Regular.ttf
+# type: filepath
+# mono_font_path_bold = fonts/Cousine-Bold.ttf
+
+# type: filepath
+# mono_font_path_italic = fonts/Cousine-Italic.ttf
+
+# type: filepath
+# mono_font_path_bolditalic = fonts/Cousine-BoldItalic.ttf
+
+# Font size of the fallback font in point (pt).
# type: int min: 1
# fallback_font_size = 15
+# Shadow offset (in pixels) of the fallback font. If 0, then shadow will not be drawn.
# type: int
# fallback_font_shadow = 1
+# Opaqueness (alpha) of the shadow behind the fallback font, between 0 and 255.
# type: int min: 0 max: 255
# fallback_font_shadow_alpha = 128
+# Path of the fallback font.
+# If “freetype†setting is enabled: Must be a TrueType font.
+# If “freetype†setting is disabled: Must be a bitmap or XML vectors font.
+# This font will be used for certain languages or if the default font is unavailable.
+# type: filepath
+# fallback_font_path = fonts/DroidSansFallbackFull.ttf
+
# Path to save screenshots at.
# type: path
# screenshot_path =
@@ -1037,12 +1100,22 @@
# Sound
#
+# Enables the sound system.
+# If disabled, this completely disables all sounds everywhere and the in-game
+# sound controls will be non-functional.
+# Changing this setting requires a restart.
# type: bool
# enable_sound = true
+# Volume of all sounds.
+# Requires the sound system to be enabled.
# type: float min: 0 max: 1
# sound_volume = 0.7
+# Whether to mute sounds. You can unmute sounds at any time, unless the
+# sound system is disabled (enable_sound=false).
+# In-game, you can toggle the mute state with the mute key or by using the
+# pause menu.
# type: bool
# mute_sound = false
@@ -1171,6 +1244,7 @@
# Enable/disable running an IPv6 server.
# Ignored if bind_address is set.
+# Needs enable_ipv6 to be enabled.
# type: bool
# ipv6_server = false
@@ -1387,11 +1461,11 @@
# type: float
# movement_speed_jump = 6.5
-# Decrease this to increase liquid resistence to movement.
+# Decrease this to increase liquid resistance to movement.
# type: float
# movement_liquid_fluidity = 1
-# Maximum liquid resistence. Controls deceleration when entering liquid at
+# Maximum liquid resistance. Controls deceleration when entering liquid at
# high speed.
# type: float
# movement_liquid_fluidity_smooth = 0.5
@@ -1406,7 +1480,7 @@
### Advanced
-# Handling for deprecated lua api calls:
+# Handling for deprecated Lua API calls:
# - legacy: (try to) mimic old behaviour (default for release).
# - log: mimic and log backtrace of deprecated call (default for debug).
# - error: abort on usage of deprecated call (suggested for mod developers).
@@ -1588,7 +1662,7 @@
# Set the language. Leave empty to use the system language.
# A restart is required after changing this.
-# type: enum values: , be, ca, cs, da, de, dv, en, eo, es, et, fr, he, hu, id, it, ja, jbo, ko, ky, lt, ms, nb, nl, pl, pt, pt_BR, ro, ru, sl, sr_Cyrl, sv, sw, tr, uk, zh_CN, zh_TW
+# type: enum values: , ar, ca, cs, da, de, dv, el, eo, es, et, eu, fil, fr, hu, id, it, ja, ja_KS, jbo, kk, kn, lo, lt, ms, my, nb, nl, nn, pl, pt, pt_BR, ro, ru, sl, sr_Cyrl, sv, sw, th, tr, uk, vi
# language =
# Level of logging to be written to debug.txt:
@@ -1609,7 +1683,8 @@
# type: int
# debug_log_size_max = 50
-# IPv6 support.
+# Enable IPv6 support (for both client and server).
+# Required for IPv6 connections to work at all.
# type: bool
# enable_ipv6 = true
@@ -1744,6 +1819,8 @@
# mgv5_spflags = caverns
# Controls width of tunnels, a smaller value creates wider tunnels.
+# Value >= 10.0 completely disables generation of tunnels and avoids the
+# intensive noise calculations.
# type: float
# mgv5_cave_width = 0.09
@@ -1751,10 +1828,25 @@
# 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
+# Minimum limit of random number of small caves per mapchunk.
+# type: int min: 0 max: 256
+# mgv5_small_cave_num_min = 0
+
+# Maximum limit of random number of small caves per mapchunk.
+# type: int min: 0 max: 256
+# mgv5_small_cave_num_max = 0
+
+# Minimum limit of random number of large caves per mapchunk.
+# type: int min: 0 max: 64
+# mgv5_large_cave_num_min = 0
+
+# Maximum limit of random number of large caves per mapchunk.
+# type: int min: 0 max: 64
+# mgv5_large_cave_num_max = 2
+
+# Proportion of large caves that contain liquid.
+# type: float min: 0 max: 1
+# mgv5_large_cave_flooded = 0.5
# Y-level of cavern upper limit.
# type: int
@@ -2066,6 +2158,8 @@
# mgv7_mount_zero_level = 0
# Controls width of tunnels, a smaller value creates wider tunnels.
+# Value >= 10.0 completely disables generation of tunnels and avoids the
+# intensive noise calculations.
# type: float
# mgv7_cave_width = 0.09
@@ -2073,31 +2167,25 @@
# 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
-
-# Controls the density of mountain-type floatlands.
-# Is a noise offset added to the 'mgv7_np_mountain' noise value.
-# type: float
-# mgv7_float_mount_density = 0.6
+# Minimum limit of random number of small caves per mapchunk.
+# type: int min: 0 max: 256
+# mgv7_small_cave_num_min = 0
-# Typical maximum height, above and below midpoint, of floatland mountains.
-# type: float
-# mgv7_float_mount_height = 128.0
+# Maximum limit of random number of small caves per mapchunk.
+# type: int min: 0 max: 256
+# mgv7_small_cave_num_max = 0
-# Alters how mountain-type floatlands taper above and below midpoint.
-# type: float
-# mgv7_float_mount_exponent = 0.75
+# Minimum limit of random number of large caves per mapchunk.
+# type: int min: 0 max: 64
+# mgv7_large_cave_num_min = 0
-# Y-level of floatland midpoint and lake surface.
-# type: int
-# mgv7_floatland_level = 1280
+# Maximum limit of random number of large caves per mapchunk.
+# type: int min: 0 max: 64
+# mgv7_large_cave_num_max = 2
-# Y-level to which floatland shadows extend.
-# type: int
-# mgv7_shadow_limit = 1024
+# Proportion of large caves that contain liquid.
+# type: float min: 0 max: 1
+# mgv7_large_cave_flooded = 0.5
# Y-level of cavern upper limit.
# type: int
@@ -2213,33 +2301,6 @@
# flags = eased
# }
-# Defines areas of floatland smooth terrain.
-# Smooth floatlands occur when noise > 0.
-# type: noise_params_2d
-# mgv7_np_floatland_base = {
-# offset = -0.6,
-# scale = 1.5,
-# spread = (600, 600, 600),
-# seed = 114,
-# octaves = 5,
-# persistence = 0.6,
-# lacunarity = 2.0,
-# flags = eased
-# }
-
-# Variation of hill height and lake depth on floatland smooth terrain.
-# type: noise_params_2d
-# mgv7_np_float_base_height = {
-# offset = 48,
-# scale = 24,
-# spread = (300, 300, 300),
-# seed = 907,
-# octaves = 4,
-# persistence = 0.7,
-# lacunarity = 2.0,
-# flags = eased
-# }
-
# 3D noise defining mountain structure and height.
# Also defines structure of floatland mountain terrain.
# type: noise_params_3d
@@ -2342,6 +2403,8 @@
# mgcarpathian_valley_width = 0.25
# Controls width of tunnels, a smaller value creates wider tunnels.
+# Value >= 10.0 completely disables generation of tunnels and avoids the
+# intensive noise calculations.
# type: float
# mgcarpathian_cave_width = 0.09
@@ -2349,10 +2412,25 @@
# 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
+# Minimum limit of random number of small caves per mapchunk.
+# type: int min: 0 max: 256
+# mgcarpathian_small_cave_num_min = 0
+
+# Maximum limit of random number of small caves per mapchunk.
+# type: int min: 0 max: 256
+# mgcarpathian_small_cave_num_max = 0
+
+# Minimum limit of random number of large caves per mapchunk.
+# type: int min: 0 max: 64
+# mgcarpathian_large_cave_num_min = 0
+
+# Maximum limit of random number of large caves per mapchunk.
+# type: int min: 0 max: 64
+# mgcarpathian_large_cave_num_max = 2
+
+# Proportion of large caves that contain liquid.
+# type: float min: 0 max: 1
+# mgcarpathian_large_cave_flooded = 0.5
# Y-level of cavern upper limit.
# type: int
@@ -2599,7 +2677,7 @@
## Mapgen Flat
-# Map generation attributes specific to Mapgen flat.
+# Map generation attributes specific to Mapgen Flat.
# Occasional lakes and hills can be added to the flat world.
# type: flags possible values: lakes, hills, nolakes, nohills
# mgflat_spflags = nolakes,nohills
@@ -2612,12 +2690,29 @@
# 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
+# Minimum limit of random number of small caves per mapchunk.
+# type: int min: 0 max: 256
+# mgflat_small_cave_num_min = 0
+
+# Maximum limit of random number of small caves per mapchunk.
+# type: int min: 0 max: 256
+# mgflat_small_cave_num_max = 0
+
+# Minimum limit of random number of large caves per mapchunk.
+# type: int min: 0 max: 64
+# mgflat_large_cave_num_min = 0
+
+# Maximum limit of random number of large caves per mapchunk.
+# type: int min: 0 max: 64
+# mgflat_large_cave_num_max = 2
+
+# Proportion of large caves that contain liquid.
+# type: float min: 0 max: 1
+# mgflat_large_cave_flooded = 0.5
# Controls width of tunnels, a smaller value creates wider tunnels.
+# Value >= 10.0 completely disables generation of tunnels and avoids the
+# intensive noise calculations.
# type: float
# mgflat_cave_width = 0.09
@@ -2718,13 +2813,15 @@
## Mapgen Fractal
-# Map generation attributes specific to Mapgen flat.
+# Map generation attributes specific to Mapgen Fractal.
# '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.
+# Value >= 10.0 completely disables generation of tunnels and avoids the
+# intensive noise calculations.
# type: float
# mgfractal_cave_width = 0.09
@@ -2732,10 +2829,25 @@
# 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
+# Minimum limit of random number of small caves per mapchunk.
+# type: int min: 0 max: 256
+# mgfractal_small_cave_num_min = 0
+
+# Maximum limit of random number of small caves per mapchunk.
+# type: int min: 0 max: 256
+# mgfractal_small_cave_num_max = 0
+
+# Minimum limit of random number of large caves per mapchunk.
+# type: int min: 0 max: 64
+# mgfractal_large_cave_num_min = 0
+
+# Maximum limit of random number of large caves per mapchunk.
+# type: int min: 0 max: 64
+# mgfractal_large_cave_num_max = 2
+
+# Proportion of large caves that contain liquid.
+# type: float min: 0 max: 1
+# mgfractal_large_cave_flooded = 0.5
# Lower Y limit of dungeons.
# type: int
@@ -2746,24 +2858,24 @@
# mgfractal_dungeon_ymax = 31000
# Selects one of 18 fractal types.
-# 1 = 4D "Roundy" mandelbrot set.
-# 2 = 4D "Roundy" julia set.
-# 3 = 4D "Squarry" mandelbrot set.
-# 4 = 4D "Squarry" julia set.
-# 5 = 4D "Mandy Cousin" mandelbrot set.
-# 6 = 4D "Mandy Cousin" julia set.
-# 7 = 4D "Variation" mandelbrot set.
-# 8 = 4D "Variation" julia set.
-# 9 = 3D "Mandelbrot/Mandelbar" mandelbrot set.
-# 10 = 3D "Mandelbrot/Mandelbar" julia set.
-# 11 = 3D "Christmas Tree" mandelbrot set.
-# 12 = 3D "Christmas Tree" julia set.
-# 13 = 3D "Mandelbulb" mandelbrot set.
-# 14 = 3D "Mandelbulb" julia set.
-# 15 = 3D "Cosine Mandelbulb" mandelbrot set.
-# 16 = 3D "Cosine Mandelbulb" julia set.
-# 17 = 4D "Mandelbulb" mandelbrot set.
-# 18 = 4D "Mandelbulb" julia set.
+# 1 = 4D "Roundy" Mandelbrot set.
+# 2 = 4D "Roundy" Julia set.
+# 3 = 4D "Squarry" Mandelbrot set.
+# 4 = 4D "Squarry" Julia set.
+# 5 = 4D "Mandy Cousin" Mandelbrot set.
+# 6 = 4D "Mandy Cousin" Julia set.
+# 7 = 4D "Variation" Mandelbrot set.
+# 8 = 4D "Variation" Julia set.
+# 9 = 3D "Mandelbrot/Mandelbar" Mandelbrot set.
+# 10 = 3D "Mandelbrot/Mandelbar" Julia set.
+# 11 = 3D "Christmas Tree" Mandelbrot set.
+# 12 = 3D "Christmas Tree" Julia set.
+# 13 = 3D "Mandelbulb" Mandelbrot set.
+# 14 = 3D "Mandelbulb" Julia set.
+# 15 = 3D "Cosine Mandelbulb" Mandelbrot set.
+# 16 = 3D "Cosine Mandelbulb" Julia set.
+# 17 = 4D "Mandelbulb" Mandelbrot set.
+# 18 = 4D "Mandelbulb" Julia set.
# type: int min: 1 max: 18
# mgfractal_fractal = 1
@@ -2788,7 +2900,7 @@
# Can be used to move a desired point to (0, 0) to create a
# suitable spawn point, or to allow 'zooming in' on a desired
# point by increasing 'scale'.
-# The default is tuned for a suitable spawn point for mandelbrot
+# The default is tuned for a suitable spawn point for Mandelbrot
# sets with default parameters, it may need altering in other
# situations.
# Range roughly -2 to 2. Multiply by 'scale' for offset in nodes.
@@ -2920,10 +3032,25 @@
# 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
+# Minimum limit of random number of small caves per mapchunk.
+# type: int min: 0 max: 256
+# mgvalleys_small_cave_num_min = 0
+
+# Maximum limit of random number of small caves per mapchunk.
+# type: int min: 0 max: 256
+# mgvalleys_small_cave_num_max = 0
+
+# Minimum limit of random number of large caves per mapchunk.
+# type: int min: 0 max: 64
+# mgvalleys_large_cave_num_min = 0
+
+# Maximum limit of random number of large caves per mapchunk.
+# type: int min: 0 max: 64
+# mgvalleys_large_cave_num_max = 2
+
+# Proportion of large caves that contain liquid.
+# type: float min: 0 max: 1
+# mgvalleys_large_cave_flooded = 0.5
# Depth below which you'll find giant caverns.
# type: int
@@ -2946,6 +3073,8 @@
# mgvalleys_river_size = 5
# Controls width of tunnels, a smaller value creates wider tunnels.
+# Value >= 10.0 completely disables generation of tunnels and avoids the
+# intensive noise calculations.
# type: float
# mgvalleys_cave_width = 0.09
diff --git a/misc/net.minetest.minetest.appdata.xml b/misc/net.minetest.minetest.appdata.xml
index f41762564..6239c7115 100644
--- a/misc/net.minetest.minetest.appdata.xml
+++ b/misc/net.minetest.minetest.appdata.xml
@@ -62,6 +62,6 @@
<translation type="gettext">minetest</translation>
<update_contact>sfan5@live.de</update_contact>
<releases>
- <release date="2019-10-12" version="5.1.0"/>
+ <release date="2020-04-05" version="5.2.0"/>
</releases>
</component>
diff --git a/po/ar/minetest.po b/po/ar/minetest.po
index 349f02b4d..e40d3d8b3 100644
--- a/po/ar/minetest.po
+++ b/po/ar/minetest.po
@@ -7,9 +7,9 @@ msgid ""
msgstr ""
"Project-Id-Version: minetest\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-10-09 22:02+0200\n"
-"PO-Revision-Date: 2020-01-11 18:26+0000\n"
-"Last-Translator: rubenwardy <rubenwardy@gmail.com>\n"
+"POT-Creation-Date: 2020-04-03 23:18+0200\n"
+"PO-Revision-Date: 2020-03-01 19:51+0000\n"
+"Last-Translator: abidin toumi <abidin24@disroot.org>\n"
"Language-Team: Arabic <https://hosted.weblate.org/projects/minetest/minetest/"
"ar/>\n"
"Language: ar\n"
@@ -18,79 +18,103 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n"
-"X-Generator: Weblate 3.10.1\n"
-
-#: builtin/client/death_formspec.lua src/client/game.cpp
-msgid "You died"
-msgstr "Ù…Ùت"
+"X-Generator: Weblate 4.0-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 "The server has requested a reconnect:"
-msgstr "يطلب الخادم إعادة الإتصال:"
+msgid "An error occurred in a Lua script:"
+msgstr ""
#: builtin/fstk/ui.lua
-msgid "Reconnect"
-msgstr "أعد الإتصال"
+msgid "An error occurred:"
+msgstr "حدث خطأ:"
#: builtin/fstk/ui.lua
msgid "Main menu"
msgstr "القائمة الرئيسية"
#: builtin/fstk/ui.lua
-msgid "An error occurred in a Lua script:"
-msgstr ""
+msgid "Ok"
+msgstr "مواÙÙ‚"
#: builtin/fstk/ui.lua
-msgid "An error occurred:"
-msgstr "حدث خطأ:"
+msgid "Reconnect"
+msgstr "أعد الإتصال"
#: builtin/fstk/ui.lua
-msgid "Ok"
-msgstr "مواÙÙ‚"
+msgid "The server has requested a reconnect:"
+msgstr "يطلب الخادم إعادة الإتصال:"
#: builtin/mainmenu/common.lua src/client/game.cpp
msgid "Loading..."
msgstr "يحمل..."
#: builtin/mainmenu/common.lua
-msgid "Try reenabling public serverlist and check your internet connection."
-msgstr "جرب إعادة تمكين قائمة الحوادم العامة وتحقق من إتصالك بالانترنت."
-
-#: builtin/mainmenu/common.lua
-msgid "Server supports protocol versions between $1 and $2. "
-msgstr "الخادم يدعم نسخ الميÙاق ما بين $1 Ùˆ $2. "
+msgid "Protocol version mismatch. "
+msgstr "لا تتطابق نسخ الميÙاق. "
#: builtin/mainmenu/common.lua
msgid "Server enforces protocol version $1. "
msgstr "ÙŠÙرظ الخادم Ø¥ ستخدام الميÙاق $1. "
#: builtin/mainmenu/common.lua
-msgid "We support protocol versions between version $1 and $2."
-msgstr "نحن ندعم نسخ الميÙاق ما بين $1 Ùˆ $2."
+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 "Protocol version mismatch. "
-msgstr "لا تتطابق نسخ الميÙاق. "
+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 "World:"
-msgstr "العالم:"
+msgid "Disable all"
+msgstr "عطÙÙ„ الكل"
#: builtin/mainmenu/dlg_config_world.lua
-msgid "No modpack description provided."
+msgid "Disable modpack"
msgstr ""
#: builtin/mainmenu/dlg_config_world.lua
-msgid "No game description provided."
-msgstr "لا يتوÙر وص٠للعبة."
+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:"
@@ -101,103 +125,79 @@ 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 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 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 builtin/mainmenu/dlg_create_world.lua
-#: builtin/mainmenu/dlg_delete_content.lua
-#: builtin/mainmenu/dlg_delete_world.lua
-#: builtin/mainmenu/dlg_rename_modpack.lua
-#: builtin/mainmenu/dlg_settings_advanced.lua src/client/keycode.cpp
-#: src/gui/guiConfirmRegistration.cpp src/gui/guiKeyChangeMenu.cpp
-#: src/gui/guiPasswordChange.cpp
-msgid "Cancel"
-msgstr "ألغÙ"
-
-#: builtin/mainmenu/dlg_config_world.lua
-msgid "Disable modpack"
-msgstr ""
-
#: builtin/mainmenu/dlg_config_world.lua
-msgid "Enable modpack"
-msgstr ""
+msgid "World:"
+msgstr "العالم:"
#: builtin/mainmenu/dlg_config_world.lua
msgid "enabled"
msgstr "Ù…ÙÙعل"
-#: builtin/mainmenu/dlg_config_world.lua
-msgid "Disable all"
-msgstr "عطÙÙ„ الكل"
-
-#: builtin/mainmenu/dlg_config_world.lua
-msgid "Enable all"
-msgstr "ÙعÙÙ„ الكل"
-
-#: builtin/mainmenu/dlg_config_world.lua
-msgid ""
-"Failed to enable mod \"$1\" as it contains disallowed characters. Only "
-"characters [a-z0-9_] are allowed."
-msgstr ""
-
#: builtin/mainmenu/dlg_contentstore.lua
msgid "All packages"
msgstr "كل الحزم"
#: builtin/mainmenu/dlg_contentstore.lua
-#: builtin/mainmenu/dlg_settings_advanced.lua
-msgid "Games"
-msgstr "الألعاب"
+msgid "Back"
+msgstr "عÙد"
#: builtin/mainmenu/dlg_contentstore.lua
-#: builtin/mainmenu/dlg_settings_advanced.lua
-msgid "Mods"
-msgstr ""
+msgid "Back to Main Menu"
+msgstr "عÙد للقائمة الرئيسة"
#: builtin/mainmenu/dlg_contentstore.lua
-msgid "Texture packs"
-msgstr "Ø­Ùزم الإكساء"
+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
-msgid "Downloading and installing $1, please wait..."
-msgstr "تنزيل وتثبيت $1, يرجى الإنتظار..."
-
-#: builtin/mainmenu/dlg_contentstore.lua
-msgid "Back"
-msgstr "عÙد"
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Games"
+msgstr "الألعاب"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "Install"
msgstr "ثبت"
#: builtin/mainmenu/dlg_contentstore.lua
-msgid "Update"
-msgstr "حدÙØ«"
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Mods"
+msgstr ""
#: builtin/mainmenu/dlg_contentstore.lua
-msgid "Uninstall"
-msgstr "أزل"
+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
@@ -205,61 +205,61 @@ msgid "Search"
msgstr "إبحث"
#: builtin/mainmenu/dlg_contentstore.lua
-msgid "Back to Main Menu"
-msgstr "عÙد للقائمة الرئيسة"
+msgid "Texture packs"
+msgstr "Ø­Ùزم الإكساء"
#: builtin/mainmenu/dlg_contentstore.lua
-msgid "No results"
-msgstr "بدون نتائج"
+msgid "Uninstall"
+msgstr "أزل"
#: builtin/mainmenu/dlg_contentstore.lua
-msgid "No packages could be retrieved"
-msgstr ""
+msgid "Update"
+msgstr "حدÙØ«"
#: builtin/mainmenu/dlg_create_world.lua
-msgid "World name"
-msgstr "إسم العالم"
+msgid "A world named \"$1\" already exists"
+msgstr "إسم العالم \"$1\" موجود مسبقاً"
#: builtin/mainmenu/dlg_create_world.lua
-#: builtin/mainmenu/dlg_settings_advanced.lua
-msgid "Seed"
-msgstr ""
+msgid "Create"
+msgstr "أنشئ"
-#: builtin/mainmenu/dlg_create_world.lua src/settings_translation_file.cpp
-msgid "Mapgen"
-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
-msgid "Create"
-msgstr "أنشئ"
+#: builtin/mainmenu/dlg_create_world.lua src/settings_translation_file.cpp
+msgid "Mapgen"
+msgstr "مولÙد الخريطة"
#: builtin/mainmenu/dlg_create_world.lua
-msgid "You have no games installed."
-msgstr "ليس لديك لعبة مثبتت."
+msgid "No game selected"
+msgstr "لم تحدد لعبة"
#: builtin/mainmenu/dlg_create_world.lua
-msgid "Download one from minetest.net"
-msgstr "نزÙّل لعبة من minetest.net"
+#: 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 "Download a game, such as Minetest Game, from minetest.net"
-msgstr "نزّÙÙ„ لعبة,مثل لعبة Minetest, من minetest.net"
-
-#: builtin/mainmenu/dlg_create_world.lua
-msgid "A world named \"$1\" already exists"
-msgstr "إسم العالم \"$1\" موجود مسبقاً"
+msgid "World name"
+msgstr "إسم العالم"
#: builtin/mainmenu/dlg_create_world.lua
-msgid "No game selected"
-msgstr "لم تحدد لعبة"
+msgid "You have no games installed."
+msgstr "ليس لديك لعبة مثبتت."
#: builtin/mainmenu/dlg_delete_content.lua
msgid "Are you sure you want to delete \"$1\"?"
@@ -288,94 +288,86 @@ 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_rename_modpack.lua
-msgid "Rename Modpack:"
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "(No description of setting given)"
msgstr ""
#: builtin/mainmenu/dlg_settings_advanced.lua
-msgid "Disabled"
-msgstr "عطÙّل"
+msgid "2D Noise"
+msgstr ""
#: builtin/mainmenu/dlg_settings_advanced.lua
-msgid "Enabled"
-msgstr "Ù…ÙÙعل"
+msgid "< Back to Settings page"
+msgstr "< عد لصÙحة الإعدادات"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Browse"
msgstr "استعرض"
-#: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp
-msgid "Offset"
-msgstr ""
-
-#: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp
-msgid "Scale"
-msgstr ""
-
#: builtin/mainmenu/dlg_settings_advanced.lua
-msgid "X spread"
-msgstr ""
+msgid "Disabled"
+msgstr "عطÙّل"
#: builtin/mainmenu/dlg_settings_advanced.lua
-msgid "Y spread"
-msgstr ""
+msgid "Edit"
+msgstr "حرر"
#: builtin/mainmenu/dlg_settings_advanced.lua
-msgid "2D Noise"
-msgstr ""
+msgid "Enabled"
+msgstr "Ù…ÙÙعل"
#: builtin/mainmenu/dlg_settings_advanced.lua
-msgid "Z spread"
+msgid "Lacunarity"
msgstr ""
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Octaves"
msgstr ""
-#: builtin/mainmenu/dlg_settings_advanced.lua
-msgid "Persistance"
+#: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp
+msgid "Offset"
msgstr ""
#: builtin/mainmenu/dlg_settings_advanced.lua
-msgid "Lacunarity"
+msgid "Persistance"
msgstr ""
#: builtin/mainmenu/dlg_settings_advanced.lua
-msgid "defaults"
-msgstr "Ø¥Ùتراضي"
-
-#: builtin/mainmenu/dlg_settings_advanced.lua
-msgid "eased"
-msgstr ""
+msgid "Please enter a valid integer."
+msgstr "يرجى إدخال رقم صحيح صالح."
#: builtin/mainmenu/dlg_settings_advanced.lua
-msgid "absvalue"
-msgstr ""
+msgid "Please enter a valid number."
+msgstr "يرجى إدخال رقم صالح."
#: builtin/mainmenu/dlg_settings_advanced.lua
-msgid "X"
-msgstr ""
+msgid "Restore Default"
+msgstr "إستعÙد الإÙتراضي"
-#: builtin/mainmenu/dlg_settings_advanced.lua
-msgid "Y"
+#: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp
+msgid "Scale"
msgstr ""
#: builtin/mainmenu/dlg_settings_advanced.lua
-msgid "Z"
-msgstr ""
+msgid "Select directory"
+msgstr "إختر الدليل"
#: builtin/mainmenu/dlg_settings_advanced.lua
-msgid "(No description of setting given)"
-msgstr ""
+msgid "Select file"
+msgstr "إختر ملÙ"
#: builtin/mainmenu/dlg_settings_advanced.lua
-msgid "Please enter a valid integer."
-msgstr "يرجى إدخال رقم صحيح صالح."
+msgid "Show technical names"
+msgstr "إعرض الأسماء التقنية"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "The value must be at least $1."
@@ -386,111 +378,130 @@ msgid "The value must not be larger than $1."
msgstr "يحب أن لا تزيد القيمة عن $1."
#: builtin/mainmenu/dlg_settings_advanced.lua
-msgid "Please enter a valid number."
-msgstr "يرجى إدخال رقم صالح."
+msgid "X"
+msgstr ""
#: builtin/mainmenu/dlg_settings_advanced.lua
-msgid "Select directory"
-msgstr "إختر الدليل"
+msgid "X spread"
+msgstr ""
#: builtin/mainmenu/dlg_settings_advanced.lua
-msgid "Select file"
-msgstr "إختر ملÙ"
+msgid "Y"
+msgstr ""
#: builtin/mainmenu/dlg_settings_advanced.lua
-msgid "< Back to Settings page"
-msgstr "< عد لصÙحة الإعدادات"
+msgid "Y spread"
+msgstr ""
#: builtin/mainmenu/dlg_settings_advanced.lua
-msgid "Edit"
-msgstr "حرر"
+msgid "Z"
+msgstr ""
#: builtin/mainmenu/dlg_settings_advanced.lua
-msgid "Restore Default"
-msgstr "إستعÙد الإÙتراضي"
+msgid "Z spread"
+msgstr ""
+#. ~ "absvalue" is a noise parameter flag.
+#. It is short for "absolute value".
+#. It can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
-msgid "Show technical names"
-msgstr "إعرض الأسماء التقنية"
+msgid "absvalue"
+msgstr ""
+
+#. ~ "defaults" is a noise parameter flag.
+#. It describes the default processing options
+#. for noise settings in main menu -> "All Settings".
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "defaults"
+msgstr "Ø¥Ùتراضي"
+
+#. ~ "eased" is a noise parameter flag.
+#. It is used to make the map smoother and
+#. can be enabled in noise settings in
+#. main menu -> "All Settings".
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "eased"
+msgstr ""
#: builtin/mainmenu/pkgmgr.lua
msgid "$1 (Enabled)"
msgstr "$1 (Ù…Ùعل)"
#: builtin/mainmenu/pkgmgr.lua
-msgid "Unable to install a $1 as a texture pack"
-msgstr "Ùشل تثبيت $1 كحزمة إكساء"
+msgid "$1 mods"
+msgstr ""
#: builtin/mainmenu/pkgmgr.lua
msgid "Failed to install $1 to $2"
msgstr ""
#: builtin/mainmenu/pkgmgr.lua
-msgid "Unable to find a valid mod or modpack"
+msgid "Install Mod: Unable to find real mod name for: $1"
msgstr ""
#: builtin/mainmenu/pkgmgr.lua
-msgid "Unable to install a modpack as a $1"
+msgid "Install Mod: Unable to find suitable folder name for modpack $1"
msgstr ""
#: builtin/mainmenu/pkgmgr.lua
-msgid "Install Mod: Unable to find suitable folder name for modpack $1"
+msgid "Install: Unsupported file type \"$1\" or broken archive"
msgstr ""
#: builtin/mainmenu/pkgmgr.lua
-msgid "Unable to install a mod as a $1"
-msgstr ""
+msgid "Install: file: \"$1\""
+msgstr "ثبت: الملÙ: \"$1\""
#: builtin/mainmenu/pkgmgr.lua
-msgid "Install Mod: Unable to find real mod name for: $1"
+msgid "Unable to find a valid mod or modpack"
msgstr ""
#: builtin/mainmenu/pkgmgr.lua
-msgid "Unable to install a game as a $1"
-msgstr "Ùشل تثبيت اللعبة كـ $1"
+msgid "Unable to install a $1 as a texture pack"
+msgstr "Ùشل تثبيت $1 كحزمة إكساء"
#: builtin/mainmenu/pkgmgr.lua
-msgid "Install: file: \"$1\""
-msgstr "ثبت: الملÙ: \"$1\""
+msgid "Unable to install a game as a $1"
+msgstr "Ùشل تثبيت اللعبة كـ $1"
#: builtin/mainmenu/pkgmgr.lua
-msgid "Install: Unsupported file type \"$1\" or broken archive"
+msgid "Unable to install a mod as a $1"
msgstr ""
#: builtin/mainmenu/pkgmgr.lua
-msgid "$1 mods"
+msgid "Unable to install a modpack as a $1"
msgstr ""
#: builtin/mainmenu/tab_content.lua
-msgid "Installed Packages:"
+msgid "Browse online content"
msgstr ""
#: builtin/mainmenu/tab_content.lua
-msgid "Browse online content"
+msgid "Content"
msgstr ""
#: builtin/mainmenu/tab_content.lua
-msgid "No package description available"
+msgid "Disable Texture Pack"
msgstr ""
#: builtin/mainmenu/tab_content.lua
-msgid "Rename"
+msgid "Information:"
msgstr ""
#: builtin/mainmenu/tab_content.lua
-msgid "No dependencies."
+msgid "Installed Packages:"
msgstr ""
#: builtin/mainmenu/tab_content.lua
-msgid "Disable Texture Pack"
+msgid "No dependencies."
msgstr ""
#: builtin/mainmenu/tab_content.lua
-msgid "Use Texture Pack"
+msgid "No package description available"
msgstr ""
#: builtin/mainmenu/tab_content.lua
-msgid "Information:"
+msgid "Rename"
msgstr ""
#: builtin/mainmenu/tab_content.lua
@@ -498,11 +509,11 @@ msgid "Uninstall Package"
msgstr ""
#: builtin/mainmenu/tab_content.lua
-msgid "Content"
+msgid "Use Texture Pack"
msgstr ""
#: builtin/mainmenu/tab_credits.lua
-msgid "Credits"
+msgid "Active Contributors"
msgstr ""
#: builtin/mainmenu/tab_credits.lua
@@ -510,27 +521,27 @@ msgid "Core Developers"
msgstr ""
#: builtin/mainmenu/tab_credits.lua
-msgid "Active Contributors"
+msgid "Credits"
msgstr ""
#: builtin/mainmenu/tab_credits.lua
-msgid "Previous Core Developers"
+msgid "Previous Contributors"
msgstr ""
#: builtin/mainmenu/tab_credits.lua
-msgid "Previous Contributors"
+msgid "Previous Core Developers"
msgstr ""
#: builtin/mainmenu/tab_local.lua
-msgid "Configure"
+msgid "Announce Server"
msgstr ""
#: builtin/mainmenu/tab_local.lua
-msgid "New"
+msgid "Bind Address"
msgstr ""
#: builtin/mainmenu/tab_local.lua
-msgid "Select World:"
+msgid "Configure"
msgstr ""
#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_simple_main.lua
@@ -542,39 +553,39 @@ msgid "Enable Damage"
msgstr ""
#: builtin/mainmenu/tab_local.lua
-msgid "Host Server"
+msgid "Host Game"
msgstr ""
#: builtin/mainmenu/tab_local.lua
-msgid "Host Game"
+msgid "Host Server"
msgstr ""
#: builtin/mainmenu/tab_local.lua
-msgid "Announce Server"
+msgid "Name/Password"
msgstr ""
#: builtin/mainmenu/tab_local.lua
-msgid "Name/Password"
+msgid "New"
msgstr ""
#: builtin/mainmenu/tab_local.lua
-msgid "Bind Address"
+msgid "No world created or selected!"
msgstr ""
#: builtin/mainmenu/tab_local.lua
-msgid "Port"
+msgid "Play Game"
msgstr ""
#: builtin/mainmenu/tab_local.lua
-msgid "Server Port"
+msgid "Port"
msgstr ""
#: builtin/mainmenu/tab_local.lua
-msgid "Play Game"
+msgid "Select World:"
msgstr ""
#: builtin/mainmenu/tab_local.lua
-msgid "No world created or selected!"
+msgid "Server Port"
msgstr ""
#: builtin/mainmenu/tab_local.lua
@@ -586,11 +597,15 @@ msgid "Address / Port"
msgstr ""
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
-msgid "Name / Password"
+msgid "Connect"
msgstr ""
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
-msgid "Connect"
+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
@@ -601,124 +616,129 @@ msgstr ""
msgid "Favorite"
msgstr ""
-#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
-msgid "Ping"
+#: builtin/mainmenu/tab_online.lua
+msgid "Join Game"
msgstr ""
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
-msgid "Creative mode"
+msgid "Name / Password"
msgstr ""
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
-msgid "Damage enabled"
+msgid "Ping"
msgstr ""
+#. ~ PvP = Player versus Player
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "PvP enabled"
msgstr ""
-#: builtin/mainmenu/tab_online.lua
-msgid "Join Game"
+#: builtin/mainmenu/tab_settings.lua
+msgid "2x"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-msgid "Opaque Leaves"
+msgid "3D Clouds"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-msgid "Simple Leaves"
+msgid "4x"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-msgid "Fancy Leaves"
+msgid "8x"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-msgid "Node Outlining"
-msgstr ""
+msgid "All Settings"
+msgstr "كل الإعدادات"
#: builtin/mainmenu/tab_settings.lua
-msgid "Node Highlighting"
+msgid "Antialiasing:"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-msgid "None"
+msgid "Are you sure to reset your singleplayer world?"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-msgid "No Filter"
-msgstr ""
+msgid "Autosave Screen Size"
+msgstr "Ø­Ùظ حجم الشاشة تلقائيا"
#: builtin/mainmenu/tab_settings.lua
msgid "Bilinear Filter"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-msgid "Trilinear Filter"
+msgid "Bump Mapping"
msgstr ""
-#: builtin/mainmenu/tab_settings.lua
-msgid "No Mipmap"
+#: builtin/mainmenu/tab_settings.lua src/client/game.cpp
+msgid "Change Keys"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-msgid "Mipmap"
+msgid "Connected Glass"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-msgid "Mipmap + Aniso. Filter"
+msgid "Fancy Leaves"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-msgid "2x"
+msgid "Generate Normal Maps"
+msgstr "ولÙد خرائط عادية"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Mipmap"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-msgid "4x"
+msgid "Mipmap + Aniso. Filter"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-msgid "8x"
+msgid "No"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-msgid "Are you sure to reset your singleplayer world?"
+msgid "No Filter"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-msgid "Yes"
+msgid "No Mipmap"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-msgid "No"
+msgid "Node Highlighting"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-msgid "Smooth Lighting"
+msgid "Node Outlining"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-msgid "Particles"
+msgid "None"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-msgid "3D Clouds"
+msgid "Opaque Leaves"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
msgid "Opaque Water"
msgstr ""
-#: builtin/mainmenu/tab_settings.lua
-msgid "Connected Glass"
+#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp
+msgid "Parallax Occlusion"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-msgid "Texturing:"
+msgid "Particles"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-msgid "Antialiasing:"
+msgid "Reset singleplayer world"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
@@ -726,8 +746,8 @@ msgid "Screen:"
msgstr "الشاشة:"
#: builtin/mainmenu/tab_settings.lua
-msgid "Autosave Screen Size"
-msgstr "Ø­Ùظ حجم الشاشة تلقائيا"
+msgid "Settings"
+msgstr "إعدادات"
#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp
msgid "Shaders"
@@ -738,23 +758,19 @@ msgid "Shaders (unavailable)"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-msgid "Reset singleplayer world"
-msgstr ""
-
-#: builtin/mainmenu/tab_settings.lua src/client/game.cpp
-msgid "Change Keys"
+msgid "Simple Leaves"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-msgid "All Settings"
-msgstr "كل الإعدادات"
+msgid "Smooth Lighting"
+msgstr ""
#: builtin/mainmenu/tab_settings.lua
-msgid "Touchthreshold: (px)"
+msgid "Texturing:"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-msgid "Bump Mapping"
+msgid "To enable shaders the OpenGL driver needs to be used."
msgstr ""
#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp
@@ -762,15 +778,11 @@ msgid "Tone Mapping"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-msgid "Generate Normal Maps"
-msgstr "ولÙد خرائط عادية"
-
-#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp
-msgid "Parallax Occlusion"
+msgid "Touchthreshold: (px)"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Liquids"
+msgid "Trilinear Filter"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
@@ -778,374 +790,379 @@ msgid "Waving Leaves"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Plants"
-msgstr ""
+msgid "Waving Liquids"
+msgstr "سوائل متموجة"
#: builtin/mainmenu/tab_settings.lua
-msgid "To enable shaders the OpenGL driver needs to be used."
+msgid "Waving Plants"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-msgid "Settings"
-msgstr "إعدادات"
-
-#: builtin/mainmenu/tab_simple_main.lua
-msgid "Start Singleplayer"
-msgstr ""
+msgid "Yes"
+msgstr "نعم"
#: builtin/mainmenu/tab_simple_main.lua
msgid "Config mods"
msgstr ""
#: builtin/mainmenu/tab_simple_main.lua
+#, fuzzy
msgid "Main"
-msgstr ""
+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 "Loading textures..."
-msgstr ""
+msgid "Done!"
+msgstr "تم!"
#: src/client/client.cpp
-msgid "Rebuilding shaders..."
-msgstr ""
+msgid "Initializing nodes"
+msgstr "تحضير العقد"
#: src/client/client.cpp
msgid "Initializing nodes..."
-msgstr ""
+msgstr "تحضير العقد..."
#: src/client/client.cpp
-msgid "Initializing nodes"
+msgid "Loading textures..."
msgstr ""
#: src/client/client.cpp
-msgid "Done!"
+msgid "Rebuilding shaders..."
msgstr ""
#: src/client/clientlauncher.cpp
-msgid "Main Menu"
-msgstr ""
+msgid "Connection error (timed out?)"
+msgstr "خطأ ÙÙŠ الاتصال (انتهاء المهلة؟)"
#: src/client/clientlauncher.cpp
-msgid "Player name too long."
-msgstr ""
+msgid "Could not find or load game \""
+msgstr "لا يمكن إيجاد أو تحميل لعبة \""
#: src/client/clientlauncher.cpp
-msgid "Connection error (timed out?)"
+msgid "Invalid gamespec."
msgstr ""
#: src/client/clientlauncher.cpp
-msgid "Provided password file failed to open: "
-msgstr ""
+#, fuzzy
+msgid "Main Menu"
+msgstr "القائمة الرئيسية"
#: src/client/clientlauncher.cpp
-msgid "Please choose a name!"
+msgid "No world selected and no address provided. Nothing to do."
msgstr ""
#: src/client/clientlauncher.cpp
-msgid "No world selected and no address provided. Nothing to do."
-msgstr ""
+msgid "Player name too long."
+msgstr "إسم اللاعب طويل."
#: src/client/clientlauncher.cpp
-msgid "Provided world path doesn't exist: "
-msgstr ""
+msgid "Please choose a name!"
+msgstr "يرجى اختيار اسم!"
#: src/client/clientlauncher.cpp
-msgid "Could not find or load game \""
+msgid "Provided password file failed to open: "
msgstr ""
#: src/client/clientlauncher.cpp
-msgid "Invalid gamespec."
+msgid "Provided world path doesn't exist: "
msgstr ""
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string. Put either "no" or "yes"
+#. into the translation field (literally).
+#. Choose "yes" if the language requires use of the fallback
+#. font, "no" otherwise.
+#. The fallback font is (normally) required for languages with
+#. non-Latin script, like Chinese.
+#. When in doubt, test your translation.
#: src/client/fontengine.cpp
msgid "needs_fallback_font"
-msgstr ""
+msgstr "yes"
#: src/client/game.cpp
-msgid "Shutting down..."
+msgid ""
+"\n"
+"Check debug.txt for details."
msgstr ""
#: src/client/game.cpp
-msgid "Creating server..."
+msgid "- Address: "
msgstr ""
#: src/client/game.cpp
-msgid "Creating client..."
+msgid "- Creative Mode: "
msgstr ""
#: src/client/game.cpp
-msgid "Resolving address..."
+msgid "- Damage: "
msgstr ""
#: src/client/game.cpp
-msgid "Connecting to server..."
+msgid "- Mode: "
msgstr ""
#: src/client/game.cpp
-msgid "Item definitions..."
+msgid "- Port: "
msgstr ""
#: src/client/game.cpp
-msgid "Node definitions..."
+msgid "- Public: "
msgstr ""
+#. ~ PvP = Player versus Player
#: src/client/game.cpp
-msgid "Media..."
+msgid "- PvP: "
msgstr ""
#: src/client/game.cpp
-msgid "KiB/s"
+msgid "- Server Name: "
msgstr ""
#: src/client/game.cpp
-msgid "MiB/s"
+msgid "Automatic forward disabled"
msgstr ""
#: src/client/game.cpp
-msgid "Client side scripting is disabled"
+msgid "Automatic forward enabled"
msgstr ""
#: src/client/game.cpp
-msgid "Sound muted"
+msgid "Camera update disabled"
msgstr ""
#: src/client/game.cpp
-msgid "Sound unmuted"
+msgid "Camera update enabled"
msgstr ""
#: src/client/game.cpp
-#, c-format
-msgid "Volume changed to %d%%"
-msgstr ""
-
-#: src/client/game.cpp src/gui/modalMenu.cpp
-msgid "ok"
+msgid "Change Password"
msgstr ""
#: src/client/game.cpp
-msgid "Fly mode enabled"
+msgid "Cinematic mode disabled"
msgstr ""
#: src/client/game.cpp
-msgid "Fly mode enabled (note: no 'fly' privilege)"
+msgid "Cinematic mode enabled"
msgstr ""
#: src/client/game.cpp
-msgid "Fly mode disabled"
+msgid "Client side scripting is disabled"
msgstr ""
#: src/client/game.cpp
-msgid "Pitch move mode enabled"
+msgid "Connecting to server..."
msgstr ""
#: src/client/game.cpp
-msgid "Pitch move mode disabled"
+msgid "Continue"
msgstr ""
#: src/client/game.cpp
-msgid "Fast mode enabled"
+#, 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 "Fast mode enabled (note: no 'fast' privilege)"
+msgid "Creating client..."
msgstr ""
#: src/client/game.cpp
-msgid "Fast mode disabled"
+msgid "Creating server..."
msgstr ""
#: src/client/game.cpp
-msgid "Noclip mode enabled"
+msgid "Debug info and profiler graph hidden"
msgstr ""
#: src/client/game.cpp
-msgid "Noclip mode enabled (note: no 'noclip' privilege)"
+msgid "Debug info shown"
msgstr ""
#: src/client/game.cpp
-msgid "Noclip mode disabled"
+msgid "Debug info, profiler graph, and wireframe hidden"
msgstr ""
#: src/client/game.cpp
-msgid "Cinematic mode enabled"
+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 "Cinematic mode disabled"
+msgid "Disabled unlimited viewing range"
msgstr ""
#: src/client/game.cpp
-msgid "Automatic forward enabled"
+msgid "Enabled unlimited viewing range"
msgstr ""
#: src/client/game.cpp
-msgid "Automatic forward disabled"
+msgid "Exit to Menu"
msgstr ""
#: src/client/game.cpp
-msgid "Minimap in surface mode, Zoom x1"
+msgid "Exit to OS"
msgstr ""
#: src/client/game.cpp
-msgid "Minimap in surface mode, Zoom x2"
+msgid "Fast mode disabled"
msgstr ""
#: src/client/game.cpp
-msgid "Minimap in surface mode, Zoom x4"
+msgid "Fast mode enabled"
msgstr ""
#: src/client/game.cpp
-msgid "Minimap in radar mode, Zoom x1"
+msgid "Fast mode enabled (note: no 'fast' privilege)"
msgstr ""
#: src/client/game.cpp
-msgid "Minimap in radar mode, Zoom x2"
+msgid "Fly mode disabled"
msgstr ""
#: src/client/game.cpp
-msgid "Minimap in radar mode, Zoom x4"
+msgid "Fly mode enabled"
msgstr ""
#: src/client/game.cpp
-msgid "Minimap hidden"
+msgid "Fly mode enabled (note: no 'fly' privilege)"
msgstr ""
#: src/client/game.cpp
-msgid "Minimap currently disabled by game or mod"
+msgid "Fog disabled"
msgstr ""
#: src/client/game.cpp
-msgid "Fog disabled"
+msgid "Fog enabled"
msgstr ""
#: src/client/game.cpp
-msgid "Fog enabled"
+msgid "Game info:"
msgstr ""
#: src/client/game.cpp
-msgid "Debug info shown"
+msgid "Game paused"
msgstr ""
#: src/client/game.cpp
-msgid "Profiler graph shown"
+msgid "Hosting server"
msgstr ""
#: src/client/game.cpp
-msgid "Wireframe shown"
+msgid "Item definitions..."
msgstr ""
#: src/client/game.cpp
-msgid "Debug info, profiler graph, and wireframe hidden"
+msgid "KiB/s"
msgstr ""
#: src/client/game.cpp
-msgid "Debug info and profiler graph hidden"
+msgid "Media..."
msgstr ""
#: src/client/game.cpp
-msgid "Camera update disabled"
+msgid "MiB/s"
msgstr ""
#: src/client/game.cpp
-msgid "Camera update enabled"
+msgid "Minimap currently disabled by game or mod"
msgstr ""
#: src/client/game.cpp
-#, c-format
-msgid "Viewing range is at maximum: %d"
+msgid "Minimap hidden"
msgstr ""
#: src/client/game.cpp
-#, c-format
-msgid "Viewing range changed to %d"
+msgid "Minimap in radar mode, Zoom x1"
msgstr ""
#: src/client/game.cpp
-#, c-format
-msgid "Viewing range is at minimum: %d"
+msgid "Minimap in radar mode, Zoom x2"
msgstr ""
#: src/client/game.cpp
-msgid "Enabled unlimited viewing range"
+msgid "Minimap in radar mode, Zoom x4"
msgstr ""
#: src/client/game.cpp
-msgid "Disabled unlimited viewing range"
+msgid "Minimap in surface mode, Zoom x1"
msgstr ""
#: src/client/game.cpp
-msgid "Zoom currently disabled by game or mod"
+msgid "Minimap in surface mode, Zoom x2"
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"
+msgid "Minimap in surface mode, Zoom x4"
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"
+msgid "Noclip mode disabled"
msgstr ""
#: src/client/game.cpp
-msgid "Continue"
+msgid "Noclip mode enabled"
msgstr ""
#: src/client/game.cpp
-msgid "Change Password"
+msgid "Noclip mode enabled (note: no 'noclip' privilege)"
msgstr ""
#: src/client/game.cpp
-msgid "Game paused"
+msgid "Node definitions..."
msgstr ""
#: src/client/game.cpp
-msgid "Sound Volume"
+msgid "Off"
msgstr ""
#: src/client/game.cpp
-msgid "Exit to Menu"
+msgid "On"
msgstr ""
#: src/client/game.cpp
-msgid "Exit to OS"
+msgid "Pitch move mode disabled"
msgstr ""
#: src/client/game.cpp
-msgid "Game info:"
+msgid "Pitch move mode enabled"
msgstr ""
#: src/client/game.cpp
-msgid "- Mode: "
+msgid "Profiler graph shown"
msgstr ""
#: src/client/game.cpp
@@ -1153,57 +1170,59 @@ msgid "Remote server"
msgstr ""
#: src/client/game.cpp
-msgid "- Address: "
+msgid "Resolving address..."
msgstr ""
#: src/client/game.cpp
-msgid "Hosting server"
+msgid "Shutting down..."
msgstr ""
#: src/client/game.cpp
-msgid "- Port: "
+msgid "Singleplayer"
msgstr ""
#: src/client/game.cpp
-msgid "Singleplayer"
+msgid "Sound Volume"
msgstr ""
#: src/client/game.cpp
-msgid "On"
+msgid "Sound muted"
msgstr ""
#: src/client/game.cpp
-msgid "Off"
+msgid "Sound unmuted"
msgstr ""
#: src/client/game.cpp
-msgid "- Damage: "
+#, c-format
+msgid "Viewing range changed to %d"
msgstr ""
#: src/client/game.cpp
-msgid "- Creative Mode: "
+#, c-format
+msgid "Viewing range is at maximum: %d"
msgstr ""
#: src/client/game.cpp
-msgid "- PvP: "
+#, c-format
+msgid "Viewing range is at minimum: %d"
msgstr ""
#: src/client/game.cpp
-msgid "- Public: "
+#, c-format
+msgid "Volume changed to %d%%"
msgstr ""
#: src/client/game.cpp
-msgid "- Server Name: "
+msgid "Wireframe shown"
msgstr ""
#: src/client/game.cpp
-msgid ""
-"\n"
-"Check debug.txt for details."
+msgid "Zoom currently disabled by game or mod"
msgstr ""
-#: src/client/gameui.cpp
-msgid "Chat shown"
+#: src/client/game.cpp src/gui/modalMenu.cpp
+msgid "ok"
msgstr ""
#: src/client/gameui.cpp
@@ -1211,7 +1230,7 @@ msgid "Chat hidden"
msgstr ""
#: src/client/gameui.cpp
-msgid "HUD shown"
+msgid "Chat shown"
msgstr ""
#: src/client/gameui.cpp
@@ -1219,136 +1238,141 @@ msgid "HUD hidden"
msgstr ""
#: src/client/gameui.cpp
-#, c-format
-msgid "Profiler shown (page %d of %d)"
+msgid "HUD shown"
msgstr ""
#: src/client/gameui.cpp
msgid "Profiler hidden"
msgstr ""
-#: src/client/keycode.cpp
-msgid "Left Button"
+#: src/client/gameui.cpp
+#, c-format
+msgid "Profiler shown (page %d of %d)"
msgstr ""
#: src/client/keycode.cpp
-msgid "Right Button"
+msgid "Apps"
msgstr ""
#: src/client/keycode.cpp
-msgid "Middle Button"
+msgid "Backspace"
msgstr ""
#: src/client/keycode.cpp
-msgid "X Button 1"
+msgid "Caps Lock"
msgstr ""
#: src/client/keycode.cpp
-msgid "X Button 2"
+msgid "Clear"
msgstr ""
#: src/client/keycode.cpp
-msgid "Backspace"
+msgid "Control"
msgstr ""
#: src/client/keycode.cpp
-msgid "Tab"
+msgid "Down"
msgstr ""
#: src/client/keycode.cpp
-msgid "Clear"
+msgid "End"
msgstr ""
#: src/client/keycode.cpp
-msgid "Return"
+msgid "Erase EOF"
msgstr ""
#: src/client/keycode.cpp
-msgid "Shift"
+msgid "Execute"
msgstr ""
#: src/client/keycode.cpp
-msgid "Control"
+msgid "Help"
msgstr ""
#: src/client/keycode.cpp
-msgid "Menu"
+msgid "Home"
msgstr ""
#: src/client/keycode.cpp
-msgid "Pause"
+msgid "IME Accept"
msgstr ""
#: src/client/keycode.cpp
-msgid "Caps Lock"
+msgid "IME Convert"
msgstr ""
#: src/client/keycode.cpp
-msgid "Space"
+msgid "IME Escape"
msgstr ""
#: src/client/keycode.cpp
-msgid "Page up"
+msgid "IME Mode Change"
msgstr ""
#: src/client/keycode.cpp
-msgid "Page down"
+msgid "IME Nonconvert"
msgstr ""
#: src/client/keycode.cpp
-msgid "End"
+msgid "Insert"
+msgstr ""
+
+#: src/client/keycode.cpp src/gui/guiKeyChangeMenu.cpp
+msgid "Left"
msgstr ""
#: src/client/keycode.cpp
-msgid "Home"
+msgid "Left Button"
msgstr ""
-#: src/client/keycode.cpp src/gui/guiKeyChangeMenu.cpp
-msgid "Left"
+#: src/client/keycode.cpp
+msgid "Left Control"
msgstr ""
#: src/client/keycode.cpp
-msgid "Up"
+msgid "Left Menu"
msgstr ""
-#: src/client/keycode.cpp src/gui/guiKeyChangeMenu.cpp
-msgid "Right"
+#: src/client/keycode.cpp
+msgid "Left Shift"
msgstr ""
#: src/client/keycode.cpp
-msgid "Down"
+msgid "Left Windows"
msgstr ""
+#. ~ Key name, common on Windows keyboards
#: src/client/keycode.cpp
-msgid "Select"
+msgid "Menu"
msgstr ""
#: src/client/keycode.cpp
-msgid "Print"
+msgid "Middle Button"
msgstr ""
#: src/client/keycode.cpp
-msgid "Execute"
+msgid "Num Lock"
msgstr ""
#: src/client/keycode.cpp
-msgid "Snapshot"
+msgid "Numpad *"
msgstr ""
#: src/client/keycode.cpp
-msgid "Insert"
+msgid "Numpad +"
msgstr ""
#: src/client/keycode.cpp
-msgid "Help"
+msgid "Numpad -"
msgstr ""
#: src/client/keycode.cpp
-msgid "Left Windows"
+msgid "Numpad ."
msgstr ""
#: src/client/keycode.cpp
-msgid "Right Windows"
+msgid "Numpad /"
msgstr ""
#: src/client/keycode.cpp
@@ -1392,99 +1416,109 @@ msgid "Numpad 9"
msgstr ""
#: src/client/keycode.cpp
-msgid "Numpad *"
+msgid "OEM Clear"
msgstr ""
#: src/client/keycode.cpp
-msgid "Numpad +"
+msgid "Page down"
msgstr ""
#: src/client/keycode.cpp
-msgid "Numpad ."
+msgid "Page up"
msgstr ""
#: src/client/keycode.cpp
-msgid "Numpad -"
+msgid "Pause"
msgstr ""
#: src/client/keycode.cpp
-msgid "Numpad /"
+msgid "Play"
msgstr ""
+#. ~ "Print screen" key
#: src/client/keycode.cpp
-msgid "Num Lock"
+msgid "Print"
msgstr ""
#: src/client/keycode.cpp
-msgid "Scroll Lock"
+msgid "Return"
+msgstr ""
+
+#: src/client/keycode.cpp src/gui/guiKeyChangeMenu.cpp
+msgid "Right"
msgstr ""
#: src/client/keycode.cpp
-msgid "Left Shift"
+msgid "Right Button"
msgstr ""
#: src/client/keycode.cpp
-msgid "Right Shift"
+msgid "Right Control"
msgstr ""
#: src/client/keycode.cpp
-msgid "Left Control"
+msgid "Right Menu"
msgstr ""
#: src/client/keycode.cpp
-msgid "Right Control"
+msgid "Right Shift"
msgstr ""
#: src/client/keycode.cpp
-msgid "Left Menu"
+msgid "Right Windows"
msgstr ""
#: src/client/keycode.cpp
-msgid "Right Menu"
+msgid "Scroll Lock"
msgstr ""
+#. ~ Key name
#: src/client/keycode.cpp
-msgid "IME Escape"
+msgid "Select"
msgstr ""
#: src/client/keycode.cpp
-msgid "IME Convert"
+msgid "Shift"
msgstr ""
#: src/client/keycode.cpp
-msgid "IME Nonconvert"
+msgid "Sleep"
msgstr ""
#: src/client/keycode.cpp
-msgid "IME Accept"
+msgid "Snapshot"
msgstr ""
#: src/client/keycode.cpp
-msgid "IME Mode Change"
+msgid "Space"
msgstr ""
#: src/client/keycode.cpp
-msgid "Apps"
+msgid "Tab"
msgstr ""
#: src/client/keycode.cpp
-msgid "Sleep"
+msgid "Up"
msgstr ""
#: src/client/keycode.cpp
-msgid "Erase EOF"
+msgid "X Button 1"
msgstr ""
#: src/client/keycode.cpp
-msgid "Play"
+msgid "X Button 2"
msgstr ""
#: src/client/keycode.cpp src/gui/guiKeyChangeMenu.cpp
msgid "Zoom"
msgstr ""
-#: src/client/keycode.cpp
-msgid "OEM Clear"
+#: 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
@@ -1497,28 +1531,16 @@ msgid ""
"creation, or click 'Cancel' to abort."
msgstr ""
-#: src/gui/guiConfirmRegistration.cpp
-msgid "Register and Join"
-msgstr ""
-
-#: src/gui/guiConfirmRegistration.cpp src/gui/guiPasswordChange.cpp
-msgid "Passwords do not match!"
-msgstr ""
-
#: src/gui/guiFormSpecMenu.cpp
msgid "Proceed"
msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Keybindings. (If this menu screws up, remove stuff from minetest.conf)"
-msgstr ""
-
-#: src/gui/guiKeyChangeMenu.cpp
msgid "\"Special\" = climb down"
msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Double tap \"jump\" to toggle fly"
+msgid "Autoforward"
msgstr ""
#: src/gui/guiKeyChangeMenu.cpp src/settings_translation_file.cpp
@@ -1526,71 +1548,71 @@ msgid "Automatic jumping"
msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Key already in use"
+msgid "Backward"
msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
-msgid "press key"
+msgid "Change camera"
msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Forward"
+msgid "Chat"
msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Backward"
+msgid "Command"
msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Special"
+msgid "Console"
msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Jump"
+msgid "Dec. range"
msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Sneak"
+msgid "Dec. volume"
msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Drop"
+msgid "Double tap \"jump\" to toggle fly"
msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Inventory"
+msgid "Drop"
msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Prev. item"
+msgid "Forward"
msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Next item"
+msgid "Inc. range"
msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Change camera"
+msgid "Inc. volume"
msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Toggle minimap"
+msgid "Inventory"
msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Toggle fly"
+msgid "Jump"
msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Toggle pitchmove"
+msgid "Key already in use"
msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Toggle fast"
+msgid "Keybindings. (If this menu screws up, remove stuff from minetest.conf)"
msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Toggle noclip"
+msgid "Local command"
msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
@@ -1598,19 +1620,15 @@ msgid "Mute"
msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Dec. volume"
-msgstr ""
-
-#: src/gui/guiKeyChangeMenu.cpp
-msgid "Inc. volume"
+msgid "Next item"
msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Autoforward"
+msgid "Prev. item"
msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Chat"
+msgid "Range select"
msgstr ""
#: src/gui/guiKeyChangeMenu.cpp src/settings_translation_file.cpp
@@ -1618,47 +1636,51 @@ msgid "Screenshot"
msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Range select"
+msgid "Sneak"
msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Dec. range"
+msgid "Special"
msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Inc. range"
+msgid "Toggle HUD"
msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Console"
+msgid "Toggle chat log"
msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Command"
+msgid "Toggle fast"
msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Local command"
+msgid "Toggle fly"
msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Toggle HUD"
+msgid "Toggle fog"
msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Toggle chat log"
+msgid "Toggle minimap"
msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Toggle fog"
+msgid "Toggle noclip"
msgstr ""
-#: src/gui/guiPasswordChange.cpp
-msgid "Old Password"
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Toggle pitchmove"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "press key"
msgstr ""
#: src/gui/guiPasswordChange.cpp
-msgid "New Password"
+msgid "Change"
msgstr ""
#: src/gui/guiPasswordChange.cpp
@@ -1666,11 +1688,11 @@ msgid "Confirm Password"
msgstr ""
#: src/gui/guiPasswordChange.cpp
-msgid "Change"
+msgid "New Password"
msgstr ""
-#: src/gui/guiVolumeChange.cpp
-msgid "Sound Volume: "
+#: src/gui/guiPasswordChange.cpp
+msgid "Old Password"
msgstr ""
#: src/gui/guiVolumeChange.cpp
@@ -1681,1058 +1703,941 @@ msgstr ""
msgid "Muted"
msgstr ""
+#: src/gui/guiVolumeChange.cpp
+msgid "Sound Volume: "
+msgstr ""
+
+#. ~ Imperative, as in "Enter/type in text".
+#. Don't forget the space.
#: src/gui/modalMenu.cpp
msgid "Enter "
msgstr ""
-#: src/network/clientpackethandler.cpp
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string which needs to contain the translation's
+#. language code (e.g. "de" for German).
+#: src/network/clientpackethandler.cpp src/script/lua_api/l_client.cpp
msgid "LANG_CODE"
msgstr "ar"
#: src/settings_translation_file.cpp
-msgid "Controls"
+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 "Build inside player"
+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 ""
-"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."
+"(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 "Flying"
+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 ""
-"Player is able to fly without being affected by gravity.\n"
-"This requires the \"fly\" privilege on the server."
+"0 = parallax occlusion with slope information (faster).\n"
+"1 = relief mapping (slower, more accurate)."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Pitch move mode"
+msgid "2D noise that controls the shape/size of ridged mountains."
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"If enabled, makes move directions relative to the player's pitch when flying "
-"or swimming."
+msgid "2D noise that controls the shape/size of rolling hills."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Fast movement"
+msgid "2D noise that controls the shape/size of step mountains."
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Fast movement (via the \"special\" key).\n"
-"This requires the \"fast\" privilege on the server."
+msgid "2D noise that controls the size/occurrence of ridged mountain ranges."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Noclip"
+msgid "2D noise that controls the size/occurrence of rolling hills."
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."
+msgid "2D noise that controls the size/occurrence of step mountain ranges."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Cinematic mode"
+msgid "2D noise that locates the river valleys and channels."
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Smooths camera when looking around. Also called look or mouse smoothing.\n"
-"Useful for recording videos."
+msgid "3D clouds"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Camera smoothing"
+msgid "3D mode"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Smooths rotation of camera. 0 to disable."
+msgid "3D noise defining giant caverns."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Camera smoothing in cinematic mode"
+msgid ""
+"3D noise defining mountain structure and height.\n"
+"Also defines structure of floatland mountain terrain."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Smooths rotation of camera in cinematic mode. 0 to disable."
+msgid "3D noise defining structure of river canyon walls."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Invert mouse"
+msgid "3D noise defining terrain."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Invert vertical mouse movement."
+msgid "3D noise for mountain overhangs, cliffs, etc. Usually small variations."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Mouse sensitivity"
+msgid "3D noise that determines number of dungeons per mapchunk."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Mouse sensitivity multiplier."
+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 "Special key for climbing/descending"
+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 ""
-"If enabled, \"special\" key instead of \"sneak\" key is used for climbing "
-"down and\n"
-"descending."
+msgid "A message to be displayed to all clients when the server crashes."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Double tap jump for fly"
+msgid "A message to be displayed to all clients when the server shuts down."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Double-tapping the jump key toggles fly mode."
+msgid "ABM interval"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Always fly and fast"
+msgid "Absolute limit of emerge queues"
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."
+msgid "Acceleration in air"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Rightclick repetition interval"
+msgid "Acceleration of gravity, in nodes per second per second."
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"The time in seconds it takes between repeated right clicks when holding the "
-"right\n"
-"mouse button."
+msgid "Active Block Modifiers"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Automatically jump up single-node obstacles."
+msgid "Active block management interval"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Safe digging and placing"
+msgid "Active block range"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Active object send range"
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."
+"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 "Random input"
+msgid "Adds particles when digging a node."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Enable random user input (only used for testing)."
+msgid ""
+"Adjust dpi configuration to your screen (non X11/Android only) e.g. for 4k "
+"screens."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Continuous forward"
+msgid "Advanced"
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."
+"Alters the light curve by applying 'gamma correction' to it.\n"
+"Higher values make middle and lower light levels brighter.\n"
+"Value '1.0' leaves the light curve unaltered.\n"
+"This only has significant effect on daylight and artificial\n"
+"light, it has very little effect on natural night light."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Touch screen threshold"
+msgid "Altitude chill"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "The length in pixels it takes for touch screen interaction to start."
+msgid "Always fly and fast"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Fixed virtual joystick"
+msgid "Ambient occlusion gamma"
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."
+msgid "Amount of messages a player may send per 10 seconds."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Virtual joystick triggers aux button"
+msgid "Amplifies the valleys."
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."
+msgid "Anisotropic filtering"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Enable joysticks"
+msgid "Announce server"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Joystick ID"
+msgid "Announce to this serverlist."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "The identifier of the joystick to use"
+msgid "Append item name"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Joystick type"
+msgid "Append item name to tooltip."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "The type of joystick"
+msgid "Apple trees noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Joystick button repetition interval"
+msgid "Arm inertia"
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"The time in seconds it takes between repeated events\n"
-"when holding down a joystick button combination."
+"Arm inertia, gives a more realistic movement of\n"
+"the arm when the camera moves."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Joystick frustum sensitivity"
+msgid "Ask to reconnect after crash"
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"The sensitivity of the joystick axes for moving the\n"
-"ingame view frustum around."
+"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 "Forward key"
+msgid "Automatic forward key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for moving the player forward.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Automatically jump up single-node obstacles."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Backward key"
+msgid "Automatically report to the serverlist."
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"
+msgid "Autosave screen size"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Left key"
+msgid "Autoscaling mode"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for moving the player left.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Backward key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Right key"
+msgid "Base ground level"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for moving the player right.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Base terrain height."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Jump key"
+msgid "Basic"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for jumping.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Basic privileges"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Sneak key"
+msgid "Beach noise"
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"
+msgid "Beach noise threshold"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Inventory key"
+msgid "Bilinear filtering"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for opening the inventory.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Bind address"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Special key"
+msgid "Biome API temperature and humidity noise parameters"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for moving fast in fast mode.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Biome noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Chat key"
+msgid "Bits per pixel (aka color depth) in fullscreen mode."
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for opening the chat window.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Block send optimize distance"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Command key"
+msgid "Bold and italic font path"
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"
+msgid "Bold and italic monospace font path"
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"
+msgid "Bold font path"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Range select key"
+msgid "Bold monospace font path"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for toggling unlimited view range.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Build inside player"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Fly key"
+msgid "Builtin"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for toggling flying.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Bumpmapping"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Pitch move key"
+msgid ""
+"Camera 'near clipping plane' distance in nodes, between 0 and 0.25\n"
+"Only works on GLES platforms. 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 ""
-"Key for toggling pitch move mode.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Camera smoothing"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Fast key"
+msgid "Camera smoothing in cinematic mode"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for toggling fast mode.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Camera update toggle key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Noclip key"
+msgid "Cave noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for toggling noclip mode.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Cave noise #1"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hotbar next key"
+msgid "Cave noise #2"
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"
+msgid "Cave width"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hotbar previous key"
+msgid "Cave1 noise"
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"
+msgid "Cave2 noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Mute key"
+msgid "Cavern limit"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for muting the game.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Cavern noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Inc. volume key"
+msgid "Cavern taper"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for increasing the volume.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Cavern threshold"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Dec. volume key"
+msgid "Cavern upper limit"
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Key for decreasing the volume.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+"Center of light curve boost range.\n"
+"Where 0.0 is minimum light level, 1.0 is maximum light level."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Automatic forward key"
+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 ""
-"Key for toggling autoforward.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Chat key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Cinematic mode key"
+msgid "Chat message count limit"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for toggling cinematic mode.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Chat message format"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Minimap key"
+msgid "Chat message kick threshold"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for toggling display of minimap.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Chat message max length"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for taking screenshots.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Chat toggle key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Drop item key"
+msgid "Chatcommands"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for dropping the currently selected item.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Chunk size"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "View zoom key"
+msgid "Cinematic mode"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key to use view zoom when possible.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Cinematic mode key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hotbar slot 1 key"
+msgid "Clean transparent textures"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for selecting the first hotbar slot.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Client"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hotbar slot 2 key"
+msgid "Client and Server"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for selecting the second hotbar slot.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Client modding"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hotbar slot 3 key"
+msgid "Client side modding restrictions"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for selecting the third hotbar slot.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Client side node lookup range restriction"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hotbar slot 4 key"
+msgid "Climbing speed"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for selecting the fourth hotbar slot.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Cloud radius"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hotbar slot 5 key"
+msgid "Clouds"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for selecting the fifth hotbar slot.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Clouds are a client side effect."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hotbar slot 6 key"
+msgid "Clouds in menu"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for selecting the sixth hotbar slot.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Colored fog"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hotbar slot 7 key"
+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 ""
-"Key for selecting the seventh hotbar slot.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+"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 "Hotbar slot 8 key"
+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 ""
-"Key for selecting the eighth hotbar slot.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Command key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hotbar slot 9 key"
+msgid "Connect glass"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for selecting the ninth hotbar slot.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Connect to external media server"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hotbar slot 10 key"
+msgid "Connects glass if supported by node."
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for selecting the tenth hotbar slot.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Console alpha"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hotbar slot 11 key"
+msgid "Console color"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for selecting the 11th hotbar slot.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Console height"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hotbar slot 12 key"
+msgid "ContentDB Flag Blacklist"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for selecting the 12th hotbar slot.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "ContentDB URL"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hotbar slot 13 key"
+msgid "Continuous forward"
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Key for selecting the 13th hotbar slot.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+"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 "Hotbar slot 14 key"
+msgid "Controls"
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Key for selecting the 14th hotbar slot.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+"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 "Hotbar slot 15 key"
+msgid "Controls sinking speed in liquid."
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for selecting the 15th hotbar slot.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Controls steepness/depth of lake depressions."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hotbar slot 16 key"
+msgid "Controls steepness/height of hills."
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Key for selecting the 16th hotbar slot.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+"Controls width of tunnels, a smaller value creates wider tunnels.\n"
+"Value >= 10.0 completely disables generation of tunnels and avoids the\n"
+"intensive noise calculations."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hotbar slot 17 key"
+msgid "Crash message"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for selecting the 17th hotbar slot.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Creative"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hotbar slot 18 key"
+msgid "Crosshair alpha"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for selecting the 18th hotbar slot.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Crosshair alpha (opaqueness, between 0 and 255)."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hotbar slot 19 key"
+msgid "Crosshair color"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for selecting the 19th hotbar slot.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Crosshair color (R,G,B)."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hotbar slot 20 key"
+msgid "DPI"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for selecting the 20th hotbar slot.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Damage"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hotbar slot 21 key"
+msgid "Debug info toggle key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for selecting the 21st hotbar slot.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Debug log file size threshold"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hotbar slot 22 key"
+msgid "Debug log level"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for selecting the 22nd hotbar slot.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Dec. volume key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hotbar slot 23 key"
+msgid "Decrease this to increase liquid resistance to movement."
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for selecting the 23rd hotbar slot.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Dedicated server step"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hotbar slot 24 key"
+msgid "Default acceleration"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Default game"
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Key for selecting the 24th hotbar slot.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+"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 "Hotbar slot 25 key"
+msgid "Default password"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for selecting the 25th hotbar slot.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Default privileges"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hotbar slot 26 key"
+msgid "Default report format"
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Key for selecting the 26th hotbar slot.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+"Default timeout for cURL, stated in milliseconds.\n"
+"Only has an effect if compiled with cURL."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hotbar slot 27 key"
+msgid "Defines areas where trees have apples."
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for selecting the 27th hotbar slot.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Defines areas with sandy beaches."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hotbar slot 28 key"
+msgid "Defines distribution of higher terrain and steepness of cliffs."
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for selecting the 28th hotbar slot.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Defines distribution of higher terrain."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hotbar slot 29 key"
+msgid "Defines full size of caverns, smaller values create larger caverns."
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for selecting the 29th hotbar slot.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Defines large-scale river channel structure."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hotbar slot 30 key"
+msgid "Defines location and terrain of optional hills and lakes."
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Key for selecting the 30th hotbar slot.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+"Defines sampling step of texture.\n"
+"A higher value results in smoother normal maps."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hotbar slot 31 key"
+msgid "Defines the base ground level."
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for selecting the 31st hotbar slot.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Defines the depth of the river channel."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hotbar slot 32 key"
+msgid "Defines the maximal player transfer distance in blocks (0 = unlimited)."
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for selecting the 32nd hotbar slot.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Defines the width of the river channel."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "HUD toggle key"
+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 ""
-"Key for toggling the display of the HUD.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+"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 "Chat toggle key"
+msgid "Delay in sending blocks after building"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for toggling the display of chat.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Delay showing tooltips, stated in milliseconds."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Large chat console key"
+msgid "Deprecated Lua API handling"
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"
+msgid "Depth below which you'll find giant caverns."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Fog toggle key"
+msgid "Depth below which you'll find large caves."
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Key for toggling the display of fog.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+"Description of server, to be displayed when players join and in the "
+"serverlist."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Camera update toggle key"
+msgid "Desert noise threshold"
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"
+"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 "Debug info toggle key"
+msgid "Desynchronize block animation"
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"
+msgid "Digging particles"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Profiler toggle key"
+msgid "Disable anticheat"
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"
+msgid "Disallow empty passwords"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Toggle camera mode key"
+msgid "Domain name of server, to be displayed in the serverlist."
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"
+msgid "Double tap jump for fly"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "View range increase key"
+msgid "Double-tapping the jump key toggles fly mode."
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for increasing the viewing range.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Drop item key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "View range decrease key"
+msgid "Dump the mapgen debug information."
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for decreasing the viewing range.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Dungeon maximum Y"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Graphics"
+msgid "Dungeon minimum Y"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "In-Game"
+msgid "Dungeon noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Basic"
+msgid ""
+"Enable IPv6 support (for both client and server).\n"
+"Required for IPv6 connections to work at all."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "VBO"
+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"
+msgid "Enable console window"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Fog"
+msgid "Enable creative mode for new created maps."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Whether to fog out the end of the visible area."
+msgid "Enable joysticks"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Leaves style"
+msgid "Enable mod channels support."
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"
+msgid "Enable mod security"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Connect glass"
+msgid "Enable players getting damage and dying."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Connects glass if supported by node."
+msgid "Enable random user input (only used for testing)."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Smooth lighting"
+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
@@ -2742,3155 +2647,3395 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Clouds"
+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 "Clouds are a client side effect."
+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 "3D clouds"
+msgid ""
+"Enable vertex buffer objects.\n"
+"This should greatly improve graphics performance."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Use 3D cloud look instead of flat."
+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 "Node highlighting"
+msgid ""
+"Enable/disable running an IPv6 server.\n"
+"Ignored if bind_address is set.\n"
+"Needs enable_ipv6 to be enabled."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Method used to highlight selected object."
+msgid ""
+"Enables Hable's 'Uncharted 2' filmic tone mapping.\n"
+"Simulates the tone curve of photographic film and how this approximates the\n"
+"appearance of high dynamic range images. Mid-range contrast is slightly\n"
+"enhanced, highlights and shadows are gradually compressed."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Digging particles"
+msgid "Enables animation of inventory items."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Adds particles when digging a node."
+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 "Filtering"
+msgid "Enables caching of facedir rotated meshes."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Mipmapping"
+msgid "Enables minimap."
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."
+"Enables on the fly normalmap generation (Emboss effect).\n"
+"Requires bumpmapping to be enabled."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Anisotropic filtering"
+msgid ""
+"Enables parallax occlusion mapping.\n"
+"Requires shaders to be enabled."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Use anisotropic filtering when viewing at textures from an angle."
+msgid ""
+"Enables the sound system.\n"
+"If disabled, this completely disables all sounds everywhere and the in-game\n"
+"sound controls will be non-functional.\n"
+"Changing this setting requires a restart."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Bilinear filtering"
+msgid "Engine profiling data print interval"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Use bilinear filtering when scaling textures."
+msgid "Entity methods"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Trilinear filtering"
+msgid ""
+"Experimental option, might cause visible spaces between blocks\n"
+"when set to higher number than 0."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Use trilinear filtering when scaling textures."
+msgid "FPS in pause menu"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Clean transparent textures"
+msgid "FSAA"
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."
+msgid "Factor noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Minimum texture size"
+msgid "Fall bobbing factor"
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."
+msgid "Fallback font path"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "FSAA"
+msgid "Fallback font shadow"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Experimental option, might cause visible spaces between blocks\n"
-"when set to higher number than 0."
+msgid "Fallback font shadow alpha"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Undersampling"
+msgid "Fallback font size"
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."
+msgid "Fast key"
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."
+msgid "Fast mode acceleration"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Shader path"
+msgid "Fast mode speed"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Path to shader directory. If no path is defined, default location will be "
-"used."
+msgid "Fast movement"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Filmic tone mapping"
+msgid ""
+"Fast movement (via the \"special\" key).\n"
+"This requires the \"fast\" privilege on the server."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Enables filmic tone mapping"
+msgid "Field of view"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Bumpmapping"
+msgid "Field of view in degrees."
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."
+"File in client/serverlist/ that contains your favorite servers displayed in "
+"the\n"
+"Multiplayer Tab."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Generate normalmaps"
+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 ""
-"Enables on the fly normalmap generation (Emboss effect).\n"
-"Requires bumpmapping to be enabled."
+"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 "Normalmaps strength"
+msgid "Filtering"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Strength of generated normalmaps."
+msgid "First of 4 2D noises that together define hill/mountain range height."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Normalmaps sampling"
+msgid "First of two 3D noises that together define tunnels."
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Defines sampling step of texture.\n"
-"A higher value results in smoother normal maps."
+msgid "Fixed map seed"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Parallax occlusion"
+msgid "Fixed virtual joystick"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Enables parallax occlusion mapping.\n"
-"Requires shaders to be enabled."
+msgid "Fly key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Parallax occlusion mode"
+msgid "Flying"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"0 = parallax occlusion with slope information (faster).\n"
-"1 = relief mapping (slower, more accurate)."
+msgid "Fog"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Parallax occlusion strength"
+msgid "Fog start"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Strength of parallax."
+msgid "Fog toggle key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Parallax occlusion iterations"
+msgid "Font bold by default"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Number of parallax occlusion iterations."
+msgid "Font italic by default"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Parallax occlusion scale"
+msgid "Font shadow"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Overall scale of parallax occlusion effect."
+msgid "Font shadow alpha"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Parallax occlusion bias"
+msgid "Font size"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Overall bias of parallax occlusion effect, usually scale/2."
+msgid "Font size of the default font in point (pt)."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving Nodes"
+msgid "Font size of the fallback font in point (pt)."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water"
+msgid "Font size of the monospace font in point (pt)."
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving water.\n"
-"Requires shaders to be enabled."
+"Format of player chat messages. The following strings are valid "
+"placeholders:\n"
+"@name, @message, @timestamp (optional)"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water wave height"
+msgid "Format of screenshots."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water wavelength"
+msgid "Formspec Default Background Color"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water wave speed"
+msgid "Formspec Default Background Opacity"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving leaves"
+msgid "Formspec Full-Screen Background Color"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Set to true enables waving leaves.\n"
-"Requires shaders to be enabled."
+msgid "Formspec Full-Screen Background Opacity"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving plants"
+msgid "Formspec default background color (R,G,B)."
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Set to true enables waving plants.\n"
-"Requires shaders to be enabled."
+msgid "Formspec default background opacity (between 0 and 255)."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Advanced"
+msgid "Formspec full-screen background color (R,G,B)."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Arm inertia"
+msgid "Formspec full-screen background opacity (between 0 and 255)."
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Arm inertia, gives a more realistic movement of\n"
-"the arm when the camera moves."
+msgid "Forward key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Maximum FPS"
+msgid "Fourth of 4 2D noises that together define hill/mountain range height."
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."
+msgid "Fractal type"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "FPS in pause menu"
+msgid "Fraction of the visible distance at which fog starts to be rendered"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Maximum FPS when game is paused."
+msgid "FreeType fonts"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Pause on lost window focus"
+msgid ""
+"From how far blocks are generated for clients, stated in mapblocks (16 "
+"nodes)."
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."
+"From how far blocks are sent to clients, stated in mapblocks (16 nodes)."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Viewing range"
+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 "View distance in nodes."
+msgid "Full screen"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Near clipping plane"
+msgid "Full screen BPP"
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."
+msgid "Fullscreen mode."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Screen width"
+msgid "GUI scaling"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Width component of the initial window size."
+msgid "GUI scaling filter"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Screen height"
+msgid "GUI scaling filter txr2img"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Height component of the initial window size."
+msgid "Generate normalmaps"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Autosave screen size"
+msgid "Global callbacks"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Save window size automatically when modified."
+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 "Full screen"
+msgid ""
+"Gradient of light curve at maximum light level.\n"
+"Controls the contrast of the highest light levels."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Fullscreen mode."
+msgid ""
+"Gradient of light curve at minimum light level.\n"
+"Controls the contrast of the lowest light levels."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Full screen BPP"
+msgid "Graphics"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Bits per pixel (aka color depth) in fullscreen mode."
+msgid "Gravity"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "VSync"
+msgid "Ground level"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Vertical screen synchronization."
+msgid "Ground noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Field of view"
+msgid "HTTP mods"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Field of view in degrees."
+msgid "HUD scale factor"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gamma"
+msgid "HUD toggle key"
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."
+"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 "Darkness sharpness"
+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 "Gradient of light curve at minimum light level."
+msgid "Heat blend noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Lightness sharpness"
+msgid "Heat noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at maximum light level."
+msgid "Height component of the initial window size."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost"
+msgid "Height noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Strength of light curve mid-boost."
+msgid "Height select noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost center"
+msgid "High-precision FPU"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Center of light curve mid-boost."
+msgid "Hill steepness"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost spread"
+msgid "Hill threshold"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Spread of light curve mid-boost.\n"
-"Standard deviation of the mid-boost gaussian."
+msgid "Hilliness1 noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Texture path"
+msgid "Hilliness2 noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Path to texture directory. All textures are first searched from here."
+msgid "Hilliness3 noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Video driver"
+msgid "Hilliness4 noise"
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."
+msgid "Homepage of server, to be displayed in the serverlist."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Cloud radius"
+msgid ""
+"Horizontal acceleration in air when jumping or falling,\n"
+"in nodes per second per second."
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."
+"Horizontal and vertical acceleration in fast mode,\n"
+"in nodes per second per second."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "View bobbing factor"
+msgid ""
+"Horizontal and vertical acceleration on ground or when climbing,\n"
+"in nodes per second per second."
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."
+msgid "Hotbar next key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Fall bobbing factor"
+msgid "Hotbar previous key"
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."
+msgid "Hotbar slot 1 key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "3D mode"
+msgid "Hotbar slot 10 key"
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."
+msgid "Hotbar slot 11 key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Console height"
+msgid "Hotbar slot 12 key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "In-game chat console height, between 0.1 (10%) and 1.0 (100%)."
+msgid "Hotbar slot 13 key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Console color"
+msgid "Hotbar slot 14 key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "In-game chat console background color (R,G,B)."
+msgid "Hotbar slot 15 key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Console alpha"
+msgid "Hotbar slot 16 key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "In-game chat console background alpha (opaqueness, between 0 and 255)."
+msgid "Hotbar slot 17 key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Formspec Full-Screen Background Opacity"
+msgid "Hotbar slot 18 key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Formspec full-screen background opacity (between 0 and 255)."
+msgid "Hotbar slot 19 key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Formspec Full-Screen Background Color"
+msgid "Hotbar slot 2 key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Formspec full-screen background color (R,G,B)."
+msgid "Hotbar slot 20 key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Formspec Default Background Opacity"
+msgid "Hotbar slot 21 key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Formspec default background opacity (between 0 and 255)."
+msgid "Hotbar slot 22 key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Formspec Default Background Color"
+msgid "Hotbar slot 23 key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Formspec default background color (R,G,B)."
+msgid "Hotbar slot 24 key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Selection box color"
+msgid "Hotbar slot 25 key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Selection box border color (R,G,B)."
+msgid "Hotbar slot 26 key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Selection box width"
+msgid "Hotbar slot 27 key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Width of the selection box lines around nodes."
+msgid "Hotbar slot 28 key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Crosshair color"
+msgid "Hotbar slot 29 key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Crosshair color (R,G,B)."
+msgid "Hotbar slot 3 key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Crosshair alpha"
+msgid "Hotbar slot 30 key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Crosshair alpha (opaqueness, between 0 and 255)."
+msgid "Hotbar slot 31 key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Recent Chat Messages"
+msgid "Hotbar slot 32 key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Maximum number of recent chat messages to show"
+msgid "Hotbar slot 4 key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Desynchronize block animation"
+msgid "Hotbar slot 5 key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Whether node texture animations should be desynchronized per mapblock."
+msgid "Hotbar slot 6 key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Maximum hotbar width"
+msgid "Hotbar slot 7 key"
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."
+msgid "Hotbar slot 8 key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "HUD scale factor"
+msgid "Hotbar slot 9 key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Modifies the size of the hudbar elements."
+msgid "How deep to make rivers."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Mesh cache"
+msgid ""
+"How fast liquid waves will move. Higher = faster.\n"
+"If negative, liquid waves will move backwards.\n"
+"Requires waving liquids to be enabled."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Enables caching of facedir rotated meshes."
+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 "Mapblock mesh generation delay"
+msgid "How wide to make rivers."
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."
+msgid "Humidity blend noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Mapblock mesh generator's MapBlock cache size in MB"
+msgid "Humidity noise"
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."
+msgid "Humidity variation for biomes."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Minimap"
+msgid "IPv6"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Enables minimap."
+msgid "IPv6 server"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Round minimap"
+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 "Shape of the minimap. Enabled = round, disabled = square."
+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 "Minimap scan height"
+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 ""
-"True = 256\n"
-"False = 128\n"
-"Useable to make minimap smoother on slower machines."
+"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 "Colored fog"
+msgid ""
+"If enabled, \"special\" key instead of \"sneak\" key is used for climbing "
+"down and\n"
+"descending."
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Make fog and sky colors depend on daytime (dawn/sunset) and view direction."
+"If enabled, actions are recorded for rollback.\n"
+"This option is only read when server starts."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Ambient occlusion gamma"
+msgid "If enabled, disable cheat prevention in multiplayer."
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."
+"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 "Inventory items animations"
+msgid ""
+"If enabled, makes move directions relative to the player's pitch when flying "
+"or swimming."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Enables animation of inventory items."
+msgid "If enabled, new players cannot join with an empty password."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Fog start"
+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 "Fraction of the visible distance at which fog starts to be rendered"
+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 "Opaque liquids"
+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 "Makes all liquids opaque"
+msgid "If this is set, players will always (re)spawn at the given position."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "World-aligned textures mode"
+msgid "Ignore world errors"
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."
+msgid "In-Game"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Autoscaling mode"
+msgid "In-game chat console background alpha (opaqueness, between 0 and 255)."
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!"
+msgid "In-game chat console background color (R,G,B)."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Show entity selection boxes"
+msgid "In-game chat console height, between 0.1 (10%) and 1.0 (100%)."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Menus"
+msgid "Inc. volume key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Clouds in menu"
+msgid "Initial vertical speed when jumping, in nodes per second."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Use a cloud animation for the main menu background."
+msgid ""
+"Instrument builtin.\n"
+"This is usually only needed by core/builtin contributors"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "GUI scaling"
+msgid "Instrument chatcommands on registration."
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."
+"Instrument global callback functions on registration.\n"
+"(anything you pass to a minetest.register_*() function)"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "GUI scaling filter"
+msgid ""
+"Instrument the action function of Active Block Modifiers on registration."
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)."
+"Instrument the action function of Loading Block Modifiers on registration."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "GUI scaling filter txr2img"
+msgid "Instrument the methods of entities on registration."
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."
+msgid "Instrumentation"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Tooltip delay"
+msgid "Interval of saving important changes in the world, stated in seconds."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Delay showing tooltips, stated in milliseconds."
+msgid "Interval of sending time of day to clients."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Append item name"
+msgid "Inventory items animations"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Append item name to tooltip."
+msgid "Inventory key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "FreeType fonts"
+msgid "Invert mouse"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Whether FreeType fonts are used, requires FreeType support to be compiled in."
+msgid "Invert vertical mouse movement."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font path"
+msgid "Italic font path"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Path to TrueTypeFont or bitmap."
+msgid "Italic monospace font path"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font size"
+msgid "Item entity TTL"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font shadow"
+msgid "Iterations"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font shadow offset, if 0 then shadow will not be drawn."
+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 "Font shadow alpha"
+msgid "Joystick ID"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font shadow alpha (opaqueness, between 0 and 255)."
+msgid "Joystick button repetition interval"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Monospace font path"
+msgid "Joystick frustum sensitivity"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Monospace font size"
+msgid "Joystick type"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Fallback font"
+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 "This font will be used for certain languages."
+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 "Fallback font size"
+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 "Fallback font shadow"
+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 "Fallback font shadow alpha"
+msgid "Julia w"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Screenshot folder"
+msgid "Julia x"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Path to save screenshots at."
+msgid "Julia y"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Screenshot format"
+msgid "Julia z"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Format of screenshots."
+msgid "Jump key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Screenshot quality"
+msgid "Jumping speed"
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."
+"Key for decreasing the viewing range.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "DPI"
+msgid ""
+"Key for decreasing the volume.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Adjust dpi configuration to your screen (non X11/Android only) e.g. for 4k "
-"screens."
+"Key for dropping the currently selected item.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Enable console window"
+msgid ""
+"Key for increasing the viewing range.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
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)."
+"Key for increasing the volume.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Sound"
+msgid ""
+"Key for jumping.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Volume"
+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 "Mute sound"
+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 "Client"
+msgid ""
+"Key for moving the player forward.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Network"
+msgid ""
+"Key for moving the player left.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Server address"
+msgid ""
+"Key for moving the player right.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
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."
+"Key for muting the game.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Remote port"
+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 ""
-"Port to connect to (UDP).\n"
-"Note that the port field in the main menu overrides this setting."
+"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 "Saving map received from server"
+msgid ""
+"Key for opening the chat window.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Save the map received by the client on disk."
+msgid ""
+"Key for opening the inventory.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Connect to external media server"
+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 ""
-"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."
+"Key for selecting the 12th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Client modding"
+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 ""
-"Enable Lua modding support on client.\n"
-"This support is experimental and API can change."
+"Key for selecting the 14th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Serverlist URL"
+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 "URL to the server list displayed in the Multiplayer Tab."
+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 "Serverlist file"
+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 ""
-"File in client/serverlist/ that contains your favorite servers displayed in "
-"the\n"
-"Multiplayer Tab."
+"Key for selecting the 18th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Maximum size of the out chat queue"
+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 ""
-"Maximum size of the out chat queue.\n"
-"0 to disable queueing and -1 to make the queue size unlimited."
+"Key for selecting the 20th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Enable register confirmation"
+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 ""
-"Enable register confirmation when connecting to server.\n"
-"If disabled, new account will be registered automatically."
+"Key for selecting the 22nd hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Mapblock unload timeout"
+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 "Timeout for client to remove unused map data from memory."
+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 "Mapblock limit"
+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 ""
-"Maximum number of mapblocks for client to be kept in memory.\n"
-"Set to -1 for unlimited amount."
+"Key for selecting the 26th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Show debug info"
+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 ""
-"Whether to show the client debug info (has the same effect as hitting F5)."
+"Key for selecting the 28th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Server / Singleplayer"
+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 "Server name"
+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 ""
-"Name of the server, to be displayed when players join and in the serverlist."
+"Key for selecting the 31st hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Server description"
+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 ""
-"Description of server, to be displayed when players join and in the "
-"serverlist."
+"Key for selecting the eighth hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Domain name of server, to be displayed in the serverlist."
+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 "Server URL"
+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 "Homepage of server, to be displayed in the serverlist."
+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 "Announce server"
+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 "Automatically report to the serverlist."
+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 "Announce to this serverlist."
+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 "Strip color codes"
+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 ""
-"Remove color codes from incoming chat messages\n"
-"Use this to stop players from being able to use color in their messages"
+"Key for selecting the seventh hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Server port"
+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 ""
-"Network port to listen (UDP).\n"
-"This value will be overridden when starting from the main menu."
+"Key for selecting the tenth hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Bind address"
+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 "The network interface that the server listens on."
+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 "Strict protocol checking"
+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 ""
-"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."
+"Key for taking screenshots.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Remote media"
+msgid ""
+"Key for toggling autoforward.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
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."
+"Key for toggling cinematic mode.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "IPv6 server"
+msgid ""
+"Key for toggling display of minimap.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Enable/disable running an IPv6 server.\n"
-"Ignored if bind_address is set."
+"Key for toggling fast mode.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Maximum simultaneous block sends per client"
+msgid ""
+"Key for toggling flying.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
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)"
+"Key for toggling noclip mode.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Delay in sending blocks after building"
+msgid ""
+"Key for toggling pitch move mode.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
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."
+"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 "Max. packets per iteration"
+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 ""
-"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."
+"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 "Default game"
+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 ""
-"Default game when creating a new world.\n"
-"This will be overridden when creating a world from the main menu."
+"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 "Message of the day"
+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 "Message of the day displayed to players connecting."
+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 "Maximum users"
+msgid ""
+"Key for toggling unlimited view range.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Maximum number of players that can be connected simultaneously."
+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 "Map directory"
+msgid "Kick players who sent more than X messages per 10 seconds."
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."
+msgid "Lake steepness"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Item entity TTL"
+msgid "Lake threshold"
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."
+msgid "Language"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Damage"
+msgid "Large cave depth"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Enable players getting damage and dying."
+msgid "Large cave maximum number"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Creative"
+msgid "Large cave minimum number"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Enable creative mode for new created maps."
+msgid "Large cave proportion flooded"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Fixed map seed"
+msgid "Large chat console key"
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."
+msgid "Leaves style"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Default password"
+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 "New users need to input this password."
+msgid "Left key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Default privileges"
+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 ""
-"The privileges that new users automatically get.\n"
-"See /privs in game for a full list on your server and mod configuration."
+"Length of liquid waves.\n"
+"Requires waving liquids to be enabled."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Basic privileges"
+msgid "Length of time between Active Block Modifier (ABM) execution cycles"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Privileges that players with basic_privs can grant"
+msgid "Length of time between NodeTimer execution cycles"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Unlimited player transfer distance"
+msgid "Length of time between active block management cycles"
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."
+"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 "Player transfer distance"
+msgid "Light curve boost"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Defines the maximal player transfer distance in blocks (0 = unlimited)."
+msgid "Light curve boost center"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Player versus player"
+msgid "Light curve boost spread"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Whether to allow players to damage and kill each other."
+msgid "Light curve gamma"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Mod channels"
+msgid "Light curve high gradient"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Enable mod channels support."
+msgid "Light curve low gradient"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Static spawnpoint"
+msgid "Limit of emerge queues on disk"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "If this is set, players will always (re)spawn at the given position."
+msgid "Limit of emerge queues to generate"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Disallow empty passwords"
+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 "If enabled, new players cannot join with an empty password."
+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 "Disable anticheat"
+msgid "Liquid fluidity"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "If enabled, disable cheat prevention in multiplayer."
+msgid "Liquid fluidity smoothing"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Rollback recording"
+msgid "Liquid loop max"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"If enabled, actions are recorded for rollback.\n"
-"This option is only read when server starts."
+msgid "Liquid queue purge time"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Chat message format"
+msgid "Liquid sinking"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Format of player chat messages. The following strings are valid "
-"placeholders:\n"
-"@name, @message, @timestamp (optional)"
+msgid "Liquid update interval in seconds."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Shutdown message"
+msgid "Liquid update tick"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "A message to be displayed to all clients when the server shuts down."
+msgid "Load the game profiler"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Crash message"
+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 "A message to be displayed to all clients when the server crashes."
+msgid "Loading Block Modifiers"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Ask to reconnect after crash"
+msgid "Lower Y limit of dungeons."
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."
+msgid "Main menu script"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Active object send range"
+msgid "Main menu style"
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)"
+"Make fog and sky colors depend on daytime (dawn/sunset) and view direction."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Active block range"
+msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles."
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."
+msgid "Makes all liquids opaque"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Max block send distance"
+msgid "Map directory"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"From how far blocks are sent to clients, stated in mapblocks (16 nodes)."
+msgid "Map generation attributes specific to Mapgen Carpathian."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Maximum forceloaded blocks"
+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 "Maximum number of forceloaded mapblocks."
+msgid ""
+"Map generation attributes specific to Mapgen Fractal.\n"
+"'terrain' enables the generation of non-fractal terrain:\n"
+"ocean, islands and underground."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Time send interval"
+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 "Interval of sending time of day to clients."
+msgid "Map generation attributes specific to Mapgen v5."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Time speed"
+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 ""
-"Controls length of day/night cycle.\n"
-"Examples:\n"
-"72 = 20min, 360 = 4min, 1 = 24hour, 0 = day/night/whatever stays unchanged."
+"Map generation attributes specific to Mapgen v7.\n"
+"'ridges' enables the rivers."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "World start time"
+msgid "Map generation limit"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Time of day when a new world is started, in millihours (0-23999)."
+msgid "Map save interval"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Map save interval"
+msgid "Mapblock limit"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Interval of saving important changes in the world, stated in seconds."
+msgid "Mapblock mesh generation delay"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Chat message max length"
+msgid "Mapblock mesh generator's MapBlock cache size in MB"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Set the maximum character length of a chat message sent by clients."
+msgid "Mapblock unload timeout"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Chat message count limit"
+msgid "Mapgen Carpathian"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Amount of messages a player may send per 10 seconds."
+msgid "Mapgen Carpathian specific flags"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Chat message kick threshold"
+msgid "Mapgen Flat"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Kick players who sent more than X messages per 10 seconds."
+msgid "Mapgen Flat specific flags"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Physics"
+msgid "Mapgen Fractal"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Default acceleration"
+msgid "Mapgen Fractal specific flags"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Horizontal and vertical acceleration on ground or when climbing,\n"
-"in nodes per second per second."
+msgid "Mapgen V5"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Acceleration in air"
+msgid "Mapgen V5 specific flags"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Horizontal acceleration in air when jumping or falling,\n"
-"in nodes per second per second."
+msgid "Mapgen V6"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Fast mode acceleration"
+msgid "Mapgen V6 specific flags"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Horizontal and vertical acceleration in fast mode,\n"
-"in nodes per second per second."
+msgid "Mapgen V7"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Walking speed"
+msgid "Mapgen V7 specific flags"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Walking and flying speed, in nodes per second."
+msgid "Mapgen Valleys"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Sneaking speed"
+msgid "Mapgen Valleys specific flags"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Sneaking speed, in nodes per second."
+msgid "Mapgen debug"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Fast mode speed"
+msgid "Mapgen flags"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Walking, flying and climbing speed in fast mode, in nodes per second."
+msgid "Mapgen name"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Climbing speed"
+msgid "Max block generate distance"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Vertical climbing speed, in nodes per second."
+msgid "Max block send distance"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Jumping speed"
+msgid "Max liquids processed per step."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Initial vertical speed when jumping, in nodes per second."
+msgid "Max. clearobjects extra blocks"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Liquid fluidity"
+msgid "Max. packets per iteration"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Decrease this to increase liquid resistence to movement."
+msgid "Maximum FPS"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Liquid fluidity smoothing"
+msgid "Maximum FPS when game is paused."
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Maximum liquid resistence. Controls deceleration when entering liquid at\n"
-"high speed."
+msgid "Maximum forceloaded blocks"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Liquid sinking"
+msgid "Maximum hotbar width"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Controls sinking speed in liquid."
+msgid "Maximum limit of random number of large caves per mapchunk."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gravity"
+msgid "Maximum limit of random number of small caves per mapchunk."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Acceleration of gravity, in nodes per second per second."
+msgid ""
+"Maximum liquid resistance. Controls deceleration when entering liquid at\n"
+"high speed."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Deprecated Lua API handling"
+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 ""
-"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)."
+msgid "Maximum number of blocks that can be queued for loading."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Max. clearobjects extra blocks"
+msgid ""
+"Maximum number of blocks to be queued that are to be generated.\n"
+"Set to blank for an appropriate amount to be chosen automatically."
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Number of 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)."
+"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 "Unload unused server data"
+msgid "Maximum number of forceloaded mapblocks."
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."
+"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 objects per block"
+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 statically stored objects in a block."
+msgid "Maximum number of players that can be connected simultaneously."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Synchronous SQLite"
+msgid "Maximum number of recent chat messages to show"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "See https://www.sqlite.org/pragma.html#pragma_synchronous"
+msgid "Maximum number of statically stored objects in a block."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Dedicated server step"
+msgid "Maximum objects per block"
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Length of a server tick and the interval at which objects are generally "
-"updated over\n"
-"network."
+"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 "Active block management interval"
+msgid "Maximum simultaneous block sends per client"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Length of time between active block management cycles"
+msgid "Maximum size of the out chat queue"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "ABM interval"
+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 "Length of time between Active Block Modifier (ABM) execution cycles"
+msgid "Maximum time in ms a file download (e.g. a mod download) may take."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "NodeTimer interval"
+msgid "Maximum users"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Length of time between NodeTimer execution cycles"
+msgid "Menus"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Ignore world errors"
+msgid "Mesh cache"
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."
+msgid "Message of the day"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Liquid loop max"
+msgid "Message of the day displayed to players connecting."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Max liquids processed per step."
+msgid "Method used to highlight selected object."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Liquid queue purge time"
+msgid "Minimap"
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."
+msgid "Minimap key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Liquid update tick"
+msgid "Minimap scan height"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Liquid update interval in seconds."
+msgid "Minimum limit of random number of large caves per mapchunk."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Block send optimize distance"
+msgid "Minimum limit of random number of small caves per mapchunk."
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)."
+msgid "Minimum texture size"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Server side occlusion culling"
+msgid "Mipmapping"
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."
+msgid "Mod channels"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Client side modding restrictions"
+msgid "Modifies the size of the hudbar elements."
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)"
+msgid "Monospace font path"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Client side node lookup range restriction"
+msgid "Monospace font size"
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."
+msgid "Mountain height noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Security"
+msgid "Mountain noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Enable mod security"
+msgid "Mountain variation noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Prevent mods from doing insecure things like running shell commands."
+msgid "Mountain zero level"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Trusted mods"
+msgid "Mouse sensitivity"
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())."
+msgid "Mouse sensitivity multiplier."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "HTTP mods"
+msgid "Mud noise"
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."
+"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 "Profiling"
+msgid "Mute key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Load the game profiler"
+msgid "Mute sound"
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."
+"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 "Default report format"
+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 ""
-"The default format in which profiles are being saved,\n"
-"when calling `/profiler save [format]` without format."
+"Name of the server, to be displayed when players join and in the serverlist."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Report path"
+msgid "Near plane"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Network"
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"The file path relative to your worldpath in which profiles will be saved to."
+"Network port to listen (UDP).\n"
+"This value will be overridden when starting from the main menu."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Instrumentation"
+msgid "New users need to input this password."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Entity methods"
+msgid "Noclip"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Instrument the methods of entities on registration."
+msgid "Noclip key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Active Block Modifiers"
+msgid "Node highlighting"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Instrument the action function of Active Block Modifiers on registration."
+msgid "NodeTimer interval"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Loading Block Modifiers"
+msgid "Noises"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Instrument the action function of Loading Block Modifiers on registration."
+msgid "Normalmaps sampling"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Chatcommands"
+msgid "Normalmaps strength"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Instrument chatcommands on registration."
+msgid "Number of emerge threads"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Global callbacks"
+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 ""
-"Instrument global callback functions on registration.\n"
-"(anything you pass to a minetest.register_*() function)"
+"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 "Builtin"
+msgid "Number of parallax occlusion iterations."
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Instrument builtin.\n"
-"This is usually only needed by core/builtin contributors"
+msgid "Online Content Repository"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Profiler"
+msgid "Opaque liquids"
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."
+"Opaqueness (alpha) of the shadow behind the default font, between 0 and 255."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Client and Server"
+msgid ""
+"Opaqueness (alpha) of the shadow behind the fallback font, between 0 and 255."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Player name"
+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 ""
-"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."
+msgid "Overall bias of parallax occlusion effect, usually scale/2."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Language"
+msgid "Overall scale of parallax occlusion effect."
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."
+msgid "Parallax occlusion"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Debug log level"
+msgid "Parallax occlusion bias"
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"
+msgid "Parallax occlusion iterations"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Debug log file size threshold"
+msgid "Parallax occlusion mode"
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."
+msgid "Parallax occlusion scale"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "IPv6"
+msgid "Parallax occlusion strength"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "IPv6 support."
+msgid ""
+"Path of the fallback font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font will be used for certain languages or if the default font is "
+"unavailable."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "cURL timeout"
+msgid "Path to save screenshots at."
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Default timeout for cURL, stated in milliseconds.\n"
-"Only has an effect if compiled with cURL."
+"Path to shader directory. If no path is defined, default location will be "
+"used."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "cURL parallel limit"
+msgid "Path to texture directory. All textures are first searched from here."
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."
+"Path to the default font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"The fallback font will be used if the font cannot be loaded."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "cURL file download timeout"
+msgid ""
+"Path to the monospace font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font is used for e.g. the console and profiler screen."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Maximum time in ms a file download (e.g. a mod download) may take."
+msgid "Pause on lost window focus"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "High-precision FPU"
+msgid "Physics"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles."
+msgid "Pitch move key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Main menu style"
+msgid "Pitch move mode"
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."
+"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 "Main menu script"
+msgid "Player name"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Replaces the default main menu with a custom one."
+msgid "Player transfer distance"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Engine profiling data print interval"
+msgid "Player versus player"
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Print the engine's profiling data in regular intervals (in seconds).\n"
-"0 = disable. Useful for developers."
-msgstr ""
-
-#: src/settings_translation_file.cpp
-msgid "Mapgen name"
+"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 ""
-"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)."
+"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 "Water level"
+msgid "Prevent mods from doing insecure things like running shell commands."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Water surface level of the world."
+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 "Max block generate distance"
+msgid "Privileges that players with basic_privs can grant"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"From how far blocks are generated for clients, stated in mapblocks (16 "
-"nodes)."
+msgid "Profiler"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Map generation limit"
+msgid "Profiler toggle key"
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."
+msgid "Profiling"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Mapgen flags"
+msgid "Proportion of large caves that contain liquid."
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."
+"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 "Biome API temperature and humidity noise parameters"
+msgid "Raises terrain to make valleys around the rivers."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Heat noise"
+msgid "Random input"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Temperature variation for biomes."
+msgid "Range select key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Heat blend noise"
+msgid "Recent Chat Messages"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Small-scale temperature variation for blending biomes on borders."
+msgid "Regular font path"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Humidity noise"
+msgid "Remote media"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Humidity variation for biomes."
+msgid "Remote port"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Humidity blend noise"
+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 "Small-scale humidity variation for blending biomes on borders."
+msgid "Replaces the default main menu with a custom one."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Mapgen V5"
+msgid "Report path"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Mapgen V5 specific flags"
+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 "Map generation attributes specific to Mapgen v5."
+msgid "Ridge mountain spread noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Cave width"
+msgid "Ridge noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Controls width of tunnels, a smaller value creates wider tunnels."
+msgid "Ridge underwater noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Large cave depth"
+msgid "Ridged mountain size noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Y of upper limit of large caves."
+msgid "Right key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Lava depth"
+msgid "Rightclick repetition interval"
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."
+msgid "River channel depth"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Cavern limit"
+msgid "River channel width"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Y-level of cavern upper limit."
+msgid "River depth"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Cavern taper"
+msgid "River noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Y-distance over which caverns expand to full size."
+msgid "River size"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Cavern threshold"
+msgid "River valley width"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Defines full size of caverns, smaller values create larger caverns."
+msgid "Rollback recording"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Dungeon minimum Y"
+msgid "Rolling hill size noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Lower Y limit of dungeons."
+msgid "Rolling hills spread noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Dungeon maximum Y"
+msgid "Round minimap"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Upper Y limit of dungeons."
+msgid "Safe digging and placing"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Noises"
+msgid "Sandy beaches occur when np_beach exceeds this value."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Filler depth noise"
+msgid "Save the map received by the client on disk."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Variation of biome filler depth."
+msgid "Save window size automatically when modified."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Factor noise"
+msgid "Saving map received from server"
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Variation of terrain vertical scale.\n"
-"When noise is < -0.55 terrain is near-flat."
+"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 "Height noise"
+msgid "Screen height"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Y-level of average terrain surface."
+msgid "Screen width"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Cave1 noise"
+msgid "Screenshot folder"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "First of two 3D noises that together define tunnels."
+msgid "Screenshot format"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Cave2 noise"
+msgid "Screenshot quality"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Second of two 3D noises that together define tunnels."
+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 "Cavern noise"
+msgid "Seabed noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "3D noise defining giant caverns."
+msgid "Second of 4 2D noises that together define hill/mountain range height."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Ground noise"
+msgid "Second of two 3D noises that together define tunnels."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "3D noise defining terrain."
+msgid "Security"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Dungeon noise"
+msgid "See https://www.sqlite.org/pragma.html#pragma_synchronous"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "3D noise that determines number of dungeons per mapchunk."
+msgid "Selection box border color (R,G,B)."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Mapgen V6"
+msgid "Selection box color"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Mapgen V6 specific flags"
+msgid "Selection box width"
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."
+"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 "Desert noise threshold"
+msgid "Server / Singleplayer"
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."
+msgid "Server URL"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Beach noise threshold"
+msgid "Server address"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Sandy beaches occur when np_beach exceeds this value."
+msgid "Server description"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Terrain base noise"
+msgid "Server name"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Y-level of lower terrain and seabed."
+msgid "Server port"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Terrain higher noise"
+msgid "Server side occlusion culling"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Y-level of higher terrain that creates cliffs."
+msgid "Serverlist URL"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Steepness noise"
+msgid "Serverlist file"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Varies steepness of cliffs."
+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 "Height select noise"
+msgid "Set the maximum character length of a chat message sent by clients."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Defines distribution of higher terrain."
+msgid ""
+"Set to true to enable waving leaves.\n"
+"Requires shaders to be enabled."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Mud noise"
+msgid ""
+"Set to true to enable waving liquids (like water).\n"
+"Requires shaders to be enabled."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Varies depth of biome surface nodes."
+msgid ""
+"Set to true to enable waving plants.\n"
+"Requires shaders to be enabled."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Beach noise"
+msgid "Shader path"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Defines areas with sandy beaches."
+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 "Biome noise"
+msgid ""
+"Shadow offset (in pixels) of the default font. If 0, then shadow will not be "
+"drawn."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Cave noise"
+msgid ""
+"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not "
+"be drawn."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Variation of number of caves."
+msgid "Shape of the minimap. Enabled = round, disabled = square."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Trees noise"
+msgid "Show debug info"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Defines tree areas and tree density."
+msgid "Show entity selection boxes"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Apple trees noise"
+msgid "Shutdown message"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Defines areas where trees have apples."
+msgid ""
+"Size of mapchunks generated by mapgen, stated in mapblocks (16 nodes).\n"
+"WARNING!: There is no benefit, and there are several dangers, in\n"
+"increasing this value above 5.\n"
+"Reducing this value increases cave and dungeon density.\n"
+"Altering this value is for special usage, leaving it unchanged is\n"
+"recommended."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Mapgen V7"
+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 "Mapgen V7 specific flags"
+msgid "Slice w"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Map generation attributes specific to Mapgen v7.\n"
-"'ridges' enables the rivers."
+msgid "Slope and fill work together to modify the heights."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Mountain zero level"
+msgid "Small cave maximum number"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Y of mountain density gradient zero level. Used to shift mountains "
-"vertically."
+msgid "Small cave minimum number"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Floatland mountain density"
+msgid "Small-scale humidity variation for blending biomes on borders."
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."
+msgid "Small-scale temperature variation for blending biomes on borders."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Floatland mountain height"
+msgid "Smooth lighting"
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Typical maximum height, above and below midpoint, of floatland mountains."
+"Smooths camera when looking around. Also called look or mouse smoothing.\n"
+"Useful for recording videos."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Floatland mountain exponent"
+msgid "Smooths rotation of camera in cinematic mode. 0 to disable."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Alters how mountain-type floatlands taper above and below midpoint."
+msgid "Smooths rotation of camera. 0 to disable."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Floatland level"
+msgid "Sneak key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Y-level of floatland midpoint and lake surface."
+msgid "Sneaking speed"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Shadow limit"
+msgid "Sneaking speed, in nodes per second."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Y-level to which floatland shadows extend."
+msgid "Sound"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Terrain alternative noise"
+msgid "Special key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Terrain persistence noise"
+msgid "Special key for climbing/descending"
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Varies roughness of terrain.\n"
-"Defines the 'persistence' value for terrain_base and terrain_alt noises."
+"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 "Defines distribution of higher terrain and steepness of cliffs."
+msgid ""
+"Spread of light curve boost range.\n"
+"Controls the width of the range to be boosted.\n"
+"Standard deviation of the light curve boost Gaussian."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Mountain height noise"
+msgid "Static spawnpoint"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Variation of maximum mountain height (in nodes)."
+msgid "Steepness noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Ridge underwater noise"
+msgid "Step mountain size noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Defines large-scale river channel structure."
+msgid "Step mountain spread noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Floatland base noise"
+msgid "Strength of generated normalmaps."
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Defines areas of floatland smooth terrain.\n"
-"Smooth floatlands occur when noise > 0."
+"Strength of light curve boost.\n"
+"The 3 'boost' parameters define a range of the light\n"
+"curve that is boosted in brightness."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Floatland base height noise"
+msgid "Strength of parallax."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Variation of hill height and lake depth on floatland smooth terrain."
+msgid "Strict protocol checking"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Mountain noise"
+msgid "Strip color codes"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"3D noise defining mountain structure and height.\n"
-"Also defines structure of floatland mountain terrain."
+msgid "Synchronous SQLite"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Ridge noise"
+msgid "Temperature variation for biomes."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "3D noise defining structure of river canyon walls."
+msgid "Terrain alternative noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Mapgen Carpathian"
+msgid "Terrain base noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Mapgen Carpathian specific flags"
+msgid "Terrain height"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Map generation attributes specific to Mapgen Carpathian."
+msgid "Terrain higher noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Base ground level"
+msgid "Terrain noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Defines the base ground level."
+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 "River channel width"
+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 "Defines the width of the river channel."
+msgid "Terrain persistence noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "River channel depth"
+msgid "Texture path"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Defines the depth of the river channel."
+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 "River valley width"
+msgid "The URL for the content repository"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Defines the width of the river valley."
+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 "Hilliness1 noise"
+msgid "The depth of dirt or other biome filler node."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "First of 4 2D noises that together define hill/mountain range height."
+msgid ""
+"The file path relative to your worldpath in which profiles will be saved to."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hilliness2 noise"
+msgid "The identifier of the joystick to use"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Second of 4 2D noises that together define hill/mountain range height."
+msgid "The length in pixels it takes for touch screen interaction to start."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hilliness3 noise"
+msgid ""
+"The maximum height of the surface of waving liquids.\n"
+"4.0 = Wave height is two nodes.\n"
+"0.0 = Wave doesn't move at all.\n"
+"Default is 1.0 (1/2 node).\n"
+"Requires waving liquids to be enabled."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Third of 4 2D noises that together define hill/mountain range height."
+msgid "The network interface that the server listens on."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hilliness4 noise"
+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 "Fourth of 4 2D noises that together define hill/mountain range height."
+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 "Rolling hills spread noise"
+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 "2D noise that controls the size/occurrence of rolling hills."
+msgid ""
+"The sensitivity of the joystick axes for moving the\n"
+"ingame view frustum around."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Ridge mountain spread noise"
+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 "2D noise that controls the size/occurrence of ridged mountain ranges."
+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 "Step mountain spread noise"
+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 "2D noise that controls the size/occurrence of step mountain ranges."
+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 "Rolling hill size noise"
+msgid "The type of joystick"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "2D noise that controls the shape/size of rolling hills."
+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 "Ridged mountain size noise"
+msgid "Third of 4 2D noises that together define hill/mountain range height."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "2D noise that controls the shape/size of ridged mountains."
+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 "Step mountain size noise"
+msgid "Time of day when a new world is started, in millihours (0-23999)."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "2D noise that controls the shape/size of step mountains."
+msgid "Time send interval"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "River noise"
+msgid "Time speed"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "2D noise that locates the river valleys and channels."
+msgid "Timeout for client to remove unused map data from memory."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Mountain variation noise"
+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 "3D noise for mountain overhangs, cliffs, etc. Usually small variations."
+msgid "Toggle camera mode key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Mapgen Flat"
+msgid "Tooltip delay"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Mapgen Flat specific flags"
+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 ""
-"Map generation attributes specific to Mapgen flat.\n"
-"Occasional lakes and hills can be added to the flat world."
+"True = 256\n"
+"False = 128\n"
+"Usable to make minimap smoother on slower machines."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Ground level"
+msgid "Trusted mods"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Y of flat ground."
+msgid "URL to the server list displayed in the Multiplayer Tab."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Lake threshold"
+msgid "Undersampling"
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."
+"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 "Lake steepness"
+msgid "Unlimited player transfer distance"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Controls steepness/depth of lake depressions."
+msgid "Unload unused server data"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hill threshold"
+msgid "Upper Y limit of dungeons."
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."
+msgid "Use 3D cloud look instead of flat."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hill steepness"
+msgid "Use a cloud animation for the main menu background."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Controls steepness/height of hills."
+msgid "Use anisotropic filtering when viewing at textures from an angle."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Terrain noise"
+msgid "Use bilinear filtering when scaling textures."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Defines location and terrain of optional hills and lakes."
+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 "Mapgen Fractal"
+msgid "Use trilinear filtering when scaling textures."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Mapgen Fractal specific flags"
+msgid "VBO"
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."
+msgid "VSync"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Fractal type"
+msgid "Valley depth"
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."
+msgid "Valley fill"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Iterations"
+msgid "Valley profile"
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."
+msgid "Valley slope"
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."
+msgid "Variation of biome filler depth."
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."
+msgid "Variation of maximum mountain height (in nodes)."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Slice w"
+msgid "Variation of number of caves."
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."
+"Variation of terrain vertical scale.\n"
+"When noise is < -0.55 terrain is near-flat."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Julia x"
+msgid "Varies depth of biome surface nodes."
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."
+"Varies roughness of terrain.\n"
+"Defines the 'persistence' value for terrain_base and terrain_alt noises."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Julia y"
+msgid "Varies steepness of cliffs."
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."
+msgid "Vertical climbing speed, in nodes per second."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Julia z"
+msgid "Vertical screen synchronization."
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."
+msgid "Video driver"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Julia w"
+msgid "View bobbing factor"
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."
+msgid "View distance in nodes."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Seabed noise"
+msgid "View range decrease key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Y-level of seabed."
+msgid "View range increase key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Mapgen Valleys"
+msgid "View zoom key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Mapgen Valleys specific flags"
+msgid "Viewing range"
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."
+msgid "Virtual joystick triggers aux button"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Altitude chill"
+msgid "Volume"
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."
+"Volume of all sounds.\n"
+"Requires the sound system to be enabled."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Depth below which you'll find large caves."
+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 "Cavern upper limit"
+msgid "Walking and flying speed, in nodes per second."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Depth below which you'll find giant caverns."
+msgid "Walking speed"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "River depth"
+msgid "Walking, flying and climbing speed in fast mode, in nodes per second."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "How deep to make rivers."
+msgid "Water level"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "River size"
+msgid "Water surface level of the world."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "How wide to make rivers."
+msgid "Waving Nodes"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Cave noise #1"
+msgid "Waving leaves"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Cave noise #2"
+msgid "Waving liquids"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Filler depth"
+msgid "Waving liquids wave height"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "The depth of dirt or other biome filler node."
+msgid "Waving liquids wave speed"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Terrain height"
+msgid "Waving liquids wavelength"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Base terrain height."
+msgid "Waving plants"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Valley depth"
+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 "Raises terrain to make valleys around the rivers."
+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 "Valley fill"
+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 "Slope and fill work together to modify the heights."
+msgid ""
+"Whether FreeType fonts are used, requires FreeType support to be compiled "
+"in.\n"
+"If disabled, bitmap and XML vectors fonts are used instead."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Valley profile"
+msgid "Whether node texture animations should be desynchronized per mapblock."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Amplifies the valleys."
+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 "Valley slope"
+msgid "Whether to allow players to damage and kill each other."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Chunk size"
+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 ""
-"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."
+msgid "Whether to fog out the end of the visible area."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Mapgen debug"
+msgid ""
+"Whether to mute sounds. You can unmute sounds at any time, unless the\n"
+"sound system is disabled (enable_sound=false).\n"
+"In-game, you can toggle the mute state with the mute key or by using the\n"
+"pause menu."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Dump the mapgen debug information."
+msgid ""
+"Whether to show the client debug info (has the same effect as hitting F5)."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Absolute limit of emerge queues"
+msgid "Width component of the initial window size."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Maximum number of blocks that can be queued for loading."
+msgid "Width of the selection box lines around nodes."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Limit of emerge queues on disk"
+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 ""
-"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."
+"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 "Limit of emerge queues to generate"
+msgid "World start time"
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."
+"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 "Number of emerge threads"
+msgid "World-aligned textures mode"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y of flat ground."
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'."
+"Y of mountain density gradient zero level. Used to shift mountains "
+"vertically."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Online Content Repository"
+msgid "Y of upper limit of large caves."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "ContentDB URL"
+msgid "Y-distance over which caverns expand to full size."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "The URL for the content repository"
+msgid "Y-level of average terrain surface."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "ContentDB Flag Blacklist"
+msgid "Y-level of cavern upper limit."
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/"
+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 "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/be/minetest.po b/po/be/minetest.po
index 1658d2dbe..f8080df4f 100644
--- a/po/be/minetest.po
+++ b/po/be/minetest.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Belarusian (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-10-09 22:02+0200\n"
+"POT-Creation-Date: 2020-04-03 23:18+0200\n"
"PO-Revision-Date: 2019-11-19 23:04+0000\n"
"Last-Translator: Viktar Vauchkevich <victorenator@gmail.com>\n"
"Language-Team: Belarusian <https://hosted.weblate.org/projects/minetest/"
@@ -11,8 +11,8 @@ msgstr ""
"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"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 3.10-dev\n"
#: builtin/client/death_formspec.lua src/client/game.cpp
@@ -403,14 +403,25 @@ msgstr "Z"
msgid "Z spread"
msgstr "Z раÑпаўÑюджваннÑ"
+#. ~ "absvalue" is a noise parameter flag.
+#. It is short for "absolute value".
+#. It can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "absvalue"
msgstr "абÑÐ°Ð»ÑŽÑ‚Ð½Ð°Ñ Ð²ÐµÐ»Ñ–Ñ‡Ñ‹Ð½Ñ"
+#. ~ "defaults" is a noise parameter flag.
+#. It describes the default processing options
+#. for noise settings in main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "defaults"
msgstr "прадвызначаны"
+#. ~ "eased" is a noise parameter flag.
+#. It is used to make the map smoother and
+#. can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "eased"
msgstr "паÑлаблены"
@@ -622,6 +633,7 @@ msgstr "Ð†Ð¼Ñ / Пароль"
msgid "Ping"
msgstr "Пінг"
+#. ~ PvP = Player versus Player
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "PvP enabled"
msgstr "PvP уключаны"
@@ -866,6 +878,14 @@ msgstr "Ðе атрымалаÑÑ Ð°Ð´ÐºÑ€Ñ‹Ñ†ÑŒ пададзены файл пÐ
msgid "Provided world path doesn't exist: "
msgstr "Пададзены шлÑÑ… не Ñ–Ñнуе: "
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string. Put either "no" or "yes"
+#. into the translation field (literally).
+#. Choose "yes" if the language requires use of the fallback
+#. font, "no" otherwise.
+#. The fallback font is (normally) required for languages with
+#. non-Latin script, like Chinese.
+#. When in doubt, test your translation.
#: src/client/fontengine.cpp
msgid "needs_fallback_font"
msgstr "no"
@@ -902,6 +922,7 @@ msgstr "- Порт: "
msgid "- Public: "
msgstr "- Публічны: "
+#. ~ PvP = Player versus Player
#: src/client/game.cpp
msgid "- PvP: "
msgstr "- PvP: "
@@ -1352,6 +1373,7 @@ msgstr "Левы Shift"
msgid "Left Windows"
msgstr "Левы Super"
+#. ~ Key name, common on Windows keyboards
#: src/client/keycode.cpp
msgid "Menu"
msgstr "Меню"
@@ -1444,6 +1466,7 @@ msgstr "Паўза"
msgid "Play"
msgstr "ГулÑць"
+#. ~ "Print screen" key
#: src/client/keycode.cpp
msgid "Print"
msgstr "Друкаваць"
@@ -1480,6 +1503,7 @@ msgstr "Правы Super"
msgid "Scroll Lock"
msgstr "Scroll Lock"
+#. ~ Key name
#: src/client/keycode.cpp
msgid "Select"
msgstr "Ðбраць"
@@ -1720,11 +1744,16 @@ msgstr "Сцішаны"
msgid "Sound Volume: "
msgstr "ГучнаÑць: "
+#. ~ Imperative, as in "Enter/type in text".
+#. Don't forget the space.
#: src/gui/modalMenu.cpp
msgid "Enter "
msgstr "Увод "
-#: src/network/clientpackethandler.cpp
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string which needs to contain the translation's
+#. language code (e.g. "de" for German).
+#: src/network/clientpackethandler.cpp src/script/lua_api/l_client.cpp
msgid "LANG_CODE"
msgstr "be"
@@ -1748,12 +1777,13 @@ msgstr ""
"калі будзе знаходзіцца па-за межамі аÑноўнага кола."
#: 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"
"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"
+"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."
@@ -1952,22 +1982,17 @@ msgstr ""
"(не толькі 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 "Кіруе звужÑннем аÑтравоў горнага тыпу ніжÑй ÑÑÑ€ÑднÑй кропкі."
+msgid ""
+"Alters the light curve by applying 'gamma correction' to it.\n"
+"Higher values make middle and lower light levels brighter.\n"
+"Value '1.0' leaves the light curve unaltered.\n"
+"This only has significant effect on daylight and artificial\n"
+"light, it has very little effect on natural night light."
+msgstr ""
#: src/settings_translation_file.cpp
msgid "Altitude chill"
@@ -2127,6 +2152,26 @@ msgid "Block send optimize distance"
msgstr "ÐÐ¿Ñ‚Ñ‹Ð¼Ñ–Ð·Ð°Ð²Ð°Ð½Ð°Ñ Ð°Ð´Ð»ÐµÐ³Ð»Ð°Ñць Ð°Ð´Ð¿Ñ€Ð°ÑžÐ»ÐµÐ½Ð½Ñ Ð±Ð»Ð¾ÐºÐ°Ñž"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Bold and italic font path"
+msgstr "ШлÑÑ… да монашырыннага шрыфту"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Bold and italic monospace font path"
+msgstr "ШлÑÑ… да монашырыннага шрыфту"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Bold font path"
+msgstr "ШлÑÑ… да шрыфту"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Bold monospace font path"
+msgstr "ШлÑÑ… да монашырыннага шрыфту"
+
+#: src/settings_translation_file.cpp
msgid "Build inside player"
msgstr "Будаваць на меÑцы гульца"
@@ -2139,9 +2184,10 @@ msgid "Bumpmapping"
msgstr "РÑльефнае Ñ‚ÑкÑтураванне"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Camera 'near clipping plane' distance in nodes, between 0 and 0.5.\n"
-"Most users will not need to change this.\n"
+"Camera 'near clipping plane' distance in nodes, between 0 and 0.25\n"
+"Only works on GLES platforms. 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 ""
@@ -2208,8 +2254,10 @@ msgid "Cavern upper limit"
msgstr "Ðбмежаванне пÑчор"
#: src/settings_translation_file.cpp
-msgid "Center of light curve mid-boost."
-msgstr "ЦÑнтр ÑÑÑ€ÑднÑга ўздыму крывой ÑвÑтла."
+msgid ""
+"Center of light curve boost range.\n"
+"Where 0.0 is minimum light level, 1.0 is maximum light level."
+msgstr ""
#: src/settings_translation_file.cpp
msgid ""
@@ -2425,15 +2473,10 @@ 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."
+"Controls width of tunnels, a smaller value creates wider tunnels.\n"
+"Value >= 10.0 completely disables generation of tunnels and avoids the\n"
+"intensive noise calculations."
msgstr ""
-"Кіруе шчыльнаÑцю горнага Ñ€Ñльефу лÑтучых аÑтравоў.\n"
-"ГÑÑ‚Ñ‹ зрух дадаецца да значÑÐ½Ð½Ñ 'np_mountain'."
-
-#: 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"
@@ -2468,10 +2511,6 @@ msgid "Damage"
msgstr "Пашкоджанні"
#: src/settings_translation_file.cpp
-msgid "Darkness sharpness"
-msgstr "РÑзкаÑць цемры"
-
-#: src/settings_translation_file.cpp
msgid "Debug info toggle key"
msgstr "Клавіша пераключÑÐ½Ð½Ñ Ð°Ð´Ð»Ð°Ð´Ð°Ñ‡Ð½Ñ‹Ñ… даных"
@@ -2488,7 +2527,8 @@ msgid "Dec. volume key"
msgstr "Кнопка памÑншÑÐ½Ð½Ñ Ð³ÑƒÑ‡Ð½Ð°Ñці"
#: src/settings_translation_file.cpp
-msgid "Decrease this to increase liquid resistence to movement."
+#, fuzzy
+msgid "Decrease this to increase liquid resistance to movement."
msgstr "Паменшыце гÑта, каб павÑлічыць інерцыю вадкаÑці."
#: src/settings_translation_file.cpp
@@ -2532,14 +2572,6 @@ msgstr ""
"Уплывае толькі пры кампілÑцыі з cURL."
#: src/settings_translation_file.cpp
-msgid ""
-"Defines areas of floatland smooth terrain.\n"
-"Smooth floatlands occur when noise > 0."
-msgstr ""
-"Вызначае воблаÑці гладкага Ñ€Ñльефу лÑтучых аÑтравоў.\n"
-"Ð“Ð»Ð°Ð´ÐºÐ°Ñ Ð¿Ð°Ð²ÐµÑ€Ñ…Ð½Ñ Ð·'ÑўлÑецца, калі шум больш нулÑ."
-
-#: src/settings_translation_file.cpp
msgid "Defines areas where trees have apples."
msgstr "Вызначае воблаÑці, дзе на дрÑвах Ñ‘Ñць Ñблыкі."
@@ -2625,15 +2657,6 @@ 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 ""
-"СаÑтарÑлы. Вызначае Ñ– размÑшчае пÑÑ‡Ð¾Ñ€Ð½Ñ‹Ñ Ð²Ð°Ð´ÐºÐ°Ñці з выкарыÑтаннем азначÑннÑÑž "
-"біёму.\n"
-"Y верхнÑй мÑжы лавы Ñž вÑлікіх пÑчорах."
-
-#: src/settings_translation_file.cpp
msgid "Depth below which you'll find giant caverns."
msgstr "ГлыбінÑ, ніжÑй Ñкой траплÑюцца вÑÐ»Ñ–ÐºÑ–Ñ Ð¿Ñчоры."
@@ -2710,6 +2733,12 @@ msgstr "Шум падзÑмеллÑ"
#: src/settings_translation_file.cpp
msgid ""
+"Enable IPv6 support (for both client and server).\n"
+"Required for IPv6 connections to work at all."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
"Enable Lua modding support on client.\n"
"This support is experimental and API can change."
msgstr ""
@@ -2717,10 +2746,6 @@ msgstr ""
"ГÑта падтрымка ÑкÑÐ¿ÐµÑ€Ñ‹Ð¼ÐµÐ½Ñ‚Ð°Ð»ÑŒÐ½Ð°Ñ Ñ– API можа змÑніцца."
#: src/settings_translation_file.cpp
-msgid "Enable VBO"
-msgstr "Уключыць VBO"
-
-#: src/settings_translation_file.cpp
msgid "Enable console window"
msgstr "Уключаць акно канÑолі"
@@ -2794,6 +2819,12 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Enable vertex buffer objects.\n"
+"This should greatly improve graphics performance."
+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 ""
@@ -2801,15 +2832,25 @@ msgstr ""
"Ðапрыклад: 0 — нÑма, 1.0 — звычайнае, 2.0 — падвойнае."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
"Enable/disable running an IPv6 server.\n"
-"Ignored if bind_address is set."
+"Ignored if bind_address is set.\n"
+"Needs enable_ipv6 to be enabled."
msgstr ""
"Уключыць/выключыць падтрымку IPv6. Сервер IPv6 можа быць абмежаваны IPv6-"
"кліентамі Ñž залежнаÑці ад ÑÑ–ÑÑ‚Ñмнай канфігурацыі.\n"
"Ігнаруецца, калі зададзены «bind_address»."
#: src/settings_translation_file.cpp
+msgid ""
+"Enables Hable's 'Uncharted 2' filmic tone mapping.\n"
+"Simulates the tone curve of photographic film and how this approximates the\n"
+"appearance of high dynamic range images. Mid-range contrast is slightly\n"
+"enhanced, highlights and shadows are gradually compressed."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Enables animation of inventory items."
msgstr "Уключае анімацыю прадметаў інвентару."
@@ -2829,10 +2870,6 @@ 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 "Уключае мінімапу."
@@ -2853,6 +2890,14 @@ msgstr ""
"Патрабуюцца ÑžÐºÐ»ÑŽÑ‡Ð°Ð½Ñ‹Ñ ÑˆÑйдÑры."
#: src/settings_translation_file.cpp
+msgid ""
+"Enables the sound system.\n"
+"If disabled, this completely disables all sounds everywhere and the in-game\n"
+"sound controls will be non-functional.\n"
+"Changing this setting requires a restart."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Engine profiling data print interval"
msgstr "ІнтÑрвал Ð´Ñ€ÑƒÐºÐ°Ð²Ð°Ð½Ð½Ñ Ð´Ð°Ð½Ñ‹Ñ… прафілÑÐ²Ð°Ð½Ð½Ñ Ñ€ÑƒÑ…Ð°Ð²Ñ–ÐºÐ°"
@@ -2885,7 +2930,8 @@ msgid "Fall bobbing factor"
msgstr "КаÑфіцыент ÐºÐ°Ð»Ñ‹Ñ…Ð°Ð½Ð½Ñ Ð¿Ñ€Ñ‹ падзенні"
#: src/settings_translation_file.cpp
-msgid "Fallback font"
+#, fuzzy
+msgid "Fallback font path"
msgstr "РÑзервовы шрыфт"
#: src/settings_translation_file.cpp
@@ -2988,30 +3034,6 @@ 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 "Клавіша палёту"
@@ -3032,8 +3054,12 @@ msgid "Fog toggle key"
msgstr "Клавіша пераключÑÐ½Ð½Ñ Ñ‚ÑƒÐ¼Ð°Ð½Ñƒ"
#: src/settings_translation_file.cpp
-msgid "Font path"
-msgstr "ШлÑÑ… да шрыфту"
+msgid "Font bold by default"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font italic by default"
+msgstr ""
#: src/settings_translation_file.cpp
msgid "Font shadow"
@@ -3044,16 +3070,20 @@ msgid "Font shadow alpha"
msgstr "ПразрыÑтаÑць цені шрыфту"
#: src/settings_translation_file.cpp
-msgid "Font shadow alpha (opaqueness, between 0 and 255)."
-msgstr "ПразрыÑтаÑць цені шрыфту (ад 0 да 255)."
+msgid "Font size"
+msgstr "Памер шрыфту"
#: src/settings_translation_file.cpp
-msgid "Font shadow offset, if 0 then shadow will not be drawn."
-msgstr "Зрух цені шрыфту. Калі 0, то цень не будзе паказвацца."
+msgid "Font size of the default font in point (pt)."
+msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font size"
-msgstr "Памер шрыфту"
+msgid "Font size of the fallback font in point (pt)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font size of the monospace font in point (pt)."
+msgstr ""
#: src/settings_translation_file.cpp
msgid ""
@@ -3061,8 +3091,8 @@ msgid ""
"placeholders:\n"
"@name, @message, @timestamp (optional)"
msgstr ""
-"Фармат чат-паведамленнÑÑž гульца. ÐаÑÑ‚ÑƒÐ¿Ð½Ñ‹Ñ Ñ€Ð°Ð´ÐºÑ– з'ÑўлÑюцца запаўнÑльнікамі:"
-"\n"
+"Фармат чат-паведамленнÑÑž гульца. ÐаÑÑ‚ÑƒÐ¿Ð½Ñ‹Ñ Ñ€Ð°Ð´ÐºÑ– з'ÑўлÑюцца "
+"запаўнÑльнікамі:\n"
"@name, @message Ñ– @timestamp (неабавÑзкова)"
#: src/settings_translation_file.cpp
@@ -3176,10 +3206,6 @@ msgid "GUI scaling filter txr2img"
msgstr "txr2img-фільтр Ð¼Ð°ÑˆÑ‚Ð°Ð±Ð°Ð²Ð°Ð½Ð½Ñ Ð³Ñ€Ð°Ñ„Ñ–Ñ‡Ð½Ð°Ð³Ð° інтÑрфейÑу"
#: src/settings_translation_file.cpp
-msgid "Gamma"
-msgstr "Гама"
-
-#: src/settings_translation_file.cpp
msgid "Generate normalmaps"
msgstr "Ð“ÐµÐ½ÐµÑ€Ð°Ñ†Ñ‹Ñ Ð¼Ð°Ð¿Ñ‹ нармалÑÑž"
@@ -3199,11 +3225,17 @@ msgstr ""
"кіруе ÑžÑімі дÑкарацыÑмі."
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at maximum light level."
+#, fuzzy
+msgid ""
+"Gradient of light curve at maximum light level.\n"
+"Controls the contrast of the highest light levels."
msgstr "Градыент крывой ÑвÑтла на макÑімальным узроўні ÑвÑтла."
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at minimum light level."
+#, fuzzy
+msgid ""
+"Gradient of light curve at minimum light level.\n"
+"Controls the contrast of the lowest light levels."
msgstr "Градыент крывой ÑвÑтла на мінімальным узроўні ÑвÑтла."
#: src/settings_translation_file.cpp
@@ -3235,8 +3267,9 @@ msgid "HUD toggle key"
msgstr "Клавіша пераключÑÐ½Ð½Ñ HUD"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Handling for deprecated lua api calls:\n"
+"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)."
@@ -3480,6 +3513,13 @@ msgstr "Ðаколькі глыбокімі рабіць Ñ€Ñкі."
#: src/settings_translation_file.cpp
msgid ""
+"How fast liquid waves will move. Higher = faster.\n"
+"If negative, liquid waves will move backwards.\n"
+"Requires waving liquids to be enabled."
+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 ""
@@ -3512,10 +3552,6 @@ msgid "IPv6 server"
msgstr "Сервер IPv6"
#: src/settings_translation_file.cpp
-msgid "IPv6 support."
-msgstr "Падтрымка IPv6."
-
-#: 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."
@@ -3725,6 +3761,16 @@ msgid "Invert vertical mouse movement."
msgstr "ЗмÑнÑе вертыкальны рух мышы на адваротны."
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Italic font path"
+msgstr "ШлÑÑ… да монашырыннага шрыфту"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Italic monospace font path"
+msgstr "ШлÑÑ… да монашырыннага шрыфту"
+
+#: src/settings_translation_file.cpp
msgid "Item entity TTL"
msgstr "Ð§Ð°Ñ Ñ–ÑÐ½Ð°Ð²Ð°Ð½Ð½Ñ Ð²Ñ‹ÐºÑ–Ð½ÑƒÑ‚Ð°Ð¹ Ñ€Ñчы"
@@ -4552,12 +4598,20 @@ msgid "Large cave depth"
msgstr "Ð“Ð»Ñ‹Ð±Ñ–Ð½Ñ Ð²Ñлікіх пÑчор"
#: src/settings_translation_file.cpp
-msgid "Large chat console key"
-msgstr "Клавіша буйной канÑолі"
+msgid "Large cave maximum number"
+msgstr ""
#: src/settings_translation_file.cpp
-msgid "Lava depth"
-msgstr "Ð“Ð»Ñ‹Ð±Ñ–Ð½Ñ Ð»Ð°Ð²Ñ‹"
+msgid "Large cave minimum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large cave proportion flooded"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large chat console key"
+msgstr "Клавіша буйной канÑолі"
#: src/settings_translation_file.cpp
msgid "Leaves style"
@@ -4590,6 +4644,15 @@ msgstr ""
"абнаўлÑюцца па Ñетцы."
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid ""
+"Length of liquid waves.\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+"ЗначÑнне \"true\" уключае калыханне ліÑцÑ.\n"
+"Патрабуюцца ÑžÐºÐ»ÑŽÑ‡Ð°Ð½Ñ‹Ñ ÑˆÑйдÑры."
+
+#: src/settings_translation_file.cpp
msgid "Length of time between Active Block Modifier (ABM) execution cycles"
msgstr "ІнтÑрвал чаÑу паміж цыкламі Ð²Ñ‹ÐºÐ°Ð½Ð°Ð½Ð½Ñ Ð¼Ð°Ð´Ñ‹Ñ„Ñ–ÐºÐ°Ñ‚Ð°Ñ€Ð°Ñž актыўных блокаў"
@@ -4622,20 +4685,34 @@ msgstr ""
"- verbose (падрабÑзнаÑці)"
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost"
+#, fuzzy
+msgid "Light curve boost"
msgstr "СÑÑ€Ñдні ўздым крывой ÑвÑтла"
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost center"
+#, fuzzy
+msgid "Light curve boost center"
msgstr "ЦÑнтр ÑÑÑ€ÑднÑга ўздыму крывой ÑвÑтла"
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost spread"
+#, fuzzy
+msgid "Light curve boost spread"
msgstr "РаÑпаўÑюджванне ÑÑÑ€ÑднÑга ўздыму крывой ÑвÑтла"
#: src/settings_translation_file.cpp
-msgid "Lightness sharpness"
-msgstr "РÑзкаÑць паваротліваÑці"
+#, fuzzy
+msgid "Light curve gamma"
+msgstr "СÑÑ€Ñдні ўздым крывой ÑвÑтла"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Light curve high gradient"
+msgstr "СÑÑ€Ñдні ўздым крывой ÑвÑтла"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Light curve low gradient"
+msgstr "ЦÑнтр ÑÑÑ€ÑднÑга ўздыму крывой ÑвÑтла"
#: src/settings_translation_file.cpp
msgid "Limit of emerge queues on disk"
@@ -4753,24 +4830,18 @@ msgid "Map generation attributes specific to Mapgen Carpathian."
msgstr "Ðтрыбуты генерацыі Ð´Ð»Ñ Ð³ÐµÐ½ÐµÑ€Ð°Ñ‚Ð°Ñ€Ð° Карпат."
#: src/settings_translation_file.cpp
+#, fuzzy
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."
+"Map generation attributes specific to Mapgen Flat.\n"
+"Occasional lakes and hills can be added to the flat world."
msgstr ""
-"Ðтрыбуты генерацыі мапы Ð´Ð»Ñ Ð³ÐµÐ½ÐµÑ€Ð°Ñ‚Ð°Ñ€Ð° далін.\n"
-"«altitude_chill»: памÑншае цеплыню з роÑтам вышыні.\n"
-"«humid_rivers»: павÑлічвае вільготнаÑць абапал Ñ€Ñк.\n"
-"«vary_river_depth»: калі ўключана, то Ð½Ñ–Ð·ÐºÐ°Ñ Ð²Ñ–Ð»ÑŒÐ³Ð¾Ñ‚Ð½Ð°Ñць Ñ– выÑÐ¾ÐºÐ°Ñ "
-"Ñ‚Ñмпература ўплываюць на ўзровень вады Ñž Ñ€Ñках.\n"
-"«altitude_dry»: памÑншае вільготнаÑць з роÑтам вышыні."
+"Ðтрыбуты генерацыі мапы Ð´Ð»Ñ Ð³ÐµÐ½ÐµÑ€Ð°Ñ‚Ð°Ñ€Ð° плоÑкаÑці.\n"
+"ЧаÑам азёры Ñ– пагоркі могуць дадавацца Ñž плоÑкі Ñвет."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Map generation attributes specific to Mapgen flat.\n"
+"Map generation attributes specific to Mapgen Fractal.\n"
"'terrain' enables the generation of non-fractal terrain:\n"
"ocean, islands and underground."
msgstr ""
@@ -4780,11 +4851,19 @@ 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."
+"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 ""
-"Ðтрыбуты генерацыі мапы Ð´Ð»Ñ Ð³ÐµÐ½ÐµÑ€Ð°Ñ‚Ð°Ñ€Ð° плоÑкаÑці.\n"
-"ЧаÑам азёры Ñ– пагоркі могуць дадавацца Ñž плоÑкі Ñвет."
+"Ðтрыбуты генерацыі мапы Ð´Ð»Ñ Ð³ÐµÐ½ÐµÑ€Ð°Ñ‚Ð°Ñ€Ð° далін.\n"
+"«altitude_chill»: памÑншае цеплыню з роÑтам вышыні.\n"
+"«humid_rivers»: павÑлічвае вільготнаÑць абапал Ñ€Ñк.\n"
+"«vary_river_depth»: калі ўключана, то Ð½Ñ–Ð·ÐºÐ°Ñ Ð²Ñ–Ð»ÑŒÐ³Ð¾Ñ‚Ð½Ð°Ñць Ñ– выÑÐ¾ÐºÐ°Ñ "
+"Ñ‚Ñмпература ўплываюць на ўзровень вады Ñž Ñ€Ñках.\n"
+"«altitude_dry»: памÑншае вільготнаÑць з роÑтам вышыні."
#: src/settings_translation_file.cpp
msgid "Map generation attributes specific to Mapgen v5."
@@ -4939,8 +5018,17 @@ msgid "Maximum hotbar width"
msgstr "МакÑÑ–Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ ÑˆÑ‹Ñ€Ñ‹Ð½Ñ Ð¿Ð°Ð½Ñлі хуткага доÑтупу"
#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of large caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Maximum liquid resistence. Controls deceleration when entering liquid at\n"
+"Maximum liquid resistance. Controls deceleration when entering liquid at\n"
"high speed."
msgstr ""
"МакÑÑ–Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ ÑžÑтойліваÑць вадкаÑці. Кантралюе запавольванне\n"
@@ -5083,6 +5171,15 @@ msgid "Minimap scan height"
msgstr "Ð’Ñ‹ÑˆÑ‹Ð½Ñ ÑÐºÐ°Ð½Ð°Ð²Ð°Ð½Ð½Ñ Ð¼Ñ–Ð½Ñ–Ð¼Ð°Ð¿Ñ‹"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Minimum limit of random number of large caves per mapchunk."
+msgstr "3D-шум, што вызначае колькаÑць падзÑмеллÑÑž на кавалку мапы."
+
+#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Minimum texture size"
msgstr "Мінімальны памер Ñ‚ÑкÑтуры"
@@ -5157,8 +5254,8 @@ msgid ""
"Current mapgens in a highly unstable state:\n"
"- The optional floatlands of v7 (disabled by default)."
msgstr ""
-"Ðазва генератара мапы, што будзе выкарыÑтоўвацца Ð´Ð»Ñ ÑтварÑÐ½Ð½Ñ Ð½Ð¾Ð²Ð°Ð³Ð° Ñвету."
-"\n"
+"Ðазва генератара мапы, што будзе выкарыÑтоўвацца Ð´Ð»Ñ ÑтварÑÐ½Ð½Ñ Ð½Ð¾Ð²Ð°Ð³Ð° "
+"Ñвету.\n"
"ГÑта можна змÑніць пры ÑтварÑнні Ñвету Ñž галоўным меню.\n"
"ЦÑÐ¿ÐµÑ€Ð°ÑˆÐ½Ñ–Ñ Ð²ÐµÐ»ÑŒÐ¼Ñ– неÑÑ‚Ð°Ð±Ñ–Ð»ÑŒÐ½Ñ‹Ñ Ð³ÐµÐ½ÐµÑ€Ð°Ñ‚Ð°Ñ€Ñ‹:\n"
"- ÐеабавÑÑÐºÐ¾Ð²Ñ‹Ñ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‡Ñ‹Ñ Ð²Ñ‹Ñпы 7 (звычайна адключаны)."
@@ -5180,7 +5277,8 @@ msgid ""
msgstr "Ðазва Ñервера, што будзе паказвацца пры падлучÑнні Ñ– Ñž ÑпіÑе Ñервераў."
#: src/settings_translation_file.cpp
-msgid "Near clipping plane"
+#, fuzzy
+msgid "Near plane"
msgstr "Ð‘Ð»Ñ–Ð·ÐºÐ°Ñ Ð¿Ð»Ð¾ÑкаÑць адÑÑчÑннÑ"
#: src/settings_translation_file.cpp
@@ -5289,6 +5387,16 @@ msgstr "ÐепразрыÑÑ‚Ñ‹Ñ Ð²Ð°Ð´ÐºÐ°Ñці"
#: src/settings_translation_file.cpp
msgid ""
+"Opaqueness (alpha) of the shadow behind the default font, between 0 and 255."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Opaqueness (alpha) of the shadow behind the fallback font, between 0 and 255."
+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."
@@ -5329,8 +5437,13 @@ msgid "Parallax occlusion strength"
msgstr "ІнтÑнÑіўнаÑць паралакÑнай аклюзіі"
#: src/settings_translation_file.cpp
-msgid "Path to TrueTypeFont or bitmap."
-msgstr "ШлÑÑ… да TrueTypeFont ці раÑтравага шрыфту."
+msgid ""
+"Path of the fallback font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font will be used for certain languages or if the default font is "
+"unavailable."
+msgstr ""
#: src/settings_translation_file.cpp
msgid "Path to save screenshots at."
@@ -5349,6 +5462,22 @@ msgid "Path to texture directory. All textures are first searched from here."
msgstr "ШлÑÑ… да каталога Ñ‚ÑкÑтур. УÑе Ñ‚ÑкÑтуры Ñž першую чаргу шукаюцца тут."
#: src/settings_translation_file.cpp
+msgid ""
+"Path to the default font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"The fallback font will be used if the font cannot be loaded."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Path to the monospace font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font is used for e.g. the console and profiler screen."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Pause on lost window focus"
msgstr "Паўза пры Ñтраце фокуÑу"
@@ -5433,6 +5562,10 @@ msgid "Profiling"
msgstr "ПрафілÑванне"
#: src/settings_translation_file.cpp
+msgid "Proportion of large caves that contain liquid."
+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 "
@@ -5458,6 +5591,11 @@ msgid "Recent Chat Messages"
msgstr "ÐÐ°Ð´Ð°ÑžÐ½Ñ–Ñ Ð¿Ð°Ð²ÐµÐ´Ð°Ð¼Ð»ÐµÐ½Ð½Ñ– размовы"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Regular font path"
+msgstr "ШлÑÑ… да Ñправаздач"
+
+#: src/settings_translation_file.cpp
msgid "Remote media"
msgstr "Ðдлеглы медыÑÑервер"
@@ -5666,26 +5804,27 @@ msgid "Selection box width"
msgstr "Ð¨Ñ‹Ñ€Ñ‹Ð½Ñ Ð²Ð¾Ð±Ð»Ð°Ñці вылучÑннÑ"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
"Selects one of 18 fractal types.\n"
-"1 = 4D \"Roundy\" mandelbrot set.\n"
-"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."
+"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 ""
"Выбірае адзін з 18 тыпаў фракталаў.\n"
"1 = 4D-«круглае» мноÑтва МандÑльброта.\n"
@@ -5758,27 +5897,30 @@ msgstr ""
"кліентамі ў размову."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Set to true enables waving leaves.\n"
+"Set to true to enable waving leaves.\n"
"Requires shaders to be enabled."
msgstr ""
"ЗначÑнне \"true\" уключае калыханне ліÑцÑ.\n"
"Патрабуюцца ÑžÐºÐ»ÑŽÑ‡Ð°Ð½Ñ‹Ñ ÑˆÑйдÑры."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Set to true enables waving plants.\n"
+"Set to true to enable waving liquids (like water).\n"
"Requires shaders to be enabled."
msgstr ""
-"ЗначÑнне \"true\" уключае калыханне раÑлін.\n"
+"ЗначÑнне \"true\" уключае хвалÑванне вады.\n"
"Патрабуюцца ÑžÐºÐ»ÑŽÑ‡Ð°Ð½Ñ‹Ñ ÑˆÑйдÑры."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Set to true enables waving water.\n"
+"Set to true to enable waving plants.\n"
"Requires shaders to be enabled."
msgstr ""
-"ЗначÑнне \"true\" уключае хвалÑванне вады.\n"
+"ЗначÑнне \"true\" уключае калыханне раÑлін.\n"
"Патрабуюцца ÑžÐºÐ»ÑŽÑ‡Ð°Ð½Ñ‹Ñ ÑˆÑйдÑры."
#: src/settings_translation_file.cpp
@@ -5798,8 +5940,18 @@ msgstr ""
"Працуюць толькі з OpenGL."
#: src/settings_translation_file.cpp
-msgid "Shadow limit"
-msgstr "Ліміт ценÑÑž"
+#, fuzzy
+msgid ""
+"Shadow offset (in pixels) of the default font. If 0, then shadow will not be "
+"drawn."
+msgstr "Зрух цені шрыфту. Калі 0, то цень не будзе паказвацца."
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid ""
+"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not "
+"be drawn."
+msgstr "Зрух цені шрыфту. Калі 0, то цень не будзе паказвацца."
#: src/settings_translation_file.cpp
msgid "Shape of the minimap. Enabled = round, disabled = square."
@@ -5854,6 +6006,14 @@ msgid "Slope and fill work together to modify the heights."
msgstr "Ðахіл Ñ– запаўненне выкарыÑтоўваюцца разам Ð´Ð»Ñ Ð·Ð¼ÐµÐ½Ñ‹ вышыні."
#: src/settings_translation_file.cpp
+msgid "Small cave maximum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Small cave minimum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Small-scale humidity variation for blending biomes on borders."
msgstr "ÐевÑÐ»Ñ–ÐºÑ–Ñ Ð²Ð°Ñ€Ñ‹Ð°Ñ†Ñ‹Ñ– вільготнаÑці Ð´Ð»Ñ Ð·Ð¼ÐµÑˆÐ²Ð°Ð½Ð½Ñ Ð±Ñ–Ñ‘Ð¼Ð°Ñž на межах."
@@ -5922,9 +6082,11 @@ msgstr ""
"ÐедаÑÑÐ¶Ð½Ñ‹Ñ Ñ„Ð°Ð¹Ð»Ñ‹ будуць Ñпампоўвацца звычайным чынам."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Spread of light curve mid-boost.\n"
-"Standard deviation of the mid-boost gaussian."
+"Spread of light curve boost range.\n"
+"Controls the width of the range to be boosted.\n"
+"Standard deviation of the light curve boost Gaussian."
msgstr ""
"РаÑпаўÑюджванне ÑÑÑ€ÑднÑга ўздыму крывой ÑвÑтла.\n"
"Стандартнае адхіленне ÑÑÑ€ÑднÑга ўздыму па ГаўÑу."
@@ -5950,8 +6112,11 @@ msgid "Strength of generated normalmaps."
msgstr "Моц згенераваных мапаў нармалÑÑž."
#: src/settings_translation_file.cpp
-msgid "Strength of light curve mid-boost."
-msgstr "Моц ÑÑÑ€ÑднÑга ўздыму крывой ÑвÑтла."
+msgid ""
+"Strength of light curve boost.\n"
+"The 3 'boost' parameters define a range of the light\n"
+"curve that is boosted in brightness."
+msgstr ""
#: src/settings_translation_file.cpp
msgid "Strength of parallax."
@@ -6070,6 +6235,15 @@ msgstr ""
"ÐдлеглаÑць у пікÑелÑÑ…, з Ñкой пачынаецца ўзаемадзеÑнне з ÑÑнÑарных Ñкранам."
#: src/settings_translation_file.cpp
+msgid ""
+"The maximum height of the surface of waving liquids.\n"
+"4.0 = Wave height is two nodes.\n"
+"0.0 = Wave doesn't move at all.\n"
+"Default is 1.0 (1/2 node).\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "The network interface that the server listens on."
msgstr "Сеткавы інтÑрфейÑ, Ñкі праÑлухоўвае Ñервер."
@@ -6180,10 +6354,6 @@ msgstr ""
"ТрÑці з чатырох 2D-шумоў, ÑÐºÑ–Ñ Ñ€Ð°Ð·Ð°Ð¼ вызначаюць межы вышыні пагоркаў/гор."
#: 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."
@@ -6240,10 +6410,11 @@ msgid "Trilinear filtering"
msgstr "Ð¢Ñ€Ñ‹Ð»Ñ–Ð½ÐµÐ¹Ð½Ð°Ñ Ñ„Ñ–Ð»ÑŒÑ‚Ñ€Ð°Ñ†Ñ‹Ñ"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
"True = 256\n"
"False = 128\n"
-"Useable to make minimap smoother on slower machines."
+"Usable to make minimap smoother on slower machines."
msgstr ""
"True = 256\n"
"False = 128\n"
@@ -6254,13 +6425,6 @@ 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 ÑпіÑа Ñервераў, Ñкі паказваецца ва ўкладцы ÑумеÑнай гульні."
@@ -6279,8 +6443,8 @@ msgstr ""
"СубдыÑкрÑÑ‚Ñ‹Ð·Ð°Ñ†Ñ‹Ñ Ð¿Ð°Ð´Ð¾Ð±Ð½Ð°Ñ Ð½Ð° выкарыÑтанне нізкай раздзÑлÑльнай здольнаÑці "
"Ñкрана,\n"
"але ўжываецца толькі да гульнÑвога Ñвету, не кранаючы інтÑрфейÑ.\n"
-"ГÑта значна павÑлічвае працаздольнаÑць за кошт вываду менш падрабÑзнай выÑвы."
-"\n"
+"ГÑта значна павÑлічвае працаздольнаÑць за кошт вываду менш падрабÑзнай "
+"выÑвы.\n"
"Ð’Ñ‹ÑÐ¾ÐºÑ–Ñ Ð·Ð½Ð°Ñ‡Ñнні прыводзÑць да менш дÑталізаванай выÑвы."
#: src/settings_translation_file.cpp
@@ -6356,12 +6520,6 @@ 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 "ВарыÑÑ†Ñ‹Ñ Ð¼Ð°ÐºÑімальнай вышыні гор (у блоках)."
@@ -6438,6 +6596,15 @@ msgid "Volume"
msgstr "ГучнаÑць"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid ""
+"Volume of all sounds.\n"
+"Requires the sound system to be enabled."
+msgstr ""
+"Уключае паралакÑнае аклюзіўнае Ñ‚ÑкÑтураванне.\n"
+"Патрабуюцца ÑžÐºÐ»ÑŽÑ‡Ð°Ð½Ñ‹Ñ ÑˆÑйдÑры."
+
+#: 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"
@@ -6480,26 +6647,30 @@ msgid "Waving leaves"
msgstr "Калыханне ліÑцÑ"
#: src/settings_translation_file.cpp
-msgid "Waving plants"
-msgstr "Калыханне раÑлін"
-
-#: src/settings_translation_file.cpp
-msgid "Waving water"
-msgstr "ХвалÑванне вады"
+#, fuzzy
+msgid "Waving liquids"
+msgstr "Калыханне вадкаÑцÑÑž"
#: src/settings_translation_file.cpp
-msgid "Waving water wave height"
+#, fuzzy
+msgid "Waving liquids wave height"
msgstr "Ð’Ñ‹ÑˆÑ‹Ð½Ñ Ð²Ð¾Ð´Ð½Ñ‹Ñ… хвалÑÑž"
#: src/settings_translation_file.cpp
-msgid "Waving water wave speed"
+#, fuzzy
+msgid "Waving liquids wave speed"
msgstr "ХуткаÑць водных хвалÑÑž"
#: src/settings_translation_file.cpp
-msgid "Waving water wavelength"
+#, fuzzy
+msgid "Waving liquids wavelength"
msgstr "Ð”Ð°ÑžÐ¶Ñ‹Ð½Ñ Ð²Ð¾Ð´Ð½Ñ‹Ñ… хвалÑÑž"
#: src/settings_translation_file.cpp
+msgid "Waving plants"
+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"
@@ -6546,8 +6717,11 @@ msgstr ""
"ÑуÑветнага аўтамаÑÑˆÑ‚Ð°Ð±Ð°Ð²Ð°Ð½Ð½Ñ Ñ‚ÑкÑтур."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Whether FreeType fonts are used, requires FreeType support to be compiled in."
+"Whether FreeType fonts are used, requires FreeType support to be compiled "
+"in.\n"
+"If disabled, bitmap and XML vectors fonts are used instead."
msgstr ""
"ВыкарыÑтанне шрыфтоў FreeType. Падтрымка FreeType муÑіць быць ÑƒÐºÐ»ÑŽÑ‡Ð°Ð½Ð°Ñ "
"Ð¿Ð°Ð´Ñ‡Ð°Ñ ÐºÐ°Ð¼Ð¿Ñ–Ð»Ñцыі."
@@ -6583,6 +6757,14 @@ msgstr "Ці размÑшчаць туманы па-за зонай бачнаÑ
#: src/settings_translation_file.cpp
msgid ""
+"Whether to mute sounds. You can unmute sounds at any time, unless the\n"
+"sound system is disabled (enable_sound=false).\n"
+"In-game, you can toggle the mute state with the mute key or by using the\n"
+"pause menu."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
"Whether to show the client debug info (has the same effect as hitting F5)."
msgstr "Паказваць адладачную інфармацыю (тое ж, што і F5)."
@@ -6666,10 +6848,6 @@ msgid "Y-level of cavern upper limit."
msgstr "Y-узровень верхнÑга ліміту пÑчоры."
#: src/settings_translation_file.cpp
-msgid "Y-level of floatland midpoint and lake surface."
-msgstr "Y-узровень ÑÑÑ€ÑднÑй кропкі Ñ– паверхні азёр лÑтучых аÑтравоў."
-
-#: src/settings_translation_file.cpp
msgid "Y-level of higher terrain that creates cliffs."
msgstr "Y-узровень выÑокага Ñ€Ñльефу, што Ñтварае горы."
@@ -6682,10 +6860,6 @@ msgid "Y-level of seabed."
msgstr "Y-узровень марÑкога дна."
#: src/settings_translation_file.cpp
-msgid "Y-level to which floatland shadows extend."
-msgstr "Y-узровень, да Ñкога раÑпаўÑюджваюцца цені лÑтучых аÑтравоў."
-
-#: src/settings_translation_file.cpp
msgid "cURL file download timeout"
msgstr "Таймаўт ÑÐ¿Ð°Ð¼Ð¿Ð¾ÑžÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ð° па cURL"
@@ -6698,6 +6872,122 @@ msgid "cURL timeout"
msgstr "Таймаўт cURL"
#~ 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"
+#~ "ГÑÑ‚Ñ‹ параметр прызначаны толькі Ð´Ð»Ñ ÐºÐ»Ñ–ÐµÐ½Ñ‚Ð° Ñ– ігнаруецца Ñерверам."
+
+#~ msgid "Alters how mountain-type floatlands taper above and below midpoint."
+#~ msgstr "Кіруе звужÑннем аÑтравоў горнага тыпу ніжÑй ÑÑÑ€ÑднÑй кропкі."
+
+#~ msgid "Center of light curve mid-boost."
+#~ msgstr "ЦÑнтр ÑÑÑ€ÑднÑга ўздыму крывой ÑвÑтла."
+
+#~ msgid ""
+#~ "Controls the density of mountain-type floatlands.\n"
+#~ "Is a noise offset added to the 'mgv7_np_mountain' noise value."
+#~ msgstr ""
+#~ "Кіруе шчыльнаÑцю горнага Ñ€Ñльефу лÑтучых аÑтравоў.\n"
+#~ "ГÑÑ‚Ñ‹ зрух дадаецца да значÑÐ½Ð½Ñ 'np_mountain'."
+
+#~ msgid "Controls width of tunnels, a smaller value creates wider tunnels."
+#~ msgstr ""
+#~ "Кіруе шырынёй тунÑлÑÑž. Меншае значÑнне Ñтварае больш ÑˆÑ‹Ñ€Ð¾ÐºÑ–Ñ Ñ‚ÑƒÐ½Ñлі."
+
+#~ msgid "Darkness sharpness"
+#~ msgstr "РÑзкаÑць цемры"
+
+#~ msgid ""
+#~ "Defines areas of floatland smooth terrain.\n"
+#~ "Smooth floatlands occur when noise > 0."
+#~ msgstr ""
+#~ "Вызначае воблаÑці гладкага Ñ€Ñльефу лÑтучых аÑтравоў.\n"
+#~ "Ð“Ð»Ð°Ð´ÐºÐ°Ñ Ð¿Ð°Ð²ÐµÑ€Ñ…Ð½Ñ Ð·'ÑўлÑецца, калі шум больш нулÑ."
+
+#~ msgid ""
+#~ "Deprecated, define and locate cave liquids using biome definitions "
+#~ "instead.\n"
+#~ "Y of upper limit of lava in large caves."
+#~ msgstr ""
+#~ "СаÑтарÑлы. Вызначае Ñ– размÑшчае пÑÑ‡Ð¾Ñ€Ð½Ñ‹Ñ Ð²Ð°Ð´ÐºÐ°Ñці з выкарыÑтаннем "
+#~ "азначÑннÑÑž біёму.\n"
+#~ "Y верхнÑй мÑжы лавы Ñž вÑлікіх пÑчорах."
+
+#~ msgid "Enable VBO"
+#~ msgstr "Уключыць VBO"
+
+#~ msgid "Enables filmic tone mapping"
+#~ msgstr "Уключае кінематаграфічнае танальнае адлюÑтраванне"
+
+#~ msgid "Floatland base height noise"
+#~ msgstr "Шум базавай вышыні лÑтучых аÑтравоў"
+
+#~ msgid "Floatland base noise"
+#~ msgstr "Базавы шум лÑтучых аÑтравоў"
+
+#~ msgid "Floatland level"
+#~ msgstr "Узровень лÑтучых аÑтравоў"
+
+#~ msgid "Floatland mountain density"
+#~ msgstr "ШчыльнаÑць гор лÑтучых аÑтравоў"
+
+#~ msgid "Floatland mountain exponent"
+#~ msgstr "ШчыльнаÑць гор лÑтучых аÑтравоў"
+
+#~ msgid "Floatland mountain height"
+#~ msgstr "Ð’Ñ‹ÑˆÑ‹Ð½Ñ Ð³Ð¾Ñ€ на лÑтучых аÑтравоў"
+
+#~ msgid "Font shadow alpha (opaqueness, between 0 and 255)."
+#~ msgstr "ПразрыÑтаÑць цені шрыфту (ад 0 да 255)."
+
+#~ msgid "Gamma"
+#~ msgstr "Гама"
+
+#~ msgid "IPv6 support."
+#~ msgstr "Падтрымка IPv6."
+
+#~ msgid "Lava depth"
+#~ msgstr "Ð“Ð»Ñ‹Ð±Ñ–Ð½Ñ Ð»Ð°Ð²Ñ‹"
+
+#~ msgid "Lightness sharpness"
+#~ msgstr "РÑзкаÑць паваротліваÑці"
+
+#~ msgid "Path to TrueTypeFont or bitmap."
+#~ msgstr "ШлÑÑ… да TrueTypeFont ці раÑтравага шрыфту."
+
+#~ msgid "Shadow limit"
+#~ msgstr "Ліміт ценÑÑž"
+
+#~ msgid "Strength of light curve mid-boost."
+#~ msgstr "Моц ÑÑÑ€ÑднÑга ўздыму крывой ÑвÑтла."
+
+#~ msgid "This font will be used for certain languages."
+#~ msgstr "ГÑÑ‚Ñ‹ шрыфт будзе выкарыÑтоўваецца Ð´Ð»Ñ Ð½ÐµÐºÐ°Ñ‚Ð¾Ñ€Ñ‹Ñ… моў."
+
+#~ msgid ""
+#~ "Typical maximum height, above and below midpoint, of floatland mountains."
+#~ msgstr ""
+#~ "Ð¢Ñ‹Ð¿Ð¾Ð²Ð°Ñ Ð¼Ð°ÐºÑÑ–Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ Ð²Ñ‹ÑˆÑ‹Ð½Ñ, вышÑй Ñ– ніжÑй ÑÑÑ€ÑднÑй кропкі гор лÑтучых "
+#~ "аÑтравоў."
+
+#~ msgid "Variation of hill height and lake depth on floatland smooth terrain."
+#~ msgstr ""
+#~ "ВарыÑÑ†Ñ‹Ñ Ð²Ñ‹ÑˆÑ‹Ð½Ñ– пагоркаў Ñ– глыбінь азёр на гладкай мÑÑцоваÑці лÑтучых "
+#~ "аÑтравоў."
+
+#~ msgid "Waving water"
+#~ msgstr "ХвалÑванне вады"
+
+#~ msgid "Y-level of floatland midpoint and lake surface."
+#~ msgstr "Y-узровень ÑÑÑ€ÑднÑй кропкі Ñ– паверхні азёр лÑтучых аÑтравоў."
+
+#~ msgid "Y-level to which floatland shadows extend."
+#~ msgstr "Y-узровень, да Ñкога раÑпаўÑюджваюцца цені лÑтучых аÑтравоў."
+
+#~ msgid ""
#~ "If enabled together with fly mode, makes move directions relative to the "
#~ "player's pitch."
#~ msgstr ""
diff --git a/po/ca/minetest.po b/po/ca/minetest.po
index 1d6c1015e..3ffc59552 100644
--- a/po/ca/minetest.po
+++ b/po/ca/minetest.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Catalan (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-10-09 22:02+0200\n"
+"POT-Creation-Date: 2020-04-03 23:18+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/"
@@ -427,15 +427,26 @@ msgstr ""
msgid "Z spread"
msgstr ""
+#. ~ "absvalue" is a noise parameter flag.
+#. It is short for "absolute value".
+#. It can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "absvalue"
msgstr ""
+#. ~ "defaults" is a noise parameter flag.
+#. It describes the default processing options
+#. for noise settings in main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
#, fuzzy
msgid "defaults"
msgstr "Joc per defecte"
+#. ~ "eased" is a noise parameter flag.
+#. It is used to make the map smoother and
+#. can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "eased"
msgstr ""
@@ -672,6 +683,7 @@ msgstr "Nom / Contrasenya"
msgid "Ping"
msgstr "Ping"
+#. ~ PvP = Player versus Player
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "PvP enabled"
msgstr "PvP activat"
@@ -922,6 +934,14 @@ msgstr ""
msgid "Provided world path doesn't exist: "
msgstr "La ruta del món especificat no existeix: "
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string. Put either "no" or "yes"
+#. into the translation field (literally).
+#. Choose "yes" if the language requires use of the fallback
+#. font, "no" otherwise.
+#. The fallback font is (normally) required for languages with
+#. non-Latin script, like Chinese.
+#. When in doubt, test your translation.
#: src/client/fontengine.cpp
msgid "needs_fallback_font"
msgstr "no"
@@ -963,6 +983,7 @@ msgstr "Port"
msgid "- Public: "
msgstr "Públic"
+#. ~ PvP = Player versus Player
#: src/client/game.cpp
msgid "- PvP: "
msgstr ""
@@ -1435,6 +1456,7 @@ msgstr "Shift esq"
msgid "Left Windows"
msgstr "Windows esquerre"
+#. ~ Key name, common on Windows keyboards
#: src/client/keycode.cpp
msgid "Menu"
msgstr "Menú"
@@ -1528,6 +1550,7 @@ msgstr "Pausa"
msgid "Play"
msgstr "Jugar"
+#. ~ "Print screen" key
#: src/client/keycode.cpp
msgid "Print"
msgstr "Imprimir"
@@ -1564,6 +1587,7 @@ msgstr "Windows dret"
msgid "Scroll Lock"
msgstr "Bloq Despl"
+#. ~ Key name
#: src/client/keycode.cpp
msgid "Select"
msgstr "Seleccionar"
@@ -1812,11 +1836,16 @@ msgstr "Utilitza la tecla"
msgid "Sound Volume: "
msgstr "Volum de so: "
+#. ~ Imperative, as in "Enter/type in text".
+#. Don't forget the space.
#: src/gui/modalMenu.cpp
msgid "Enter "
msgstr "Introdueix "
-#: src/network/clientpackethandler.cpp
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string which needs to contain the translation's
+#. language code (e.g. "de" for German).
+#: src/network/clientpackethandler.cpp src/script/lua_api/l_client.cpp
msgid "LANG_CODE"
msgstr "ca"
@@ -1840,7 +1869,7 @@ msgid ""
"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"
+"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."
@@ -2032,22 +2061,16 @@ msgstr ""
"X11/Sols Android) Ex. per a pantalles amb 4K."
#: src/settings_translation_file.cpp
-#, fuzzy
-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 ""
-"Ajusta la codificació gamma per les taules de llum. Els nombrés nés petits "
-"n'augmentaràn la brillantor.\n"
-"Aquesta configuració només afecta al client, el servidor l'ignora."
-
-#: src/settings_translation_file.cpp
msgid "Advanced"
msgstr "Avançat"
#: src/settings_translation_file.cpp
-msgid "Alters how mountain-type floatlands taper above and below midpoint."
+msgid ""
+"Alters the light curve by applying 'gamma correction' to it.\n"
+"Higher values make middle and lower light levels brighter.\n"
+"Value '1.0' leaves the light curve unaltered.\n"
+"This only has significant effect on daylight and artificial\n"
+"light, it has very little effect on natural night light."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2203,6 +2226,22 @@ msgid "Block send optimize distance"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Bold and italic font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bold and italic monospace font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bold font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bold monospace font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Build inside player"
msgstr "Construir dins el jugador"
@@ -2216,8 +2255,8 @@ msgstr "Mapat de relleu"
#: 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"
+"Camera 'near clipping plane' distance in nodes, between 0 and 0.25\n"
+"Only works on GLES platforms. 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 ""
@@ -2285,7 +2324,9 @@ msgid "Cavern upper limit"
msgstr "Amplada de les coves"
#: src/settings_translation_file.cpp
-msgid "Center of light curve mid-boost."
+msgid ""
+"Center of light curve boost range.\n"
+"Where 0.0 is minimum light level, 1.0 is maximum light level."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2497,14 +2538,10 @@ msgstr "Controla la pendent i alçada dels turons."
#: 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."
+"Controls width of tunnels, a smaller value creates wider tunnels.\n"
+"Value >= 10.0 completely disables generation of tunnels and avoids the\n"
+"intensive noise calculations."
msgstr ""
-"Controla l'amplada dels túnels, un valor més petit crea túnels més amples."
#: src/settings_translation_file.cpp
msgid "Crash message"
@@ -2540,10 +2577,6 @@ msgid "Damage"
msgstr "Dany"
#: src/settings_translation_file.cpp
-msgid "Darkness sharpness"
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Debug info toggle key"
msgstr "Tecla alternativa per a la informació de la depuració"
@@ -2561,7 +2594,7 @@ msgid "Dec. volume key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Decrease this to increase liquid resistence to movement."
+msgid "Decrease this to increase liquid resistance to movement."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2605,12 +2638,6 @@ msgstr ""
"Només té un efecte si és compilat amb cURL."
#: 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 ""
@@ -2687,12 +2714,6 @@ 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."
@@ -2769,13 +2790,15 @@ 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."
+"Enable IPv6 support (for both client and server).\n"
+"Required for IPv6 connections to work at all."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Enable VBO"
-msgstr "Activar VBO"
+msgid ""
+"Enable Lua modding support on client.\n"
+"This support is experimental and API can change."
+msgstr ""
#: src/settings_translation_file.cpp
msgid "Enable console window"
@@ -2840,6 +2863,12 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Enable vertex buffer objects.\n"
+"This should greatly improve graphics performance."
+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 ""
@@ -2847,7 +2876,16 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Enable/disable running an IPv6 server.\n"
-"Ignored if bind_address is set."
+"Ignored if bind_address is set.\n"
+"Needs enable_ipv6 to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Enables Hable's 'Uncharted 2' filmic tone mapping.\n"
+"Simulates the tone curve of photographic film and how this approximates the\n"
+"appearance of high dynamic range images. Mid-range contrast is slightly\n"
+"enhanced, highlights and shadows are gradually compressed."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2867,10 +2905,6 @@ 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 ""
@@ -2887,6 +2921,14 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Enables the sound system.\n"
+"If disabled, this completely disables all sounds everywhere and the in-game\n"
+"sound controls will be non-functional.\n"
+"Changing this setting requires a restart."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Engine profiling data print interval"
msgstr ""
@@ -2917,7 +2959,7 @@ msgid "Fall bobbing factor"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Fallback font"
+msgid "Fallback font path"
msgstr ""
#: src/settings_translation_file.cpp
@@ -3013,30 +3055,6 @@ 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 ""
@@ -3057,7 +3075,11 @@ msgid "Fog toggle key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font path"
+msgid "Font bold by default"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font italic by default"
msgstr ""
#: src/settings_translation_file.cpp
@@ -3069,15 +3091,19 @@ msgid "Font shadow alpha"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font shadow alpha (opaqueness, between 0 and 255)."
+msgid "Font size"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font shadow offset, if 0 then shadow will not be drawn."
+msgid "Font size of the default font in point (pt)."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font size"
+msgid "Font size of the fallback font in point (pt)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font size of the monospace font in point (pt)."
msgstr ""
#: src/settings_translation_file.cpp
@@ -3188,10 +3214,6 @@ msgid "GUI scaling filter txr2img"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gamma"
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Generate normalmaps"
msgstr ""
@@ -3207,11 +3229,15 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at maximum light level."
+msgid ""
+"Gradient of light curve at maximum light level.\n"
+"Controls the contrast of the highest light levels."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at minimum light level."
+msgid ""
+"Gradient of light curve at minimum light level.\n"
+"Controls the contrast of the lowest light levels."
msgstr ""
#: src/settings_translation_file.cpp
@@ -3246,7 +3272,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Handling for deprecated lua api calls:\n"
+"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)."
@@ -3479,6 +3505,13 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"How fast liquid waves will move. Higher = faster.\n"
+"If negative, liquid waves will move backwards.\n"
+"Requires waving liquids to be enabled."
+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 ""
@@ -3508,10 +3541,6 @@ 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."
@@ -3687,6 +3716,14 @@ msgid "Invert vertical mouse movement."
msgstr "Invertir moviment vertical del ratolí."
#: src/settings_translation_file.cpp
+msgid "Italic font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Italic monospace font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Item entity TTL"
msgstr ""
@@ -4493,15 +4530,23 @@ msgid "Large cave depth"
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
-msgid "Large chat console key"
-msgstr "Tecla de la consola"
+msgid "Large cave maximum number"
+msgstr ""
#: src/settings_translation_file.cpp
-msgid "Lava depth"
+msgid "Large cave minimum number"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Large cave proportion flooded"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Large chat console key"
+msgstr "Tecla de la consola"
+
+#: src/settings_translation_file.cpp
msgid "Leaves style"
msgstr ""
@@ -4525,6 +4570,12 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Length of liquid waves.\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Length of time between Active Block Modifier (ABM) execution cycles"
msgstr ""
@@ -4549,19 +4600,27 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost"
+msgid "Light curve boost"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost center"
+msgid "Light curve boost center"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost spread"
+msgid "Light curve boost spread"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Lightness sharpness"
+msgid "Light curve gamma"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve high gradient"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve low gradient"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4668,25 +4727,25 @@ 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."
+"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 flat.\n"
+"Map generation attributes specific to Mapgen Fractal.\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."
+"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
@@ -4845,8 +4904,16 @@ msgid "Maximum hotbar width"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of large caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
-"Maximum liquid resistence. Controls deceleration when entering liquid at\n"
+"Maximum liquid resistance. Controls deceleration when entering liquid at\n"
"high speed."
msgstr ""
@@ -4967,6 +5034,14 @@ msgid "Minimap scan height"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of large caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Minimum texture size"
msgstr ""
@@ -5054,7 +5129,7 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Near clipping plane"
+msgid "Near plane"
msgstr ""
#: src/settings_translation_file.cpp
@@ -5141,6 +5216,16 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Opaqueness (alpha) of the shadow behind the default font, between 0 and 255."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Opaqueness (alpha) of the shadow behind the fallback font, between 0 and 255."
+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."
@@ -5180,7 +5265,12 @@ msgid "Parallax occlusion strength"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Path to TrueTypeFont or bitmap."
+msgid ""
+"Path of the fallback font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font will be used for certain languages or if the default font is "
+"unavailable."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5198,6 +5288,22 @@ msgid "Path to texture directory. All textures are first searched from here."
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Path to the default font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"The fallback font will be used if the font cannot be loaded."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Path to the monospace font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font is used for e.g. the console and profiler screen."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Pause on lost window focus"
msgstr ""
@@ -5271,6 +5377,10 @@ msgid "Profiling"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Proportion of large caves that contain liquid."
+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 "
@@ -5294,6 +5404,11 @@ msgid "Recent Chat Messages"
msgstr ""
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Regular font path"
+msgstr "Seleccioneu la ruta"
+
+#: src/settings_translation_file.cpp
msgid "Remote media"
msgstr ""
@@ -5488,24 +5603,24 @@ msgstr ""
#, fuzzy
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."
+"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 ""
"Selecció de 18 fractals de 9 fórmules.\n"
"1 = 4D \"Roundy\" mandelbrot set.\n"
@@ -5575,19 +5690,19 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving leaves.\n"
+"Set to true to enable waving leaves.\n"
"Requires shaders to be enabled."
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving plants.\n"
+"Set to true to enable waving liquids (like water).\n"
"Requires shaders to be enabled."
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving water.\n"
+"Set to true to enable waving plants.\n"
"Requires shaders to be enabled."
msgstr ""
@@ -5605,7 +5720,15 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Shadow limit"
+msgid ""
+"Shadow offset (in pixels) of the default font. If 0, then shadow will not be "
+"drawn."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not "
+"be drawn."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5650,6 +5773,14 @@ msgid "Slope and fill work together to modify the heights."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Small cave maximum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Small cave minimum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Small-scale humidity variation for blending biomes on borders."
msgstr ""
@@ -5715,8 +5846,9 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Spread of light curve mid-boost.\n"
-"Standard deviation of the mid-boost gaussian."
+"Spread of light curve boost range.\n"
+"Controls the width of the range to be boosted.\n"
+"Standard deviation of the light curve boost Gaussian."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5740,7 +5872,10 @@ msgid "Strength of generated normalmaps."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Strength of light curve mid-boost."
+msgid ""
+"Strength of light curve boost.\n"
+"The 3 'boost' parameters define a range of the light\n"
+"curve that is boosted in brightness."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5844,6 +5979,15 @@ msgid "The length in pixels it takes for touch screen interaction to start."
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"The maximum height of the surface of waving liquids.\n"
+"4.0 = Wave height is two nodes.\n"
+"0.0 = Wave doesn't move at all.\n"
+"Default is 1.0 (1/2 node).\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "The network interface that the server listens on."
msgstr ""
@@ -5930,10 +6074,6 @@ 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."
@@ -5988,7 +6128,7 @@ msgstr ""
msgid ""
"True = 256\n"
"False = 128\n"
-"Useable to make minimap smoother on slower machines."
+"Usable to make minimap smoother on slower machines."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5996,11 +6136,6 @@ 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 ""
@@ -6085,10 +6220,6 @@ 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 ""
@@ -6163,6 +6294,12 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Volume of all sounds.\n"
+"Requires the sound system to be enabled."
+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"
@@ -6199,29 +6336,30 @@ msgid "Waving leaves"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving plants"
-msgstr ""
-
-#: src/settings_translation_file.cpp
-msgid "Waving water"
-msgstr ""
+#, fuzzy
+msgid "Waving liquids"
+msgstr "Moviment de les Fulles"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wave height"
+msgid "Waving liquids wave height"
msgstr "Onatge"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wave speed"
+msgid "Waving liquids wave speed"
msgstr "Moviment de les Fulles"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wavelength"
+msgid "Waving liquids wavelength"
msgstr "Onatge"
#: src/settings_translation_file.cpp
+msgid "Waving plants"
+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"
@@ -6251,7 +6389,9 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Whether FreeType fonts are used, requires FreeType support to be compiled in."
+"Whether FreeType fonts are used, requires FreeType support to be compiled "
+"in.\n"
+"If disabled, bitmap and XML vectors fonts are used instead."
msgstr ""
#: src/settings_translation_file.cpp
@@ -6280,6 +6420,14 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Whether to mute sounds. You can unmute sounds at any time, unless the\n"
+"sound system is disabled (enable_sound=false).\n"
+"In-game, you can toggle the mute state with the mute key or by using the\n"
+"pause menu."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
"Whether to show the client debug info (has the same effect as hitting F5)."
msgstr ""
@@ -6353,10 +6501,6 @@ 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 ""
@@ -6369,10 +6513,6 @@ 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 ""
@@ -6385,6 +6525,23 @@ msgid "cURL timeout"
msgstr ""
#, fuzzy
+#~ 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 ""
+#~ "Ajusta la codificació gamma per les taules de llum. Els nombrés nés "
+#~ "petits n'augmentaràn la brillantor.\n"
+#~ "Aquesta configuració només afecta al client, el servidor l'ignora."
+
+#~ msgid "Controls width of tunnels, a smaller value creates wider tunnels."
+#~ msgstr ""
+#~ "Controla l'amplada dels túnels, un valor més petit crea túnels més amples."
+
+#~ msgid "Enable VBO"
+#~ msgstr "Activar VBO"
+
+#, fuzzy
#~ msgid "Select Package File:"
#~ msgstr "Selecciona el fitxer del mod:"
diff --git a/po/cs/minetest.po b/po/cs/minetest.po
index fa448aa1c..097a65cb0 100644
--- a/po/cs/minetest.po
+++ b/po/cs/minetest.po
@@ -2,9 +2,9 @@ msgid ""
msgstr ""
"Project-Id-Version: Czech (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-10-09 22:02+0200\n"
-"PO-Revision-Date: 2019-12-11 13:36+0000\n"
-"Last-Translator: LuboÅ¡ NeÄas <lubosnecas506@seznam.cz>\n"
+"POT-Creation-Date: 2020-04-03 23:18+0200\n"
+"PO-Revision-Date: 2020-02-24 23:32+0000\n"
+"Last-Translator: Vojtěch Šamla <auzkok@seznam.cz>\n"
"Language-Team: Czech <https://hosted.weblate.org/projects/minetest/minetest/"
"cs/>\n"
"Language: cs\n"
@@ -12,21 +12,19 @@ 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.10-dev\n"
+"X-Generator: Weblate 4.0-dev\n"
#: builtin/client/death_formspec.lua src/client/game.cpp
msgid "Respawn"
msgstr "Vzkřísit"
#: builtin/client/death_formspec.lua src/client/game.cpp
-#, fuzzy
msgid "You died"
-msgstr "Zemřel jsi."
+msgstr "Zemřel jsi"
#: builtin/fstk/ui.lua
-#, fuzzy
msgid "An error occurred in a Lua script:"
-msgstr "Nastala chyba v Lua skriptu, což může být např. mod:"
+msgstr "Nastala chyba v Lua skriptu:"
#: builtin/fstk/ui.lua
msgid "An error occurred:"
@@ -109,42 +107,36 @@ msgid "Enable modpack"
msgstr "Povolit balíÄek modifikací"
#: 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 ""
"Nepodařilo se povolit mod \"$1\" protože obsahuje nepovolené znaky. Povoleny "
-"jsou pouze znaky a-z, 0-9."
+"jsou pouze znaky [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 "Volitelné závislosti:"
+msgstr "Žádné (volitelné) závislosti"
#: builtin/mainmenu/dlg_config_world.lua
-#, fuzzy
msgid "No game description provided."
-msgstr "Mod nemá popis"
+msgstr "Není k dispozici žádný popis hry."
#: builtin/mainmenu/dlg_config_world.lua
-#, fuzzy
msgid "No hard dependencies"
-msgstr "Žádné závislosti."
+msgstr "Žádné pevné závislosti"
#: builtin/mainmenu/dlg_config_world.lua
-#, fuzzy
msgid "No modpack description provided."
-msgstr "Mod nemá popis"
+msgstr "Není k dispozici žádný popis balíÄku modifikací."
#: builtin/mainmenu/dlg_config_world.lua
-#, fuzzy
msgid "No optional dependencies"
-msgstr "Volitelné závislosti:"
+msgstr "Žádné volitelné závislosti"
#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua
msgid "Optional dependencies:"
@@ -172,9 +164,8 @@ msgid "Back"
msgstr "Zpět"
#: builtin/mainmenu/dlg_contentstore.lua
-#, fuzzy
msgid "Back to Main Menu"
-msgstr "Hlavní nabídka"
+msgstr "Zpět do hlavní nabídky"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "Downloading and installing $1, please wait..."
@@ -200,7 +191,7 @@ msgstr "Mody"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "No packages could be retrieved"
-msgstr ""
+msgstr "Nelze naÄíst žádné balíÄky"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "No results"
@@ -232,9 +223,8 @@ msgid "Create"
msgstr "Vytvořit"
#: builtin/mainmenu/dlg_create_world.lua
-#, fuzzy
msgid "Download a game, such as Minetest Game, from minetest.net"
-msgstr "Stáhněte si z minetest.net podhru, například minetest_game"
+msgstr "Stáhněte si z minetest.net hru, například Minetest Game"
#: builtin/mainmenu/dlg_create_world.lua
msgid "Download one from minetest.net"
@@ -249,9 +239,8 @@ msgid "Mapgen"
msgstr "Generátor mapy"
#: builtin/mainmenu/dlg_create_world.lua
-#, fuzzy
msgid "No game selected"
-msgstr "Změna dohledu"
+msgstr "Není vybrána žádná hra"
#: builtin/mainmenu/dlg_create_world.lua
#: builtin/mainmenu/dlg_settings_advanced.lua
@@ -267,9 +256,8 @@ msgid "World name"
msgstr "Název světa"
#: builtin/mainmenu/dlg_create_world.lua
-#, fuzzy
msgid "You have no games installed."
-msgstr "Nemáte nainstalované žádné podhry."
+msgstr "Nemáte nainstalované žádné hry."
#: builtin/mainmenu/dlg_delete_content.lua
msgid "Are you sure you want to delete \"$1\"?"
@@ -282,14 +270,12 @@ msgid "Delete"
msgstr "Smazat"
#: builtin/mainmenu/dlg_delete_content.lua
-#, fuzzy
msgid "pkgmgr: failed to delete \"$1\""
-msgstr "Modmgr: Nepodařilo se odstranit \"$1\""
+msgstr "pkgmgr: nepodařilo se odstranit \"$1\""
#: builtin/mainmenu/dlg_delete_content.lua
-#, fuzzy
msgid "pkgmgr: invalid path \"$1\""
-msgstr "Modmgr: Neplatná cesta k modu \"$1\""
+msgstr "pkgmgr: neplatná cesta \"$1\""
#: builtin/mainmenu/dlg_delete_world.lua
msgid "Delete World \"$1\"?"
@@ -308,15 +294,16 @@ msgid ""
"This modpack has an explicit name given in its modpack.conf which will "
"override any renaming here."
msgstr ""
+"Tento balíÄek modů má uvedené jméno ve svém modpack.conf, které pÅ™epíše "
+"jakékoliv přejmenování zde."
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "(No description of setting given)"
msgstr "(bez popisu)"
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "2D Noise"
-msgstr "Šum jeskyní 2"
+msgstr "2D Å¡um"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "< Back to Settings page"
@@ -345,7 +332,7 @@ msgstr "ZabezpeÄení"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Octaves"
-msgstr ""
+msgstr "Oktávy"
#: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp
msgid "Offset"
@@ -377,9 +364,8 @@ msgid "Select directory"
msgstr "Vybrat soubor s modem:"
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "Select file"
-msgstr "Vybrat soubor s modem:"
+msgstr "Vybrat soubor"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Show technical names"
@@ -417,15 +403,26 @@ msgstr "Z"
msgid "Z spread"
msgstr ""
+#. ~ "absvalue" is a noise parameter flag.
+#. It is short for "absolute value".
+#. It can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "absvalue"
msgstr ""
+#. ~ "defaults" is a noise parameter flag.
+#. It describes the default processing options
+#. for noise settings in main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
#, fuzzy
msgid "defaults"
msgstr "Výchozí hra"
+#. ~ "eased" is a noise parameter flag.
+#. It is used to make the map smoother and
+#. can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "eased"
msgstr ""
@@ -657,6 +654,7 @@ msgstr "Jméno / Heslo"
msgid "Ping"
msgstr "Ping"
+#. ~ PvP = Player versus Player
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "PvP enabled"
msgstr "PvP povoleno"
@@ -907,6 +905,14 @@ msgstr ""
msgid "Provided world path doesn't exist: "
msgstr "Uvedená cesta ke světu neexistuje: "
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string. Put either "no" or "yes"
+#. into the translation field (literally).
+#. Choose "yes" if the language requires use of the fallback
+#. font, "no" otherwise.
+#. The fallback font is (normally) required for languages with
+#. non-Latin script, like Chinese.
+#. When in doubt, test your translation.
#: src/client/fontengine.cpp
msgid "needs_fallback_font"
msgstr "no"
@@ -943,6 +949,7 @@ msgstr "- Port: "
msgid "- Public: "
msgstr "- Veřejný: "
+#. ~ PvP = Player versus Player
#: src/client/game.cpp
msgid "- PvP: "
msgstr "- PvP: "
@@ -1412,6 +1419,7 @@ msgstr "Levý Shift"
msgid "Left Windows"
msgstr "Levá klávesa Windows"
+#. ~ Key name, common on Windows keyboards
#: src/client/keycode.cpp
msgid "Menu"
msgstr "Nabídka"
@@ -1504,6 +1512,7 @@ msgstr "Pauza"
msgid "Play"
msgstr "Hrát"
+#. ~ "Print screen" key
#: src/client/keycode.cpp
msgid "Print"
msgstr "Print Screen"
@@ -1540,6 +1549,7 @@ msgstr "Pravá klávesa Windows"
msgid "Scroll Lock"
msgstr "Scroll Lock"
+#. ~ Key name
#: src/client/keycode.cpp
msgid "Select"
msgstr "Vybrat"
@@ -1787,11 +1797,16 @@ msgstr "Ztlumit"
msgid "Sound Volume: "
msgstr "Hlasitost: "
+#. ~ Imperative, as in "Enter/type in text".
+#. Don't forget the space.
#: src/gui/modalMenu.cpp
msgid "Enter "
msgstr "Zadejte "
-#: src/network/clientpackethandler.cpp
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string which needs to contain the translation's
+#. language code (e.g. "de" for German).
+#: src/network/clientpackethandler.cpp src/script/lua_api/l_client.cpp
msgid "LANG_CODE"
msgstr "cs"
@@ -1815,7 +1830,7 @@ msgid ""
"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"
+"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."
@@ -2006,21 +2021,16 @@ msgstr ""
"například s 4k obrazovkami."
#: 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 ""
-"Upraví gamma kódování svÄ›telných tabulek. Vyšší Äísla znamenají svÄ›tlejší "
-"hodnoty.\n"
-"Toto nastavení ovlivňuje pouze klienta a serverem není použito."
-
-#: src/settings_translation_file.cpp
msgid "Advanced"
msgstr "PokroÄilé"
#: src/settings_translation_file.cpp
-msgid "Alters how mountain-type floatlands taper above and below midpoint."
+msgid ""
+"Alters the light curve by applying 'gamma correction' to it.\n"
+"Higher values make middle and lower light levels brighter.\n"
+"Value '1.0' leaves the light curve unaltered.\n"
+"This only has significant effect on daylight and artificial\n"
+"light, it has very little effect on natural night light."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2187,6 +2197,26 @@ msgid "Block send optimize distance"
msgstr ""
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Bold and italic font path"
+msgstr "Cesta k neproporcionálnímu písmu"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Bold and italic monospace font path"
+msgstr "Cesta k neproporcionálnímu písmu"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Bold font path"
+msgstr "Cesta k písmu"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Bold monospace font path"
+msgstr "Cesta k neproporcionálnímu písmu"
+
+#: src/settings_translation_file.cpp
msgid "Build inside player"
msgstr "StavÄ›ní uvnitÅ™ hráÄe"
@@ -2200,8 +2230,8 @@ msgstr "Bump mapování"
#: 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"
+"Camera 'near clipping plane' distance in nodes, between 0 and 0.25\n"
+"Only works on GLES platforms. 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 ""
@@ -2264,7 +2294,9 @@ msgid "Cavern upper limit"
msgstr "Limit jeskynních dutin"
#: src/settings_translation_file.cpp
-msgid "Center of light curve mid-boost."
+msgid ""
+"Center of light curve boost range.\n"
+"Where 0.0 is minimum light level, 1.0 is maximum light level."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2471,17 +2503,11 @@ msgid "Controls steepness/height of hills."
msgstr "Stanovuje strmost/výšku hor."
#: 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."
+"Controls width of tunnels, a smaller value creates wider tunnels.\n"
+"Value >= 10.0 completely disables generation of tunnels and avoids the\n"
+"intensive noise calculations."
msgstr ""
-"Stanovuje hustotu horského terénu na létajících ostrovech.\n"
-"Jedná se o posun přidaný k hodnotě šumu 'np_mountain'."
-
-#: src/settings_translation_file.cpp
-msgid "Controls width of tunnels, a smaller value creates wider tunnels."
-msgstr "Ovládá šířku tunelů, menší hodnota vytváří širší tunely."
#: src/settings_translation_file.cpp
msgid "Crash message"
@@ -2516,10 +2542,6 @@ msgid "Damage"
msgstr "Zranění"
#: src/settings_translation_file.cpp
-msgid "Darkness sharpness"
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Debug info toggle key"
msgstr "Klávesa pro zobrazení ladících informací"
@@ -2537,7 +2559,7 @@ msgid "Dec. volume key"
msgstr "Klávesa snížení hlasitosti"
#: src/settings_translation_file.cpp
-msgid "Decrease this to increase liquid resistence to movement."
+msgid "Decrease this to increase liquid resistance to movement."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2581,14 +2603,6 @@ msgstr ""
"Má vliv, pouze pokud byl program sestaven s cURL."
#: src/settings_translation_file.cpp
-msgid ""
-"Defines areas of floatland smooth terrain.\n"
-"Smooth floatlands occur when noise > 0."
-msgstr ""
-"UrÄuje oblasti létajících ostrovů s rovinný terénem.\n"
-"Terén bude rovný v místech, kde hodnota šumu bude větší než 0."
-
-#: src/settings_translation_file.cpp
msgid "Defines areas where trees have apples."
msgstr "UrÄuje oblasti, kde stromy nesou plody."
@@ -2678,12 +2692,6 @@ 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ě."
@@ -2765,6 +2773,12 @@ msgstr "Šum hřbetů"
#: src/settings_translation_file.cpp
msgid ""
+"Enable IPv6 support (for both client and server).\n"
+"Required for IPv6 connections to work at all."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
"Enable Lua modding support on client.\n"
"This support is experimental and API can change."
msgstr ""
@@ -2772,10 +2786,6 @@ msgstr ""
"Tato funkce je experimentální a její API se může změnit."
#: src/settings_translation_file.cpp
-msgid "Enable VBO"
-msgstr "Zapnout VBO"
-
-#: src/settings_translation_file.cpp
msgid "Enable console window"
msgstr "Povolit konzolové okno"
@@ -2849,6 +2859,12 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Enable vertex buffer objects.\n"
+"This should greatly improve graphics performance."
+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 ""
@@ -2859,13 +2875,22 @@ msgstr ""
#, fuzzy
msgid ""
"Enable/disable running an IPv6 server.\n"
-"Ignored if bind_address is set."
+"Ignored if bind_address is set.\n"
+"Needs enable_ipv6 to be enabled."
msgstr ""
"Povolit/zakázat spouštění IPv6 serveru. IPv6 server může podle\n"
"systémového nastevení být omezen pouze na klienty s IPv6.\n"
"Nemá vliv, pokud je 'bind_address' nastaveno."
#: src/settings_translation_file.cpp
+msgid ""
+"Enables Hable's 'Uncharted 2' filmic tone mapping.\n"
+"Simulates the tone curve of photographic film and how this approximates the\n"
+"appearance of high dynamic range images. Mid-range contrast is slightly\n"
+"enhanced, highlights and shadows are gradually compressed."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Enables animation of inventory items."
msgstr "Povolí animaci věcí v inventáři."
@@ -2885,10 +2910,6 @@ msgid "Enables caching of facedir rotated meshes."
msgstr "Zapnout cachování geom. sítí otoÄených pomocí facedir."
#: src/settings_translation_file.cpp
-msgid "Enables filmic tone mapping"
-msgstr "Zapne filmový tone mapping"
-
-#: src/settings_translation_file.cpp
msgid "Enables minimap."
msgstr "Zapne minimapu."
@@ -2909,6 +2930,14 @@ msgstr ""
"Nastavení vyžaduje zapnuté shadery."
#: src/settings_translation_file.cpp
+msgid ""
+"Enables the sound system.\n"
+"If disabled, this completely disables all sounds everywhere and the in-game\n"
+"sound controls will be non-functional.\n"
+"Changing this setting requires a restart."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Engine profiling data print interval"
msgstr "Interval vypisování profilovacích dat enginu"
@@ -2941,7 +2970,8 @@ msgid "Fall bobbing factor"
msgstr "SouÄinitel houpání pohledu pÅ™i pádu"
#: src/settings_translation_file.cpp
-msgid "Fallback font"
+#, fuzzy
+msgid "Fallback font path"
msgstr "Záložní písmo"
#: src/settings_translation_file.cpp
@@ -3047,31 +3077,6 @@ msgid "Fixed virtual joystick"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Floatland base height noise"
-msgstr "Šum základní výšky létajících ostrovů"
-
-#: src/settings_translation_file.cpp
-msgid "Floatland base noise"
-msgstr "Základní šum létajících ostrovů"
-
-#: src/settings_translation_file.cpp
-msgid "Floatland level"
-msgstr "Výška létajících ostrovů"
-
-#: src/settings_translation_file.cpp
-msgid "Floatland mountain density"
-msgstr "Koncentrace hor na létajících ostrovech"
-
-#: src/settings_translation_file.cpp
-#, fuzzy
-msgid "Floatland mountain exponent"
-msgstr "Koncentrace hor na létajících ostrovech"
-
-#: src/settings_translation_file.cpp
-msgid "Floatland mountain height"
-msgstr "Výška hor na létajících ostrovech"
-
-#: src/settings_translation_file.cpp
msgid "Fly key"
msgstr "Klávesa létání"
@@ -3093,8 +3098,12 @@ msgid "Fog toggle key"
msgstr "Klávesa pro přepnutí mlhy"
#: src/settings_translation_file.cpp
-msgid "Font path"
-msgstr "Cesta k písmu"
+msgid "Font bold by default"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font italic by default"
+msgstr ""
#: src/settings_translation_file.cpp
msgid "Font shadow"
@@ -3105,16 +3114,20 @@ msgid "Font shadow alpha"
msgstr "Průhlednost stínu písma"
#: src/settings_translation_file.cpp
-msgid "Font shadow alpha (opaqueness, between 0 and 255)."
-msgstr "Neprůhlednost stínu písma (od 0 do 255)."
+msgid "Font size"
+msgstr "Velikost písma"
#: src/settings_translation_file.cpp
-msgid "Font shadow offset, if 0 then shadow will not be drawn."
-msgstr "Odsazení stínu písma, pokud je nastaveno na 0, stín nebude vykreslen."
+msgid "Font size of the default font in point (pt)."
+msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font size"
-msgstr "Velikost písma"
+msgid "Font size of the fallback font in point (pt)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font size of the monospace font in point (pt)."
+msgstr ""
#: src/settings_translation_file.cpp
msgid ""
@@ -3236,10 +3249,6 @@ msgid "GUI scaling filter txr2img"
msgstr "Filtrovat při škálování GUI (txr2img)"
#: src/settings_translation_file.cpp
-msgid "Gamma"
-msgstr "Gamma"
-
-#: src/settings_translation_file.cpp
msgid "Generate normalmaps"
msgstr "Generovat normálové mapy"
@@ -3262,11 +3271,15 @@ msgstr ""
"Příznaky zaÄínající na 'no' slouží k zakázání možnosti."
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at maximum light level."
+msgid ""
+"Gradient of light curve at maximum light level.\n"
+"Controls the contrast of the highest light levels."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at minimum light level."
+msgid ""
+"Gradient of light curve at minimum light level.\n"
+"Controls the contrast of the lowest light levels."
msgstr ""
#: src/settings_translation_file.cpp
@@ -3300,8 +3313,9 @@ msgid "HUD toggle key"
msgstr "Klávesa pro přepnutí HUD (Head-Up Display)"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Handling for deprecated lua api calls:\n"
+"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)."
@@ -3574,6 +3588,13 @@ msgstr "Jak hluboké dělat řeky"
#: src/settings_translation_file.cpp
msgid ""
+"How fast liquid waves will move. Higher = faster.\n"
+"If negative, liquid waves will move backwards.\n"
+"Requires waving liquids to be enabled."
+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 ""
@@ -3606,13 +3627,6 @@ msgid "IPv6 server"
msgstr "IPv6 server"
#: src/settings_translation_file.cpp
-msgid "IPv6 support."
-msgstr ""
-"Nastavuje reálnou délku dne.\n"
-"NapÅ™.: 72 = 20 minut, 360 = 4 minuty, 1 = 24 hodin, 0 = Äas zůstává stále "
-"stejný."
-
-#: 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."
@@ -3817,6 +3831,16 @@ msgid "Invert vertical mouse movement."
msgstr "Obrátit svislý pohyb myši."
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Italic font path"
+msgstr "Cesta k neproporcionálnímu písmu"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Italic monospace font path"
+msgstr "Cesta k neproporcionálnímu písmu"
+
+#: src/settings_translation_file.cpp
msgid "Item entity TTL"
msgstr "Maximální stáří vyhozeného předmětu"
@@ -4588,13 +4612,20 @@ msgid "Large cave depth"
msgstr "Hloubka velké jeskyně"
#: src/settings_translation_file.cpp
-msgid "Large chat console key"
-msgstr "Klávesa velkého chatu"
+msgid "Large cave maximum number"
+msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
-msgid "Lava depth"
-msgstr "Hloubka velké jeskyně"
+msgid "Large cave minimum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large cave proportion flooded"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large chat console key"
+msgstr "Klávesa velkého chatu"
#: src/settings_translation_file.cpp
msgid "Leaves style"
@@ -4620,6 +4651,12 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Length of liquid waves.\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Length of time between Active Block Modifier (ABM) execution cycles"
msgstr ""
@@ -4644,19 +4681,27 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost"
+msgid "Light curve boost"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve boost center"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost center"
+msgid "Light curve boost spread"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost spread"
+msgid "Light curve gamma"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Lightness sharpness"
+msgid "Light curve high gradient"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve low gradient"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4762,21 +4807,10 @@ 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
#, fuzzy
msgid ""
-"Map generation attributes specific to Mapgen flat.\n"
-"'terrain' enables the generation of non-fractal terrain:\n"
-"ocean, islands and underground."
+"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"
"V mapgenu v6 ovládal příznak 'decorations' všechny dekorace kromě\n"
@@ -4788,8 +4822,9 @@ msgstr ""
#: 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."
+"Map generation attributes specific to Mapgen Fractal.\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"
@@ -4799,6 +4834,16 @@ msgstr ""
"Příznaky zaÄínající na 'no' slouží k zakázání možnosti."
#: 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 v5."
msgstr ""
@@ -4960,8 +5005,16 @@ msgid "Maximum hotbar width"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of large caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
-"Maximum liquid resistence. Controls deceleration when entering liquid at\n"
+"Maximum liquid resistance. Controls deceleration when entering liquid at\n"
"high speed."
msgstr ""
@@ -5082,6 +5135,14 @@ msgid "Minimap scan height"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of large caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
#, fuzzy
msgid "Minimum texture size"
msgstr "Minimální velikost textury k filtrování"
@@ -5170,7 +5231,7 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Near clipping plane"
+msgid "Near plane"
msgstr ""
#: src/settings_translation_file.cpp
@@ -5257,6 +5318,16 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Opaqueness (alpha) of the shadow behind the default font, between 0 and 255."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Opaqueness (alpha) of the shadow behind the fallback font, between 0 and 255."
+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."
@@ -5296,7 +5367,12 @@ msgid "Parallax occlusion strength"
msgstr "Síla parallax occlusion"
#: src/settings_translation_file.cpp
-msgid "Path to TrueTypeFont or bitmap."
+msgid ""
+"Path of the fallback font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font will be used for certain languages or if the default font is "
+"unavailable."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5314,6 +5390,22 @@ msgid "Path to texture directory. All textures are first searched from here."
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Path to the default font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"The fallback font will be used if the font cannot be loaded."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Path to the monospace font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font is used for e.g. the console and profiler screen."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Pause on lost window focus"
msgstr ""
@@ -5388,6 +5480,10 @@ msgid "Profiling"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Proportion of large caves that contain liquid."
+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 "
@@ -5411,6 +5507,11 @@ msgid "Recent Chat Messages"
msgstr ""
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Regular font path"
+msgstr "Cesta pro reporty"
+
+#: src/settings_translation_file.cpp
msgid "Remote media"
msgstr "Vzdálená média"
@@ -5613,24 +5714,24 @@ msgstr "Šířka obrysu bloku"
#, fuzzy
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."
+"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 ""
"Výběr z 18 fraktálů z 9 rovnic.\n"
"1 = 4D \"Roundy\" – Mandelbrotova množina.\n"
@@ -5699,22 +5800,31 @@ msgid "Set the maximum character length of a chat message sent by clients."
msgstr ""
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Set to true enables waving leaves.\n"
+"Set to true to enable waving leaves.\n"
"Requires shaders to be enabled."
msgstr ""
+"Zapne parallax occlusion mapping.\n"
+"Nastavení vyžaduje zapnuté shadery."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Set to true enables waving plants.\n"
+"Set to true to enable waving liquids (like water).\n"
"Requires shaders to be enabled."
msgstr ""
+"Zapne parallax occlusion mapping.\n"
+"Nastavení vyžaduje zapnuté shadery."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Set to true enables waving water.\n"
+"Set to true to enable waving plants.\n"
"Requires shaders to be enabled."
msgstr ""
+"Zapne parallax occlusion mapping.\n"
+"Nastavení vyžaduje zapnuté shadery."
#: src/settings_translation_file.cpp
msgid "Shader path"
@@ -5729,8 +5839,18 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Shadow limit"
-msgstr ""
+#, fuzzy
+msgid ""
+"Shadow offset (in pixels) of the default font. If 0, then shadow will not be "
+"drawn."
+msgstr "Odsazení stínu písma, pokud je nastaveno na 0, stín nebude vykreslen."
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid ""
+"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not "
+"be drawn."
+msgstr "Odsazení stínu písma, pokud je nastaveno na 0, stín nebude vykreslen."
#: src/settings_translation_file.cpp
msgid "Shape of the minimap. Enabled = round, disabled = square."
@@ -5774,6 +5894,14 @@ msgid "Slope and fill work together to modify the heights."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Small cave maximum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Small cave minimum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Small-scale humidity variation for blending biomes on borders."
msgstr ""
@@ -5836,8 +5964,9 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Spread of light curve mid-boost.\n"
-"Standard deviation of the mid-boost gaussian."
+"Spread of light curve boost range.\n"
+"Controls the width of the range to be boosted.\n"
+"Standard deviation of the light curve boost Gaussian."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5861,7 +5990,10 @@ msgid "Strength of generated normalmaps."
msgstr "Síla vygenerovaných normálových map."
#: src/settings_translation_file.cpp
-msgid "Strength of light curve mid-boost."
+msgid ""
+"Strength of light curve boost.\n"
+"The 3 'boost' parameters define a range of the light\n"
+"curve that is boosted in brightness."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5965,6 +6097,15 @@ msgid "The length in pixels it takes for touch screen interaction to start."
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"The maximum height of the surface of waving liquids.\n"
+"4.0 = Wave height is two nodes.\n"
+"0.0 = Wave doesn't move at all.\n"
+"Default is 1.0 (1/2 node).\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "The network interface that the server listens on."
msgstr ""
@@ -6046,10 +6187,6 @@ msgid "Third of 4 2D noises that together define hill/mountain range height."
msgstr "První ze dvou 3D šumů, které dohromady definují tunely."
#: 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."
@@ -6104,7 +6241,7 @@ msgstr "Trilineární filtrování"
msgid ""
"True = 256\n"
"False = 128\n"
-"Useable to make minimap smoother on slower machines."
+"Usable to make minimap smoother on slower machines."
msgstr ""
#: src/settings_translation_file.cpp
@@ -6112,11 +6249,6 @@ msgid "Trusted mods"
msgstr "Důvěryhodné mody"
#: 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 ""
@@ -6203,10 +6335,6 @@ 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 ""
@@ -6279,6 +6407,15 @@ msgid "Volume"
msgstr "Hlasitost"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid ""
+"Volume of all sounds.\n"
+"Requires the sound system to be enabled."
+msgstr ""
+"Zapne parallax occlusion mapping.\n"
+"Nastavení vyžaduje zapnuté shadery."
+
+#: 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"
@@ -6316,29 +6453,30 @@ msgid "Waving leaves"
msgstr "Vlnění listů"
#: src/settings_translation_file.cpp
-msgid "Waving plants"
-msgstr "Vlnění rostlin"
-
-#: src/settings_translation_file.cpp
-msgid "Waving water"
-msgstr "Vlnění vody"
+#, fuzzy
+msgid "Waving liquids"
+msgstr "Vlnění bloků"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wave height"
+msgid "Waving liquids wave height"
msgstr "Výška vodních vln"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wave speed"
+msgid "Waving liquids wave speed"
msgstr "Rychlost vodních vln"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wavelength"
+msgid "Waving liquids wavelength"
msgstr "Délka vodních vln"
#: src/settings_translation_file.cpp
+msgid "Waving plants"
+msgstr "Vlnění rostlin"
+
+#: 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"
@@ -6368,7 +6506,9 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Whether FreeType fonts are used, requires FreeType support to be compiled in."
+"Whether FreeType fonts are used, requires FreeType support to be compiled "
+"in.\n"
+"If disabled, bitmap and XML vectors fonts are used instead."
msgstr ""
#: src/settings_translation_file.cpp
@@ -6397,6 +6537,14 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Whether to mute sounds. You can unmute sounds at any time, unless the\n"
+"sound system is disabled (enable_sound=false).\n"
+"In-game, you can toggle the mute state with the mute key or by using the\n"
+"pause menu."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
"Whether to show the client debug info (has the same effect as hitting F5)."
msgstr ""
@@ -6468,10 +6616,6 @@ 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 ""
@@ -6484,10 +6628,6 @@ 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 ""
@@ -6499,6 +6639,77 @@ msgstr "cURL limit paralelních stahování"
msgid "cURL timeout"
msgstr "cURL timeout"
+#~ 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 ""
+#~ "Upraví gamma kódování svÄ›telných tabulek. Vyšší Äísla znamenají svÄ›tlejší "
+#~ "hodnoty.\n"
+#~ "Toto nastavení ovlivňuje pouze klienta a serverem není použito."
+
+#, fuzzy
+#~ msgid ""
+#~ "Controls the density of mountain-type floatlands.\n"
+#~ "Is a noise offset added to the 'mgv7_np_mountain' noise value."
+#~ msgstr ""
+#~ "Stanovuje hustotu horského terénu na létajících ostrovech.\n"
+#~ "Jedná se o posun přidaný k hodnotě šumu 'np_mountain'."
+
+#~ msgid "Controls width of tunnels, a smaller value creates wider tunnels."
+#~ msgstr "Ovládá šířku tunelů, menší hodnota vytváří širší tunely."
+
+#~ msgid ""
+#~ "Defines areas of floatland smooth terrain.\n"
+#~ "Smooth floatlands occur when noise > 0."
+#~ msgstr ""
+#~ "UrÄuje oblasti létajících ostrovů s rovinný terénem.\n"
+#~ "Terén bude rovný v místech, kde hodnota šumu bude větší než 0."
+
+#~ msgid "Enable VBO"
+#~ msgstr "Zapnout VBO"
+
+#~ msgid "Enables filmic tone mapping"
+#~ msgstr "Zapne filmový tone mapping"
+
+#~ msgid "Floatland base height noise"
+#~ msgstr "Šum základní výšky létajících ostrovů"
+
+#~ msgid "Floatland base noise"
+#~ msgstr "Základní šum létajících ostrovů"
+
+#~ msgid "Floatland level"
+#~ msgstr "Výška létajících ostrovů"
+
+#~ msgid "Floatland mountain density"
+#~ msgstr "Koncentrace hor na létajících ostrovech"
+
+#, fuzzy
+#~ msgid "Floatland mountain exponent"
+#~ msgstr "Koncentrace hor na létajících ostrovech"
+
+#~ msgid "Floatland mountain height"
+#~ msgstr "Výška hor na létajících ostrovech"
+
+#~ msgid "Font shadow alpha (opaqueness, between 0 and 255)."
+#~ msgstr "Neprůhlednost stínu písma (od 0 do 255)."
+
+#~ msgid "Gamma"
+#~ msgstr "Gamma"
+
+#~ msgid "IPv6 support."
+#~ msgstr ""
+#~ "Nastavuje reálnou délku dne.\n"
+#~ "NapÅ™.: 72 = 20 minut, 360 = 4 minuty, 1 = 24 hodin, 0 = Äas zůstává stále "
+#~ "stejný."
+
+#, fuzzy
+#~ msgid "Lava depth"
+#~ msgstr "Hloubka velké jeskyně"
+
+#~ msgid "Waving water"
+#~ msgstr "Vlnění vody"
+
#~ msgid "Waving Water"
#~ msgstr "Vlnění vody"
diff --git a/po/da/minetest.po b/po/da/minetest.po
index cdca137ba..d1bcc36ce 100644
--- a/po/da/minetest.po
+++ b/po/da/minetest.po
@@ -2,9 +2,9 @@ msgid ""
msgstr ""
"Project-Id-Version: Danish (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-10-09 22:02+0200\n"
-"PO-Revision-Date: 2019-11-10 15:04+0000\n"
-"Last-Translator: Krock <mk939@ymail.com>\n"
+"POT-Creation-Date: 2020-04-03 23:18+0200\n"
+"PO-Revision-Date: 2020-03-31 10:14+0000\n"
+"Last-Translator: sfan5 <sfan5@live.de>\n"
"Language-Team: Danish <https://hosted.weblate.org/projects/minetest/minetest/"
"da/>\n"
"Language: da\n"
@@ -12,7 +12,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 3.10-dev\n"
+"X-Generator: Weblate 4.0-dev\n"
#: builtin/client/death_formspec.lua src/client/game.cpp
msgid "Respawn"
@@ -409,14 +409,25 @@ msgstr "Z"
msgid "Z spread"
msgstr "Z spredning"
+#. ~ "absvalue" is a noise parameter flag.
+#. It is short for "absolute value".
+#. It can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "absvalue"
msgstr "Absolut værdi"
+#. ~ "defaults" is a noise parameter flag.
+#. It describes the default processing options
+#. for noise settings in main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "defaults"
msgstr "Standard"
+#. ~ "eased" is a noise parameter flag.
+#. It is used to make the map smoother and
+#. can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "eased"
msgstr ""
@@ -630,6 +641,7 @@ msgstr "Navn/adgangskode"
msgid "Ping"
msgstr "Ping"
+#. ~ PvP = Player versus Player
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "PvP enabled"
msgstr "Spiller mod spiller aktiveret"
@@ -882,9 +894,17 @@ msgstr ""
msgid "Provided world path doesn't exist: "
msgstr "Angivne sti til verdenen findes ikke: "
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string. Put either "no" or "yes"
+#. into the translation field (literally).
+#. Choose "yes" if the language requires use of the fallback
+#. font, "no" otherwise.
+#. The fallback font is (normally) required for languages with
+#. non-Latin script, like Chinese.
+#. When in doubt, test your translation.
#: src/client/fontengine.cpp
msgid "needs_fallback_font"
-msgstr "yes"
+msgstr "no"
#: src/client/game.cpp
msgid ""
@@ -918,6 +938,7 @@ msgstr "- Port: "
msgid "- Public: "
msgstr "- Offentlig: "
+#. ~ PvP = Player versus Player
#: src/client/game.cpp
msgid "- PvP: "
msgstr "- Spiller mod spiller (PvP): "
@@ -1388,6 +1409,7 @@ msgstr "Venstre Skift"
msgid "Left Windows"
msgstr "Venstre meta"
+#. ~ Key name, common on Windows keyboards
#: src/client/keycode.cpp
msgid "Menu"
msgstr "Menu"
@@ -1480,6 +1502,7 @@ msgstr "Pause"
msgid "Play"
msgstr "Spil"
+#. ~ "Print screen" key
#: src/client/keycode.cpp
msgid "Print"
msgstr "Udskriv"
@@ -1516,6 +1539,7 @@ msgstr "Højre meta"
msgid "Scroll Lock"
msgstr "Scroll Lock"
+#. ~ Key name
#: src/client/keycode.cpp
msgid "Select"
msgstr "Vælg"
@@ -1763,11 +1787,16 @@ msgstr "Lydløs"
msgid "Sound Volume: "
msgstr "Lydstyrke: "
+#. ~ Imperative, as in "Enter/type in text".
+#. Don't forget the space.
#: src/gui/modalMenu.cpp
msgid "Enter "
msgstr " "
-#: src/network/clientpackethandler.cpp
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string which needs to contain the translation's
+#. language code (e.g. "de" for German).
+#: src/network/clientpackethandler.cpp src/script/lua_api/l_client.cpp
msgid "LANG_CODE"
msgstr "da"
@@ -1791,7 +1820,7 @@ msgid ""
"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"
+"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."
@@ -1982,20 +2011,16 @@ msgstr ""
"4k-skærme."
#: 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 ""
-"Justér gammakodningen for lystabellerne. Et større tal betyder lysere.\n"
-"Denne indstilling gælder kun for klienten og ignoreres af serveren."
-
-#: src/settings_translation_file.cpp
msgid "Advanced"
msgstr "Avanceret"
#: src/settings_translation_file.cpp
-msgid "Alters how mountain-type floatlands taper above and below midpoint."
+msgid ""
+"Alters the light curve by applying 'gamma correction' to it.\n"
+"Higher values make middle and lower light levels brighter.\n"
+"Value '1.0' leaves the light curve unaltered.\n"
+"This only has significant effect on daylight and artificial\n"
+"light, it has very little effect on natural night light."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2154,6 +2179,23 @@ msgid "Block send optimize distance"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Bold and italic font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bold and italic monospace font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Bold font path"
+msgstr "Sti til font"
+
+#: src/settings_translation_file.cpp
+msgid "Bold monospace font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Build inside player"
msgstr "Byg intern spiller"
@@ -2168,8 +2210,8 @@ msgstr "Bumpmapping"
#: 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"
+"Camera 'near clipping plane' distance in nodes, between 0 and 0.25\n"
+"Only works on GLES platforms. 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 ""
@@ -2238,7 +2280,9 @@ msgid "Cavern upper limit"
msgstr "Hule grænse"
#: src/settings_translation_file.cpp
-msgid "Center of light curve mid-boost."
+msgid ""
+"Center of light curve boost range.\n"
+"Where 0.0 is minimum light level, 1.0 is maximum light level."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2449,15 +2493,12 @@ msgstr "Styrer stejlheden/højden af bakkerne."
#: 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."
+"Controls width of tunnels, a smaller value creates wider tunnels.\n"
+"Value >= 10.0 completely disables generation of tunnels and avoids the\n"
+"intensive noise calculations."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Controls width of tunnels, a smaller value creates wider tunnels."
-msgstr "Styrer bredden af tunneller. En lavere værdi giver bredere tunneller."
-
-#: src/settings_translation_file.cpp
msgid "Crash message"
msgstr "Nedbrudsbesked"
@@ -2490,11 +2531,6 @@ msgid "Damage"
msgstr "Skade"
#: src/settings_translation_file.cpp
-#, fuzzy
-msgid "Darkness sharpness"
-msgstr "Søstejlhed"
-
-#: src/settings_translation_file.cpp
msgid "Debug info toggle key"
msgstr "Tast til aktivering af fejlsøgningsinfo"
@@ -2513,7 +2549,7 @@ msgid "Dec. volume key"
msgstr "Dec. lydstyrketasten"
#: src/settings_translation_file.cpp
-msgid "Decrease this to increase liquid resistence to movement."
+msgid "Decrease this to increase liquid resistance to movement."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2555,12 +2591,6 @@ msgstr ""
"Har kun effekt hvis kompileret med cURL."
#: 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 "Definerer områder, hvor træerne har æbler."
@@ -2645,12 +2675,6 @@ 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."
@@ -2730,13 +2754,15 @@ 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."
+"Enable IPv6 support (for both client and server).\n"
+"Required for IPv6 connections to work at all."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Enable VBO"
-msgstr "Aktiver VBO"
+msgid ""
+"Enable Lua modding support on client.\n"
+"This support is experimental and API can change."
+msgstr ""
#: src/settings_translation_file.cpp
msgid "Enable console window"
@@ -2813,6 +2839,12 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Enable vertex buffer objects.\n"
+"This should greatly improve graphics performance."
+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 ""
@@ -2821,7 +2853,8 @@ msgstr ""
#, fuzzy
msgid ""
"Enable/disable running an IPv6 server.\n"
-"Ignored if bind_address is set."
+"Ignored if bind_address is set.\n"
+"Needs enable_ipv6 to be enabled."
msgstr ""
"Aktivere/deaktivere afvikling af en IPv6-server. En IPv6-server kan være "
"begrænset\n"
@@ -2829,6 +2862,14 @@ msgstr ""
"Ignoreret hvis bind_address er angivet."
#: src/settings_translation_file.cpp
+msgid ""
+"Enables Hable's 'Uncharted 2' filmic tone mapping.\n"
+"Simulates the tone curve of photographic film and how this approximates the\n"
+"appearance of high dynamic range images. Mid-range contrast is slightly\n"
+"enhanced, highlights and shadows are gradually compressed."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Enables animation of inventory items."
msgstr "Aktiverer animation af lagerelementer."
@@ -2849,10 +2890,6 @@ msgid "Enables caching of facedir rotated meshes."
msgstr "Aktiverer mellemlagring af facedir-roterede mesher."
#: src/settings_translation_file.cpp
-msgid "Enables filmic tone mapping"
-msgstr "Aktiverer filmisk toneoversættelse"
-
-#: src/settings_translation_file.cpp
msgid "Enables minimap."
msgstr "Aktiverer minikort."
@@ -2873,6 +2910,14 @@ msgstr ""
"Kræver at dybdeskabere er aktiveret."
#: src/settings_translation_file.cpp
+msgid ""
+"Enables the sound system.\n"
+"If disabled, this completely disables all sounds everywhere and the in-game\n"
+"sound controls will be non-functional.\n"
+"Changing this setting requires a restart."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Engine profiling data print interval"
msgstr "Udskrivningsinterval for motorprofileringsdata"
@@ -2906,7 +2951,8 @@ msgid "Fall bobbing factor"
msgstr "Fall bobbing faktor"
#: src/settings_translation_file.cpp
-msgid "Fallback font"
+#, fuzzy
+msgid "Fallback font path"
msgstr "Reserveskrifttype"
#: src/settings_translation_file.cpp
@@ -3016,31 +3062,6 @@ msgid "Fixed virtual joystick"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Floatland base height noise"
-msgstr "Svævelandsgrundhøjdestøj"
-
-#: src/settings_translation_file.cpp
-msgid "Floatland base noise"
-msgstr ""
-
-#: src/settings_translation_file.cpp
-#, fuzzy
-msgid "Floatland level"
-msgstr "Svævelandsniveau"
-
-#: 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 "Flyvetast"
@@ -3062,8 +3083,12 @@ msgid "Fog toggle key"
msgstr "Tast for tåge"
#: src/settings_translation_file.cpp
-msgid "Font path"
-msgstr "Sti til font"
+msgid "Font bold by default"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font italic by default"
+msgstr ""
#: src/settings_translation_file.cpp
msgid "Font shadow"
@@ -3074,17 +3099,20 @@ msgid "Font shadow alpha"
msgstr "Alfa for skrifttypeskygge"
#: src/settings_translation_file.cpp
-msgid "Font shadow alpha (opaqueness, between 0 and 255)."
-msgstr "Alfa for skrifttypeskygge (uigennemsigtighed, mellem 0 og 255)."
+msgid "Font size"
+msgstr "Skriftstørrelse"
#: src/settings_translation_file.cpp
-msgid "Font shadow offset, if 0 then shadow will not be drawn."
+msgid "Font size of the default font in point (pt)."
msgstr ""
-"Forskydning for skrifttypeskygge, hvis 0 så vil skygge ikke blive tegnet."
#: src/settings_translation_file.cpp
-msgid "Font size"
-msgstr "Skriftstørrelse"
+msgid "Font size of the fallback font in point (pt)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font size of the monospace font in point (pt)."
+msgstr ""
#: src/settings_translation_file.cpp
msgid ""
@@ -3208,10 +3236,6 @@ msgid "GUI scaling filter txr2img"
msgstr "GUI-skaleringsfilter txr2img"
#: src/settings_translation_file.cpp
-msgid "Gamma"
-msgstr "Gamma"
-
-#: src/settings_translation_file.cpp
msgid "Generate normalmaps"
msgstr "Opret normalkort"
@@ -3235,11 +3259,15 @@ msgstr ""
"Flag startende med »no« (nej) bruges til eksplicit at deaktivere dem."
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at maximum light level."
+msgid ""
+"Gradient of light curve at maximum light level.\n"
+"Controls the contrast of the highest light levels."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at minimum light level."
+msgid ""
+"Gradient of light curve at minimum light level.\n"
+"Controls the contrast of the lowest light levels."
msgstr ""
#: src/settings_translation_file.cpp
@@ -3274,8 +3302,9 @@ msgid "HUD toggle key"
msgstr "Tast for HUD"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Handling for deprecated lua api calls:\n"
+"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)."
@@ -3519,6 +3548,13 @@ msgstr "Dybde for floder"
#: src/settings_translation_file.cpp
msgid ""
+"How fast liquid waves will move. Higher = faster.\n"
+"If negative, liquid waves will move backwards.\n"
+"Requires waving liquids to be enabled."
+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 ""
@@ -3551,10 +3587,6 @@ msgid "IPv6 server"
msgstr "IPv6-server"
#: src/settings_translation_file.cpp
-msgid "IPv6 support."
-msgstr "Understøttelse af IPv6."
-
-#: 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."
@@ -3760,6 +3792,15 @@ msgid "Invert vertical mouse movement."
msgstr "Vend lodret musebevægelse om."
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Italic font path"
+msgstr "Sti til font"
+
+#: src/settings_translation_file.cpp
+msgid "Italic monospace font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Item entity TTL"
msgstr "Elemententitet TTL"
@@ -4628,14 +4669,21 @@ msgid "Large cave depth"
msgstr "Dybde for stor hule"
#: src/settings_translation_file.cpp
-#, fuzzy
-msgid "Large chat console key"
-msgstr "Store chat konsol tast"
+msgid "Large cave maximum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large cave minimum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large cave proportion flooded"
+msgstr ""
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Lava depth"
-msgstr "Dybde for stor hule"
+msgid "Large chat console key"
+msgstr "Store chat konsol tast"
#: src/settings_translation_file.cpp
msgid "Leaves style"
@@ -4669,6 +4717,15 @@ msgstr ""
#: src/settings_translation_file.cpp
#, fuzzy
+msgid ""
+"Length of liquid waves.\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+"Sat til true (sand) aktiverer bølgende blade.\n"
+"Kræver at dybdeskabere er aktiveret."
+
+#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Length of time between Active Block Modifier (ABM) execution cycles"
msgstr "Tidslængde mellem ABM-kørselscyklusser"
@@ -4702,19 +4759,27 @@ msgstr ""
"- verbose"
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost"
+msgid "Light curve boost"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve boost center"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve boost spread"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost center"
+msgid "Light curve gamma"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost spread"
+msgid "Light curve high gradient"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Lightness sharpness"
+msgid "Light curve low gradient"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4831,19 +4896,20 @@ msgid "Map generation attributes specific to Mapgen Carpathian."
msgstr ""
#: src/settings_translation_file.cpp
+#, fuzzy
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."
+"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"
+"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"
+"Map generation attributes specific to Mapgen Fractal.\n"
"'terrain' enables the generation of non-fractal terrain:\n"
"ocean, islands and underground."
msgstr ""
@@ -4853,15 +4919,14 @@ msgstr ""
"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."
+"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 ""
-"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
msgid "Map generation attributes specific to Mapgen v5."
@@ -5032,8 +5097,16 @@ msgid "Maximum hotbar width"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of large caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
-"Maximum liquid resistence. Controls deceleration when entering liquid at\n"
+"Maximum liquid resistance. Controls deceleration when entering liquid at\n"
"high speed."
msgstr ""
@@ -5155,6 +5228,14 @@ msgid "Minimap scan height"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of large caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Minimum texture size"
msgstr ""
@@ -5244,7 +5325,7 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Near clipping plane"
+msgid "Near plane"
msgstr ""
#: src/settings_translation_file.cpp
@@ -5331,6 +5412,16 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Opaqueness (alpha) of the shadow behind the default font, between 0 and 255."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Opaqueness (alpha) of the shadow behind the fallback font, between 0 and 255."
+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."
@@ -5370,7 +5461,12 @@ msgid "Parallax occlusion strength"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Path to TrueTypeFont or bitmap."
+msgid ""
+"Path of the fallback font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font will be used for certain languages or if the default font is "
+"unavailable."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5388,6 +5484,22 @@ msgid "Path to texture directory. All textures are first searched from here."
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Path to the default font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"The fallback font will be used if the font cannot be loaded."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Path to the monospace font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font is used for e.g. the console and profiler screen."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Pause on lost window focus"
msgstr ""
@@ -5461,6 +5573,10 @@ msgid "Profiling"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Proportion of large caves that contain liquid."
+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 "
@@ -5485,6 +5601,11 @@ msgid "Recent Chat Messages"
msgstr ""
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Regular font path"
+msgstr "Rapportsti"
+
+#: src/settings_translation_file.cpp
msgid "Remote media"
msgstr ""
@@ -5686,24 +5807,24 @@ msgstr ""
#, fuzzy
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."
+"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 ""
"Valg af 18 fraktaler fra 9 formler.\n"
"1 = 4D »Roundy« mandelbrot-sæt.\n"
@@ -5772,27 +5893,30 @@ msgid "Set the maximum character length of a chat message sent by clients."
msgstr ""
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Set to true enables waving leaves.\n"
+"Set to true to enable waving leaves.\n"
"Requires shaders to be enabled."
msgstr ""
"Sat til true (sand) aktiverer bølgende blade.\n"
"Kræver at dybdeskabere er aktiveret."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Set to true enables waving plants.\n"
+"Set to true to enable waving liquids (like water).\n"
"Requires shaders to be enabled."
msgstr ""
-"Angivet til true (sand) aktiverer bølgende planter.\n"
+"Angivet til true (sand) aktiverer bølgende vand.\n"
"Kræver at dybdeskabere er aktiveret."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Set to true enables waving water.\n"
+"Set to true to enable waving plants.\n"
"Requires shaders to be enabled."
msgstr ""
-"Angivet til true (sand) aktiverer bølgende vand.\n"
+"Angivet til true (sand) aktiverer bølgende planter.\n"
"Kræver at dybdeskabere er aktiveret."
#: src/settings_translation_file.cpp
@@ -5814,8 +5938,19 @@ msgstr ""
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Shadow limit"
-msgstr "Skygge grænse"
+msgid ""
+"Shadow offset (in pixels) of the default font. If 0, then shadow will not be "
+"drawn."
+msgstr ""
+"Forskydning for skrifttypeskygge, hvis 0 så vil skygge ikke blive tegnet."
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid ""
+"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not "
+"be drawn."
+msgstr ""
+"Forskydning for skrifttypeskygge, hvis 0 så vil skygge ikke blive tegnet."
#: src/settings_translation_file.cpp
msgid "Shape of the minimap. Enabled = round, disabled = square."
@@ -5859,6 +5994,14 @@ msgid "Slope and fill work together to modify the heights."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Small cave maximum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Small cave minimum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Small-scale humidity variation for blending biomes on borders."
msgstr ""
@@ -5921,8 +6064,9 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Spread of light curve mid-boost.\n"
-"Standard deviation of the mid-boost gaussian."
+"Spread of light curve boost range.\n"
+"Controls the width of the range to be boosted.\n"
+"Standard deviation of the light curve boost Gaussian."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5947,7 +6091,10 @@ msgid "Strength of generated normalmaps."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Strength of light curve mid-boost."
+msgid ""
+"Strength of light curve boost.\n"
+"The 3 'boost' parameters define a range of the light\n"
+"curve that is boosted in brightness."
msgstr ""
#: src/settings_translation_file.cpp
@@ -6055,6 +6202,15 @@ msgid "The length in pixels it takes for touch screen interaction to start."
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"The maximum height of the surface of waving liquids.\n"
+"4.0 = Wave height is two nodes.\n"
+"0.0 = Wave doesn't move at all.\n"
+"Default is 1.0 (1/2 node).\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "The network interface that the server listens on."
msgstr ""
@@ -6136,10 +6292,6 @@ msgid "Third of 4 2D noises that together define hill/mountain range height."
msgstr "Første af 2 3D-støj, der sammen definerer tunneler."
#: 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."
@@ -6194,7 +6346,7 @@ msgstr "Trilineær filtrering"
msgid ""
"True = 256\n"
"False = 128\n"
-"Useable to make minimap smoother on slower machines."
+"Usable to make minimap smoother on slower machines."
msgstr ""
#: src/settings_translation_file.cpp
@@ -6202,11 +6354,6 @@ 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 ""
@@ -6293,10 +6440,6 @@ 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 ""
@@ -6370,6 +6513,15 @@ msgid "Volume"
msgstr "Lydstyrke"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid ""
+"Volume of all sounds.\n"
+"Requires the sound system to be enabled."
+msgstr ""
+"Aktiverer parallax-okklusionoversættelse.\n"
+"Kræver at dybdeskabere er aktiveret."
+
+#: 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"
@@ -6407,29 +6559,30 @@ msgid "Waving leaves"
msgstr "Bølgende blade"
#: src/settings_translation_file.cpp
-msgid "Waving plants"
-msgstr ""
-
-#: src/settings_translation_file.cpp
-msgid "Waving water"
-msgstr ""
+#, fuzzy
+msgid "Waving liquids"
+msgstr "Bølgende blade"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wave height"
+msgid "Waving liquids wave height"
msgstr "Bølgende vand"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wave speed"
+msgid "Waving liquids wave speed"
msgstr "Bølgende blade"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wavelength"
+msgid "Waving liquids wavelength"
msgstr "Bølgende vand"
#: src/settings_translation_file.cpp
+msgid "Waving plants"
+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"
@@ -6459,7 +6612,9 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Whether FreeType fonts are used, requires FreeType support to be compiled in."
+"Whether FreeType fonts are used, requires FreeType support to be compiled "
+"in.\n"
+"If disabled, bitmap and XML vectors fonts are used instead."
msgstr ""
#: src/settings_translation_file.cpp
@@ -6488,6 +6643,14 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Whether to mute sounds. You can unmute sounds at any time, unless the\n"
+"sound system is disabled (enable_sound=false).\n"
+"In-game, you can toggle the mute state with the mute key or by using the\n"
+"pause menu."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
"Whether to show the client debug info (has the same effect as hitting F5)."
msgstr ""
@@ -6559,10 +6722,6 @@ 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 ""
@@ -6575,10 +6734,6 @@ 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 ""
@@ -6590,6 +6745,52 @@ msgstr ""
msgid "cURL timeout"
msgstr "cURL-tidsudløb"
+#~ 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 ""
+#~ "Justér gammakodningen for lystabellerne. Et større tal betyder lysere.\n"
+#~ "Denne indstilling gælder kun for klienten og ignoreres af serveren."
+
+#~ msgid "Controls width of tunnels, a smaller value creates wider tunnels."
+#~ msgstr ""
+#~ "Styrer bredden af tunneller. En lavere værdi giver bredere tunneller."
+
+#, fuzzy
+#~ msgid "Darkness sharpness"
+#~ msgstr "Søstejlhed"
+
+#~ msgid "Enable VBO"
+#~ msgstr "Aktiver VBO"
+
+#~ msgid "Enables filmic tone mapping"
+#~ msgstr "Aktiverer filmisk toneoversættelse"
+
+#~ msgid "Floatland base height noise"
+#~ msgstr "Svævelandsgrundhøjdestøj"
+
+#, fuzzy
+#~ msgid "Floatland level"
+#~ msgstr "Svævelandsniveau"
+
+#~ msgid "Font shadow alpha (opaqueness, between 0 and 255)."
+#~ msgstr "Alfa for skrifttypeskygge (uigennemsigtighed, mellem 0 og 255)."
+
+#~ msgid "Gamma"
+#~ msgstr "Gamma"
+
+#~ msgid "IPv6 support."
+#~ msgstr "Understøttelse af IPv6."
+
+#, fuzzy
+#~ msgid "Lava depth"
+#~ msgstr "Dybde for stor hule"
+
+#, fuzzy
+#~ msgid "Shadow limit"
+#~ msgstr "Skygge grænse"
+
#~ msgid "Select Package File:"
#~ msgstr "Vælg pakke fil:"
diff --git a/po/de/minetest.po b/po/de/minetest.po
index 46d023b30..382f4dfbe 100644
--- a/po/de/minetest.po
+++ b/po/de/minetest.po
@@ -2,9 +2,9 @@ msgid ""
msgstr ""
"Project-Id-Version: German (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-10-09 22:02+0200\n"
-"PO-Revision-Date: 2019-12-26 12:21+0000\n"
-"Last-Translator: Stas Kies <stask85@gmail.com>\n"
+"POT-Creation-Date: 2020-04-03 23:18+0200\n"
+"PO-Revision-Date: 2020-04-04 19:54+0000\n"
+"Last-Translator: sfan5 <sfan5@live.de>\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.10\n"
+"X-Generator: Weblate 4.0-dev\n"
#: builtin/client/death_formspec.lua src/client/game.cpp
msgid "Respawn"
@@ -20,7 +20,7 @@ msgstr "Wiederbeleben"
#: builtin/client/death_formspec.lua src/client/game.cpp
msgid "You died"
-msgstr "Du bist gestorben!"
+msgstr "Sie sind gestorben"
#: builtin/fstk/ui.lua
msgid "An error occurred in a Lua script:"
@@ -132,7 +132,7 @@ msgstr "Keine harten Abhängigkeiten"
#: builtin/mainmenu/dlg_config_world.lua
msgid "No modpack description provided."
-msgstr "Keine Modpack-Beschreibung verfügbar."
+msgstr "Keine Beschreibung für das Modpack verfügbar."
#: builtin/mainmenu/dlg_config_world.lua
msgid "No optional dependencies"
@@ -216,7 +216,7 @@ msgstr "Aktualisieren"
#: builtin/mainmenu/dlg_create_world.lua
msgid "A world named \"$1\" already exists"
-msgstr "Eine Welt Namens „$1“ existiert bereits"
+msgstr "Eine Welt namens „$1“ existiert bereits"
#: builtin/mainmenu/dlg_create_world.lua
msgid "Create"
@@ -401,14 +401,25 @@ msgstr "Z"
msgid "Z spread"
msgstr "Z-Ausbreitung"
+#. ~ "absvalue" is a noise parameter flag.
+#. It is short for "absolute value".
+#. It can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "absvalue"
msgstr "Absolutwert"
+#. ~ "defaults" is a noise parameter flag.
+#. It describes the default processing options
+#. for noise settings in main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "defaults"
msgstr "Standardwerte"
+#. ~ "eased" is a noise parameter flag.
+#. It is used to make the map smoother and
+#. can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "eased"
msgstr "weich (eased)"
@@ -470,7 +481,7 @@ msgstr "Online-Inhalte durchsuchen"
#: builtin/mainmenu/tab_content.lua
msgid "Content"
-msgstr "Inhalt"
+msgstr "Inhalte"
#: builtin/mainmenu/tab_content.lua
msgid "Disable Texture Pack"
@@ -620,6 +631,7 @@ msgstr "Name / Passwort"
msgid "Ping"
msgstr "Latenz"
+#. ~ PvP = Player versus Player
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "PvP enabled"
msgstr "Spielerkampf aktiviert"
@@ -782,7 +794,7 @@ msgstr "Wehende Blätter"
#: builtin/mainmenu/tab_settings.lua
msgid "Waving Liquids"
-msgstr "Wasserwellen"
+msgstr "Flüssigkeitswellen"
#: builtin/mainmenu/tab_settings.lua
msgid "Waving Plants"
@@ -864,6 +876,14 @@ msgstr "Fehler beim öffnen der ausgewählten Passwort-Datei: "
msgid "Provided world path doesn't exist: "
msgstr "Angegebener Weltpfad existiert nicht: "
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string. Put either "no" or "yes"
+#. into the translation field (literally).
+#. Choose "yes" if the language requires use of the fallback
+#. font, "no" otherwise.
+#. The fallback font is (normally) required for languages with
+#. non-Latin script, like Chinese.
+#. When in doubt, test your translation.
#: src/client/fontengine.cpp
msgid "needs_fallback_font"
msgstr "no"
@@ -900,6 +920,7 @@ msgstr "- Port: "
msgid "- Public: "
msgstr "- Öffentlich: "
+#. ~ PvP = Player versus Player
#: src/client/game.cpp
msgid "- PvP: "
msgstr "- Spielerkampf: "
@@ -995,7 +1016,7 @@ msgstr "Debug-Infos und Profiler-Graph verborgen"
#: src/client/game.cpp
msgid "Debug info shown"
-msgstr "Debug-Info angezeigt"
+msgstr "Debug-Infos angezeigt"
#: src/client/game.cpp
msgid "Debug info, profiler graph, and wireframe hidden"
@@ -1350,6 +1371,7 @@ msgstr "Umsch. links"
msgid "Left Windows"
msgstr "Win. links"
+#. ~ Key name, common on Windows keyboards
#: src/client/keycode.cpp
msgid "Menu"
msgstr "Menü"
@@ -1442,6 +1464,7 @@ msgstr "Pause"
msgid "Play"
msgstr "Spielen"
+#. ~ "Print screen" key
#: src/client/keycode.cpp
msgid "Print"
msgstr "Druck"
@@ -1478,6 +1501,7 @@ msgstr "Win. rechts"
msgid "Scroll Lock"
msgstr "Rollen"
+#. ~ Key name
#: src/client/keycode.cpp
msgid "Select"
msgstr "Auswählen"
@@ -1721,11 +1745,16 @@ msgstr "Stumm"
msgid "Sound Volume: "
msgstr "Tonlautstärke: "
+#. ~ Imperative, as in "Enter/type in text".
+#. Don't forget the space.
#: src/gui/modalMenu.cpp
msgid "Enter "
msgstr "Eingabe "
-#: src/network/clientpackethandler.cpp
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string which needs to contain the translation's
+#. language code (e.g. "de" for German).
+#: src/network/clientpackethandler.cpp src/script/lua_api/l_client.cpp
msgid "LANG_CODE"
msgstr "de"
@@ -1755,7 +1784,7 @@ msgid ""
"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"
+"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."
@@ -1766,7 +1795,8 @@ msgstr ""
"um es zu ermöglichen, in einen gewünschten Punkt „hereinzuoomen“,\n"
"indem man „scale“ erhöht.\n"
"Die Standardeinstellung ist brauchbar für Mandelbrotmengen mit\n"
-"Standardparametern.\n"
+"Standardparametern, sie könnte jedoch Anpassungen für andere\n"
+"Situationen benötigen.\n"
"Die Reichweite liegt grob zwischen -2 und 2. Mit „scale“ multiplizieren,\n"
"um einen Versatz in Blöcken zu erhalten."
@@ -1969,23 +1999,24 @@ msgid ""
msgstr "DPI des Bildschirms (nicht für X11/Android) z.B. für 4K-Bildschirme."
#: 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 ""
-"Ändert die Gammakodierung der Lichttabellen. Kleinere Werte sind heller.\n"
-"Diese Einstellung ist rein clientseitig und wird vom Server ignoriert."
-
-#: src/settings_translation_file.cpp
msgid "Advanced"
msgstr "Erweitert"
#: src/settings_translation_file.cpp
-msgid "Alters how mountain-type floatlands taper above and below midpoint."
+msgid ""
+"Alters the light curve by applying 'gamma correction' to it.\n"
+"Higher values make middle and lower light levels brighter.\n"
+"Value '1.0' leaves the light curve unaltered.\n"
+"This only has significant effect on daylight and artificial\n"
+"light, it has very little effect on natural night light."
msgstr ""
-"Verändert, wie Schwebeländer des Bergtyps sich über und unter dem "
-"Mittelpunkt zuspitzen."
+"Passt die Lichtkurve an, indem eine sog. Gammakorrektur\n"
+"an ihr vorgenommen wird. Höhere Werte können mittlere\n"
+"und niedrigere Lichtstufen heller machen. Der Wert „1.0“\n"
+"lässt die Lichtkurve unverändert.\n"
+"Das hat nur einen merkliche Wirkung auf das Tageslicht und\n"
+"dem künstlichem Licht, es hat sehr geringe Auswirkungen\n"
+"auf natürliches Licht bei Nacht."
#: src/settings_translation_file.cpp
msgid "Altitude chill"
@@ -2146,6 +2177,22 @@ msgid "Block send optimize distance"
msgstr "Distanz für Sendeoptimierungen von Kartenblöcken"
#: src/settings_translation_file.cpp
+msgid "Bold and italic font path"
+msgstr "Pfad der Fett- und Kursivschrift"
+
+#: src/settings_translation_file.cpp
+msgid "Bold and italic monospace font path"
+msgstr "Pfad der fetten und kursiven Festbreitenschrift"
+
+#: src/settings_translation_file.cpp
+msgid "Bold font path"
+msgstr "Pfad der Fettschrift"
+
+#: src/settings_translation_file.cpp
+msgid "Bold monospace font path"
+msgstr "Pfad der fetten Festbreitenschrift"
+
+#: src/settings_translation_file.cpp
msgid "Build inside player"
msgstr "Innerhalb des Spielers bauen"
@@ -2159,14 +2206,15 @@ msgstr "Bumpmapping"
#: 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"
+"Camera 'near clipping plane' distance in nodes, between 0 and 0.25\n"
+"Only works on GLES platforms. Most users will not need to change this.\n"
"Increasing can reduce artifacting on weaker GPUs.\n"
"0.1 = Default, 0.25 = Good value for weaker tablets."
msgstr ""
"Distanz von der Kamera zur vorderen Clippingebene in Blöcken, zwischen 0 und "
-"0.5.\n"
-"Die meisten Benutzer müssen dies nicht ändern.\n"
+"0.25.\n"
+"Funktioniert nur auf GLES-Plattformen. Die meisten Benutzer müssen dies "
+"nicht ändern.\n"
"Eine Erhöhung dieses Wertes kann Artefakte auf schwächeren GPUs reduzieren.\n"
"0.1 = Standard, 0.25 = Guter Wert für schwächere Tablets."
@@ -2227,8 +2275,12 @@ msgid "Cavern upper limit"
msgstr "Hohlraumobergrenze"
#: src/settings_translation_file.cpp
-msgid "Center of light curve mid-boost."
-msgstr "Mitte der Lichtkurven-Mittenverstärkung."
+msgid ""
+"Center of light curve boost range.\n"
+"Where 0.0 is minimum light level, 1.0 is maximum light level."
+msgstr ""
+"Mittelpunkt des Lichtkurvenverstärkungsintervalls.\n"
+"Wobei 0.0 die minimale Lichtstufe und 1.0 die höchste Lichtstufe ist."
#: src/settings_translation_file.cpp
msgid ""
@@ -2451,16 +2503,13 @@ msgstr "Steuert die Steilheit/Höhe von Hügeln."
#: 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."
+"Controls width of tunnels, a smaller value creates wider tunnels.\n"
+"Value >= 10.0 completely disables generation of tunnels and avoids the\n"
+"intensive noise calculations."
msgstr ""
-"Legt die Dichte von Gebirgen in den Schwebeländern fest.\n"
-"Dies ist ein Versatz, der zum Rauschwert „mgv7_np_mountain“ addiert wird."
-
-#: src/settings_translation_file.cpp
-msgid "Controls width of tunnels, a smaller value creates wider tunnels."
-msgstr ""
-"Legt die Breite von Tunneln fest; ein kleinerer Wert erzeugt breitere Tunnel."
+"Passt die Breite von Tunneln an. Ein kleinerer Wert erzeugt breitere\n"
+"Tunnel. Ein Wert >= 10.0 deaktiviert die Erzeugung von Tunneln vollständig\n"
+"und verhindert rechenintensive Rauschberechnungen."
#: src/settings_translation_file.cpp
msgid "Crash message"
@@ -2495,10 +2544,6 @@ msgid "Damage"
msgstr "Schaden"
#: src/settings_translation_file.cpp
-msgid "Darkness sharpness"
-msgstr "Dunkelheits-Steilheit"
-
-#: src/settings_translation_file.cpp
msgid "Debug info toggle key"
msgstr "Taste zum Umschalten der Debug-Info"
@@ -2515,7 +2560,7 @@ msgid "Dec. volume key"
msgstr "Leiser-Taste"
#: src/settings_translation_file.cpp
-msgid "Decrease this to increase liquid resistence to movement."
+msgid "Decrease this to increase liquid resistance to movement."
msgstr ""
"Dies verringern, um den Bewegungswiderstand in Flüssigkeiten zu erhöhen."
@@ -2561,16 +2606,6 @@ msgstr ""
"Hat nur eine Wirkung, wenn mit cURL kompiliert wurde."
#: src/settings_translation_file.cpp
-msgid ""
-"Defines areas of floatland smooth terrain.\n"
-"Smooth floatlands occur when noise > 0."
-msgstr ""
-"Definiert Gebiete von ruhig verlaufendem\n"
-"Gelände in den Schwebeländern. Weiche\n"
-"Schwebeländer treten auf, wenn der\n"
-"Rauschwert > 0 ist."
-
-#: src/settings_translation_file.cpp
msgid "Defines areas where trees have apples."
msgstr "Definiert Gebiete, in denen Bäume Äpfel tragen."
@@ -2658,15 +2693,6 @@ 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 ""
-"Misbilligte Einstellung. Definieren/Finden Sie statdessen "
-"Höhlenflüssigkeiten in Biomdefinitionen.\n"
-"Y der Obergrenze von Lava in großen Höhlen."
-
-#: src/settings_translation_file.cpp
msgid "Depth below which you'll find giant caverns."
msgstr "Tiefe, unter der man große Höhlen finden wird."
@@ -2744,6 +2770,14 @@ msgstr "Verliesrauschen"
#: src/settings_translation_file.cpp
msgid ""
+"Enable IPv6 support (for both client and server).\n"
+"Required for IPv6 connections to work at all."
+msgstr ""
+"IPv6-Unterstützung aktivieren (sowohl für Client als auch Server).\n"
+"Benötigt, damit IPv6-Verbindungen funktionieren."
+
+#: src/settings_translation_file.cpp
+msgid ""
"Enable Lua modding support on client.\n"
"This support is experimental and API can change."
msgstr ""
@@ -2751,10 +2785,6 @@ msgstr ""
"Diese Unterstützung ist experimentell und die API kann sich ändern."
#: src/settings_translation_file.cpp
-msgid "Enable VBO"
-msgstr "VBO aktivieren"
-
-#: src/settings_translation_file.cpp
msgid "Enable console window"
msgstr "Konsolenfenster aktivieren"
@@ -2833,6 +2863,14 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Enable vertex buffer objects.\n"
+"This should greatly improve graphics performance."
+msgstr ""
+"Aktiviert Vertex Buffer Objects.\n"
+"Dies sollte die Grafikperformanz beträchtlich verbessern."
+
+#: 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 ""
@@ -2845,10 +2883,24 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Enable/disable running an IPv6 server.\n"
-"Ignored if bind_address is set."
+"Ignored if bind_address is set.\n"
+"Needs enable_ipv6 to be enabled."
msgstr ""
"Server als IPv6 laufen lassen (oder nicht).\n"
-"Wird ignoriert, falls bind_address gesetzt ist."
+"Wird ignoriert, falls bind_address gesetzt ist.\n"
+"Dafür muss außerdem enable_ipv6 aktiviert sein."
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Enables Hable's 'Uncharted 2' filmic tone mapping.\n"
+"Simulates the tone curve of photographic film and how this approximates the\n"
+"appearance of high dynamic range images. Mid-range contrast is slightly\n"
+"enhanced, highlights and shadows are gradually compressed."
+msgstr ""
+"Aktiviert filmisches Tone-Mapping wie in Hables „Uncharted 2“.\n"
+"Simuliert die Tonkurve von fotografischem Film und wie dies das Aussehen\n"
+"von „High Dynamic Range“-Bildern annähert. Mittlerer Kontrast wird leicht\n"
+"verstärkt, aufleuchtende Bereiche und Schatten werden graduell komprimiert."
#: src/settings_translation_file.cpp
msgid "Enables animation of inventory items."
@@ -2874,10 +2926,6 @@ msgstr ""
"rotiert werden."
#: src/settings_translation_file.cpp
-msgid "Enables filmic tone mapping"
-msgstr "Aktiviert filmisches Tone-Mapping"
-
-#: src/settings_translation_file.cpp
msgid "Enables minimap."
msgstr "Aktiviert die Ãœbersichtskarte."
@@ -2898,6 +2946,18 @@ msgstr ""
"Hierfür müssen Shader aktiviert sein."
#: src/settings_translation_file.cpp
+msgid ""
+"Enables the sound system.\n"
+"If disabled, this completely disables all sounds everywhere and the in-game\n"
+"sound controls will be non-functional.\n"
+"Changing this setting requires a restart."
+msgstr ""
+"Aktiviert das Tonsystem.\n"
+"Falls deaktiviert, wird es alle Geräusche überall abschalten und\n"
+"die Tonsteuerung im Spiel wird funktionslos sein.\n"
+"Die Änderung dieser Einstellung benötigt einen Neustart."
+
+#: src/settings_translation_file.cpp
msgid "Engine profiling data print interval"
msgstr "Engine-Profiling-Datenausgabeintervall"
@@ -2930,8 +2990,8 @@ msgid "Fall bobbing factor"
msgstr "Kameraschütteln beim Sturz"
#: src/settings_translation_file.cpp
-msgid "Fallback font"
-msgstr "Ersatzschrift"
+msgid "Fallback font path"
+msgstr "Ersatzschriftpfad"
#: src/settings_translation_file.cpp
msgid "Fallback font shadow"
@@ -3034,30 +3094,6 @@ msgid "Fixed virtual joystick"
msgstr "Fester virtueller Joystick"
#: src/settings_translation_file.cpp
-msgid "Floatland base height noise"
-msgstr "Schwebeland-Basishöhenrauschen"
-
-#: src/settings_translation_file.cpp
-msgid "Floatland base noise"
-msgstr "Schwebelandbasisrauschen"
-
-#: src/settings_translation_file.cpp
-msgid "Floatland level"
-msgstr "Schwebelandhöhe"
-
-#: src/settings_translation_file.cpp
-msgid "Floatland mountain density"
-msgstr "Schwebelandbergdichte"
-
-#: src/settings_translation_file.cpp
-msgid "Floatland mountain exponent"
-msgstr "Schwebelandbergexponent"
-
-#: src/settings_translation_file.cpp
-msgid "Floatland mountain height"
-msgstr "Schwebelandberghöhe"
-
-#: src/settings_translation_file.cpp
msgid "Fly key"
msgstr "Flugtaste"
@@ -3078,8 +3114,12 @@ msgid "Fog toggle key"
msgstr "Taste für Nebel umschalten"
#: src/settings_translation_file.cpp
-msgid "Font path"
-msgstr "Schriftpfad"
+msgid "Font bold by default"
+msgstr "Schrift standardmäßig fett"
+
+#: src/settings_translation_file.cpp
+msgid "Font italic by default"
+msgstr "Schrift standardmäßig kursiv"
#: src/settings_translation_file.cpp
msgid "Font shadow"
@@ -3090,19 +3130,20 @@ msgid "Font shadow alpha"
msgstr "Schriftschatten-Undurchsichtigkeit"
#: src/settings_translation_file.cpp
-msgid "Font shadow alpha (opaqueness, between 0 and 255)."
-msgstr ""
-"Undurchsichtigkeit des Schattens der Schrift (Wert zwischen 0 und 255)."
+msgid "Font size"
+msgstr "Schriftgröße"
#: src/settings_translation_file.cpp
-msgid "Font shadow offset, if 0 then shadow will not be drawn."
-msgstr ""
-"Abstand des Schattens hinter der Schrift. Wenn 0, wird der Schatten nicht "
-"gezeichnet."
+msgid "Font size of the default font in point (pt)."
+msgstr "Schriftgröße der Standardschrift in Punkt (pt)."
#: src/settings_translation_file.cpp
-msgid "Font size"
-msgstr "Schriftgröße"
+msgid "Font size of the fallback font in point (pt)."
+msgstr "Schriftgröße der Ersatzschrift in Punkt (pt)."
+
+#: src/settings_translation_file.cpp
+msgid "Font size of the monospace font in point (pt)."
+msgstr "Schriftgröße der Festbreitenschrift in Punkt (pt)."
#: src/settings_translation_file.cpp
msgid ""
@@ -3236,10 +3277,6 @@ msgid "GUI scaling filter txr2img"
msgstr "GUI-Skalierungsfilter txr2img"
#: src/settings_translation_file.cpp
-msgid "Gamma"
-msgstr "Gamma"
-
-#: src/settings_translation_file.cpp
msgid "Generate normalmaps"
msgstr "Normalmaps generieren"
@@ -3259,12 +3296,20 @@ msgstr ""
"wird es alle Dekorationen beinflussen."
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at maximum light level."
-msgstr "Steigung der Lichtkurve an der maximalen Lichtstufe."
+msgid ""
+"Gradient of light curve at maximum light level.\n"
+"Controls the contrast of the highest light levels."
+msgstr ""
+"Steigung der Lichtkurve an der maximalen Lichtstufe.\n"
+"Regelt den Kontrast der höchsten Lichtstufen."
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at minimum light level."
-msgstr "Steigung der Lichtkurve an der minimalen Lichtstufe."
+msgid ""
+"Gradient of light curve at minimum light level.\n"
+"Controls the contrast of the lowest light levels."
+msgstr ""
+"Steigung der Lichtkurve an der minimalen Lichtstufe.\n"
+"Regelt den Kontrast der niedrigsten Lichtstufen."
#: src/settings_translation_file.cpp
msgid "Graphics"
@@ -3296,7 +3341,7 @@ msgstr "Taste zum Umschalten des HUD"
#: src/settings_translation_file.cpp
msgid ""
-"Handling for deprecated lua api calls:\n"
+"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)."
@@ -3542,6 +3587,16 @@ msgstr "Wie tief Flüsse gemacht werden sollen."
#: src/settings_translation_file.cpp
msgid ""
+"How fast liquid waves will move. Higher = faster.\n"
+"If negative, liquid waves will move backwards.\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+"Wie schnell sich Flüssigkeitswellen bewegen werden. Höher = schneller.\n"
+"Falls negativ, werden sich die Wellen rückwärts bewegen.\n"
+"Hierfür müssen Flüssigkeitswellen aktiviert sein."
+
+#: 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 ""
@@ -3574,10 +3629,6 @@ msgid "IPv6 server"
msgstr "IPv6-Server"
#: src/settings_translation_file.cpp
-msgid "IPv6 support."
-msgstr "IPv6-Unterstützung."
-
-#: 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."
@@ -3807,6 +3858,14 @@ msgid "Invert vertical mouse movement."
msgstr "Kehrt die vertikale Mausbewegung um."
#: src/settings_translation_file.cpp
+msgid "Italic font path"
+msgstr "Pfad der Kursivschrift"
+
+#: src/settings_translation_file.cpp
+msgid "Italic monospace font path"
+msgstr "Pfad der kursiven Festbreitenschrift"
+
+#: src/settings_translation_file.cpp
msgid "Item entity TTL"
msgstr "Item-Entity-TTL"
@@ -4637,12 +4696,20 @@ msgid "Large cave depth"
msgstr "Tiefe für große Höhlen"
#: src/settings_translation_file.cpp
-msgid "Large chat console key"
-msgstr "Taste für große Chatkonsole"
+msgid "Large cave maximum number"
+msgstr "Max. Anzahl großer Höhlen"
#: src/settings_translation_file.cpp
-msgid "Lava depth"
-msgstr "Lavatiefe"
+msgid "Large cave minimum number"
+msgstr "Min. Anzahl großer Höhlen"
+
+#: src/settings_translation_file.cpp
+msgid "Large cave proportion flooded"
+msgstr "Anteil gefluteter großer Höhlen"
+
+#: src/settings_translation_file.cpp
+msgid "Large chat console key"
+msgstr "Taste für große Chatkonsole"
#: src/settings_translation_file.cpp
msgid "Leaves style"
@@ -4676,6 +4743,14 @@ msgstr ""
"üblicherweise aktualisiert werden."
#: src/settings_translation_file.cpp
+msgid ""
+"Length of liquid waves.\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+"Länge von Flüssigkeitswellen.\n"
+"Dafür müssen Flüssigkeitswellen aktiviert sein."
+
+#: src/settings_translation_file.cpp
msgid "Length of time between Active Block Modifier (ABM) execution cycles"
msgstr "Dauer zwischen Active-Block-Modifier-(ABM)-Ausführungszyklen"
@@ -4709,20 +4784,28 @@ msgstr ""
"- verbose (Ausführlich)"
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost"
-msgstr "Lichtkurven-Mittenverstärkung"
+msgid "Light curve boost"
+msgstr "Lichtkurvenverstärkung"
+
+#: src/settings_translation_file.cpp
+msgid "Light curve boost center"
+msgstr "Lichtkurvenverstärkung: Mitte"
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost center"
-msgstr "Lichtkurven-Mittenverstärkung Mitte"
+msgid "Light curve boost spread"
+msgstr "Lichtkurvenverstärkung: Ausbreitung"
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost spread"
-msgstr "Lichtkurven-Mittenverstärkungs-Ausbreitung"
+msgid "Light curve gamma"
+msgstr "Lichtkurven-Gammawert"
#: src/settings_translation_file.cpp
-msgid "Lightness sharpness"
-msgstr "Helligkeitsschärfe"
+msgid "Light curve high gradient"
+msgstr "Lichtkurve: Hoher Gradient"
+
+#: src/settings_translation_file.cpp
+msgid "Light curve low gradient"
+msgstr "Lichtkurve: Niedriger Gradient"
#: src/settings_translation_file.cpp
msgid "Limit of emerge queues on disk"
@@ -4844,6 +4927,24 @@ 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 ""
+"Kartengenerierungsattribute speziell für den flachen Kartengenerator.\n"
+"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 Fractal.\n"
+"'terrain' enables the generation of non-fractal terrain:\n"
+"ocean, islands and underground."
+msgstr ""
+"Kartengenerierungsattribute speziell für den Fraktale-Kartengenerator.\n"
+"„terrain“ aktiviert die Erzeugung von nicht-fraktalem Gelände:\n"
+"Ozean, Inseln und der Untergrund."
+
+#: 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"
@@ -4860,24 +4961,6 @@ msgstr ""
"„altitude_dry“: Reduziert Luftfeuchte mit der Höhe."
#: 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 ""
-"Kartengenerierungsattribute speziell für den flachen Kartengenerator.\n"
-"„terrain“ aktiviert die Erzeugung von nicht-fraktalem Gelände:\n"
-"Ozean, Inseln und der Untergrund."
-
-#: src/settings_translation_file.cpp
-msgid ""
-"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."
-
-#: src/settings_translation_file.cpp
msgid "Map generation attributes specific to Mapgen v5."
msgstr "Kartengenerierungsattribute speziell für den Kartengenerator v5."
@@ -5030,12 +5113,20 @@ msgid "Maximum hotbar width"
msgstr "Maximale Breite der Schnellleiste"
#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of large caves per mapchunk."
+msgstr "Obergrenze der zufälligen Anzahl großer Höhlen je Mapchunk."
+
+#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of small caves per mapchunk."
+msgstr "Obergrenze Anzahl der zufälligen Anzahl kleiner Höhlen je Mapchunk."
+
+#: src/settings_translation_file.cpp
msgid ""
-"Maximum liquid resistence. Controls deceleration when entering liquid at\n"
+"Maximum liquid resistance. Controls deceleration when entering liquid at\n"
"high speed."
msgstr ""
-"Maximaler Flüssigkeitswiderstand. Regelt die Abbremsung beim Eintauchen in "
-"eine Flüssigkeit bei hoher Geschwindigkeit."
+"Maximaler Flüssigkeitswiderstand. Regelt die Abbremsung beim\n"
+"Eintauchen in eine Flüssigkeit bei hoher Geschwindigkeit."
#: src/settings_translation_file.cpp
msgid ""
@@ -5184,6 +5275,14 @@ msgid "Minimap scan height"
msgstr "Abtasthöhe der Übersichtskarte"
#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of large caves per mapchunk."
+msgstr "Untergrenze der zufälligen Anzahl großer Höhlen je Mapchunk."
+
+#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of small caves per mapchunk."
+msgstr "Untergrenze der zufälligen Anzahl kleiner Höhlen je Mapchunk."
+
+#: src/settings_translation_file.cpp
msgid "Minimum texture size"
msgstr "Minimale Texturengröße"
@@ -5284,8 +5383,8 @@ msgstr ""
"Spieler angezeigt."
#: src/settings_translation_file.cpp
-msgid "Near clipping plane"
-msgstr "Vordere Clippingebene"
+msgid "Near plane"
+msgstr "Vordere Ebene"
#: src/settings_translation_file.cpp
msgid "Network"
@@ -5393,6 +5492,20 @@ msgstr "Undurchsichtige Flüssigkeiten"
#: src/settings_translation_file.cpp
msgid ""
+"Opaqueness (alpha) of the shadow behind the default font, between 0 and 255."
+msgstr ""
+"Undurchsichtigkeit (Alpha) des Schattens hinter der Standardschrift, "
+"zwischen 0 und 255."
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Opaqueness (alpha) of the shadow behind the fallback font, between 0 and 255."
+msgstr ""
+"Undurchsichtigkeit (Alpha) des Schattens hinter der Ersatzschrift, zwischen "
+"0 und 255."
+
+#: 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."
@@ -5435,8 +5548,20 @@ msgid "Parallax occlusion strength"
msgstr "Parallax-Occlusion-Stärke"
#: src/settings_translation_file.cpp
-msgid "Path to TrueTypeFont or bitmap."
-msgstr "Pfad zu einer TrueType- oder Bitmap-Schrift."
+msgid ""
+"Path of the fallback font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font will be used for certain languages or if the default font is "
+"unavailable."
+msgstr ""
+"Pfad der Ersatzschrift.\n"
+"Falls die „freetype“-Einstellung aktiviert ist: Muss eine TrueType-Schrift "
+"sein.\n"
+"Falls die „freetype“-Einstellung deaktiviert ist: Muss eine Bitmap- oder XML-"
+"Vektor-Schrift sein.\n"
+"Diese Schrift wird für bestimmte Sprachen benutzt, oder, wenn die "
+"Standardschrift nicht verfügbar ist."
#: src/settings_translation_file.cpp
msgid "Path to save screenshots at."
@@ -5457,6 +5582,35 @@ msgstr ""
"Pfad der Texturenverzeichnisse. Alle Texturen werden von dort zuerst gesucht."
#: src/settings_translation_file.cpp
+msgid ""
+"Path to the default font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"The fallback font will be used if the font cannot be loaded."
+msgstr ""
+"Pfad der Standardschrift.\n"
+"Falls die „freetype“-Einstellung aktiviert ist: Muss eine TrueType-Schrift "
+"sein.\n"
+"Falls die „freetype“-Einstellung deaktiviert ist: Muss eine Bitmap- oder XML-"
+"Vektor-Schrift sein.\n"
+"Die Ersatzschrift wird benutzt, falls diese Schrift nicht geladen werden "
+"kann."
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Path to the monospace font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font is used for e.g. the console and profiler screen."
+msgstr ""
+"Pfad der Festbreitenschrift.\n"
+"Falls die „freetype“-Einstellung aktiviert ist: Muss eine TrueType-Schrift "
+"sein.\n"
+"Falls die „freetype“-Einstellung deaktiviert ist: Muss eine Bitmap- oder XML-"
+"Vektor-Schrift sein.\n"
+"Diese Schrift wird z.B. für die Konsole und die Profiler-Anzeige benutzt."
+
+#: src/settings_translation_file.cpp
msgid "Pause on lost window focus"
msgstr "Pausieren bei Fensterfokusverlust"
@@ -5542,6 +5696,10 @@ msgid "Profiling"
msgstr "Profiling"
#: src/settings_translation_file.cpp
+msgid "Proportion of large caves that contain liquid."
+msgstr "Anteil der großen Höhlen, die eine Flüssigkeit enthalten."
+
+#: 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 "
@@ -5568,6 +5726,10 @@ msgid "Recent Chat Messages"
msgstr "Letzte Chatnachrichten"
#: src/settings_translation_file.cpp
+msgid "Regular font path"
+msgstr "Normalschriftpfad"
+
+#: src/settings_translation_file.cpp
msgid "Remote media"
msgstr "Externer Medienserver"
@@ -5782,24 +5944,24 @@ msgstr "Auswahlboxbreite"
#: 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."
+"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 ""
"Wählt einen von 18 Fraktaltypen aus.\n"
"1 = 4-D-Mandelbrotmenge, Typ „rund“.\n"
@@ -5873,26 +6035,26 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving leaves.\n"
+"Set to true to enable waving leaves.\n"
"Requires shaders to be enabled."
msgstr ""
-"Auf „wahr“ setzen, um sich im Wind wehende Blätter zu aktivieren.\n"
+"Auf „wahr“ setzen, um wehende Blätter zu aktivieren.\n"
"Dafür müssen Shader aktiviert sein."
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving plants.\n"
+"Set to true to enable waving liquids (like water).\n"
"Requires shaders to be enabled."
msgstr ""
-"Auf „wahr“ setzen, um sich im Wind wehende Pflanzen zu aktivieren.\n"
+"Auf „wahr“ setzen, um Flüssigkeitswellen (wie bei Wasser) zu aktivieren.\n"
"Dafür müssen Shader aktiviert sein."
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving water.\n"
+"Set to true to enable waving plants.\n"
"Requires shaders to be enabled."
msgstr ""
-"Auf „wahr“ setzen, um Wasserwogen zu aktivieren.\n"
+"Auf „wahr“ setzen, um wehende Pflanzen zu aktivieren.\n"
"Dafür müssen Shader aktiviert sein."
#: src/settings_translation_file.cpp
@@ -5912,8 +6074,20 @@ msgstr ""
"Das funktioniert nur mit dem OpenGL-Grafik-Backend."
#: src/settings_translation_file.cpp
-msgid "Shadow limit"
-msgstr "Schattenbegrenzung"
+msgid ""
+"Shadow offset (in pixels) of the default font. If 0, then shadow will not be "
+"drawn."
+msgstr ""
+"Versatz des Schattens hinter der Standardschrift (in Pixeln). Falls 0, wird "
+"der Schatten nicht gezeichnet."
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not "
+"be drawn."
+msgstr ""
+"Versatz des Schattens hinter der Ersatzschrift (in Pixeln). Falls 0, wird "
+"der Schatten nicht gezeichnet."
#: src/settings_translation_file.cpp
msgid "Shape of the minimap. Enabled = round, disabled = square."
@@ -5969,6 +6143,14 @@ msgid "Slope and fill work together to modify the heights."
msgstr "Hänge und Füllungen arbeiten zusammen, um die Höhen zu verändern."
#: src/settings_translation_file.cpp
+msgid "Small cave maximum number"
+msgstr "Max. Anzahl kleiner Höhlen"
+
+#: src/settings_translation_file.cpp
+msgid "Small cave minimum number"
+msgstr "Min. Anzahl kleiner Höhlen"
+
+#: src/settings_translation_file.cpp
msgid "Small-scale humidity variation for blending biomes on borders."
msgstr ""
"Kleinräumige Luftfeuchtigkeitsvarriierung für Biomübergänge an Grenzen."
@@ -6038,11 +6220,13 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Spread of light curve mid-boost.\n"
-"Standard deviation of the mid-boost gaussian."
+"Spread of light curve boost range.\n"
+"Controls the width of the range to be boosted.\n"
+"Standard deviation of the light curve boost Gaussian."
msgstr ""
-"Ausbreitung der Lichtkurven-Mittenverstärkung.\n"
-"Standardabweichung der Mittenverstärkungs-Gaußfunktion."
+"Ausbreitung des Lichtkurvenverstärkungsintervalls.\n"
+"Regelt die Breite des Intervalls, das verstärkt werden soll.\n"
+"Standardabweichung der Lichtkurvenverstärkungs-Gaußfunktion."
#: src/settings_translation_file.cpp
msgid "Static spawnpoint"
@@ -6065,8 +6249,14 @@ msgid "Strength of generated normalmaps."
msgstr "Stärke der generierten Normalmaps."
#: src/settings_translation_file.cpp
-msgid "Strength of light curve mid-boost."
-msgstr "Stärke der Lichtkurven-Mittenverstärkung."
+msgid ""
+"Strength of light curve boost.\n"
+"The 3 'boost' parameters define a range of the light\n"
+"curve that is boosted in brightness."
+msgstr ""
+"Stärke der Lichtkurvenverstärkung.\n"
+"Die 3 Verstärkungsparameter („boost“) definieren ein Intervall der\n"
+"Lichtkurve, die in ihrer Helligkeit verstärkt wird."
#: src/settings_translation_file.cpp
msgid "Strength of parallax."
@@ -6134,7 +6324,7 @@ msgstr "Geländepersistenzrauschen"
#: src/settings_translation_file.cpp
msgid "Texture path"
-msgstr "Texturpfad"
+msgstr "Texturenpfad"
#: src/settings_translation_file.cpp
msgid ""
@@ -6169,7 +6359,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "The depth of dirt or other biome filler node."
-msgstr "Die Tiefe der Erde oder einem anderem Biomfüllerblock."
+msgstr "Die Tiefe der Erde oder eines anderen Biomfüllerblocks."
#: src/settings_translation_file.cpp
msgid ""
@@ -6188,6 +6378,20 @@ msgstr ""
"beginnt."
#: src/settings_translation_file.cpp
+msgid ""
+"The maximum height of the surface of waving liquids.\n"
+"4.0 = Wave height is two nodes.\n"
+"0.0 = Wave doesn't move at all.\n"
+"Default is 1.0 (1/2 node).\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+"Die maximale Höhe der Oberfläche von Flüssigkeitswellen.\n"
+"4.0 = Wellenhöhe ist zwei Blöcke.\n"
+"0.0 = Wellen bewegen sich gar nicht.\n"
+"Standard ist 1.0 (1/2 Block).\n"
+"Dafür müssen Flüssigkeitswellen aktiviert sein."
+
+#: src/settings_translation_file.cpp
msgid "The network interface that the server listens on."
msgstr "Die Netzwerkschnittstelle, auf die der Server lauscht."
@@ -6311,10 +6515,6 @@ msgstr ""
"definieren."
#: src/settings_translation_file.cpp
-msgid "This font will be used for certain languages."
-msgstr "Diese Schrift wird von bestimmten Sprachen benutzt."
-
-#: src/settings_translation_file.cpp
msgid ""
"Time in seconds for item entity (dropped items) to live.\n"
"Setting it to -1 disables the feature."
@@ -6378,11 +6578,11 @@ msgstr "Trilinearer Filter"
msgid ""
"True = 256\n"
"False = 128\n"
-"Useable to make minimap smoother on slower machines."
+"Usable to make minimap smoother on slower machines."
msgstr ""
"Wahr = 256\n"
"Falsch = 128\n"
-"Nützlich, um die Übersichtskarte performanter auf langsamen Maschinen zu "
+"Nützlich, um die Übersichtskarte ruckelfrei auf langsamen Maschinen zu "
"machen."
#: src/settings_translation_file.cpp
@@ -6390,13 +6590,6 @@ msgid "Trusted mods"
msgstr "Vertrauenswürdige Mods"
#: src/settings_translation_file.cpp
-msgid ""
-"Typical maximum height, above and below midpoint, of floatland mountains."
-msgstr ""
-"Typische Maximalhöhe, über und unter dem Mittelpunkt von Gebirgen in den\n"
-"Schwebeländern."
-
-#: src/settings_translation_file.cpp
msgid "URL to the server list displayed in the Multiplayer Tab."
msgstr ""
"URL der Serverliste, die in der Mehrspieler-Registerkarte angezeigt wird."
@@ -6494,12 +6687,6 @@ msgid "Variation of biome filler depth."
msgstr "Variierung der Biomfülltiefe."
#: src/settings_translation_file.cpp
-msgid "Variation of hill height and lake depth on floatland smooth terrain."
-msgstr ""
-"Variierung der Hügelhöhe und Seetiefe in den ruhig verlaufenden\n"
-"Regionen der Schwebeländer."
-
-#: src/settings_translation_file.cpp
msgid "Variation of maximum mountain height (in nodes)."
msgstr "Varriierung der maximalen Berghöhe (in Blöcken)."
@@ -6579,6 +6766,14 @@ msgstr "Tonlautstärke"
#: src/settings_translation_file.cpp
msgid ""
+"Volume of all sounds.\n"
+"Requires the sound system to be enabled."
+msgstr ""
+"Lautstärke aller Töne.\n"
+"Dafür muss das Tonsystem aktiviert sein."
+
+#: 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"
@@ -6622,24 +6817,24 @@ msgid "Waving leaves"
msgstr "Wehende Blätter"
#: src/settings_translation_file.cpp
-msgid "Waving plants"
-msgstr "Wehende Pflanzen"
+msgid "Waving liquids"
+msgstr "Flüssigkeitswellen"
#: src/settings_translation_file.cpp
-msgid "Waving water"
-msgstr "Wasserwellen"
+msgid "Waving liquids wave height"
+msgstr "Flüssigkeitswellen: Wellenhöhe"
#: src/settings_translation_file.cpp
-msgid "Waving water wave height"
-msgstr "Wasserwellen: Wellenhöhe"
+msgid "Waving liquids wave speed"
+msgstr "Flüssigkeitswellen: Wellengeschwindigkeit"
#: src/settings_translation_file.cpp
-msgid "Waving water wave speed"
-msgstr "Wasserwellen: Wellengeschwindigkeit"
+msgid "Waving liquids wavelength"
+msgstr "Flüssigkeitswellen: Wellenlänge"
#: src/settings_translation_file.cpp
-msgid "Waving water wavelength"
-msgstr "Wasserwellen: Wellenlänge"
+msgid "Waving plants"
+msgstr "Wehende Pflanzen"
#: src/settings_translation_file.cpp
msgid ""
@@ -6693,10 +6888,14 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Whether FreeType fonts are used, requires FreeType support to be compiled in."
+"Whether FreeType fonts are used, requires FreeType support to be compiled "
+"in.\n"
+"If disabled, bitmap and XML vectors fonts are used instead."
msgstr ""
-"Ob FreeType-Schriften benutzt werden.\n"
-"Dafür muss Minetest mit FreeType-Unterstüzung kompiliert worden sein."
+"Ob FreeType-Schriften benutzt werden. Dafür muss FreeType-Unterstüzung "
+"einkompiliert worden sein.\n"
+"Falls deaktiviert, werden stattdessen Bitmap- und XML-Vektor-Schriften "
+"benutzt."
#: src/settings_translation_file.cpp
msgid "Whether node texture animations should be desynchronized per mapblock."
@@ -6731,6 +6930,19 @@ msgstr "Ob das Ende des sichtbaren Gebietes im Nebel verschwinden soll."
#: src/settings_translation_file.cpp
msgid ""
+"Whether to mute sounds. You can unmute sounds at any time, unless the\n"
+"sound system is disabled (enable_sound=false).\n"
+"In-game, you can toggle the mute state with the mute key or by using the\n"
+"pause menu."
+msgstr ""
+"Ob die Töne stummgeschaltet werden. Man kann die Töne jederzeit "
+"stummschalten,\n"
+"außer, wenn das Tonsystem ausgeschaltet wurde (enable_sound=false).\n"
+"Im Spiel können die Töne mit der Stummtaste oder mit Hilfe des\n"
+"Pausemenüs stummgeschaltet werden."
+
+#: src/settings_translation_file.cpp
+msgid ""
"Whether to show the client debug info (has the same effect as hitting F5)."
msgstr ""
"Ob der Client Debug-Informationen zeigen soll (hat die selbe Wirkung\n"
@@ -6816,12 +7028,6 @@ msgid "Y-level of cavern upper limit."
msgstr "Y-Höhe der Obergrenze von Hohlräumen."
#: src/settings_translation_file.cpp
-msgid "Y-level of floatland midpoint and lake surface."
-msgstr ""
-"Y-Höhe vom Mittelpunkt der Schwebeländer sowie\n"
-"des Wasserspiegels von Seen."
-
-#: src/settings_translation_file.cpp
msgid "Y-level of higher terrain that creates cliffs."
msgstr "Y-Höhe von erhöhtem Gelände, welches Klippen erzeugt."
@@ -6834,10 +7040,6 @@ msgid "Y-level of seabed."
msgstr "Y-Höhe vom Meeresgrund."
#: src/settings_translation_file.cpp
-msgid "Y-level to which floatland shadows extend."
-msgstr "Y-Höhe, bis zu der sich die Schatten der Schwebeländer ausbreiten."
-
-#: src/settings_translation_file.cpp
msgid "cURL file download timeout"
msgstr "cURL-Dateidownload-Zeitüberschreitung"
@@ -6849,6 +7051,129 @@ msgstr "cURL-Parallel-Begrenzung"
msgid "cURL timeout"
msgstr "cURL-Zeitüberschreitung"
+#~ 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 ""
+#~ "Ändert die Gammakodierung der Lichttabellen. Kleinere Werte sind heller.\n"
+#~ "Diese Einstellung ist rein clientseitig und wird vom Server ignoriert."
+
+#~ msgid "Alters how mountain-type floatlands taper above and below midpoint."
+#~ msgstr ""
+#~ "Verändert, wie Schwebeländer des Bergtyps sich über und unter dem "
+#~ "Mittelpunkt zuspitzen."
+
+#~ msgid "Center of light curve mid-boost."
+#~ msgstr "Mitte der Lichtkurven-Mittenverstärkung."
+
+#~ msgid ""
+#~ "Controls the density of mountain-type floatlands.\n"
+#~ "Is a noise offset added to the 'mgv7_np_mountain' noise value."
+#~ msgstr ""
+#~ "Legt die Dichte von Gebirgen in den Schwebeländern fest.\n"
+#~ "Dies ist ein Versatz, der zum Rauschwert „mgv7_np_mountain“ addiert wird."
+
+#~ msgid "Controls width of tunnels, a smaller value creates wider tunnels."
+#~ msgstr ""
+#~ "Legt die Breite von Tunneln fest; ein kleinerer Wert erzeugt breitere "
+#~ "Tunnel."
+
+#~ msgid "Darkness sharpness"
+#~ msgstr "Dunkelheits-Steilheit"
+
+#~ msgid ""
+#~ "Defines areas of floatland smooth terrain.\n"
+#~ "Smooth floatlands occur when noise > 0."
+#~ msgstr ""
+#~ "Definiert Gebiete von ruhig verlaufendem\n"
+#~ "Gelände in den Schwebeländern. Weiche\n"
+#~ "Schwebeländer treten auf, wenn der\n"
+#~ "Rauschwert > 0 ist."
+
+#~ msgid ""
+#~ "Deprecated, define and locate cave liquids using biome definitions "
+#~ "instead.\n"
+#~ "Y of upper limit of lava in large caves."
+#~ msgstr ""
+#~ "Misbilligte Einstellung. Definieren/Finden Sie statdessen "
+#~ "Höhlenflüssigkeiten in Biomdefinitionen.\n"
+#~ "Y der Obergrenze von Lava in großen Höhlen."
+
+#~ msgid "Enable VBO"
+#~ msgstr "VBO aktivieren"
+
+#~ msgid "Enables filmic tone mapping"
+#~ msgstr "Aktiviert filmisches Tone-Mapping"
+
+#~ msgid "Floatland base height noise"
+#~ msgstr "Schwebeland-Basishöhenrauschen"
+
+#~ msgid "Floatland base noise"
+#~ msgstr "Schwebelandbasisrauschen"
+
+#~ msgid "Floatland level"
+#~ msgstr "Schwebelandhöhe"
+
+#~ msgid "Floatland mountain density"
+#~ msgstr "Schwebelandbergdichte"
+
+#~ msgid "Floatland mountain exponent"
+#~ msgstr "Schwebelandbergexponent"
+
+#~ msgid "Floatland mountain height"
+#~ msgstr "Schwebelandberghöhe"
+
+#~ msgid "Font shadow alpha (opaqueness, between 0 and 255)."
+#~ msgstr ""
+#~ "Undurchsichtigkeit des Schattens der Schrift (Wert zwischen 0 und 255)."
+
+#~ msgid "Gamma"
+#~ msgstr "Gamma"
+
+#~ msgid "IPv6 support."
+#~ msgstr "IPv6-Unterstützung."
+
+#~ msgid "Lava depth"
+#~ msgstr "Lavatiefe"
+
+#~ msgid "Lightness sharpness"
+#~ msgstr "Helligkeitsschärfe"
+
+#~ msgid "Path to TrueTypeFont or bitmap."
+#~ msgstr "Pfad zu einer TrueType- oder Bitmap-Schrift."
+
+#~ msgid "Shadow limit"
+#~ msgstr "Schattenbegrenzung"
+
+#~ msgid "Strength of light curve mid-boost."
+#~ msgstr "Stärke der Lichtkurven-Mittenverstärkung."
+
+#~ msgid "This font will be used for certain languages."
+#~ msgstr "Diese Schrift wird von bestimmten Sprachen benutzt."
+
+#~ msgid ""
+#~ "Typical maximum height, above and below midpoint, of floatland mountains."
+#~ msgstr ""
+#~ "Typische Maximalhöhe, über und unter dem Mittelpunkt von Gebirgen in den\n"
+#~ "Schwebeländern."
+
+#~ msgid "Variation of hill height and lake depth on floatland smooth terrain."
+#~ msgstr ""
+#~ "Variierung der Hügelhöhe und Seetiefe in den ruhig verlaufenden\n"
+#~ "Regionen der Schwebeländer."
+
+#~ msgid "Waving water"
+#~ msgstr "Wasserwellen"
+
+#~ msgid "Y-level of floatland midpoint and lake surface."
+#~ msgstr ""
+#~ "Y-Höhe vom Mittelpunkt der Schwebeländer sowie\n"
+#~ "des Wasserspiegels von Seen."
+
+#~ msgid "Y-level to which floatland shadows extend."
+#~ msgstr "Y-Höhe, bis zu der sich die Schatten der Schwebeländer ausbreiten."
+
#~ msgid "Projecting dungeons"
#~ msgstr "Herausragende Verliese"
diff --git a/po/dv/minetest.po b/po/dv/minetest.po
index c96ac042e..41710bda4 100644
--- a/po/dv/minetest.po
+++ b/po/dv/minetest.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Dhivehi (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-10-09 22:02+0200\n"
+"POT-Creation-Date: 2020-04-03 23:18+0200\n"
"PO-Revision-Date: 2019-11-10 15:04+0000\n"
"Last-Translator: Krock <mk939@ymail.com>\n"
"Language-Team: Dhivehi <https://hosted.weblate.org/projects/minetest/"
@@ -404,14 +404,25 @@ msgstr ""
msgid "Z spread"
msgstr ""
+#. ~ "absvalue" is a noise parameter flag.
+#. It is short for "absolute value".
+#. It can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "absvalue"
msgstr ""
+#. ~ "defaults" is a noise parameter flag.
+#. It describes the default processing options
+#. for noise settings in main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "defaults"
msgstr ""
+#. ~ "eased" is a noise parameter flag.
+#. It is used to make the map smoother and
+#. can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "eased"
msgstr ""
@@ -632,6 +643,7 @@ msgstr "Þ•Þ§ÞÞ°ÞˆÞ¯Þ‘Þ° / Þ‚Þ¦Þ‚Þ°"
msgid "Ping"
msgstr ""
+#. ~ PvP = Player versus Player
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "PvP enabled"
msgstr "Þ•Þ©.ÞˆÞ©.Þ•Þ© Þ–Þ¦Þ‡Þ°ÞÞ§"
@@ -876,6 +888,14 @@ msgstr ""
msgid "Provided world path doesn't exist: "
msgstr ""
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string. Put either "no" or "yes"
+#. into the translation field (literally).
+#. Choose "yes" if the language requires use of the fallback
+#. font, "no" otherwise.
+#. The fallback font is (normally) required for languages with
+#. non-Latin script, like Chinese.
+#. When in doubt, test your translation.
#: src/client/fontengine.cpp
msgid "needs_fallback_font"
msgstr "yes"
@@ -910,6 +930,7 @@ msgstr ""
msgid "- Public: "
msgstr ""
+#. ~ PvP = Player versus Player
#: src/client/game.cpp
msgid "- PvP: "
msgstr ""
@@ -1354,6 +1375,7 @@ msgstr ""
msgid "Left Windows"
msgstr ""
+#. ~ Key name, common on Windows keyboards
#: src/client/keycode.cpp
msgid "Menu"
msgstr "Þ‰Þ¬Þ‚Þ«"
@@ -1446,6 +1468,7 @@ msgstr ""
msgid "Play"
msgstr ""
+#. ~ "Print screen" key
#: src/client/keycode.cpp
msgid "Print"
msgstr ""
@@ -1482,6 +1505,7 @@ msgstr ""
msgid "Scroll Lock"
msgstr ""
+#. ~ Key name
#: src/client/keycode.cpp
msgid "Select"
msgstr "އިހްތިޔާރުކުރޭ"
@@ -1717,11 +1741,16 @@ msgstr ""
msgid "Sound Volume: "
msgstr ""
+#. ~ Imperative, as in "Enter/type in text".
+#. Don't forget the space.
#: src/gui/modalMenu.cpp
msgid "Enter "
msgstr ""
-#: src/network/clientpackethandler.cpp
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string which needs to contain the translation's
+#. language code (e.g. "de" for German).
+#: src/network/clientpackethandler.cpp src/script/lua_api/l_client.cpp
msgid "LANG_CODE"
msgstr "dv"
@@ -1744,7 +1773,7 @@ msgid ""
"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"
+"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."
@@ -1910,18 +1939,16 @@ msgid ""
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."
+msgid ""
+"Alters the light curve by applying 'gamma correction' to it.\n"
+"Higher values make middle and lower light levels brighter.\n"
+"Value '1.0' leaves the light curve unaltered.\n"
+"This only has significant effect on daylight and artificial\n"
+"light, it has very little effect on natural night light."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2071,6 +2098,22 @@ msgid "Block send optimize distance"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Bold and italic font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bold and italic monospace font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bold font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bold monospace font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Build inside player"
msgstr ""
@@ -2084,8 +2127,8 @@ 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"
+"Camera 'near clipping plane' distance in nodes, between 0 and 0.25\n"
+"Only works on GLES platforms. 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 ""
@@ -2147,7 +2190,9 @@ msgid "Cavern upper limit"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Center of light curve mid-boost."
+msgid ""
+"Center of light curve boost range.\n"
+"Where 0.0 is minimum light level, 1.0 is maximum light level."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2343,12 +2388,9 @@ 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."
+"Controls width of tunnels, a smaller value creates wider tunnels.\n"
+"Value >= 10.0 completely disables generation of tunnels and avoids the\n"
+"intensive noise calculations."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2384,10 +2426,6 @@ msgid "Damage"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Darkness sharpness"
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Debug info toggle key"
msgstr ""
@@ -2404,7 +2442,7 @@ msgid "Dec. volume key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Decrease this to increase liquid resistence to movement."
+msgid "Decrease this to increase liquid resistance to movement."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2446,12 +2484,6 @@ msgid ""
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 ""
@@ -2528,12 +2560,6 @@ 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 ""
@@ -2607,12 +2633,14 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Enable Lua modding support on client.\n"
-"This support is experimental and API can change."
+"Enable IPv6 support (for both client and server).\n"
+"Required for IPv6 connections to work at all."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Enable VBO"
+msgid ""
+"Enable Lua modding support on client.\n"
+"This support is experimental and API can change."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2678,6 +2706,12 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Enable vertex buffer objects.\n"
+"This should greatly improve graphics performance."
+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 ""
@@ -2685,7 +2719,16 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Enable/disable running an IPv6 server.\n"
-"Ignored if bind_address is set."
+"Ignored if bind_address is set.\n"
+"Needs enable_ipv6 to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Enables Hable's 'Uncharted 2' filmic tone mapping.\n"
+"Simulates the tone curve of photographic film and how this approximates the\n"
+"appearance of high dynamic range images. Mid-range contrast is slightly\n"
+"enhanced, highlights and shadows are gradually compressed."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2705,10 +2748,6 @@ 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 ""
@@ -2725,6 +2764,14 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Enables the sound system.\n"
+"If disabled, this completely disables all sounds everywhere and the in-game\n"
+"sound controls will be non-functional.\n"
+"Changing this setting requires a restart."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Engine profiling data print interval"
msgstr ""
@@ -2755,7 +2802,7 @@ msgid "Fall bobbing factor"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Fallback font"
+msgid "Fallback font path"
msgstr ""
#: src/settings_translation_file.cpp
@@ -2848,30 +2895,6 @@ 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 ""
@@ -2892,7 +2915,11 @@ msgid "Fog toggle key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font path"
+msgid "Font bold by default"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font italic by default"
msgstr ""
#: src/settings_translation_file.cpp
@@ -2904,15 +2931,19 @@ msgid "Font shadow alpha"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font shadow alpha (opaqueness, between 0 and 255)."
+msgid "Font size"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font shadow offset, if 0 then shadow will not be drawn."
+msgid "Font size of the default font in point (pt)."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font size"
+msgid "Font size of the fallback font in point (pt)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font size of the monospace font in point (pt)."
msgstr ""
#: src/settings_translation_file.cpp
@@ -3023,10 +3054,6 @@ msgid "GUI scaling filter txr2img"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gamma"
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Generate normalmaps"
msgstr ""
@@ -3042,11 +3069,15 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at maximum light level."
+msgid ""
+"Gradient of light curve at maximum light level.\n"
+"Controls the contrast of the highest light levels."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at minimum light level."
+msgid ""
+"Gradient of light curve at minimum light level.\n"
+"Controls the contrast of the lowest light levels."
msgstr ""
#: src/settings_translation_file.cpp
@@ -3079,7 +3110,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Handling for deprecated lua api calls:\n"
+"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)."
@@ -3306,6 +3337,13 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"How fast liquid waves will move. Higher = faster.\n"
+"If negative, liquid waves will move backwards.\n"
+"Requires waving liquids to be enabled."
+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 ""
@@ -3335,10 +3373,6 @@ 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."
@@ -3513,6 +3547,14 @@ msgid "Invert vertical mouse movement."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Italic font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Italic monospace font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Item entity TTL"
msgstr ""
@@ -4108,11 +4150,19 @@ msgid "Large cave depth"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Large chat console key"
+msgid "Large cave maximum number"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Lava depth"
+msgid "Large cave minimum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large cave proportion flooded"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large chat console key"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4139,6 +4189,12 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Length of liquid waves.\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Length of time between Active Block Modifier (ABM) execution cycles"
msgstr ""
@@ -4163,19 +4219,27 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost"
+msgid "Light curve boost"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost center"
+msgid "Light curve boost center"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost spread"
+msgid "Light curve boost spread"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Lightness sharpness"
+msgid "Light curve gamma"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve high gradient"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve low gradient"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4281,25 +4345,25 @@ 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."
+"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 flat.\n"
+"Map generation attributes specific to Mapgen Fractal.\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."
+"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
@@ -4455,8 +4519,16 @@ msgid "Maximum hotbar width"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of large caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
-"Maximum liquid resistence. Controls deceleration when entering liquid at\n"
+"Maximum liquid resistance. Controls deceleration when entering liquid at\n"
"high speed."
msgstr ""
@@ -4577,6 +4649,14 @@ msgid "Minimap scan height"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of large caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Minimum texture size"
msgstr ""
@@ -4666,7 +4746,7 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Near clipping plane"
+msgid "Near plane"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4753,6 +4833,16 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Opaqueness (alpha) of the shadow behind the default font, between 0 and 255."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Opaqueness (alpha) of the shadow behind the fallback font, between 0 and 255."
+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."
@@ -4791,7 +4881,12 @@ msgid "Parallax occlusion strength"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Path to TrueTypeFont or bitmap."
+msgid ""
+"Path of the fallback font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font will be used for certain languages or if the default font is "
+"unavailable."
msgstr ""
#: src/settings_translation_file.cpp
@@ -4809,6 +4904,22 @@ msgid "Path to texture directory. All textures are first searched from here."
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Path to the default font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"The fallback font will be used if the font cannot be loaded."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Path to the monospace font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font is used for e.g. the console and profiler screen."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Pause on lost window focus"
msgstr ""
@@ -4881,6 +4992,10 @@ msgid "Profiling"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Proportion of large caves that contain liquid."
+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 "
@@ -4904,6 +5019,10 @@ msgid "Recent Chat Messages"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Regular font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Remote media"
msgstr ""
@@ -5094,24 +5213,24 @@ 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."
+"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
@@ -5162,19 +5281,19 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving leaves.\n"
+"Set to true to enable waving leaves.\n"
"Requires shaders to be enabled."
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving plants.\n"
+"Set to true to enable waving liquids (like water).\n"
"Requires shaders to be enabled."
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving water.\n"
+"Set to true to enable waving plants.\n"
"Requires shaders to be enabled."
msgstr ""
@@ -5191,7 +5310,15 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Shadow limit"
+msgid ""
+"Shadow offset (in pixels) of the default font. If 0, then shadow will not be "
+"drawn."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not "
+"be drawn."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5236,6 +5363,14 @@ msgid "Slope and fill work together to modify the heights."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Small cave maximum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Small cave minimum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Small-scale humidity variation for blending biomes on borders."
msgstr ""
@@ -5295,8 +5430,9 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Spread of light curve mid-boost.\n"
-"Standard deviation of the mid-boost gaussian."
+"Spread of light curve boost range.\n"
+"Controls the width of the range to be boosted.\n"
+"Standard deviation of the light curve boost Gaussian."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5320,7 +5456,10 @@ msgid "Strength of generated normalmaps."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Strength of light curve mid-boost."
+msgid ""
+"Strength of light curve boost.\n"
+"The 3 'boost' parameters define a range of the light\n"
+"curve that is boosted in brightness."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5423,6 +5562,15 @@ msgid "The length in pixels it takes for touch screen interaction to start."
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"The maximum height of the surface of waving liquids.\n"
+"4.0 = Wave height is two nodes.\n"
+"0.0 = Wave doesn't move at all.\n"
+"Default is 1.0 (1/2 node).\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "The network interface that the server listens on."
msgstr ""
@@ -5503,10 +5651,6 @@ 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."
@@ -5560,7 +5704,7 @@ msgstr ""
msgid ""
"True = 256\n"
"False = 128\n"
-"Useable to make minimap smoother on slower machines."
+"Usable to make minimap smoother on slower machines."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5568,11 +5712,6 @@ 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 ""
@@ -5657,10 +5796,6 @@ 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 ""
@@ -5734,6 +5869,12 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Volume of all sounds.\n"
+"Requires the sound system to be enabled."
+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"
@@ -5770,23 +5911,23 @@ msgid "Waving leaves"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving plants"
+msgid "Waving liquids"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water"
+msgid "Waving liquids wave height"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water wave height"
+msgid "Waving liquids wave speed"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water wave speed"
+msgid "Waving liquids wavelength"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water wavelength"
+msgid "Waving plants"
msgstr ""
#: src/settings_translation_file.cpp
@@ -5819,7 +5960,9 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Whether FreeType fonts are used, requires FreeType support to be compiled in."
+"Whether FreeType fonts are used, requires FreeType support to be compiled "
+"in.\n"
+"If disabled, bitmap and XML vectors fonts are used instead."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5848,6 +5991,14 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Whether to mute sounds. You can unmute sounds at any time, unless the\n"
+"sound system is disabled (enable_sound=false).\n"
+"In-game, you can toggle the mute state with the mute key or by using the\n"
+"pause menu."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
"Whether to show the client debug info (has the same effect as hitting F5)."
msgstr ""
@@ -5918,10 +6069,6 @@ 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 ""
@@ -5934,10 +6081,6 @@ 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 ""
diff --git a/po/el/minetest.po b/po/el/minetest.po
index e04c1a137..916bc48da 100644
--- a/po/el/minetest.po
+++ b/po/el/minetest.po
@@ -2,9 +2,9 @@ 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: 2020-01-11 18:26+0000\n"
-"Last-Translator: rubenwardy <rubenwardy@gmail.com>\n"
+"POT-Creation-Date: 2020-04-03 23:18+0200\n"
+"PO-Revision-Date: 2020-03-31 20:29+0000\n"
+"Last-Translator: THANOS SIOURDAKIS <siourdakisthanos@gmail.com>\n"
"Language-Team: Greek <https://hosted.weblate.org/projects/minetest/minetest/"
"el/>\n"
"Language: el\n"
@@ -12,7 +12,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 3.10.1\n"
+"X-Generator: Weblate 4.0-dev\n"
#: builtin/client/death_formspec.lua src/client/game.cpp
msgid "Respawn"
@@ -92,7 +92,7 @@ msgstr "ΕξαÏτήσεις:"
#: builtin/mainmenu/dlg_config_world.lua
msgid "Disable all"
-msgstr ""
+msgstr "ΑπενεÏγοποίηση όλων"
#: builtin/mainmenu/dlg_config_world.lua
msgid "Disable modpack"
@@ -100,7 +100,7 @@ msgstr ""
#: builtin/mainmenu/dlg_config_world.lua
msgid "Enable all"
-msgstr ""
+msgstr "ΕνεÏγοποίηση όλων"
#: builtin/mainmenu/dlg_config_world.lua
msgid "Enable modpack"
@@ -118,11 +118,11 @@ msgstr ""
#: builtin/mainmenu/dlg_config_world.lua
msgid "No (optional) dependencies"
-msgstr ""
+msgstr "Δεν υπάÏχουν (Ï€ÏοαιÏετικές) εξαÏτήσεις"
#: builtin/mainmenu/dlg_config_world.lua
msgid "No game description provided."
-msgstr ""
+msgstr "Δεν παÏέχεται πεÏιγÏαφή παιχνιδιοÏ."
#: builtin/mainmenu/dlg_config_world.lua
msgid "No hard dependencies"
@@ -397,14 +397,25 @@ msgstr ""
msgid "Z spread"
msgstr ""
+#. ~ "absvalue" is a noise parameter flag.
+#. It is short for "absolute value".
+#. It can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "absvalue"
msgstr ""
+#. ~ "defaults" is a noise parameter flag.
+#. It describes the default processing options
+#. for noise settings in main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "defaults"
msgstr ""
+#. ~ "eased" is a noise parameter flag.
+#. It is used to make the map smoother and
+#. can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "eased"
msgstr ""
@@ -613,6 +624,7 @@ msgstr ""
msgid "Ping"
msgstr ""
+#. ~ PvP = Player versus Player
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "PvP enabled"
msgstr ""
@@ -857,6 +869,14 @@ msgstr ""
msgid "Provided world path doesn't exist: "
msgstr ""
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string. Put either "no" or "yes"
+#. into the translation field (literally).
+#. Choose "yes" if the language requires use of the fallback
+#. font, "no" otherwise.
+#. The fallback font is (normally) required for languages with
+#. non-Latin script, like Chinese.
+#. When in doubt, test your translation.
#: src/client/fontengine.cpp
msgid "needs_fallback_font"
msgstr "yes"
@@ -891,6 +911,7 @@ msgstr ""
msgid "- Public: "
msgstr ""
+#. ~ PvP = Player versus Player
#: src/client/game.cpp
msgid "- PvP: "
msgstr ""
@@ -1315,6 +1336,7 @@ msgstr ""
msgid "Left Windows"
msgstr ""
+#. ~ Key name, common on Windows keyboards
#: src/client/keycode.cpp
msgid "Menu"
msgstr ""
@@ -1407,6 +1429,7 @@ msgstr ""
msgid "Play"
msgstr ""
+#. ~ "Print screen" key
#: src/client/keycode.cpp
msgid "Print"
msgstr ""
@@ -1443,6 +1466,7 @@ msgstr ""
msgid "Scroll Lock"
msgstr ""
+#. ~ Key name
#: src/client/keycode.cpp
msgid "Select"
msgstr ""
@@ -1677,11 +1701,16 @@ msgstr ""
msgid "Sound Volume: "
msgstr ""
+#. ~ Imperative, as in "Enter/type in text".
+#. Don't forget the space.
#: src/gui/modalMenu.cpp
msgid "Enter "
msgstr ""
-#: src/network/clientpackethandler.cpp
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string which needs to contain the translation's
+#. language code (e.g. "de" for German).
+#: src/network/clientpackethandler.cpp src/script/lua_api/l_client.cpp
msgid "LANG_CODE"
msgstr "el"
@@ -1704,7 +1733,7 @@ msgid ""
"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"
+"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."
@@ -1867,18 +1896,16 @@ msgid ""
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."
+msgid ""
+"Alters the light curve by applying 'gamma correction' to it.\n"
+"Higher values make middle and lower light levels brighter.\n"
+"Value '1.0' leaves the light curve unaltered.\n"
+"This only has significant effect on daylight and artificial\n"
+"light, it has very little effect on natural night light."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2027,6 +2054,22 @@ msgid "Block send optimize distance"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Bold and italic font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bold and italic monospace font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bold font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bold monospace font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Build inside player"
msgstr ""
@@ -2040,8 +2083,8 @@ 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"
+"Camera 'near clipping plane' distance in nodes, between 0 and 0.25\n"
+"Only works on GLES platforms. 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 ""
@@ -2103,7 +2146,9 @@ msgid "Cavern upper limit"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Center of light curve mid-boost."
+msgid ""
+"Center of light curve boost range.\n"
+"Where 0.0 is minimum light level, 1.0 is maximum light level."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2298,12 +2343,9 @@ 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."
+"Controls width of tunnels, a smaller value creates wider tunnels.\n"
+"Value >= 10.0 completely disables generation of tunnels and avoids the\n"
+"intensive noise calculations."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2339,10 +2381,6 @@ msgid "Damage"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Darkness sharpness"
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Debug info toggle key"
msgstr ""
@@ -2359,7 +2397,7 @@ msgid "Dec. volume key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Decrease this to increase liquid resistence to movement."
+msgid "Decrease this to increase liquid resistance to movement."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2399,12 +2437,6 @@ msgid ""
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 ""
@@ -2481,12 +2513,6 @@ 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 ""
@@ -2560,12 +2586,14 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Enable Lua modding support on client.\n"
-"This support is experimental and API can change."
+"Enable IPv6 support (for both client and server).\n"
+"Required for IPv6 connections to work at all."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Enable VBO"
+msgid ""
+"Enable Lua modding support on client.\n"
+"This support is experimental and API can change."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2631,6 +2659,12 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Enable vertex buffer objects.\n"
+"This should greatly improve graphics performance."
+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 ""
@@ -2638,7 +2672,16 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Enable/disable running an IPv6 server.\n"
-"Ignored if bind_address is set."
+"Ignored if bind_address is set.\n"
+"Needs enable_ipv6 to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Enables Hable's 'Uncharted 2' filmic tone mapping.\n"
+"Simulates the tone curve of photographic film and how this approximates the\n"
+"appearance of high dynamic range images. Mid-range contrast is slightly\n"
+"enhanced, highlights and shadows are gradually compressed."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2658,10 +2701,6 @@ 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 ""
@@ -2678,6 +2717,14 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Enables the sound system.\n"
+"If disabled, this completely disables all sounds everywhere and the in-game\n"
+"sound controls will be non-functional.\n"
+"Changing this setting requires a restart."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Engine profiling data print interval"
msgstr ""
@@ -2708,7 +2755,7 @@ msgid "Fall bobbing factor"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Fallback font"
+msgid "Fallback font path"
msgstr ""
#: src/settings_translation_file.cpp
@@ -2801,30 +2848,6 @@ 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 ""
@@ -2845,7 +2868,11 @@ msgid "Fog toggle key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font path"
+msgid "Font bold by default"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font italic by default"
msgstr ""
#: src/settings_translation_file.cpp
@@ -2857,15 +2884,19 @@ msgid "Font shadow alpha"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font shadow alpha (opaqueness, between 0 and 255)."
+msgid "Font size"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font shadow offset, if 0 then shadow will not be drawn."
+msgid "Font size of the default font in point (pt)."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font size"
+msgid "Font size of the fallback font in point (pt)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font size of the monospace font in point (pt)."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2976,10 +3007,6 @@ msgid "GUI scaling filter txr2img"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gamma"
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Generate normalmaps"
msgstr ""
@@ -2995,11 +3022,15 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at maximum light level."
+msgid ""
+"Gradient of light curve at maximum light level.\n"
+"Controls the contrast of the highest light levels."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at minimum light level."
+msgid ""
+"Gradient of light curve at minimum light level.\n"
+"Controls the contrast of the lowest light levels."
msgstr ""
#: src/settings_translation_file.cpp
@@ -3032,7 +3063,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Handling for deprecated lua api calls:\n"
+"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)."
@@ -3259,6 +3290,13 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"How fast liquid waves will move. Higher = faster.\n"
+"If negative, liquid waves will move backwards.\n"
+"Requires waving liquids to be enabled."
+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 ""
@@ -3288,10 +3326,6 @@ 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."
@@ -3466,6 +3500,14 @@ msgid "Invert vertical mouse movement."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Italic font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Italic monospace font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Item entity TTL"
msgstr ""
@@ -4061,11 +4103,19 @@ msgid "Large cave depth"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Large chat console key"
+msgid "Large cave maximum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large cave minimum number"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Lava depth"
+msgid "Large cave proportion flooded"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large chat console key"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4092,6 +4142,12 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Length of liquid waves.\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Length of time between Active Block Modifier (ABM) execution cycles"
msgstr ""
@@ -4116,19 +4172,27 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost"
+msgid "Light curve boost"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve boost center"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve boost spread"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost center"
+msgid "Light curve gamma"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost spread"
+msgid "Light curve high gradient"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Lightness sharpness"
+msgid "Light curve low gradient"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4233,25 +4297,25 @@ 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."
+"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 flat.\n"
+"Map generation attributes specific to Mapgen Fractal.\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."
+"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
@@ -4401,8 +4465,16 @@ msgid "Maximum hotbar width"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of large caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
-"Maximum liquid resistence. Controls deceleration when entering liquid at\n"
+"Maximum liquid resistance. Controls deceleration when entering liquid at\n"
"high speed."
msgstr ""
@@ -4523,6 +4595,14 @@ msgid "Minimap scan height"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of large caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Minimum texture size"
msgstr ""
@@ -4609,7 +4689,7 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Near clipping plane"
+msgid "Near plane"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4696,6 +4776,16 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Opaqueness (alpha) of the shadow behind the default font, between 0 and 255."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Opaqueness (alpha) of the shadow behind the fallback font, between 0 and 255."
+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."
@@ -4734,7 +4824,12 @@ msgid "Parallax occlusion strength"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Path to TrueTypeFont or bitmap."
+msgid ""
+"Path of the fallback font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font will be used for certain languages or if the default font is "
+"unavailable."
msgstr ""
#: src/settings_translation_file.cpp
@@ -4752,6 +4847,22 @@ msgid "Path to texture directory. All textures are first searched from here."
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Path to the default font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"The fallback font will be used if the font cannot be loaded."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Path to the monospace font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font is used for e.g. the console and profiler screen."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Pause on lost window focus"
msgstr ""
@@ -4824,6 +4935,10 @@ msgid "Profiling"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Proportion of large caves that contain liquid."
+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 "
@@ -4847,6 +4962,10 @@ msgid "Recent Chat Messages"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Regular font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Remote media"
msgstr ""
@@ -5037,24 +5156,24 @@ 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."
+"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
@@ -5105,19 +5224,19 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving leaves.\n"
+"Set to true to enable waving leaves.\n"
"Requires shaders to be enabled."
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving plants.\n"
+"Set to true to enable waving liquids (like water).\n"
"Requires shaders to be enabled."
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving water.\n"
+"Set to true to enable waving plants.\n"
"Requires shaders to be enabled."
msgstr ""
@@ -5134,7 +5253,15 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Shadow limit"
+msgid ""
+"Shadow offset (in pixels) of the default font. If 0, then shadow will not be "
+"drawn."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not "
+"be drawn."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5179,6 +5306,14 @@ msgid "Slope and fill work together to modify the heights."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Small cave maximum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Small cave minimum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Small-scale humidity variation for blending biomes on borders."
msgstr ""
@@ -5238,8 +5373,9 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Spread of light curve mid-boost.\n"
-"Standard deviation of the mid-boost gaussian."
+"Spread of light curve boost range.\n"
+"Controls the width of the range to be boosted.\n"
+"Standard deviation of the light curve boost Gaussian."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5263,7 +5399,10 @@ msgid "Strength of generated normalmaps."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Strength of light curve mid-boost."
+msgid ""
+"Strength of light curve boost.\n"
+"The 3 'boost' parameters define a range of the light\n"
+"curve that is boosted in brightness."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5366,6 +5505,15 @@ msgid "The length in pixels it takes for touch screen interaction to start."
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"The maximum height of the surface of waving liquids.\n"
+"4.0 = Wave height is two nodes.\n"
+"0.0 = Wave doesn't move at all.\n"
+"Default is 1.0 (1/2 node).\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "The network interface that the server listens on."
msgstr ""
@@ -5446,10 +5594,6 @@ 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."
@@ -5503,7 +5647,7 @@ msgstr ""
msgid ""
"True = 256\n"
"False = 128\n"
-"Useable to make minimap smoother on slower machines."
+"Usable to make minimap smoother on slower machines."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5511,11 +5655,6 @@ 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 ""
@@ -5600,10 +5739,6 @@ 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 ""
@@ -5677,6 +5812,12 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Volume of all sounds.\n"
+"Requires the sound system to be enabled."
+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"
@@ -5713,23 +5854,23 @@ msgid "Waving leaves"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving plants"
+msgid "Waving liquids"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water"
+msgid "Waving liquids wave height"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water wave height"
+msgid "Waving liquids wave speed"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water wave speed"
+msgid "Waving liquids wavelength"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water wavelength"
+msgid "Waving plants"
msgstr ""
#: src/settings_translation_file.cpp
@@ -5762,7 +5903,9 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Whether FreeType fonts are used, requires FreeType support to be compiled in."
+"Whether FreeType fonts are used, requires FreeType support to be compiled "
+"in.\n"
+"If disabled, bitmap and XML vectors fonts are used instead."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5791,6 +5934,14 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Whether to mute sounds. You can unmute sounds at any time, unless the\n"
+"sound system is disabled (enable_sound=false).\n"
+"In-game, you can toggle the mute state with the mute key or by using the\n"
+"pause menu."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
"Whether to show the client debug info (has the same effect as hitting F5)."
msgstr ""
@@ -5860,10 +6011,6 @@ 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 ""
@@ -5876,10 +6023,6 @@ 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 ""
diff --git a/po/eo/minetest.po b/po/eo/minetest.po
index 8d866686a..8c46dafd0 100644
--- a/po/eo/minetest.po
+++ b/po/eo/minetest.po
@@ -2,9 +2,9 @@ msgid ""
msgstr ""
"Project-Id-Version: Esperanto (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-10-09 22:02+0200\n"
-"PO-Revision-Date: 2019-12-16 22:21+0000\n"
-"Last-Translator: Tirifto <tirifto@posteo.cz>\n"
+"POT-Creation-Date: 2020-04-03 23:18+0200\n"
+"PO-Revision-Date: 2020-03-31 10:14+0000\n"
+"Last-Translator: sfan5 <sfan5@live.de>\n"
"Language-Team: Esperanto <https://hosted.weblate.org/projects/minetest/"
"minetest/eo/>\n"
"Language: eo\n"
@@ -12,7 +12,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 3.10-dev\n"
+"X-Generator: Weblate 4.0-dev\n"
#: builtin/client/death_formspec.lua src/client/game.cpp
msgid "Respawn"
@@ -48,7 +48,7 @@ msgstr "La servilo petis rekonekton:"
#: builtin/mainmenu/common.lua src/client/game.cpp
msgid "Loading..."
-msgstr "Ŝargante…"
+msgstr "Enlegante…"
#: builtin/mainmenu/common.lua
msgid "Protocol version mismatch. "
@@ -160,11 +160,11 @@ msgstr "Ĉiuj pakaĵoj"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "Back"
-msgstr "Reen"
+msgstr "Reeniri"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "Back to Main Menu"
-msgstr "Reen al ĉefmenuo"
+msgstr "Reeniri al ĉefmenuo"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "Downloading and installing $1, please wait..."
@@ -248,7 +248,8 @@ msgstr "Fontnombro"
#: builtin/mainmenu/dlg_create_world.lua
msgid "Warning: The minimal development test is meant for developers."
-msgstr "Averto: La plejeta programista testo estas intencita por programistoj."
+msgstr ""
+"Averto: La minimuma programista testo estas intencita por programistoj."
#: builtin/mainmenu/dlg_create_world.lua
msgid "World name"
@@ -302,7 +303,7 @@ msgstr "(Neniu priskribo de agordo estas donita)"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "2D Noise"
-msgstr "2D-a bruo"
+msgstr "2d-a bruo"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "< Back to Settings page"
@@ -400,14 +401,25 @@ msgstr "Z"
msgid "Z spread"
msgstr "Z-disiÄo"
+#. ~ "absvalue" is a noise parameter flag.
+#. It is short for "absolute value".
+#. It can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "absvalue"
msgstr "absoluta valoro"
+#. ~ "defaults" is a noise parameter flag.
+#. It describes the default processing options
+#. for noise settings in main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "defaults"
msgstr "normoj"
+#. ~ "eased" is a noise parameter flag.
+#. It is used to make the map smoother and
+#. can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "eased"
msgstr "faciligita"
@@ -527,7 +539,7 @@ msgstr "Enlistigi servilon"
#: builtin/mainmenu/tab_local.lua
msgid "Bind Address"
-msgstr "Asocianta adreso"
+msgstr "Asocii adreso"
#: builtin/mainmenu/tab_local.lua
msgid "Configure"
@@ -617,6 +629,7 @@ msgstr "Nomo / Pasvorto"
msgid "Ping"
msgstr "Retprokrasto"
+#. ~ PvP = Player versus Player
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "PvP enabled"
msgstr "Dueloj Åaltitas"
@@ -819,7 +832,7 @@ msgstr "Pravalorigante monderojn…"
#: src/client/client.cpp
msgid "Loading textures..."
-msgstr "Ŝargante teksturojn…"
+msgstr "Enlegante teksturojn…"
#: src/client/client.cpp
msgid "Rebuilding shaders..."
@@ -831,7 +844,7 @@ msgstr "Konekta eraro (ĉu eltempiÄo?)"
#: src/client/clientlauncher.cpp
msgid "Could not find or load game \""
-msgstr "Ne povis trovi aÅ­ Åargi ludon \""
+msgstr "Ne povis trovi aÅ­ enlegi ludon \""
#: src/client/clientlauncher.cpp
msgid "Invalid gamespec."
@@ -861,9 +874,17 @@ msgstr "Malsukcesis malfermi donitan pasvortan dosieron: "
msgid "Provided world path doesn't exist: "
msgstr "Donita monda dosierindiko ne ekzistas: "
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string. Put either "no" or "yes"
+#. into the translation field (literally).
+#. Choose "yes" if the language requires use of the fallback
+#. font, "no" otherwise.
+#. The fallback font is (normally) required for languages with
+#. non-Latin script, like Chinese.
+#. When in doubt, test your translation.
#: src/client/fontengine.cpp
msgid "needs_fallback_font"
-msgstr "yes"
+msgstr "no"
#: src/client/game.cpp
msgid ""
@@ -897,6 +918,7 @@ msgstr "– Pordo: "
msgid "- Public: "
msgstr "– Publika: "
+#. ~ PvP = Player versus Player
#: src/client/game.cpp
msgid "- PvP: "
msgstr "– LkL: "
@@ -1206,12 +1228,12 @@ msgstr "Vidodistanco agordita al %d"
#: src/client/game.cpp
#, c-format
msgid "Viewing range is at maximum: %d"
-msgstr "Vidodistanco plejgrandas: %d"
+msgstr "Vidodistanco maksimumas: %d"
#: src/client/game.cpp
#, c-format
msgid "Viewing range is at minimum: %d"
-msgstr "Vidodistanco je la malplejgrando: %d"
+msgstr "Vidodistanco je la minimumo: %d"
#: src/client/game.cpp
#, c-format
@@ -1347,6 +1369,7 @@ msgstr "Maldekstra Majuskligo"
msgid "Left Windows"
msgstr "Maldekstra Vindozo"
+#. ~ Key name, common on Windows keyboards
#: src/client/keycode.cpp
msgid "Menu"
msgstr "Menuo"
@@ -1439,6 +1462,7 @@ msgstr "Haltigo"
msgid "Play"
msgstr "Ludi"
+#. ~ "Print screen" key
#: src/client/keycode.cpp
msgid "Print"
msgstr "Presi"
@@ -1475,6 +1499,7 @@ msgstr "Dekstra Vindozo"
msgid "Scroll Lock"
msgstr "Ruluma Baskulo"
+#. ~ Key name
#: src/client/keycode.cpp
msgid "Select"
msgstr "Elekti"
@@ -1714,11 +1739,16 @@ msgstr "Silentigita"
msgid "Sound Volume: "
msgstr "LaÅ­teco: "
+#. ~ Imperative, as in "Enter/type in text".
+#. Don't forget the space.
#: src/gui/modalMenu.cpp
msgid "Enter "
msgstr "Enigi "
-#: src/network/clientpackethandler.cpp
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string which needs to contain the translation's
+#. language code (e.g. "de" for German).
+#: src/network/clientpackethandler.cpp src/script/lua_api/l_client.cpp
msgid "LANG_CODE"
msgstr "eo"
@@ -1746,7 +1776,7 @@ msgid ""
"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"
+"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."
@@ -1754,7 +1784,7 @@ msgstr ""
"(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"
+"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"
@@ -1793,7 +1823,7 @@ 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 "2d-a bruo, kiu regas la formon/grandon de larÄaj montetoj."
+msgstr "2d-a bruo, kiu regas la formon/grandecon de mildaj montetoj."
#: src/settings_translation_file.cpp
msgid "2D noise that controls the shape/size of step mountains."
@@ -1805,16 +1835,15 @@ 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 "2d-a bruo, kiu regas la grandon/ofton de larÄaj montetoj."
+msgstr "2d-a bruo, kiu regas la grandecon/oftecon de mildaj montetoj."
#: src/settings_translation_file.cpp
msgid "2D noise that controls the size/occurrence of step mountain ranges."
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."
+msgstr "2d-a bruo, kiu lokas la riverajn valojn kaj kanalojn."
#: src/settings_translation_file.cpp
msgid "3D clouds"
@@ -1900,7 +1929,7 @@ msgstr "Intertempo de ABM (aktiva modifilo de monderoj)"
#: src/settings_translation_file.cpp
msgid "Absolute limit of emerge queues"
-msgstr "Plejgrando de mondestigaj vicoj"
+msgstr "Maksimumo de mondestigaj vicoj"
#: src/settings_translation_file.cpp
msgid "Acceleration in air"
@@ -1949,23 +1978,22 @@ msgstr ""
"kvarmilaj ekranoj."
#: 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 ""
-"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"
msgstr "Specialaj"
#: src/settings_translation_file.cpp
-msgid "Alters how mountain-type floatlands taper above and below midpoint."
+msgid ""
+"Alters the light curve by applying 'gamma correction' to it.\n"
+"Higher values make middle and lower light levels brighter.\n"
+"Value '1.0' leaves the light curve unaltered.\n"
+"This only has significant effect on daylight and artificial\n"
+"light, it has very little effect on natural night light."
msgstr ""
-"ÅœanÄas kiel montecaj fluginsuloj maldikiÄas super kaj sub la mezpunkto."
+"Modifas la luman kurbon per apliko de «gamaa korekto» al Äi.\n"
+"Pli altaj valoroj heligas mezajn kaj malaltajn lumnivelojn.\n"
+"Valoro «1.0» lasas la luman kurbon neÅanÄita.\n"
+"Ĉi tio nur grave efikas sur taglumo kaj artlumo; Äi nur\n"
+"tre malmulte efikas sur natura noktlumo."
#: src/settings_translation_file.cpp
msgid "Altitude chill"
@@ -2120,7 +2148,23 @@ msgstr "Bitoj bildere (aÅ­ kolornombro) en tutekrana reÄimo."
#: src/settings_translation_file.cpp
msgid "Block send optimize distance"
-msgstr "Optimuma distanco de bloko-sendado"
+msgstr "Optimuma distanco de monder-sendado"
+
+#: src/settings_translation_file.cpp
+msgid "Bold and italic font path"
+msgstr "Dosierindiko al egrasa kaj kursiva tiparo"
+
+#: src/settings_translation_file.cpp
+msgid "Bold and italic monospace font path"
+msgstr "Dosierindiko al grasa kaj kursiva egallarÄa tiparo"
+
+#: src/settings_translation_file.cpp
+msgid "Bold font path"
+msgstr "Dosierindiko al grasa tiparo"
+
+#: src/settings_translation_file.cpp
+msgid "Bold monospace font path"
+msgstr "Dosierindiko al grasa egallarÄa tiparo"
#: src/settings_translation_file.cpp
msgid "Build inside player"
@@ -2135,9 +2179,10 @@ msgid "Bumpmapping"
msgstr "Mapado de elstaraĵoj"
#: 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"
+"Camera 'near clipping plane' distance in nodes, between 0 and 0.25\n"
+"Only works on GLES platforms. 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 ""
@@ -2188,7 +2233,7 @@ msgstr "Kaverna limo"
#: src/settings_translation_file.cpp
msgid "Cavern noise"
-msgstr "Kaverna bruo"
+msgstr "Bruo de kavernoj"
#: src/settings_translation_file.cpp
msgid "Cavern taper"
@@ -2203,8 +2248,12 @@ msgid "Cavern upper limit"
msgstr "Supra limo de kavernoj"
#: src/settings_translation_file.cpp
-msgid "Center of light curve mid-boost."
+msgid ""
+"Center of light curve boost range.\n"
+"Where 0.0 is minimum light level, 1.0 is maximum light level."
msgstr ""
+"Centro de amplekso de pliigo de la luma kurbo.\n"
+"Kie 0.0 estas minimuma lumnivelo, 1.0 estas maksimuma numnivelo."
#: src/settings_translation_file.cpp
msgid ""
@@ -2423,16 +2472,13 @@ msgstr "Regas krutecon/altecon de montetoj."
#: 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."
+"Controls width of tunnels, a smaller value creates wider tunnels.\n"
+"Value >= 10.0 completely disables generation of tunnels and avoids the\n"
+"intensive noise calculations."
msgstr ""
-"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."
-msgstr ""
-"Regas larÄecon de tuneloj; pli malgranda valoro kreas pri larÄajn tunelojn."
+"Regas larÄon de tuneloj, pli malalta valoro kreas pli larÄajn tunelojn.\n"
+"Valoro ≥ 10.0 tute malÅaltas estigon de tuneloj kaj evitas la intensan\n"
+"kalkulojn de bruo."
#: src/settings_translation_file.cpp
msgid "Crash message"
@@ -2467,10 +2513,6 @@ msgid "Damage"
msgstr "Difekto"
#: src/settings_translation_file.cpp
-msgid "Darkness sharpness"
-msgstr "Akreco de mallumo"
-
-#: src/settings_translation_file.cpp
msgid "Debug info toggle key"
msgstr "Baskula klavo de erarserĉaj informoj"
@@ -2487,7 +2529,7 @@ msgid "Dec. volume key"
msgstr "MallaÅ­tiga klavo"
#: src/settings_translation_file.cpp
-msgid "Decrease this to increase liquid resistence to movement."
+msgid "Decrease this to increase liquid resistance to movement."
msgstr "Malpliigu ĉi tion por pliigi reziston de fluaĵoj al movo."
#: src/settings_translation_file.cpp
@@ -2531,14 +2573,6 @@ msgstr ""
"Nur efektiviÄas programtradukite kun cURL."
#: src/settings_translation_file.cpp
-msgid ""
-"Defines areas of floatland smooth terrain.\n"
-"Smooth floatlands occur when noise > 0."
-msgstr ""
-"Difinas zonojn de glata tereno sur fluginsuloj.\n"
-"Glataj fluginsuloj okazas kiam bruo superas nulon."
-
-#: src/settings_translation_file.cpp
msgid "Defines areas where trees have apples."
msgstr "Difinas zonojn kie arboj donas pomojn."
@@ -2587,7 +2621,7 @@ msgstr "Difinas la profundecon de la rivera akvovojo."
#: src/settings_translation_file.cpp
msgid "Defines the maximal player transfer distance in blocks (0 = unlimited)."
msgstr ""
-"Difinas plejgrandan distancon por transsendo de ludantoj, en monderoj (0 = "
+"Difinas maksimuman distancon por transsendo de ludantoj, en monderoj (0 = "
"senlima)."
#: src/settings_translation_file.cpp
@@ -2600,14 +2634,14 @@ msgstr "Difinas larÄecon de la rivera valo."
#: src/settings_translation_file.cpp
msgid "Defines tree areas and tree density."
-msgstr "Difinas arbajn zonojn kaj denson."
+msgstr "Difinas arbajn zonojn kaj densecon."
#: 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 ""
-"Prokrasto antaÅ­ Äisdatigo de maÅoj kliente (milisekunde).\n"
+"Prokrasto antaÅ­ Äisdatigo de maÅoj kliente (en milisekundoj).\n"
"Pli grandaj valoroj malrapidigas oftecon de ÅanÄoj, malhelpante postreston\n"
"je malrapidaj klientoj."
@@ -2624,15 +2658,6 @@ msgid "Deprecated Lua API handling"
msgstr "Traktado de evitinda 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 ""
-"Evitinda, difini kaj trovi kavernajn fluaĵojn anstataŭe per klimataj "
-"difinoj\n"
-"Y de supra limo de lafo en grandaj kavernoj."
-
-#: src/settings_translation_file.cpp
msgid "Depth below which you'll find giant caverns."
msgstr "Profundo sub kiu troveblos grandegaj kavernoj."
@@ -2702,7 +2727,7 @@ msgstr "Maksimuma Y de forgeskelo"
#: src/settings_translation_file.cpp
msgid "Dungeon minimum Y"
-msgstr "Plejeta Y de forgeskeloj"
+msgstr "Minimuma Y de forgeskeloj"
#: src/settings_translation_file.cpp
msgid "Dungeon noise"
@@ -2710,6 +2735,14 @@ msgstr "Bruo de forgeskeloj"
#: src/settings_translation_file.cpp
msgid ""
+"Enable IPv6 support (for both client and server).\n"
+"Required for IPv6 connections to work at all."
+msgstr ""
+"Åœalti subtenon de IPv6 (por kaj kliento kaj servilo).\n"
+"Bezonata por ia funkciado de IPv6-konektoj."
+
+#: src/settings_translation_file.cpp
+msgid ""
"Enable Lua modding support on client.\n"
"This support is experimental and API can change."
msgstr ""
@@ -2717,10 +2750,6 @@ msgstr ""
"Tiu ĉi funkcio estas prova kaj la API eble ÅanÄontas."
#: src/settings_translation_file.cpp
-msgid "Enable VBO"
-msgstr "Åœalti VBO(Vertex Buffer Object)"
-
-#: src/settings_translation_file.cpp
msgid "Enable console window"
msgstr "Åœalti konzolan fenestron"
@@ -2788,12 +2817,20 @@ msgid ""
"textures)\n"
"when connecting to the server."
msgstr ""
-"Åœalti uzon de fora aÅ­dvidaĵa servilo (se Äi donitas de la servilo).\n"
-"Foraj serviloj prezentas ege pli rapidon manieron elÅuti aÅ­dvidaĵojn\n"
+"Åœalti uzon de fora vidaÅ­daĵa servilo (se Äi donitas de la servilo).\n"
+"Foraj serviloj prezentas ege pli rapidon manieron elÅuti vidaÅ­daĵojn\n"
"(ekzemple teksturojn) konektante al la servilo."
#: src/settings_translation_file.cpp
msgid ""
+"Enable vertex buffer objects.\n"
+"This should greatly improve graphics performance."
+msgstr ""
+"Åœalti verticajn bufrajn objektojn.\n"
+"Ĉi tio devus multe plibonigi efikecon de grafiko."
+
+#: 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 ""
@@ -2803,10 +2840,24 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Enable/disable running an IPv6 server.\n"
-"Ignored if bind_address is set."
+"Ignored if bind_address is set.\n"
+"Needs enable_ipv6 to be enabled."
msgstr ""
"Åœalti/malÅalti ruladon de IPv6-a servilo.\n"
-"Ignorita, se «bindi_adreson» estas agordita."
+"Ignorita, se «bind_address» estas agordita.\n"
+"Bezonas «enable_ipv6» Åaltitan."
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Enables Hable's 'Uncharted 2' filmic tone mapping.\n"
+"Simulates the tone curve of photographic film and how this approximates the\n"
+"appearance of high dynamic range images. Mid-range contrast is slightly\n"
+"enhanced, highlights and shadows are gradually compressed."
+msgstr ""
+"Ŝaltas filmecan mapadon de tono «Uncharted 2», fare de Hable.\n"
+"Simulas la tonan kurbon de fotofilmo, kaj Äian proksimigon al aspekto\n"
+"de bildoj kun alta dinamika amplekso. Mezampleksa kontrasto estas\n"
+"iomete alÄustigita, ombroj kaj malombroj estas glate densigitaj."
#: src/settings_translation_file.cpp
msgid "Enables animation of inventory items."
@@ -2829,10 +2880,6 @@ msgid "Enables caching of facedir rotated meshes."
msgstr "Åœaltas kaÅmemoradon de maÅoj turnitaj per «facedir»."
#: src/settings_translation_file.cpp
-msgid "Enables filmic tone mapping"
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Enables minimap."
msgstr "Åœaltas mapeton."
@@ -2853,6 +2900,18 @@ msgstr ""
"Bezonas Åaltitajn ombrigilojn."
#: src/settings_translation_file.cpp
+msgid ""
+"Enables the sound system.\n"
+"If disabled, this completely disables all sounds everywhere and the in-game\n"
+"sound controls will be non-functional.\n"
+"Changing this setting requires a restart."
+msgstr ""
+"Åœaltas la sonsistemon.\n"
+"MalÅaltite, ĉi tio tute malÅaltas ĉiujn sonojn kaj la enludoj sonregiloj\n"
+"ne funkcios.\n"
+"ÅœanÄo de ĉi tiu agordo postulos restartigon."
+
+#: src/settings_translation_file.cpp
msgid "Engine profiling data print interval"
msgstr "Intervalo inter presoj de profilaj datenoj de la motoro"
@@ -2885,20 +2944,20 @@ msgid "Fall bobbing factor"
msgstr "Koeficiento de balancado dum falo"
#: src/settings_translation_file.cpp
-msgid "Fallback font"
-msgstr "RetropaÅa tiparo"
+msgid "Fallback font path"
+msgstr "Dosierindiko al reenpaÅa tiparo"
#: src/settings_translation_file.cpp
msgid "Fallback font shadow"
-msgstr "Ombro de retropaÅa tiparo"
+msgstr "Ombro de reenpaÅa tiparo"
#: src/settings_translation_file.cpp
msgid "Fallback font shadow alpha"
-msgstr "Travidebleco de ombro de la retropaÅa tiparo"
+msgstr "Travidebleco de ombro de la reenpaÅa tiparo"
#: src/settings_translation_file.cpp
msgid "Fallback font size"
-msgstr "Grando de retropaÅa tiparo"
+msgstr "Grando de reenpaÅa tiparo"
#: src/settings_translation_file.cpp
msgid "Fast key"
@@ -2952,7 +3011,7 @@ msgstr "Bruo de profundeco de plenigaĵo"
#: src/settings_translation_file.cpp
msgid "Filmic tone mapping"
-msgstr ""
+msgstr "Filmeca mapado de tono"
#: src/settings_translation_file.cpp
msgid ""
@@ -2989,30 +3048,6 @@ msgid "Fixed virtual joystick"
msgstr "Fiksita virtuala stirstango"
#: src/settings_translation_file.cpp
-msgid "Floatland base height noise"
-msgstr "Bruo de baza alteco de fluginsuloj"
-
-#: src/settings_translation_file.cpp
-msgid "Floatland base noise"
-msgstr "Baza bruo de fluginsuloj"
-
-#: src/settings_translation_file.cpp
-msgid "Floatland level"
-msgstr "Alteco de fluginsuloj"
-
-#: src/settings_translation_file.cpp
-msgid "Floatland mountain density"
-msgstr "Denseco de fluginsulaj montoj"
-
-#: src/settings_translation_file.cpp
-msgid "Floatland mountain exponent"
-msgstr "Eksponento de fluginsulaj montoj"
-
-#: src/settings_translation_file.cpp
-msgid "Floatland mountain height"
-msgstr "Alteco de fluginsulaj montoj"
-
-#: src/settings_translation_file.cpp
msgid "Fly key"
msgstr "Fluga klavo"
@@ -3033,8 +3068,12 @@ msgid "Fog toggle key"
msgstr "Nebula baskula klavo"
#: src/settings_translation_file.cpp
-msgid "Font path"
-msgstr "Tipara dosierindiko"
+msgid "Font bold by default"
+msgstr "Implice grasa tiparo"
+
+#: src/settings_translation_file.cpp
+msgid "Font italic by default"
+msgstr "Implice kursiva tiparo"
#: src/settings_translation_file.cpp
msgid "Font shadow"
@@ -3045,16 +3084,20 @@ msgid "Font shadow alpha"
msgstr "Travidebleco de tipara ombro"
#: src/settings_translation_file.cpp
-msgid "Font shadow alpha (opaqueness, between 0 and 255)."
-msgstr "Maltravidebleco de tipara ombro (inter 0 kaj 255)."
+msgid "Font size"
+msgstr "Tipara grandeco"
#: src/settings_translation_file.cpp
-msgid "Font shadow offset, if 0 then shadow will not be drawn."
-msgstr "DeÅovo de tipara ombro; se Äi estas 0, la ombro ne desegniÄos."
+msgid "Font size of the default font in point (pt)."
+msgstr "Grando de la implicita tiparo, punkte (pt)."
#: src/settings_translation_file.cpp
-msgid "Font size"
-msgstr "Tipara grandeco"
+msgid "Font size of the fallback font in point (pt)."
+msgstr "Grandeco de la reenpaÅa tiparo, punkte (pt)."
+
+#: src/settings_translation_file.cpp
+msgid "Font size of the monospace font in point (pt)."
+msgstr "Grandeco de la egallarÄa tiparo, punkte (pt)."
#: src/settings_translation_file.cpp
msgid ""
@@ -3175,10 +3218,6 @@ msgid "GUI scaling filter txr2img"
msgstr "Skala filtrilo de grafika interfaco txr2img"
#: src/settings_translation_file.cpp
-msgid "Gamma"
-msgstr "HelÄustigo"
-
-#: src/settings_translation_file.cpp
msgid "Generate normalmaps"
msgstr "Estigi normalmapojn"
@@ -3194,12 +3233,20 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at maximum light level."
+msgid ""
+"Gradient of light curve at maximum light level.\n"
+"Controls the contrast of the highest light levels."
msgstr ""
+"Transiro de luma kurbo je plejalta lumnivelo.\n"
+"Regas la kontraston de la plej altaj lumniveloj."
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at minimum light level."
-msgstr "Transiro de luma kurbo je plejeta lumnivelo."
+msgid ""
+"Gradient of light curve at minimum light level.\n"
+"Controls the contrast of the lowest light levels."
+msgstr ""
+"Transiro de luma kurbo je minimuma lumnivelo.\n"
+"Regas kontraston je la malplej altaj lumniveloj."
#: src/settings_translation_file.cpp
msgid "Graphics"
@@ -3231,7 +3278,7 @@ msgstr "Baskula klavo por travida fasado"
#: src/settings_translation_file.cpp
msgid ""
-"Handling for deprecated lua api calls:\n"
+"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)."
@@ -3257,7 +3304,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Heat blend noise"
-msgstr ""
+msgstr "Bruo de kunfando de varmeco"
#: src/settings_translation_file.cpp
msgid "Heat noise"
@@ -3273,7 +3320,7 @@ msgstr "Alteca bruo"
#: src/settings_translation_file.cpp
msgid "Height select noise"
-msgstr ""
+msgstr "Bruo de elekto de alto"
#: src/settings_translation_file.cpp
msgid "High-precision FPU"
@@ -3473,6 +3520,16 @@ msgstr "Kiel profundaj fari riverojn."
#: src/settings_translation_file.cpp
msgid ""
+"How fast liquid waves will move. Higher = faster.\n"
+"If negative, liquid waves will move backwards.\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+"Kiel rapide ondoj de fluaĵoj moviÄos. Pli alta = pli rapide.\n"
+"Je minusa valoro, ondoj de fluaĵoj moviÄos reen.\n"
+"Bezonas Åaltitajn ondantajn fluaĵojn."
+
+#: 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 ""
@@ -3504,10 +3561,6 @@ msgid "IPv6 server"
msgstr "Servilo kun IPv6"
#: src/settings_translation_file.cpp
-msgid "IPv6 support."
-msgstr "Subteno de IPv6."
-
-#: 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."
@@ -3551,7 +3604,8 @@ msgid ""
"If enabled, \"special\" key instead of \"sneak\" key is used for climbing "
"down and\n"
"descending."
-msgstr "Åœaltite, klavo «uzi» uzatas anstataÅ­ klavo «kaÅiri» por malsupreniro."
+msgstr ""
+"Åœaltite, klavo «uzi» estas uzata anstataÅ­ klavo «kaÅiri» por malsupreniro."
#: src/settings_translation_file.cpp
msgid ""
@@ -3713,6 +3767,14 @@ msgid "Invert vertical mouse movement."
msgstr "Renversi vertikalan movon de muso."
#: src/settings_translation_file.cpp
+msgid "Italic font path"
+msgstr "Dosierindiko al kursiva tiparo"
+
+#: src/settings_translation_file.cpp
+msgid "Italic monospace font path"
+msgstr "Dosierindiko al kursiva egallarÄa tiparo"
+
+#: src/settings_translation_file.cpp
msgid "Item entity TTL"
msgstr ""
@@ -3850,8 +3912,8 @@ msgid ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
"Klavo por demeti la elektitan portaĵon.\n"
-"Vidu http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
+"Vidu http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -3982,8 +4044,8 @@ msgid ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
"Klavo por malfermi la portaĵujon.\n"
-"Vidu http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
+"Vidu http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4252,8 +4314,8 @@ msgid ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
"Klavo por elekti sekvan portaĵon en la fulmobreto.\n"
-"Vidu http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
+"Vidu http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4272,8 +4334,8 @@ msgid ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
"Klavo por elekti antaŭan portaĵon en la fulmobreto.\n"
-"Vidu http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
+"Vidu http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4356,8 +4418,8 @@ msgid ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
"Klavo por ekrankopiado.\n"
-"Vidu http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
+"Vidu http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4456,8 +4518,8 @@ msgid ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
"Baskula klavo por montri erarserĉajn informojn.\n"
-"Vidu http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
+"Vidu http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4540,12 +4602,20 @@ msgid "Large cave depth"
msgstr "Profundeco de granda kaverno"
#: src/settings_translation_file.cpp
-msgid "Large chat console key"
-msgstr "Klavo de granda konzolo"
+msgid "Large cave maximum number"
+msgstr "Maksimuma nombro de grandaj kavernoj"
#: src/settings_translation_file.cpp
-msgid "Lava depth"
-msgstr "Lafo-profundeco"
+msgid "Large cave minimum number"
+msgstr "Minimuma nombro de grandaj kavernoj"
+
+#: src/settings_translation_file.cpp
+msgid "Large cave proportion flooded"
+msgstr "Subakva parto de granda kaverno"
+
+#: src/settings_translation_file.cpp
+msgid "Large chat console key"
+msgstr "Klavo de granda konzolo"
#: src/settings_translation_file.cpp
msgid "Leaves style"
@@ -4578,6 +4648,14 @@ msgstr ""
"trans la reto."
#: src/settings_translation_file.cpp
+msgid ""
+"Length of liquid waves.\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+"Longo de fluaĵaj ondoj.\n"
+"Bezonas ondantajn fluaĵojn."
+
+#: src/settings_translation_file.cpp
msgid "Length of time between Active Block Modifier (ABM) execution cycles"
msgstr "TempodaÅ­ro inter rulaj cikloj de Aktiva Modifilo de Monderoj (AMM)"
@@ -4610,20 +4688,28 @@ msgstr ""
"- verbose (babilema)"
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost"
-msgstr ""
+msgid "Light curve boost"
+msgstr "Pliigo de luma kurbo"
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost center"
-msgstr ""
+msgid "Light curve boost center"
+msgstr "Centro de pliigo de luma kurbo"
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost spread"
-msgstr ""
+msgid "Light curve boost spread"
+msgstr "DisvastiÄo de pliigo de luma kurbo"
#: src/settings_translation_file.cpp
-msgid "Lightness sharpness"
-msgstr "Akreco de heleco"
+msgid "Light curve gamma"
+msgstr "Gamao de luma kurbo"
+
+#: src/settings_translation_file.cpp
+msgid "Light curve high gradient"
+msgstr "Alta transiro de luma kurbo"
+
+#: src/settings_translation_file.cpp
+msgid "Light curve low gradient"
+msgstr ""
#: src/settings_translation_file.cpp
msgid "Limit of emerge queues on disk"
@@ -4652,7 +4738,7 @@ msgid ""
"Only has an effect if compiled with cURL."
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 vidaÅ­daĵ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ĵa administrilo).\n"
"Efektivas nur se la ludo tradukiÄis kun cURL."
@@ -4667,7 +4753,7 @@ msgstr "Glatigo de fluida flueco"
#: src/settings_translation_file.cpp
msgid "Liquid loop max"
-msgstr "Plejgrando de fluaĵa ciklo"
+msgstr "Maksimumo de fluaĵa ciklo"
#: src/settings_translation_file.cpp
msgid "Liquid queue purge time"
@@ -4701,7 +4787,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Loading Block Modifiers"
-msgstr ""
+msgstr "Enlegante Modifilojn de Monderoj"
#: src/settings_translation_file.cpp
msgid "Lower Y limit of dungeons."
@@ -4741,37 +4827,37 @@ msgstr "Mondestigaj ecoj speciale por la Karpata Mondestigilo."
#: 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."
+"Map generation attributes specific to Mapgen Flat.\n"
+"Occasional lakes and hills can be added to the flat world."
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."
+"Mondestigaj ecoj speciale por la Plata Mondestigilo.\n"
+"Kelklokaj lagoj kaj montetoj povas aldoniÄi al la plata mondo."
#: src/settings_translation_file.cpp
msgid ""
-"Map generation attributes specific to Mapgen flat.\n"
+"Map generation attributes specific to Mapgen Fractal.\n"
"'terrain' enables the generation of non-fractal terrain:\n"
"ocean, islands and underground."
msgstr ""
-"Mapestigaj ecoj speciale por la Plata Mapestigilo.\n"
+"Mondestigaj ecoj speciale por la Plata Mondestigilo.\n"
"«terrain» Åaltas estigon de nefraktala tereno:\n"
"oceano, insuloj, kaj subtero."
#: src/settings_translation_file.cpp
msgid ""
-"Map generation attributes specific to Mapgen flat.\n"
-"Occasional lakes and hills can be added to the flat world."
+"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 ""
-"Mapestigaj ecoj speciale por la Plata Mapestigilo.\n"
-"Kelklokaj lagoj kaj montetoj povas aldoniÄi al la plata mondo."
+"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 v5."
@@ -4903,7 +4989,7 @@ msgstr "Plejmulto da fluaĵoj traktataj en unu paÅo."
#: src/settings_translation_file.cpp
msgid "Max. clearobjects extra blocks"
-msgstr "Plejgrando da ekstraj mondopecoj por «clearobjects»"
+msgstr "Maksimumo da ekstraj mondopecoj por «clearobjects»"
#: src/settings_translation_file.cpp
msgid "Max. packets per iteration"
@@ -4919,18 +5005,28 @@ msgstr "Maksimumaj KS paÅ­ze."
#: src/settings_translation_file.cpp
msgid "Maximum forceloaded blocks"
-msgstr "Plejgrando de perforte enlegitaj mondopecoj"
+msgstr "Maksimumo de perforte enlegitaj mondopecoj"
#: src/settings_translation_file.cpp
msgid "Maximum hotbar width"
msgstr "Maksimuma larÄo de la fulmobreto"
#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of large caves per mapchunk."
+msgstr ""
+"Maksimuma limo de hazarda nombro de grandaj kavernoj en unu mondoparto."
+
+#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of small caves per mapchunk."
+msgstr ""
+"Maksimuma limo de hazarda nombro de malgrandaj kavernoj en unu mondoparto."
+
+#: src/settings_translation_file.cpp
msgid ""
-"Maximum liquid resistence. Controls deceleration when entering liquid at\n"
+"Maximum liquid resistance. Controls deceleration when entering liquid at\n"
"high speed."
msgstr ""
-"Plejgranda rezisto de fluaĵoj. Regas malakcelon dum eniÄo en fluaĵon\n"
+"Maksimuma rezisto de fluaĵoj. Regas malakcelon dum eniÄo en fluaĵon\n"
"je granda rapido."
#: src/settings_translation_file.cpp
@@ -4939,8 +5035,8 @@ msgid ""
"The maximum total count is calculated dynamically:\n"
"max_total = ceil((#clients + max_users) * per_client / 4)"
msgstr ""
-"Plejgranda nombro de mondopecoj samtempe sendataj al unu kliento.\n"
-"La plejgranda sumo estas kalkulata flue:\n"
+"Maksimuma nombro de mondopecoj samtempe sendataj al unu kliento.\n"
+"La maksimuma sumo estas kalkulata flue:\n"
"max_total = ceil((#clients + max_users) * per_client / 4)"
#: src/settings_translation_file.cpp
@@ -4965,7 +5061,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Maximum number of forceloaded mapblocks."
-msgstr "Plejgranda nombro de perforte enlegitaj mondopecoj."
+msgstr "Maksimuma nombro de perforte enlegitaj mondopecoj."
#: src/settings_translation_file.cpp
msgid ""
@@ -4988,15 +5084,15 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Maximum number of players that can be connected simultaneously."
-msgstr "Plejgranda nombro de ludantoj, kiuj povas konektiÄi samtempe."
+msgstr "Maksimuma nombro de ludantoj, kiuj povas konektiÄi samtempe."
#: src/settings_translation_file.cpp
msgid "Maximum number of recent chat messages to show"
-msgstr "Plejgranda nombro da freÅaj babilaj mesaÄoj montrotaj"
+msgstr "Maksimuma nombro da freÅaj babilaj mesaÄoj montrotaj"
#: src/settings_translation_file.cpp
msgid "Maximum number of statically stored objects in a block."
-msgstr "Plejgranda nombro de statike memorataj objektoj en mondopeco."
+msgstr "Maksimuma nombro de statike memorataj objektoj en mondopeco."
#: src/settings_translation_file.cpp
msgid "Maximum objects per block"
@@ -5028,7 +5124,8 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Maximum time in ms a file download (e.g. a mod download) may take."
-msgstr "Maksimuma tempo (milisekunde) por elÅuto de dosiero (ekz. modifaĵo)."
+msgstr ""
+"Maksimuma tempo (en milisekundoj) por elÅuto de dosiero (ekz. modifaĵo)."
#: src/settings_translation_file.cpp
msgid "Maximum users"
@@ -5067,8 +5164,16 @@ msgid "Minimap scan height"
msgstr "Alteco de mapeta skanado"
#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of large caves per mapchunk."
+msgstr "Minimuma limo de hazarda nombro de grandaj kavernoj en mondoparto."
+
+#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of small caves per mapchunk."
+msgstr "Minimuma limo de hazarda nombro de malgrandaj kavernoj unu mondoparto."
+
+#: src/settings_translation_file.cpp
msgid "Minimum texture size"
-msgstr "Plejeta grandeco de teksturoj"
+msgstr "Minimuma grandeco de teksturoj"
#: src/settings_translation_file.cpp
msgid "Mipmapping"
@@ -5103,9 +5208,8 @@ msgid "Mountain variation noise"
msgstr "Bruo de monta variigo"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mountain zero level"
-msgstr "Bruo de montoj"
+msgstr "Nulnivelo de montoj"
#: src/settings_translation_file.cpp
msgid "Mouse sensitivity"
@@ -5164,8 +5268,9 @@ msgid ""
msgstr "Nomo de la servilo, montrota al ludantoj kaj en la listo de serviloj."
#: src/settings_translation_file.cpp
-msgid "Near clipping plane"
-msgstr ""
+#, fuzzy
+msgid "Near plane"
+msgstr "Proksime tonda ebeno"
#: src/settings_translation_file.cpp
msgid "Network"
@@ -5201,7 +5306,7 @@ msgstr "Intervalo de NodeTimer"
#: src/settings_translation_file.cpp
msgid "Noises"
-msgstr "Bruo"
+msgstr "Bruoj"
#: src/settings_translation_file.cpp
msgid "Normalmaps sampling"
@@ -5272,6 +5377,18 @@ msgstr "Netralumeblaj fluidoj"
#: src/settings_translation_file.cpp
msgid ""
+"Opaqueness (alpha) of the shadow behind the default font, between 0 and 255."
+msgstr ""
+"Netravidebleco (alfa) de la ombro post la implicita tiparo, inter 0 kaj 255."
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Opaqueness (alpha) of the shadow behind the fallback font, between 0 and 255."
+msgstr ""
+"Netravidebleco (alfa) de la ombro post la reenpaÅa tiparo, inter 0 kaj 255."
+
+#: 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."
@@ -5282,7 +5399,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Overall bias of parallax occlusion effect, usually scale/2."
-msgstr ""
+msgstr "Entuta ekarto de la efiko de paralaksa ombrigo, kutime skalo/2."
#: src/settings_translation_file.cpp
msgid "Overall scale of parallax occlusion effect."
@@ -5313,8 +5430,19 @@ msgid "Parallax occlusion strength"
msgstr "Potenco de paralaksa ombrigo"
#: src/settings_translation_file.cpp
-msgid "Path to TrueTypeFont or bitmap."
-msgstr "Dosierindiko al tiparo «TrueType» aŭ bitbildo."
+msgid ""
+"Path of the fallback font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font will be used for certain languages or if the default font is "
+"unavailable."
+msgstr ""
+"Dosierindiko de la reenpaÅa tiparo.\n"
+"Se la agordo «freetype» estas Åaltita: devas esti tiparspeco «TrueType».\n"
+"Se la agordo «freetype» estas malÅaltita: devas esti bitbilda aÅ­ XML-vektora "
+"tiparo.\n"
+"Ĉi tiu tiparo uziÄos por kelkaj lingvoj, aÅ­ se la norma tiparo ne "
+"disponeblas."
#: src/settings_translation_file.cpp
msgid "Path to save screenshots at."
@@ -5324,13 +5452,41 @@ msgstr "Dosierindiko por konservi ekrankopiojn."
msgid ""
"Path to shader directory. If no path is defined, default location will be "
"used."
-msgstr "Dosierindiko al ombrigiloj. Se neniu difinitos, la implicita uzatos."
+msgstr ""
+"Dosierindiko al ombrigiloj. Se neniu estas difinita, la implicita estos "
+"uzata."
#: src/settings_translation_file.cpp
msgid "Path to texture directory. All textures are first searched from here."
msgstr "Dosierindiko al teksturoj. Ĉiuj teksturoj estas unue serĉataj tie."
#: src/settings_translation_file.cpp
+msgid ""
+"Path to the default font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"The fallback font will be used if the font cannot be loaded."
+msgstr ""
+"Dosierindiko al la implicita tiparo.\n"
+"Se la agordo «freetype» estas Åaltita: devas esti tiparspeco «TrueType».\n"
+"Se la agordo «freetype» estas malÅaltita: devas esti bitbilda aÅ­ XML-vektora "
+"tiparo.\n"
+"La reenpaÅa tiparo uziÄos se la tiparo ne povas enlegiÄi."
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Path to the monospace font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font is used for e.g. the console and profiler screen."
+msgstr ""
+"Dosierindiko al la egallarÄa tiparo.\n"
+"Se la agordo «freetype» estas Åaltita: devas esti tiparspeco «TrueType».\n"
+"Se la agordo «freetype» estas malÅaltita: devas esti bitbilda aÅ­ XML-vektora "
+"tiparo.\n"
+"Ĉi tiu tiparo estas uzata por ekz. la ekranoj de konzolo kaj profililo."
+
+#: src/settings_translation_file.cpp
msgid "Pause on lost window focus"
msgstr "PaÅ­zigi je perdita fokuso de la fenestro"
@@ -5384,14 +5540,16 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Prevent mods from doing insecure things like running shell commands."
-msgstr "Malhelpi al reguligistoj agi nesekure (ekzemple ruli Åelajn komandojn)."
+msgstr ""
+"Malhelpi al reguligistoj agi nesekure (ekzemple ruli Åelajn komandojn)."
#: src/settings_translation_file.cpp
msgid ""
"Print the engine's profiling data in regular intervals (in seconds).\n"
"0 = disable. Useful for developers."
msgstr ""
-"Presi la profilajn datenojn de la motoro laÅ­ regulaj intervaloj (sekunde).\n"
+"Presi la profilajn datenojn de la motoro laÅ­ regulaj intervaloj (en "
+"sekundoj).\n"
"0 = malÅalti. Utila por evoluigistoj."
#: src/settings_translation_file.cpp
@@ -5411,6 +5569,10 @@ msgid "Profiling"
msgstr "Profilado"
#: src/settings_translation_file.cpp
+msgid "Proportion of large caves that contain liquid."
+msgstr "Proporcio de grandaj kavernoj, kiu enhavas fluaĵon."
+
+#: 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 "
@@ -5436,6 +5598,10 @@ msgid "Recent Chat Messages"
msgstr "FreÅaj mesaÄoj de babilo"
#: src/settings_translation_file.cpp
+msgid "Regular font path"
+msgstr "Dosierindiko al normala tiparo"
+
+#: src/settings_translation_file.cpp
msgid "Remote media"
msgstr "Foraj vidaŭdaĵoj"
@@ -5484,22 +5650,20 @@ msgstr ""
"READ_PLAYERINFO: 32 (malÅaltas klient-flankan vokadon de «get_player_names»)"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Ridge mountain spread noise"
-msgstr "Bruo de montoj"
+msgstr "Bruo de disvastiÄo de krestaj montoj"
#: src/settings_translation_file.cpp
msgid "Ridge noise"
-msgstr "Pinta bruo"
+msgstr "Bruo de krestoj"
#: src/settings_translation_file.cpp
msgid "Ridge underwater noise"
-msgstr ""
+msgstr "Subakva bruo de krestoj"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Ridged mountain size noise"
-msgstr "Bruo de montoj"
+msgstr "Bruo de grandeco de krestaj montoj"
#: src/settings_translation_file.cpp
msgid "Right key"
@@ -5649,24 +5813,24 @@ msgstr "LarÄo de elektujo"
#: 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."
+"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 ""
"Elektas unu de 18 tipoj de fraktaloj.\n"
"1 = 4D «Rondeca» aro de Mandelbrot.\n"
@@ -5683,8 +5847,8 @@ msgstr ""
"12 = 3D «Kristnaskarba» aro de Julia.\n"
"13 = 3D «Mandelbulb» aro de Mandelbrot.\n"
"14 = 3D «Mandelbulb» aro de Julia.\n"
-"15 = 3D «Sinuse Mandelbulb» aro de Mandelbrot.\n"
-"16 = 3D «Sinuse Mandelbulb» aro de Julia.\n"
+"15 = 3D «Kosinuse Mandelbulb» aro de Mandelbrot.\n"
+"16 = 3D «Kosinuse Mandelbulb» aro de Julia.\n"
"17 = 4D «Mandelbulb» aro de Mandelbrot.\n"
"18 = 4D «Mandelbulb» aro de Julia."
@@ -5739,27 +5903,27 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving leaves.\n"
+"Set to true to enable waving leaves.\n"
"Requires shaders to be enabled."
msgstr ""
-"Ebligas ondojn je kreskaĵoj.\n"
+"Åœaltu por ebligi ondantajn foliojn.\n"
"Bezonas ombrigilojn."
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving plants.\n"
+"Set to true to enable waving liquids (like water).\n"
"Requires shaders to be enabled."
msgstr ""
-"Verigo Åaltas ondantajn kreskaĵojn.\n"
-"Bezonas Åalton de ombriloj."
+"Ŝaltu por ebligi ondantajn fluaĵojn (kiel akvon).\n"
+"Bezonas ombrigilojn."
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving water.\n"
+"Set to true to enable waving plants.\n"
"Requires shaders to be enabled."
msgstr ""
-"Ebligas ondojn je akvo.\n"
-"Bezonas ombrigilojn."
+"Verigo Åaltas ondantajn kreskaĵojn.\n"
+"Bezonas Åalton de ombrigiloj."
#: src/settings_translation_file.cpp
msgid "Shader path"
@@ -5777,8 +5941,18 @@ msgstr ""
"Ĉi tio funkcias nur kun la bildiga internaĵo de «OpenGL»."
#: src/settings_translation_file.cpp
-msgid "Shadow limit"
-msgstr "Limo por ombroj"
+msgid ""
+"Shadow offset (in pixels) of the default font. If 0, then shadow will not be "
+"drawn."
+msgstr ""
+"DeÅovo de ombro de la norma tiparo. Se Äi estas 0, la ombro ne desegniÄos."
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not "
+"be drawn."
+msgstr ""
+"DeÅovo de tipara ombro (en bilderoj); se Äi estas 0, la ombro ne desegniÄos."
#: src/settings_translation_file.cpp
msgid "Shape of the minimap. Enabled = round, disabled = square."
@@ -5831,6 +6005,14 @@ msgid "Slope and fill work together to modify the heights."
msgstr "Deklivo kaj plenigo kunlaboras por ÅanÄi la altecojn."
#: src/settings_translation_file.cpp
+msgid "Small cave maximum number"
+msgstr "Maksimuma nombro de malgrandaj kavernoj"
+
+#: src/settings_translation_file.cpp
+msgid "Small cave minimum number"
+msgstr "Minimuma nombro de etaj kavernoj"
+
+#: src/settings_translation_file.cpp
msgid "Small-scale humidity variation for blending biomes on borders."
msgstr ""
@@ -5889,16 +6071,20 @@ msgid ""
"(obviously, remote_media should end with a slash).\n"
"Files that are not present will be fetched the usual way."
msgstr ""
-"Specifas URL de kiu la kliento elÅutos aÅ­dvidaĵojn, anstataÅ­ uzi UDP.\n"
+"Specifas URL de kiu la kliento elÅutos vidaÅ­daĵojn, anstataÅ­ uzi UDP.\n"
"$filename atingeblu de $remote_media$filename per cURL\n"
"(kompreneble, «remote_media» finiÄu per dekliva streko).\n"
"Dosieroj mankantaj elÅutiÄos per la kutima maniero."
#: src/settings_translation_file.cpp
msgid ""
-"Spread of light curve mid-boost.\n"
-"Standard deviation of the mid-boost gaussian."
+"Spread of light curve boost range.\n"
+"Controls the width of the range to be boosted.\n"
+"Standard deviation of the light curve boost Gaussian."
msgstr ""
+"DisvastiÄo de pliiga amplekso de luma kurbo.\n"
+"Regas la larÄecon de la pliigota amplekso.\n"
+"Norma deflankiÄo de pliigo de la luma kurbo GaÅ­sa."
#: src/settings_translation_file.cpp
msgid "Static spawnpoint"
@@ -5921,8 +6107,14 @@ msgid "Strength of generated normalmaps."
msgstr "Forteco de estigitaj normalmapoj."
#: src/settings_translation_file.cpp
-msgid "Strength of light curve mid-boost."
+msgid ""
+"Strength of light curve boost.\n"
+"The 3 'boost' parameters define a range of the light\n"
+"curve that is boosted in brightness."
msgstr ""
+"Forteco de pliigo de la luma kurbo.\n"
+"La 3 parametroj de «boost» definas amplekson\n"
+"de la luma kurbo, kies heleco estas pliigita."
#: src/settings_translation_file.cpp
msgid "Strength of parallax."
@@ -5946,7 +6138,7 @@ msgstr "Varmeca diverseco por klimatoj."
#: src/settings_translation_file.cpp
msgid "Terrain alternative noise"
-msgstr "Alternativo bruo de tereno"
+msgstr "Alternativa bruo de tereno"
#: src/settings_translation_file.cpp
msgid "Terrain base noise"
@@ -5958,7 +6150,7 @@ msgstr "Alteco de tereno"
#: src/settings_translation_file.cpp
msgid "Terrain higher noise"
-msgstr ""
+msgstr "Pli alta bruo de tereno"
#: src/settings_translation_file.cpp
msgid "Terrain noise"
@@ -5986,7 +6178,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Terrain persistence noise"
-msgstr ""
+msgstr "Bruo de persisteco de tereno"
#: src/settings_translation_file.cpp
msgid "Texture path"
@@ -6027,7 +6219,8 @@ msgstr "La profundeco de tero aÅ­ alia surfaca klimata plenigilo."
#: src/settings_translation_file.cpp
msgid ""
"The file path relative to your worldpath in which profiles will be saved to."
-msgstr "La dosierindiko relativa al via mondoindiko, kien konserviÄos profiloj."
+msgstr ""
+"La dosierindiko relativa al via mondoindiko, kien konserviÄos profiloj."
#: src/settings_translation_file.cpp
msgid "The identifier of the joystick to use"
@@ -6038,6 +6231,20 @@ msgid "The length in pixels it takes for touch screen interaction to start."
msgstr "Longeco (en bilderoj) necesa por komenco de interago kun tuÅekrano."
#: src/settings_translation_file.cpp
+msgid ""
+"The maximum height of the surface of waving liquids.\n"
+"4.0 = Wave height is two nodes.\n"
+"0.0 = Wave doesn't move at all.\n"
+"Default is 1.0 (1/2 node).\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+"Maksimuma alteco de la nivelo de ondantaj fluaĵoj.\n"
+"4.0 = Alteco de ondo estas du monderoj.\n"
+"0.0 = Ondo tute ne moviÄas.\n"
+"La antaÅ­agordo estas 1.0 (duono de mondero).\n"
+"Bezonas Åaltitajn ondantajn fluaĵojn."
+
+#: src/settings_translation_file.cpp
msgid "The network interface that the server listens on."
msgstr "La reta interfaco kie la servilo aÅ­skultas."
@@ -6139,13 +6346,8 @@ msgstr ""
"je 10 se «altitude_dry» estas Åaltita."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Third of 4 2D noises that together define hill/mountain range height."
-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 "Tiu ĉi tiparo uziÄos por iuj lingvoj."
+msgstr "Tria el la 4 3d-aj bruoj, kiuj kune difinas altecon de mont(et)aroj."
#: src/settings_translation_file.cpp
msgid ""
@@ -6169,7 +6371,7 @@ msgstr "Rapido de tempo"
#: src/settings_translation_file.cpp
msgid "Timeout for client to remove unused map data from memory."
-msgstr "Tempolimo por forigi neuzatajn mapajn datumojn de klienta memoro."
+msgstr "Tempolimo por forigi neuzatajn mapajn datenojn de klienta memoro."
#: src/settings_translation_file.cpp
msgid ""
@@ -6189,7 +6391,7 @@ msgstr "Baskula klavo de vidpunkta reÄimo"
#: src/settings_translation_file.cpp
msgid "Tooltip delay"
-msgstr "Åœpruchelpila prokrasto"
+msgstr "Prokrasto de Åpruchelpilo"
#: src/settings_translation_file.cpp
msgid "Touch screen threshold"
@@ -6207,7 +6409,7 @@ msgstr "Triineara filtrado"
msgid ""
"True = 256\n"
"False = 128\n"
-"Useable to make minimap smoother on slower machines."
+"Usable to make minimap smoother on slower machines."
msgstr ""
"Vera = 256\n"
"Falsa = 128\n"
@@ -6218,11 +6420,6 @@ msgid "Trusted mods"
msgstr "Fidataj modifaĵoj"
#: src/settings_translation_file.cpp
-msgid ""
-"Typical maximum height, above and below midpoint, of floatland mountains."
-msgstr "Ordinara plejalto, super kaj sub la mezpunkto, de fluginsulaj montoj."
-
-#: src/settings_translation_file.cpp
msgid "URL to the server list displayed in the Multiplayer Tab."
msgstr "URL al la listo de serviloj, montrota en la langeto «Ludo por pluraj»."
@@ -6238,7 +6435,7 @@ msgid ""
"image.\n"
"Higher values result in a less detailed image."
msgstr ""
-"Subspecimenado similas uzon de malgranda ekrandistingumo, sed Äi nur\n"
+"Subspecimenado similas uzon de malgranda ekrana distingumo, sed Äi nur\n"
"efektivas en la ludo, lasante la fasadon senÅanÄa.\n"
"Äœi grave helpu la efikecon kontraÅ­ malpli detala filmo."
@@ -6313,14 +6510,8 @@ 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 ""
-"Variaĵo de alteco de montetoj kaj profundeco de lagoj sur glata tereno de "
-"fluginsuloj."
-
-#: src/settings_translation_file.cpp
msgid "Variation of maximum mountain height (in nodes)."
-msgstr "Variaĵo de plejgranda alteco de montoj (en monderoj)."
+msgstr "Variaĵo de maksimuma alteco de montoj (en monderoj)."
#: src/settings_translation_file.cpp
msgid "Variation of number of caves."
@@ -6331,10 +6522,12 @@ msgid ""
"Variation of terrain vertical scale.\n"
"When noise is < -0.55 terrain is near-flat."
msgstr ""
+"Variado de vertikala skalo de tereno.\n"
+"Kiam brua subas -0.55, tereno estas preskaÅ­ plata."
#: src/settings_translation_file.cpp
msgid "Varies depth of biome surface nodes."
-msgstr ""
+msgstr "Variigas profundecon de surfacaj monderoj de klimato."
#: src/settings_translation_file.cpp
msgid ""
@@ -6363,7 +6556,7 @@ msgstr "Videa pelilo"
#: src/settings_translation_file.cpp
msgid "View bobbing factor"
-msgstr ""
+msgstr "Koeficiento de balancado de vido"
#: src/settings_translation_file.cpp
msgid "View distance in nodes."
@@ -6395,6 +6588,14 @@ msgstr "LaÅ­teco"
#: src/settings_translation_file.cpp
msgid ""
+"Volume of all sounds.\n"
+"Requires the sound system to be enabled."
+msgstr ""
+"Laŭteco de ĉiuj sonoj\n"
+"Bezonas Åaltitan sonsistemon."
+
+#: 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"
@@ -6437,24 +6638,24 @@ msgid "Waving leaves"
msgstr "Ondantaj foliaĵoj"
#: src/settings_translation_file.cpp
-msgid "Waving plants"
-msgstr "Ondantaj plantoj"
+msgid "Waving liquids"
+msgstr "Ondantaj fluaĵoj"
#: src/settings_translation_file.cpp
-msgid "Waving water"
-msgstr "Ondanta akvo"
+msgid "Waving liquids wave height"
+msgstr "Alteco de ondoj de ondantaj fluaĵoj"
#: src/settings_translation_file.cpp
-msgid "Waving water wave height"
-msgstr "Alteco de ondoj de ondanta akvo"
+msgid "Waving liquids wave speed"
+msgstr "Rapido de ondoj sur ondanta akvo"
#: src/settings_translation_file.cpp
-msgid "Waving water wave speed"
-msgstr "Rapido de ondoj sur ondanta akvo"
+msgid "Waving liquids wavelength"
+msgstr "Longo de ondoj de ondantaj fluaĵoj"
#: src/settings_translation_file.cpp
-msgid "Waving water wavelength"
-msgstr "Longo de ondoj de ondanta akvo"
+msgid "Waving plants"
+msgstr "Ondantaj plantoj"
#: src/settings_translation_file.cpp
msgid ""
@@ -6502,9 +6703,12 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Whether FreeType fonts are used, requires FreeType support to be compiled in."
+"Whether FreeType fonts are used, requires FreeType support to be compiled "
+"in.\n"
+"If disabled, bitmap and XML vectors fonts are used instead."
msgstr ""
-"Ĉu tiparoj de FreeType uziÄas; postulas entradukitan subtenon de FreeType."
+"Ĉu tiparoj de FreeType uziÄas; postulas entradukitan subtenon de FreeType.\n"
+"MalÅaltite, ĉi tio anstataÅ­e uzigas tiparojn bitbildajn kaj XML-vektorajn."
#: src/settings_translation_file.cpp
msgid "Whether node texture animations should be desynchronized per mapblock."
@@ -6536,6 +6740,18 @@ msgstr "Ĉu nebuli finon de la videbla areo."
#: src/settings_translation_file.cpp
msgid ""
+"Whether to mute sounds. You can unmute sounds at any time, unless the\n"
+"sound system is disabled (enable_sound=false).\n"
+"In-game, you can toggle the mute state with the mute key or by using the\n"
+"pause menu."
+msgstr ""
+"Ĉu silentigi sonojn. Vi povas malsilentigi ilin kiam ajn, malse\n"
+"la sonsistemo estas malÅaltita (enable_sound=false).\n"
+"Enlude, vi povas Åalti la staton de silentigo per la silentiga klavo,\n"
+"aÅ­ per la paÅ­za menuo."
+
+#: src/settings_translation_file.cpp
+msgid ""
"Whether to show the client debug info (has the same effect as hitting F5)."
msgstr ""
"Ĉu montri erarserĉajn informojn de la kliento (efikas samkiel premo de F5)."
@@ -6607,7 +6823,7 @@ msgstr "Y de supera limo de grandaj kavernoj."
#: src/settings_translation_file.cpp
msgid "Y-distance over which caverns expand to full size."
-msgstr ""
+msgstr "Y-distanco trans kiu kavernoj etendiÄas al plena grandeco."
#: src/settings_translation_file.cpp
msgid "Y-level of average terrain surface."
@@ -6618,10 +6834,6 @@ msgid "Y-level of cavern upper limit."
msgstr "Y-nivelo de kaverna supra limo."
#: 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 "Y-nivelo de pli alta tereno, kiu estigas krutaĵojn."
@@ -6634,12 +6846,8 @@ msgid "Y-level of seabed."
msgstr "Y-nivelo de marplanko."
#: src/settings_translation_file.cpp
-msgid "Y-level to which floatland shadows extend."
-msgstr "Y-nivelo kien etendiÄas ombroj de fluginsuloj."
-
-#: src/settings_translation_file.cpp
msgid "cURL file download timeout"
-msgstr ""
+msgstr "Tempolimo de dosiere elÅuto de cURL"
#: src/settings_translation_file.cpp
msgid "cURL parallel limit"
@@ -6649,6 +6857,111 @@ msgstr "Samtempa limo de cURL"
msgid "cURL timeout"
msgstr "cURL tempolimo"
+#~ 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 ""
+#~ "AlÄustigi la gamaan kodadon al la lumtabeloj. Pli altaj nombroj estas pli "
+#~ "helaj.\n"
+#~ "Ĉi tiu agordo estas klientflanka, kaj serviloj Äin malatentos."
+
+#~ msgid "Alters how mountain-type floatlands taper above and below midpoint."
+#~ msgstr ""
+#~ "ÅœanÄas kiel montecaj fluginsuloj maldikiÄas super kaj sub la mezpunkto."
+
+#~ 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 montecaj fluginsuloj.\n"
+#~ "Temas pri deÅovo de la brua valoro «np_mountain»."
+
+#~ msgid "Controls width of tunnels, a smaller value creates wider tunnels."
+#~ msgstr ""
+#~ "Regas larÄecon de tuneloj; pli malgranda valoro kreas pri larÄajn "
+#~ "tunelojn."
+
+#~ msgid "Darkness sharpness"
+#~ msgstr "Akreco de mallumo"
+
+#~ msgid ""
+#~ "Defines areas of floatland smooth terrain.\n"
+#~ "Smooth floatlands occur when noise > 0."
+#~ msgstr ""
+#~ "Difinas zonojn de glata tereno sur fluginsuloj.\n"
+#~ "Glataj fluginsuloj okazas kiam bruo superas nulon."
+
+#~ msgid ""
+#~ "Deprecated, define and locate cave liquids using biome definitions "
+#~ "instead.\n"
+#~ "Y of upper limit of lava in large caves."
+#~ msgstr ""
+#~ "Evitinda, difini kaj trovi kavernajn fluaĵojn anstataŭe per klimataj "
+#~ "difinoj\n"
+#~ "Y de supra limo de lafo en grandaj kavernoj."
+
+#~ msgid "Enable VBO"
+#~ msgstr "Åœalti VBO(Vertex Buffer Object)"
+
+#~ msgid "Floatland base height noise"
+#~ msgstr "Bruo de baza alteco de fluginsuloj"
+
+#~ msgid "Floatland base noise"
+#~ msgstr "Baza bruo de fluginsuloj"
+
+#~ msgid "Floatland level"
+#~ msgstr "Alteco de fluginsuloj"
+
+#~ msgid "Floatland mountain density"
+#~ msgstr "Denseco de fluginsulaj montoj"
+
+#~ msgid "Floatland mountain exponent"
+#~ msgstr "Eksponento de fluginsulaj montoj"
+
+#~ msgid "Floatland mountain height"
+#~ msgstr "Alteco de fluginsulaj montoj"
+
+#~ msgid "Font shadow alpha (opaqueness, between 0 and 255)."
+#~ msgstr "Maltravidebleco de tipara ombro (inter 0 kaj 255)."
+
+#~ msgid "Gamma"
+#~ msgstr "HelÄustigo"
+
+#~ msgid "IPv6 support."
+#~ msgstr "Subteno de IPv6."
+
+#~ msgid "Lava depth"
+#~ msgstr "Lafo-profundeco"
+
+#~ msgid "Lightness sharpness"
+#~ msgstr "Akreco de heleco"
+
+#~ msgid "Path to TrueTypeFont or bitmap."
+#~ msgstr "Dosierindiko al tiparo «TrueType» aŭ bitbildo."
+
+#~ msgid "Shadow limit"
+#~ msgstr "Limo por ombroj"
+
+#~ msgid "This font will be used for certain languages."
+#~ msgstr "Tiu ĉi tiparo uziÄos por iuj lingvoj."
+
+#~ msgid ""
+#~ "Typical maximum height, above and below midpoint, of floatland mountains."
+#~ msgstr ""
+#~ "Ordinara plejalto, super kaj sub la mezpunkto, de fluginsulaj montoj."
+
+#~ msgid "Variation of hill height and lake depth on floatland smooth terrain."
+#~ msgstr ""
+#~ "Variaĵo de alteco de montetoj kaj profundeco de lagoj sur glata tereno de "
+#~ "fluginsuloj."
+
+#~ msgid "Waving water"
+#~ msgstr "Ondanta akvo"
+
+#~ msgid "Y-level to which floatland shadows extend."
+#~ msgstr "Y-nivelo kien etendiÄas ombroj de fluginsuloj."
+
#~ msgid "Projecting dungeons"
#~ msgstr "Planante forgeskelojn"
diff --git a/po/es/minetest.po b/po/es/minetest.po
index 1a847df6c..eb20451a6 100644
--- a/po/es/minetest.po
+++ b/po/es/minetest.po
@@ -2,9 +2,9 @@ msgid ""
msgstr ""
"Project-Id-Version: Spanish (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-10-09 22:02+0200\n"
-"PO-Revision-Date: 2019-12-30 20:21+0000\n"
-"Last-Translator: universales <universales@protonmail.com>\n"
+"POT-Creation-Date: 2020-04-03 23:18+0200\n"
+"PO-Revision-Date: 2020-02-18 06:32+0000\n"
+"Last-Translator: JDiaz <runspect@gmail.com>\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.10\n"
+"X-Generator: Weblate 3.11\n"
#: builtin/client/death_formspec.lua src/client/game.cpp
msgid "Respawn"
@@ -313,7 +313,7 @@ msgstr "< Volver a la página de Configuración"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Browse"
-msgstr "Navegar"
+msgstr "Explorar"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Disabled"
@@ -403,27 +403,34 @@ msgstr "Z"
msgid "Z spread"
msgstr "Propagación Z"
+#. ~ "absvalue" is a noise parameter flag.
+#. It is short for "absolute value".
+#. It can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "absvalue"
msgstr "Valor absoluto"
+#. ~ "defaults" is a noise parameter flag.
+#. It describes the default processing options
+#. for noise settings in main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "defaults"
msgstr "Predeterminados"
+#. ~ "eased" is a noise parameter flag.
+#. It is used to make the map smoother and
+#. can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "eased"
-msgstr "Aliviado"
+msgstr "Suavizado"
#: builtin/mainmenu/pkgmgr.lua
msgid "$1 (Enabled)"
msgstr "$1 (Activado)"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "$1 mods"
msgstr "$1 mods"
@@ -491,7 +498,7 @@ msgstr "Paquetes instalados:"
#: builtin/mainmenu/tab_content.lua
msgid "No dependencies."
-msgstr "Sin depenencias."
+msgstr "Sin dependencias."
#: builtin/mainmenu/tab_content.lua
msgid "No package description available"
@@ -625,6 +632,7 @@ msgstr "Nombre / contraseña"
msgid "Ping"
msgstr "Ping"
+#. ~ PvP = Player versus Player
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "PvP enabled"
msgstr "PvP activado"
@@ -646,9 +654,8 @@ msgid "8x"
msgstr "8x"
#: builtin/mainmenu/tab_settings.lua
-#, fuzzy
msgid "All Settings"
-msgstr "Ver toda la config."
+msgstr "Todos los ajustes"
#: builtin/mainmenu/tab_settings.lua
msgid "Antialiasing:"
@@ -676,7 +683,7 @@ msgstr "Configurar teclas"
#: builtin/mainmenu/tab_settings.lua
msgid "Connected Glass"
-msgstr "Vidrio Conectado"
+msgstr "Vidrio conectado"
#: builtin/mainmenu/tab_settings.lua
msgid "Fancy Leaves"
@@ -700,7 +707,7 @@ msgstr "No"
#: builtin/mainmenu/tab_settings.lua
msgid "No Filter"
-msgstr "Sin Filtrado"
+msgstr "Sin filtrado"
#: builtin/mainmenu/tab_settings.lua
msgid "No Mipmap"
@@ -760,7 +767,7 @@ msgstr "Hojas simples"
#: builtin/mainmenu/tab_settings.lua
msgid "Smooth Lighting"
-msgstr "Iluminación Suave"
+msgstr "Iluminación suave"
#: builtin/mainmenu/tab_settings.lua
msgid "Texturing:"
@@ -780,19 +787,19 @@ msgstr "Umbral táctil: (px)"
#: builtin/mainmenu/tab_settings.lua
msgid "Trilinear Filter"
-msgstr "Filtrado Trilineal"
+msgstr "Filtrado trilineal"
#: builtin/mainmenu/tab_settings.lua
msgid "Waving Leaves"
-msgstr "Movimiento de Hojas"
+msgstr "Movimiento de hojas"
#: builtin/mainmenu/tab_settings.lua
msgid "Waving Liquids"
-msgstr "Movimiento de Líquidos"
+msgstr "Movimiento de líquidos"
#: builtin/mainmenu/tab_settings.lua
msgid "Waving Plants"
-msgstr "Movimiento de Plantas"
+msgstr "Movimiento de plantas"
#: builtin/mainmenu/tab_settings.lua
msgid "Yes"
@@ -872,6 +879,14 @@ msgstr "Fallo para abrir el archivo con la contraseña proveída: "
msgid "Provided world path doesn't exist: "
msgstr "La ruta del mundo especificada no existe: "
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string. Put either "no" or "yes"
+#. into the translation field (literally).
+#. Choose "yes" if the language requires use of the fallback
+#. font, "no" otherwise.
+#. The fallback font is (normally) required for languages with
+#. non-Latin script, like Chinese.
+#. When in doubt, test your translation.
#: src/client/fontengine.cpp
msgid "needs_fallback_font"
msgstr "no"
@@ -908,9 +923,10 @@ msgstr "- Puerto: "
msgid "- Public: "
msgstr "- Público: "
+#. ~ PvP = Player versus Player
#: src/client/game.cpp
msgid "- PvP: "
-msgstr "- JvJ: "
+msgstr "- PvP: "
#: src/client/game.cpp
msgid "- Server Name: "
@@ -921,7 +937,6 @@ msgid "Automatic forward disabled"
msgstr "Avance automático desactivado"
#: src/client/game.cpp
-#, fuzzy
msgid "Automatic forward enabled"
msgstr "Avance automático activado"
@@ -1313,27 +1328,27 @@ msgstr "Inicio"
#: src/client/keycode.cpp
msgid "IME Accept"
-msgstr "IME Aceptar"
+msgstr "Aceptar IME"
#: src/client/keycode.cpp
msgid "IME Convert"
-msgstr "IME Convertir"
+msgstr "Convertir IME"
#: src/client/keycode.cpp
msgid "IME Escape"
-msgstr "IME Escapar"
+msgstr "Escapada de IME"
#: src/client/keycode.cpp
msgid "IME Mode Change"
-msgstr "IME Cambio de modo"
+msgstr "Cambiar Modo IME"
#: src/client/keycode.cpp
msgid "IME Nonconvert"
-msgstr "IME No convertir"
+msgstr "No convertir IME"
#: src/client/keycode.cpp
msgid "Insert"
-msgstr "Introducir"
+msgstr "Insertar"
#: src/client/keycode.cpp src/gui/guiKeyChangeMenu.cpp
msgid "Left"
@@ -1359,6 +1374,7 @@ msgstr "Shift izq."
msgid "Left Windows"
msgstr "Win izq."
+#. ~ Key name, common on Windows keyboards
#: src/client/keycode.cpp
msgid "Menu"
msgstr "Menú"
@@ -1451,6 +1467,7 @@ msgstr "Pausa"
msgid "Play"
msgstr "Jugar"
+#. ~ "Print screen" key
#: src/client/keycode.cpp
msgid "Print"
msgstr "Captura"
@@ -1487,6 +1504,7 @@ msgstr "Win der."
msgid "Scroll Lock"
msgstr "Bloq Despl"
+#. ~ Key name
#: src/client/keycode.cpp
msgid "Select"
msgstr "Seleccionar"
@@ -1693,9 +1711,8 @@ msgid "Toggle noclip"
msgstr "Activar noclip"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Toggle pitchmove"
-msgstr "Alternar el registro del chat"
+msgstr "Alternar inclinación"
#: src/gui/guiKeyChangeMenu.cpp
msgid "press key"
@@ -1727,13 +1744,18 @@ msgstr "Silenciado"
#: src/gui/guiVolumeChange.cpp
msgid "Sound Volume: "
-msgstr "Volúmen del sonido: "
+msgstr "Volumen del sonido: "
+#. ~ Imperative, as in "Enter/type in text".
+#. Don't forget the space.
#: src/gui/modalMenu.cpp
msgid "Enter "
msgstr "Ingresar "
-#: src/network/clientpackethandler.cpp
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string which needs to contain the translation's
+#. language code (e.g. "de" for German).
+#: src/network/clientpackethandler.cpp src/script/lua_api/l_client.cpp
msgid "LANG_CODE"
msgstr "es"
@@ -1757,12 +1779,13 @@ msgstr ""
"del círculo 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"
"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"
+"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."
@@ -1936,7 +1959,7 @@ msgstr "Aceleración en el aire"
#: src/settings_translation_file.cpp
msgid "Acceleration of gravity, in nodes per second per second."
-msgstr "Aceleración de gravedad, en nodos por segundo por segundo."
+msgstr "Aceleración de gravedad, en nodos por segundo."
#: src/settings_translation_file.cpp
msgid "Active Block Modifiers"
@@ -1977,24 +2000,24 @@ msgstr ""
"sólo), por ejemplo para pantallas 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 ""
-"Ajustar la codificación gamma para las tablas de iluminación. Números "
-"mayores son mas brillantes.\n"
-"Este ajuste es solo para cliente y es ignorado por el servidor."
-
-#: src/settings_translation_file.cpp
msgid "Advanced"
msgstr "Avanzado"
#: src/settings_translation_file.cpp
-msgid "Alters how mountain-type floatlands taper above and below midpoint."
+msgid ""
+"Alters the light curve by applying 'gamma correction' to it.\n"
+"Higher values make middle and lower light levels brighter.\n"
+"Value '1.0' leaves the light curve unaltered.\n"
+"This only has significant effect on daylight and artificial\n"
+"light, it has very little effect on natural night light."
msgstr ""
-"Modifica cómo las tierras flotantes del tipo montaña aparecen arriba y abajo "
-"del punto medio."
+"Altera la curva de luz aplicándole una \"corrección gamma\".\n"
+"Los valores más altos hacen que los niveles de luz medios y bajos sean más "
+"brillantes.\n"
+"El valor \"1.0\" deja la curva de luz inalterada.\n"
+"Esto sólo tiene un efecto significativo en la luz del día y en la luz "
+"artificial, \n"
+"tiene muy poco efecto en la luz natural nocturna."
#: src/settings_translation_file.cpp
msgid "Altitude chill"
@@ -2073,7 +2096,7 @@ msgstr ""
"A esta distancia el servidor optimizará agresivamente qué bloques son "
"enviados a\n"
"los clientes.\n"
-"Valores bajos potencialmente mejorarán mucho el rendimiento, a costa de \n"
+"Los valores bajos mejorarán mucho el rendimiento, a costa de \n"
"errores gráficos visibles (algunos bloques no serán renderizados bajo el "
"agua y en cuevas,\n"
"así como ocasionalmente en tierra).\n"
@@ -2082,16 +2105,12 @@ msgstr ""
"Fijado en bloques de mapa (16 nodos)."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Automatic forward key"
msgstr "Tecla de avance automático"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Automatically jump up single-node obstacles."
-msgstr ""
-"Salta obstáculos de un nodo automáticamente.\n"
-"tipo: booleano"
+msgstr "Saltar obstáculos de un nodo automáticamente."
#: src/settings_translation_file.cpp
msgid "Automatically report to the serverlist."
@@ -2099,7 +2118,7 @@ msgstr "Automáticamente informar a la lista del servidor."
#: src/settings_translation_file.cpp
msgid "Autosave screen size"
-msgstr "Autoguardar tamaño de ventana"
+msgstr "Autoguardar el tamaño de la pantalla"
#: src/settings_translation_file.cpp
msgid "Autoscaling mode"
@@ -2157,11 +2176,27 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Block send optimize distance"
-msgstr "Distancia de optimización de envío de bloques"
+msgstr "Optimizar la distancia del envío de bloques"
+
+#: src/settings_translation_file.cpp
+msgid "Bold and italic font path"
+msgstr "Ruta de la fuente en negrita y cursiva"
+
+#: src/settings_translation_file.cpp
+msgid "Bold and italic monospace font path"
+msgstr "Ruta de la fuente monoespacio en negrita y cursiva"
+
+#: src/settings_translation_file.cpp
+msgid "Bold font path"
+msgstr "Ruta de la fuente en negrita"
+
+#: src/settings_translation_file.cpp
+msgid "Bold monospace font path"
+msgstr "Ruta de la fuente monoespacio en negrita"
#: src/settings_translation_file.cpp
msgid "Build inside player"
-msgstr "Construir dentro de jugador"
+msgstr "Construir dentro del jugador"
#: src/settings_translation_file.cpp
msgid "Builtin"
@@ -2174,15 +2209,16 @@ msgstr "Mapeado de relieve"
#: 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"
+"Camera 'near clipping plane' distance in nodes, between 0 and 0.25\n"
+"Only works on GLES platforms. 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 del plano cercano de la cámara en nodos, entre 0 y 0.5.\n"
-"La mayoría de los usuarios no necesitarán editar ésto.\n"
-"Incrementarlo puede reducir los artefactos en GPUs débiles.\n"
-"0.1 = Predeterminado, 0.25 = Buen valor para tabletas débiles."
+"Distancia de la cámara 'cerca del plano delimitador' en nodos, entre 0 y "
+"0,5.\n"
+"La mayoría de los usuarios no necesitarán cambiar esto.\n"
+"El aumento puede reducir los artefactos en GPU más débiles.\n"
+"0.1 = Predeterminado, 0,25 = Buen valor para comprimidos más débiles."
#: src/settings_translation_file.cpp
msgid "Camera smoothing"
@@ -2241,8 +2277,12 @@ msgid "Cavern upper limit"
msgstr "Límite superior de caverna"
#: src/settings_translation_file.cpp
-msgid "Center of light curve mid-boost."
-msgstr "Aumento medio del centro de la curva de luz."
+msgid ""
+"Center of light curve boost range.\n"
+"Where 0.0 is minimum light level, 1.0 is maximum light level."
+msgstr ""
+"Centro de rango de impulso de la curva de luz.\n"
+"Cuando 0.0 es el nivel mínimo de luz, 1.0 es el nivel de luz máximo."
#: src/settings_translation_file.cpp
msgid ""
@@ -2268,9 +2308,8 @@ 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"
+msgstr "Formato del mensaje del chat"
#: src/settings_translation_file.cpp
msgid "Chat message kick threshold"
@@ -2321,9 +2360,8 @@ msgid "Client side modding restrictions"
msgstr "Restricciones para modear del lado del cliente"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Client side node lookup range restriction"
-msgstr "Restricción de distancia de búsqueda de nodos del cliente"
+msgstr "Restricción del rango de búsqueda del nodo del lado cliente"
#: src/settings_translation_file.cpp
msgid "Climbing speed"
@@ -2418,9 +2456,8 @@ msgid "ContentDB Flag Blacklist"
msgstr "Lista negra de banderas de ContentDB"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "ContentDB URL"
-msgstr "Contenido"
+msgstr "Dirección URL de ContentDB"
#: src/settings_translation_file.cpp
msgid "Continuous forward"
@@ -2444,34 +2481,33 @@ msgid ""
"Examples:\n"
"72 = 20min, 360 = 4min, 1 = 24hour, 0 = day/night/whatever stays unchanged."
msgstr ""
-"Controla el duración del ciclo día/noche.\n"
+"Controla la duración del ciclo día/noche.\n"
"Ejemplos: 72 = 20min, 360 = 4min, 1 = 24hora, 0 = día/noche/lo que sea se "
"queda inalterado."
#: src/settings_translation_file.cpp
msgid "Controls sinking speed in liquid."
-msgstr ""
+msgstr "Controla la velocidad de hundimiento en líquidos."
#: src/settings_translation_file.cpp
msgid "Controls steepness/depth of lake depressions."
-msgstr "Controla lo escarpado/profundo de las depresiones."
+msgstr "Controla la pendiente/profundidad de las depresiones del lago."
#: src/settings_translation_file.cpp
msgid "Controls steepness/height of hills."
-msgstr "Controla lo escarpado/alto de las colinas."
+msgstr "Controla la pendiente/altura de las colinas."
#: 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."
+"Controls width of tunnels, a smaller value creates wider tunnels.\n"
+"Value >= 10.0 completely disables generation of tunnels and avoids the\n"
+"intensive noise calculations."
msgstr ""
-"Controla la densidad del terreno montañoso flotante.\n"
-"Se agrega un desplazamiento al valor de ruido 'mgv7_np_mountain'."
-
-#: src/settings_translation_file.cpp
-msgid "Controls width of tunnels, a smaller value creates wider tunnels."
-msgstr ""
-"Controla el ancho de los túneles, un valor menor crea túneles más anchos."
+"Controla la anchura de los túneles, un valor más pequeño crea túneles más "
+"anchos.\n"
+"El valor >- 10.0 desactiva completamente la generación de túneles y evita "
+"la\n"
+"cálculos intensivos de ruido."
#: src/settings_translation_file.cpp
msgid "Crash message"
@@ -2483,7 +2519,7 @@ msgstr "Creativo"
#: src/settings_translation_file.cpp
msgid "Crosshair alpha"
-msgstr "Opacidad de punto de mira"
+msgstr "Opacidad del punto de mira"
#: src/settings_translation_file.cpp
msgid "Crosshair alpha (opaqueness, between 0 and 255)."
@@ -2506,18 +2542,12 @@ msgid "Damage"
msgstr "Daño"
#: src/settings_translation_file.cpp
-#, fuzzy
-msgid "Darkness sharpness"
-msgstr "Agudeza de la obscuridad"
-
-#: src/settings_translation_file.cpp
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"
+msgstr "Umbral del tamaño del archivo de registro de depuración"
#: src/settings_translation_file.cpp
msgid "Debug log level"
@@ -2528,8 +2558,8 @@ msgid "Dec. volume key"
msgstr "Dec. tecla de volumen"
#: src/settings_translation_file.cpp
-msgid "Decrease this to increase liquid resistence to movement."
-msgstr ""
+msgid "Decrease this to increase liquid resistance to movement."
+msgstr "Disminuya esto para aumentar la resistencia del líquido al movimiento."
#: src/settings_translation_file.cpp
msgid "Dedicated server step"
@@ -2572,14 +2602,6 @@ msgstr ""
"Sólo tiene efecto si está compilado con cURL."
#: src/settings_translation_file.cpp
-msgid ""
-"Defines areas of floatland smooth terrain.\n"
-"Smooth floatlands occur when noise > 0."
-msgstr ""
-"Define áreas de terreno liso flotante.\n"
-"Las zonas flotantes lisas se producen cuando el ruido > 0."
-
-#: src/settings_translation_file.cpp
msgid "Defines areas where trees have apples."
msgstr "Define las áreas donde los árboles tienen manzanas."
@@ -2622,9 +2644,8 @@ 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."
+msgstr "Define la profundidad del canal del río."
#: src/settings_translation_file.cpp
msgid "Defines the maximal player transfer distance in blocks (0 = unlimited)."
@@ -2633,14 +2654,12 @@ msgstr ""
"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."
+msgstr "Define el ancho del canal del río."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Defines the width of the river valley."
-msgstr "Define las áreas donde los árboles tienen manzanas."
+msgstr "Define el ancho del valle del río."
#: src/settings_translation_file.cpp
msgid "Defines tree areas and tree density."
@@ -2669,12 +2688,6 @@ 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."
@@ -2695,17 +2708,16 @@ 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 '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."
+"Los desiertos se producen cuando np_biome supera este valor.\n"
+"Cuando se activa la bandera de \"snowbiomes\", esto se ignora."
#: src/settings_translation_file.cpp
msgid "Desynchronize block animation"
-msgstr "Desincronizar animación de bloques"
+msgstr "Desincronizar la animación de los bloques"
#: src/settings_translation_file.cpp
msgid "Digging particles"
@@ -2751,7 +2763,15 @@ msgstr "Mazmorras, mín. Y"
#: src/settings_translation_file.cpp
#, fuzzy
msgid "Dungeon noise"
-msgstr "Mazmorras, mín. Y"
+msgstr "Ruido de mazmorra"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Enable IPv6 support (for both client and server).\n"
+"Required for IPv6 connections to work at all."
+msgstr ""
+"Habilitar el soporte de IPv6 (tanto para el cliente como para el servidor).\n"
+"Requerido para que las conexiones IPv6 funcionen."
#: src/settings_translation_file.cpp
msgid ""
@@ -2762,16 +2782,12 @@ msgstr ""
"El soporte es experimental y la API puede cambiar."
#: src/settings_translation_file.cpp
-msgid "Enable VBO"
-msgstr "Activar VBO"
-
-#: src/settings_translation_file.cpp
msgid "Enable console window"
-msgstr "Habilita la ventana de consola"
+msgstr "Habilitar la ventana de la consola"
#: src/settings_translation_file.cpp
msgid "Enable creative mode for new created maps."
-msgstr "Habilita el modo creativo para nuevos mapas creados."
+msgstr "Habilitar el modo creativo para los nuevos mapas creados."
#: src/settings_translation_file.cpp
msgid "Enable joysticks"
@@ -2779,7 +2795,7 @@ msgstr "Activar joysticks"
#: src/settings_translation_file.cpp
msgid "Enable mod channels support."
-msgstr "Activar soporte para canales de mods."
+msgstr "Activar soporte para los canales de mods."
#: src/settings_translation_file.cpp
msgid "Enable mod security"
@@ -2802,8 +2818,8 @@ 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."
+"Habilitar confirmación de registro al conectar al servidor\n"
+"Si esta deshabilitado, se registrará una nueva cuenta automáticamente."
#: src/settings_translation_file.cpp
msgid ""
@@ -2839,6 +2855,14 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Enable vertex buffer objects.\n"
+"This should greatly improve graphics performance."
+msgstr ""
+"Habilitar los objetos vértices del buffer.\n"
+"Esto debería mejorar enormemente el rendimiento de los gráficos."
+
+#: 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 ""
@@ -2848,11 +2872,27 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Enable/disable running an IPv6 server.\n"
-"Ignored if bind_address is set."
+"Ignored if bind_address is set.\n"
+"Needs enable_ipv6 to be enabled."
+msgstr ""
+"Habilita/deshabilita la ejecución de un servidor IPv6.\n"
+"Ignorado si se establece bind_address.\n"
+"Necesita habilitar enable_ipv6 para ser activado."
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid ""
+"Enables Hable's 'Uncharted 2' filmic tone mapping.\n"
+"Simulates the tone curve of photographic film and how this approximates the\n"
+"appearance of high dynamic range images. Mid-range contrast is slightly\n"
+"enhanced, highlights and shadows are gradually compressed."
msgstr ""
-"Habilita/deshabilita ejecutar un servidor IPv6. Un servidor IPv6 puede ser\n"
-"restringido a clientes IPv6, dependiendo de la configuración del sistema.\n"
-"Ignorado si 'bind_address' está configurado."
+"Permite el mapeo de tonos fílmicos de Hable \"Uncharted 2\".\n"
+"Simula la curva de tono de la película fotográfica y cómo ésta se aproxima a "
+"la\n"
+"aparición de imágenes de alto rango dinámico. El contraste de gama media es "
+"ligeramente\n"
+"mejorado, los reflejos y las sombras se comprimen gradualmente."
#: src/settings_translation_file.cpp
msgid "Enables animation of inventory items."
@@ -2875,10 +2915,6 @@ msgid "Enables caching of facedir rotated meshes."
msgstr "Habilitar cacheado de mallas giradas."
#: src/settings_translation_file.cpp
-msgid "Enables filmic tone mapping"
-msgstr "Habilita el mapeado de tonos fílmico"
-
-#: src/settings_translation_file.cpp
msgid "Enables minimap."
msgstr "Activar mini-mapa."
@@ -2900,8 +2936,20 @@ msgstr ""
"Requiere habilitar sombreadores."
#: src/settings_translation_file.cpp
+msgid ""
+"Enables the sound system.\n"
+"If disabled, this completely disables all sounds everywhere and the in-game\n"
+"sound controls will be non-functional.\n"
+"Changing this setting requires a restart."
+msgstr ""
+"Habilita el sistema de sonido.\n"
+"Si está desactivado, esto desactiva completamente todos los sonidos y\n"
+"los controles de sonido el juego no serán funcionales.\n"
+"Cambiar esta configuración requiere un reinicio."
+
+#: src/settings_translation_file.cpp
msgid "Engine profiling data print interval"
-msgstr "Intervalo de impresión de datos de profiling de la engine"
+msgstr "Intervalo de impresión de datos del perfil del motor"
#: src/settings_translation_file.cpp
msgid "Entity methods"
@@ -2932,24 +2980,24 @@ msgid "Fall bobbing factor"
msgstr "Factor de balanceo en caída"
#: src/settings_translation_file.cpp
-msgid "Fallback font"
-msgstr "Fuente de reserva"
+msgid "Fallback font path"
+msgstr "Ruta de la fuente alternativa"
#: src/settings_translation_file.cpp
msgid "Fallback font shadow"
-msgstr "Sombra de fuente de reserva"
+msgstr "Sombra de la fuente de reserva"
#: src/settings_translation_file.cpp
msgid "Fallback font shadow alpha"
-msgstr "Alfa de sombra de fuente de reserva"
+msgstr "Alfa de la sombra de la fuente de reserva"
#: src/settings_translation_file.cpp
msgid "Fallback font size"
-msgstr "Tamaño de fuente de reserva"
+msgstr "Tamaño de la fuente de reserva"
#: src/settings_translation_file.cpp
msgid "Fast key"
-msgstr "Tecla de \"Rápido\""
+msgstr "Tecla rápida"
#: src/settings_translation_file.cpp
msgid "Fast mode acceleration"
@@ -2994,7 +3042,7 @@ msgstr "Profundidad del relleno"
#: src/settings_translation_file.cpp
msgid "Filler depth noise"
-msgstr "Nivel llena de ruido"
+msgstr "Nivel lleno de ruido"
#: src/settings_translation_file.cpp
msgid "Filmic tone mapping"
@@ -3034,30 +3082,6 @@ msgid "Fixed virtual joystick"
msgstr "Joystick virtual fijo"
#: src/settings_translation_file.cpp
-msgid "Floatland base height noise"
-msgstr "Ruido de altura base para tierra flotante"
-
-#: src/settings_translation_file.cpp
-msgid "Floatland base noise"
-msgstr "Ruido base para tierra flotante"
-
-#: src/settings_translation_file.cpp
-msgid "Floatland level"
-msgstr "Nivel de tierra flotante"
-
-#: src/settings_translation_file.cpp
-msgid "Floatland mountain density"
-msgstr "Densidad de las montañas en tierras flotantes"
-
-#: src/settings_translation_file.cpp
-msgid "Floatland mountain exponent"
-msgstr "Exponente de las montañas en tierras flotantes"
-
-#: src/settings_translation_file.cpp
-msgid "Floatland mountain height"
-msgstr "Altura de las montañas en tierras flotantes"
-
-#: src/settings_translation_file.cpp
msgid "Fly key"
msgstr "Tecla vuelo"
@@ -3078,28 +3102,36 @@ msgid "Fog toggle key"
msgstr "Tecla para alternar niebla"
#: src/settings_translation_file.cpp
-msgid "Font path"
-msgstr "Ruta de fuentes"
+msgid "Font bold by default"
+msgstr "Fuente en negrita por defecto"
+
+#: src/settings_translation_file.cpp
+msgid "Font italic by default"
+msgstr "Letra cursiva por defecto"
#: src/settings_translation_file.cpp
msgid "Font shadow"
-msgstr "Sombra de fuentes"
+msgstr "Sombra de la fuente"
#: src/settings_translation_file.cpp
msgid "Font shadow alpha"
-msgstr "Alfa de sombra de fuentes"
+msgstr "Alfa de sombra de la fuente"
#: src/settings_translation_file.cpp
-msgid "Font shadow alpha (opaqueness, between 0 and 255)."
-msgstr "Alfa de sombra de fuentes (opacidad, entre 0 y 255)."
+msgid "Font size"
+msgstr "Tamaño de la fuente"
#: src/settings_translation_file.cpp
-msgid "Font shadow offset, if 0 then shadow will not be drawn."
-msgstr "Compensado de sombra de fuente, si es 0 no se dibujará la sombra."
+msgid "Font size of the default font in point (pt)."
+msgstr "Tamaño de la fuente por defecto en punto (pt)."
#: src/settings_translation_file.cpp
-msgid "Font size"
-msgstr "Tamaño de fuente"
+msgid "Font size of the fallback font in point (pt)."
+msgstr "Tamaño de la fuente de reserva en punto (pt)."
+
+#: src/settings_translation_file.cpp
+msgid "Font size of the monospace font in point (pt)."
+msgstr "Tamaño de la fuente del monoespacio en punto (pt)."
#: src/settings_translation_file.cpp
msgid ""
@@ -3107,10 +3139,13 @@ msgid ""
"placeholders:\n"
"@name, @message, @timestamp (optional)"
msgstr ""
+"Formato en los mensajes del chat del jugador. Los siguientes strings son "
+"válidos:\n"
+"@name, @message, @timestamp (opcional)"
#: src/settings_translation_file.cpp
msgid "Format of screenshots."
-msgstr "Formato de capturas de pantalla."
+msgstr "Formato de las capturas de pantalla."
#: src/settings_translation_file.cpp
msgid "Formspec Default Background Color"
@@ -3122,19 +3157,19 @@ msgstr "Opacidad de fondo Predeterminada para formularios"
#: src/settings_translation_file.cpp
msgid "Formspec Full-Screen Background Color"
-msgstr "Color see fondo para formularios en pantalla completa"
+msgstr "Color de fondo para formularios en pantalla completa"
#: src/settings_translation_file.cpp
msgid "Formspec Full-Screen Background Opacity"
-msgstr "Opacidad de formularios en pantalla completa"
+msgstr "Opacidad de los formularios en pantalla completa"
#: src/settings_translation_file.cpp
msgid "Formspec default background color (R,G,B)."
-msgstr "Color de fondo predeterminado para formularios (R, G, B)."
+msgstr "Color de fondo predeterminado para los formularios (R, G, B)."
#: src/settings_translation_file.cpp
msgid "Formspec default background opacity (between 0 and 255)."
-msgstr "Opacidad predeterminada del fondo de formularios (entre 0 y 255)."
+msgstr "Opacidad predeterminada del fondo de los formularios (entre 0 y 255)."
#: src/settings_translation_file.cpp
msgid "Formspec full-screen background color (R,G,B)."
@@ -3222,16 +3257,12 @@ msgid "GUI scaling filter txr2img"
msgstr "Filtro de escala de IGU \"txr2img\""
#: src/settings_translation_file.cpp
-msgid "Gamma"
-msgstr "Gamma"
-
-#: src/settings_translation_file.cpp
msgid "Generate normalmaps"
msgstr "Generar mapas normales"
#: src/settings_translation_file.cpp
msgid "Global callbacks"
-msgstr "Devolución de llamadas globales"
+msgstr "Llamadas globales"
#: src/settings_translation_file.cpp
#, fuzzy
@@ -3251,14 +3282,20 @@ msgstr ""
"inhabilitar esas opciones."
#: src/settings_translation_file.cpp
-#, fuzzy
-msgid "Gradient of light curve at maximum light level."
-msgstr "Gradiente de la curva de luz al nivel de luz máximo."
+msgid ""
+"Gradient of light curve at maximum light level.\n"
+"Controls the contrast of the highest light levels."
+msgstr ""
+"Gradiente de la curva de luz en el nivel máximo de luz.\n"
+"Controla el contraste de los niveles de luz más altos."
#: src/settings_translation_file.cpp
-#, fuzzy
-msgid "Gradient of light curve at minimum light level."
-msgstr "Gradiente de la curva de luz al nivel de luz mínimo."
+msgid ""
+"Gradient of light curve at minimum light level.\n"
+"Controls the contrast of the lowest light levels."
+msgstr ""
+"Gradiente de la curva de luz en el nivel mínimo de luz.\n"
+"Controla el contraste de los niveles de luz más bajos."
#: src/settings_translation_file.cpp
msgid "Graphics"
@@ -3282,7 +3319,7 @@ msgstr "Mods HTTP"
#: src/settings_translation_file.cpp
msgid "HUD scale factor"
-msgstr "Factor de escala del HUD"
+msgstr "Factor de escala HUD"
#: src/settings_translation_file.cpp
msgid "HUD toggle key"
@@ -3290,20 +3327,21 @@ msgstr "Tecla de cambio del HUD"
#: src/settings_translation_file.cpp
msgid ""
-"Handling for deprecated lua api calls:\n"
+"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 ""
-"Manejo de las llamadas de la API LUA obsoletas:\n"
-"- legacy: (intenta)imita el antiguo comportamiento (por defecto para "
-"lanzamientos).\n"
-"- log: imita y guarda el seguimiento de las llamadas obsoletas (por defecto "
-"para depuración).\n"
-"- error: Cancela en el uso de llamadas obsoletas (sugerido para los "
-"desarrolladores de Mods)."
+"Manejo de llamadas a la API de Lua en desuso:\n"
+"- legacy: (intentar) imitar el comportamiento antiguo (por defecto para la "
+"liberación).\n"
+"- log: imitar y registrar la pista de seguimiento de la llamada en desuso "
+"(predeterminado para la depuración).\n"
+"- error: abortar el uso de la llamada en desuso (sugerido para "
+"desarrolladores de mods)."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
"Have the profiler instrument itself:\n"
"* Instrument an empty function.\n"
@@ -3311,6 +3349,11 @@ msgid ""
"call).\n"
"* Instrument the sampler being used to update the statistics."
msgstr ""
+"Tener el propio instrumento del generador de perfiles:\n"
+"* Instrumente una función vacía.\n"
+"Esto estima la sobrecarga, que la instrumentación está agregando (+1 llamada "
+"de función).\n"
+"* Instrumente el muestreador que se utiliza para actualizar las estadísticas."
#: src/settings_translation_file.cpp
msgid "Heat blend noise"
@@ -3330,7 +3373,7 @@ msgstr "Altura del ruido"
#: src/settings_translation_file.cpp
msgid "Height select noise"
-msgstr "Ruido de elección de altura"
+msgstr "Altura del ruido seleccionado"
#: src/settings_translation_file.cpp
msgid "High-precision FPU"
@@ -3370,26 +3413,32 @@ msgid ""
"Horizontal acceleration in air when jumping or falling,\n"
"in nodes per second per second."
msgstr ""
+"Aceleración horizontal en el aire al saltar o caer,\n"
+"en nodos por segundo."
#: src/settings_translation_file.cpp
msgid ""
"Horizontal and vertical acceleration in fast mode,\n"
"in nodes per second per second."
msgstr ""
+"Aceleración horizontal y vertical en modo rápido,\n"
+"en nodos por segundo."
#: src/settings_translation_file.cpp
msgid ""
"Horizontal and vertical acceleration on ground or when climbing,\n"
"in nodes per second per second."
msgstr ""
+"Aceleración horizontal y vertical en el suelo o al subir,\n"
+"en nodos por segundo."
#: src/settings_translation_file.cpp
msgid "Hotbar next key"
-msgstr "Tecla de siguiente barra rápida"
+msgstr "Tecla de siguiente de la barra rápida"
#: src/settings_translation_file.cpp
msgid "Hotbar previous key"
-msgstr "Tecla de anterior barra rápida"
+msgstr "Tecla de anterior de la barra rápida"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 1 key"
@@ -3416,139 +3465,122 @@ msgid "Hotbar slot 14 key"
msgstr "Tecla de barra rápida ranura 14"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 15 key"
-msgstr "Botón de siguiente Hotbar"
+msgstr "Tecla de barra rápida ranura 15"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 16 key"
-msgstr "Botón de siguiente Hotbar"
+msgstr "Tecla de barra rápida ranura 16"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 17 key"
-msgstr "Botón de siguiente Hotbar"
+msgstr "Tecla de barra rápida ranura 17"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 18 key"
-msgstr "Botón de siguiente Hotbar"
+msgstr "Tecla de barra rápida ranura 18"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 19 key"
-msgstr "Botón de siguiente Hotbar"
+msgstr "Tecla de barra rápida ranura 19"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 2 key"
-msgstr "Botón de siguiente Hotbar"
+msgstr "Tecla de barra rápida ranura 2"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 20 key"
-msgstr "Botón de siguiente Hotbar"
+msgstr "Tecla de barra rápida ranura 20"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 21 key"
-msgstr "Botón de siguiente Hotbar"
+msgstr "Tecla de barra rápida ranura 21"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 22 key"
-msgstr "Botón de siguiente Hotbar"
+msgstr "Tecla de barra rápida ranura 22"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 23 key"
-msgstr "Botón de siguiente Hotbar"
+msgstr "Tecla de barra rápida ranura 23"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 24 key"
-msgstr "Botón de siguiente Hotbar"
+msgstr "Tecla de barra rápida ranura 24"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 25 key"
-msgstr "Botón de siguiente Hotbar"
+msgstr "Tecla de barra rápida ranura 25"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 26 key"
-msgstr "Botón de siguiente Hotbar"
+msgstr "Tecla de barra rápida ranura 26"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 27 key"
-msgstr "Botón de siguiente Hotbar"
+msgstr "Tecla de barra rápida ranura 27"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 28 key"
-msgstr "Botón de siguiente Hotbar"
+msgstr "Tecla de barra rápida ranura 28"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 29 key"
-msgstr "Botón de siguiente Hotbar"
+msgstr "Tecla de barra rápida ranura 29"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 3 key"
-msgstr "Botón de siguiente Hotbar"
+msgstr "Tecla de barra rápida ranura 3"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 30 key"
-msgstr "Botón de siguiente Hotbar"
+msgstr "Tecla de barra rápida ranura 30"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 31 key"
-msgstr "Botón de siguiente Hotbar"
+msgstr "Tecla de barra rápida ranura 31"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 32 key"
-msgstr "Botón de siguiente Hotbar"
+msgstr "Tecla de barra rápida ranura 32"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 4 key"
-msgstr "Botón de siguiente Hotbar"
+msgstr "Tecla de barra rápida ranura 4"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 5 key"
-msgstr "Botón de siguiente Hotbar"
+msgstr "Tecla de barra rápida ranura 5"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 6 key"
-msgstr "Botón de siguiente Hotbar"
+msgstr "Tecla de barra rápida ranura 6"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 7 key"
-msgstr "Botón de siguiente Hotbar"
+msgstr "Tecla de barra rápida ranura 7"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 8 key"
-msgstr "Botón de siguiente Hotbar"
+msgstr "Tecla de barra rápida ranura 8"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 9 key"
-msgstr "Botón de siguiente Hotbar"
+msgstr "Tecla de barra rápida ranura 9"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "How deep to make rivers."
-msgstr "Profundidad para los ríos"
+msgstr "Profundidad para los ríos."
+
+#: src/settings_translation_file.cpp
+msgid ""
+"How fast liquid waves will move. Higher = faster.\n"
+"If negative, liquid waves will move backwards.\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+"Como de rápido se moverán las ondas de líquido. Más alto = más rápido.\n"
+"Si es negativo, las ondas de líquido se moverán hacia atrás.\n"
+"Requiere que se habiliten los líquidos de agitación."
#: src/settings_translation_file.cpp
msgid ""
@@ -3560,13 +3592,12 @@ msgstr ""
"Con valores mayores es mas fluido, pero se utiliza mas RAM."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "How wide to make rivers."
-msgstr "Ancho de los ríos"
+msgstr "Ancho de los ríos."
#: src/settings_translation_file.cpp
msgid "Humidity blend noise"
-msgstr ""
+msgstr "Ruido de la mezcla de humedad"
#: src/settings_translation_file.cpp
msgid "Humidity noise"
@@ -3585,28 +3616,25 @@ msgid "IPv6 server"
msgstr "servidor IPv6"
#: src/settings_translation_file.cpp
-msgid "IPv6 support."
-msgstr "soporte IPv6."
-
-#: 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 ""
-"Si las FPS no van mas alto que esto, limitelas\n"
-"para no gastar poder del CPU para ningun beneficio."
+"Si los FPS subieran a más de esto, limítelos durmiendo a fin de no malgastar "
+"potencia de CPU sin 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 ""
-"Si la tecla \"usar\" desactivada se usa para volar rápido si tanto el modo "
-"rápido como el modo rápido están habilitados."
+"Si está desactivado, la tecla \"especial\" se utiliza para volar rápido si "
+"tanto el modo de vuelo como el modo rápido están\n"
+"habilitados."
#: 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"
@@ -3614,6 +3642,12 @@ msgid ""
"invisible\n"
"so that the utility of noclip mode is reduced."
msgstr ""
+"Si está habilitado, el servidor realizará la selección de la oclusión del "
+"bloque del mapa basado en\n"
+"en la posición del ojo del jugador. Esto puede reducir el número de bloques\n"
+"enviados al cliente en un 50-80%. El cliente ya no recibirá la mayoría de "
+"las invisibles\n"
+"para que la utilidad del modo nocturno se reduzca."
#: src/settings_translation_file.cpp
msgid ""
@@ -3621,48 +3655,50 @@ msgid ""
"nodes.\n"
"This requires the \"noclip\" privilege on the server."
msgstr ""
-"Si se habilita junto con el modo volar, el jugador puede volar a través de "
+"Si se activa junto con el modo vuelo, el jugador puede volar a través de "
"nodos sólidos.\n"
-"Esto requiere el privilegio \"noclip\" en el servidor."
+"Requiere del privilegio \"noclip\" en el 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 ""
-"Si está habilitado, la tecla \"usar\" en lugar de la tecla \"escabullirse\" "
-"se usa para subir y bajar."
+"Si está activada, la tecla \"especial\" en lugar de la tecla \"sneak\" se "
+"utilizará para bajar y\n"
+"descender."
#: src/settings_translation_file.cpp
msgid ""
"If enabled, actions are recorded for rollback.\n"
"This option is only read when server starts."
msgstr ""
-"Si esta activiado, las accione son guardadas para un rollback.\n"
-"Esta opcion es de solo lectura cuando el servidor inicia."
+"Si se activa, las acciones se graban para poder deshacerse.\n"
+"Esta opción sólo se lee al arrancar el servidor."
#: src/settings_translation_file.cpp
msgid "If enabled, disable cheat prevention in multiplayer."
msgstr ""
-"Si esta habilitado, desahabilita la prevencion de trampas y trucos en "
-"multijugador."
+"Si se habilita, deshabilita la prevención de trampas en modo multijugador."
#: 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 ""
-"Si está habilitado, los datos mundiales inválidos no harán que el servidor "
-"se apague.\n"
-"Solo habilita esto si sabes lo que estás haciendo."
+"Si se habilita, los datos del mundo inválidos no causarán que el servidor se "
+"apague.\n"
+"Actívelo sólo si sabe lo que hace."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
"If enabled, makes move directions relative to the player's pitch when flying "
"or swimming."
msgstr ""
+"Si está activada, hace que las direcciones de movimiento sean relativas al "
+"lanzamiento del jugador cuando vuela o nada."
#: src/settings_translation_file.cpp
msgid "If enabled, new players cannot join with an empty password."
@@ -3686,6 +3722,9 @@ msgid ""
"limited\n"
"to this distance from the player to the node."
msgstr ""
+"Si la restricción CSM para el rango de nodos está activada, las llamadas a "
+"get_node están limitadas\n"
+"a esta distancia del jugador al nodo."
#: src/settings_translation_file.cpp
msgid ""
@@ -3694,6 +3733,11 @@ msgid ""
"deleting an older debug.txt.1 if it exists.\n"
"debug.txt is only moved if this setting is positive."
msgstr ""
+"Si el tamaño del archivo debug.txt excede el número de megabytes "
+"especificado en\n"
+"esta configuración cuando se abre, el archivo se mueve a debug.txt.1,\n"
+"borrando un antiguo debug.txt.1 si existe.\n"
+"debug.txt sólo se mueve si esta configuración es positiva."
#: src/settings_translation_file.cpp
msgid "If this is set, players will always (re)spawn at the given position."
@@ -3705,7 +3749,7 @@ msgstr "Ignora los errores del mundo"
#: src/settings_translation_file.cpp
msgid "In-Game"
-msgstr "Dentro del Juego"
+msgstr "Dentro del juego"
#: src/settings_translation_file.cpp
msgid "In-game chat console background alpha (opaqueness, between 0 and 255)."
@@ -3729,13 +3773,16 @@ msgstr "Tecla de la consola"
#: src/settings_translation_file.cpp
msgid "Initial vertical speed when jumping, in nodes per second."
-msgstr ""
+msgstr "Velocidad vertical inicial al saltar, en nodos por segundo."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
"Instrument builtin.\n"
"This is usually only needed by core/builtin contributors"
msgstr ""
+"El instrumento está construido.\n"
+"Por lo general, esto sólo lo necesitan los contribuyentes del núcleo/base"
#: src/settings_translation_file.cpp
msgid "Instrument chatcommands on registration."
@@ -3797,6 +3844,15 @@ msgid "Invert vertical mouse movement."
msgstr "Invertir movimiento vertical del ratón."
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Italic font path"
+msgstr "Ruta de fuentes"
+
+#: src/settings_translation_file.cpp
+msgid "Italic monospace font path"
+msgstr "Ruta de la fuente monoespacial cursiva"
+
+#: src/settings_translation_file.cpp
msgid "Item entity TTL"
msgstr "Ãtem entidad TTL"
@@ -3811,6 +3867,10 @@ msgid ""
"increases processing load.\n"
"At iterations = 20 this mapgen has a similar load to mapgen V7."
msgstr ""
+"Iteraciones de la función recursiva.\n"
+"Aumentar esto aumenta la cantidad de detalles finos, pero también\n"
+"aumenta la carga de procesamiento.\n"
+"En las iteraciones = 20 este mapgen tiene una carga similar al mapgen V7."
#: src/settings_translation_file.cpp
msgid "Joystick ID"
@@ -3822,7 +3882,7 @@ msgstr "Intervalo de repetición del botón del Joystick"
#: src/settings_translation_file.cpp
msgid "Joystick frustum sensitivity"
-msgstr ""
+msgstr "Sensibilidad del Joystick"
#: src/settings_translation_file.cpp
msgid "Joystick type"
@@ -4487,6 +4547,9 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
+"Tecla para activar/desactivar el modo cinemático.\n"
+"Véase http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4494,6 +4557,9 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
+"Tecla para activar/desactivar la vista del minimapa.\n"
+"Véase http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4501,6 +4567,9 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
+"Tecla para activar/desactivar el modo veloz.\n"
+"Véase http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4508,6 +4577,9 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
+"Tecla para activar/desactivar el vuelo.\n"
+"Véase http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4515,6 +4587,9 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
+"Tecla para activar/desactivar el modo noclip.\n"
+"Véase http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
#, fuzzy
@@ -4619,14 +4694,21 @@ msgid "Large cave depth"
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
-msgid "Large chat console key"
-msgstr "Tecla de la consola"
+msgid "Large cave maximum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large cave minimum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large cave proportion flooded"
+msgstr ""
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Lava depth"
-msgstr "Características de la Lava"
+msgid "Large chat console key"
+msgstr "Tecla de la consola"
#: src/settings_translation_file.cpp
msgid "Leaves style"
@@ -4652,6 +4734,12 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Length of liquid waves.\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Length of time between Active Block Modifier (ABM) execution cycles"
msgstr ""
@@ -4676,19 +4764,28 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost"
+#, fuzzy
+msgid "Light curve boost"
+msgstr "Aumento medio del centro de la curva de luz."
+
+#: src/settings_translation_file.cpp
+msgid "Light curve boost center"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve boost spread"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost center"
+msgid "Light curve gamma"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost spread"
+msgid "Light curve high gradient"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Lightness sharpness"
+msgid "Light curve low gradient"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4795,21 +4892,10 @@ 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
#, fuzzy
msgid ""
-"Map generation attributes specific to Mapgen flat.\n"
-"'terrain' enables the generation of non-fractal terrain:\n"
-"ocean, islands and underground."
+"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"
"En el generador de mapas V6 la opción (o marcador) \"decorations\" controla "
@@ -4824,8 +4910,9 @@ msgstr ""
#: 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."
+"Map generation attributes specific to Mapgen Fractal.\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 "
@@ -4838,6 +4925,16 @@ msgstr ""
"inhabilitar esas opciones."
#: 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 v5."
msgstr ""
@@ -4967,21 +5064,21 @@ msgid "Mapgen flags"
msgstr "Banderas de Mapgen"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen name"
msgstr "Generador de mapas"
#: src/settings_translation_file.cpp
msgid "Max block generate distance"
-msgstr ""
+msgstr "Distancia máxima de generación de bloques"
#: src/settings_translation_file.cpp
msgid "Max block send distance"
-msgstr ""
+msgstr "Distancia máxima de envío de bloques"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Max liquids processed per step."
-msgstr ""
+msgstr "Líquidos máximos procesados por paso."
#: src/settings_translation_file.cpp
msgid "Max. clearobjects extra blocks"
@@ -4993,11 +5090,11 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Maximum FPS"
-msgstr ""
+msgstr "FPS máximos"
#: src/settings_translation_file.cpp
msgid "Maximum FPS when game is paused."
-msgstr ""
+msgstr "FPS máximos cuando el juego está pausado."
#: src/settings_translation_file.cpp
msgid "Maximum forceloaded blocks"
@@ -5008,8 +5105,16 @@ msgid "Maximum hotbar width"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of large caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
-"Maximum liquid resistence. Controls deceleration when entering liquid at\n"
+"Maximum liquid resistance. Controls deceleration when entering liquid at\n"
"high speed."
msgstr ""
@@ -5019,6 +5124,9 @@ msgid ""
"The maximum total count is calculated dynamically:\n"
"max_total = ceil((#clients + max_users) * per_client / 4)"
msgstr ""
+"Número máximo de bloques que se envían simultáneamente por cliente.\n"
+"El recuento total máximo se calcula dinámicamente:\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."
@@ -5096,7 +5204,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Maximum users"
-msgstr ""
+msgstr "Usuarios máximos"
#: src/settings_translation_file.cpp
msgid "Menus"
@@ -5108,26 +5216,35 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Message of the day"
-msgstr ""
+msgstr "Mensaje del día"
#: src/settings_translation_file.cpp
msgid "Message of the day displayed to players connecting."
-msgstr ""
+msgstr "Mensaje del día mostrado a los jugadores que se conectan."
#: src/settings_translation_file.cpp
msgid "Method used to highlight selected object."
-msgstr ""
+msgstr "Método utilizado para resaltar el objeto seleccionado."
#: src/settings_translation_file.cpp
msgid "Minimap"
-msgstr ""
+msgstr "Minimapa"
#: src/settings_translation_file.cpp
msgid "Minimap key"
-msgstr ""
+msgstr "Clave del minimapa"
#: src/settings_translation_file.cpp
msgid "Minimap scan height"
+msgstr "Altura de escaneo del minimapa"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Minimum limit of random number of large caves per mapchunk."
+msgstr "Ruido 3D que determina la cantidad de mazmorras por chunk."
+
+#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of small caves per mapchunk."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5190,13 +5307,12 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mute key"
-msgstr "Usa la tecla"
+msgstr "Tecla de silencio"
#: src/settings_translation_file.cpp
msgid "Mute sound"
-msgstr ""
+msgstr "Silenciar sonido"
#: src/settings_translation_file.cpp
msgid ""
@@ -5219,12 +5335,12 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Near clipping plane"
+msgid "Near plane"
msgstr ""
#: src/settings_translation_file.cpp
msgid "Network"
-msgstr ""
+msgstr "Red"
#: src/settings_translation_file.cpp
msgid ""
@@ -5298,7 +5414,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Online Content Repository"
-msgstr ""
+msgstr "Contenido del repositorio en linea"
#: src/settings_translation_file.cpp
msgid "Opaque liquids"
@@ -5306,6 +5422,16 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Opaqueness (alpha) of the shadow behind the default font, between 0 and 255."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Opaqueness (alpha) of the shadow behind the fallback font, between 0 and 255."
+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."
@@ -5350,12 +5476,17 @@ msgid "Parallax occlusion strength"
msgstr "Oclusión de paralaje"
#: src/settings_translation_file.cpp
-msgid "Path to TrueTypeFont or bitmap."
+msgid ""
+"Path of the fallback font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font will be used for certain languages or if the default font is "
+"unavailable."
msgstr ""
#: src/settings_translation_file.cpp
msgid "Path to save screenshots at."
-msgstr ""
+msgstr "Ruta para guardar las capturas de pantalla."
#: src/settings_translation_file.cpp
msgid ""
@@ -5368,12 +5499,28 @@ msgid "Path to texture directory. All textures are first searched from here."
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Path to the default font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"The fallback font will be used if the font cannot be loaded."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Path to the monospace font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font is used for e.g. the console and profiler screen."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Pause on lost window focus"
msgstr ""
#: src/settings_translation_file.cpp
msgid "Physics"
-msgstr ""
+msgstr "Físicas"
#: src/settings_translation_file.cpp
#, fuzzy
@@ -5397,11 +5544,11 @@ msgstr "Nombre del jugador"
#: src/settings_translation_file.cpp
msgid "Player transfer distance"
-msgstr ""
+msgstr "Distancia de transferencia del jugador"
#: src/settings_translation_file.cpp
msgid "Player versus player"
-msgstr ""
+msgstr "Jugador contra jugador"
#: src/settings_translation_file.cpp
msgid ""
@@ -5442,6 +5589,10 @@ msgid "Profiling"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Proportion of large caves that contain liquid."
+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 "
@@ -5465,6 +5616,11 @@ msgid "Recent Chat Messages"
msgstr ""
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Regular font path"
+msgstr "Ruta de fuentes"
+
+#: src/settings_translation_file.cpp
msgid "Remote media"
msgstr ""
@@ -5645,7 +5801,7 @@ msgstr "Primero de 2 ruidos 3D que juntos definen túneles."
#: src/settings_translation_file.cpp
msgid "Security"
-msgstr ""
+msgstr "Seguridad"
#: src/settings_translation_file.cpp
msgid "See https://www.sqlite.org/pragma.html#pragma_synchronous"
@@ -5667,24 +5823,24 @@ msgstr ""
#, fuzzy
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."
+"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 ""
"Elección de 18 fractales desde 9 fórmulas.\n"
"1 = Conjunto de Mandelbrot 4D \"Redondo\".\n"
@@ -5753,22 +5909,31 @@ msgid "Set the maximum character length of a chat message sent by clients."
msgstr ""
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Set to true enables waving leaves.\n"
+"Set to true to enable waving leaves.\n"
"Requires shaders to be enabled."
msgstr ""
+"Habilita mapeado de oclusión de paralaje.\n"
+"Requiere habilitar sombreadores."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Set to true enables waving plants.\n"
+"Set to true to enable waving liquids (like water).\n"
"Requires shaders to be enabled."
msgstr ""
+"Habilita mapeado de oclusión de paralaje.\n"
+"Requiere habilitar sombreadores."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Set to true enables waving water.\n"
+"Set to true to enable waving plants.\n"
"Requires shaders to be enabled."
msgstr ""
+"Habilita mapeado de oclusión de paralaje.\n"
+"Requiere habilitar sombreadores."
#: src/settings_translation_file.cpp
#, fuzzy
@@ -5784,8 +5949,18 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Shadow limit"
-msgstr ""
+#, fuzzy
+msgid ""
+"Shadow offset (in pixels) of the default font. If 0, then shadow will not be "
+"drawn."
+msgstr "Compensado de sombra de fuente, si es 0 no se dibujará la sombra."
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid ""
+"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not "
+"be drawn."
+msgstr "Compensado de sombra de fuente, si es 0 no se dibujará la sombra."
#: src/settings_translation_file.cpp
msgid "Shape of the minimap. Enabled = round, disabled = square."
@@ -5829,6 +6004,14 @@ msgid "Slope and fill work together to modify the heights."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Small cave maximum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Small cave minimum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Small-scale humidity variation for blending biomes on borders."
msgstr ""
@@ -5869,7 +6052,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Sound"
-msgstr ""
+msgstr "Sonido"
#: src/settings_translation_file.cpp
#, fuzzy
@@ -5890,8 +6073,9 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Spread of light curve mid-boost.\n"
-"Standard deviation of the mid-boost gaussian."
+"Spread of light curve boost range.\n"
+"Controls the width of the range to be boosted.\n"
+"Standard deviation of the light curve boost Gaussian."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5916,7 +6100,10 @@ msgid "Strength of generated normalmaps."
msgstr "Generar mapas normales"
#: src/settings_translation_file.cpp
-msgid "Strength of light curve mid-boost."
+msgid ""
+"Strength of light curve boost.\n"
+"The 3 'boost' parameters define a range of the light\n"
+"curve that is boosted in brightness."
msgstr ""
#: src/settings_translation_file.cpp
@@ -6020,6 +6207,15 @@ msgid "The length in pixels it takes for touch screen interaction to start."
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"The maximum height of the surface of waving liquids.\n"
+"4.0 = Wave height is two nodes.\n"
+"0.0 = Wave doesn't move at all.\n"
+"Default is 1.0 (1/2 node).\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "The network interface that the server listens on."
msgstr ""
@@ -6101,10 +6297,6 @@ msgid "Third of 4 2D noises that together define hill/mountain range height."
msgstr "Primero de 2 ruidos 3D que juntos definen túneles."
#: 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."
@@ -6159,7 +6351,7 @@ msgstr "Filtrado trilineal"
msgid ""
"True = 256\n"
"False = 128\n"
-"Useable to make minimap smoother on slower machines."
+"Usable to make minimap smoother on slower machines."
msgstr ""
#: src/settings_translation_file.cpp
@@ -6167,11 +6359,6 @@ 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 ""
@@ -6258,10 +6445,6 @@ 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 ""
@@ -6335,6 +6518,15 @@ msgid "Volume"
msgstr "Volumen"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid ""
+"Volume of all sounds.\n"
+"Requires the sound system to be enabled."
+msgstr ""
+"Habilita mapeado de oclusión de paralaje.\n"
+"Requiere habilitar sombreadores."
+
+#: 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"
@@ -6373,29 +6565,30 @@ msgid "Waving leaves"
msgstr "Movimiento de hojas"
#: src/settings_translation_file.cpp
-msgid "Waving plants"
-msgstr "Movimiento de plantas"
-
-#: src/settings_translation_file.cpp
-msgid "Waving water"
-msgstr "Oleaje en el agua"
+#, fuzzy
+msgid "Waving liquids"
+msgstr "Movimiento de Líquidos"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wave height"
+msgid "Waving liquids wave height"
msgstr "Altura de las ondulaciones del agua"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wave speed"
+msgid "Waving liquids wave speed"
msgstr "Velocidad del oleaje en el agua"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wavelength"
+msgid "Waving liquids wavelength"
msgstr "Oleaje en el agua"
#: src/settings_translation_file.cpp
+msgid "Waving plants"
+msgstr "Movimiento de plantas"
+
+#: 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"
@@ -6425,7 +6618,9 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Whether FreeType fonts are used, requires FreeType support to be compiled in."
+"Whether FreeType fonts are used, requires FreeType support to be compiled "
+"in.\n"
+"If disabled, bitmap and XML vectors fonts are used instead."
msgstr ""
#: src/settings_translation_file.cpp
@@ -6454,6 +6649,14 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Whether to mute sounds. You can unmute sounds at any time, unless the\n"
+"sound system is disabled (enable_sound=false).\n"
+"In-game, you can toggle the mute state with the mute key or by using the\n"
+"pause menu."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
"Whether to show the client debug info (has the same effect as hitting F5)."
msgstr ""
@@ -6525,10 +6728,6 @@ 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 ""
@@ -6541,10 +6740,6 @@ 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 ""
@@ -6556,6 +6751,82 @@ msgstr ""
msgid "cURL timeout"
msgstr "Tiempo de espera de cURL"
+#~ 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 ""
+#~ "Ajustar la codificación gamma para las tablas de iluminación. Números "
+#~ "mayores son mas brillantes.\n"
+#~ "Este ajuste es solo para cliente y es ignorado por el servidor."
+
+#~ msgid "Alters how mountain-type floatlands taper above and below midpoint."
+#~ msgstr ""
+#~ "Modifica cómo las tierras flotantes del tipo montaña aparecen arriba y "
+#~ "abajo del punto medio."
+
+#~ msgid ""
+#~ "Controls the density of mountain-type floatlands.\n"
+#~ "Is a noise offset added to the 'mgv7_np_mountain' noise value."
+#~ msgstr ""
+#~ "Controla la densidad del terreno montañoso flotante.\n"
+#~ "Se agrega un desplazamiento al valor de ruido 'mgv7_np_mountain'."
+
+#~ msgid "Controls width of tunnels, a smaller value creates wider tunnels."
+#~ msgstr ""
+#~ "Controla el ancho de los túneles, un valor menor crea túneles más anchos."
+
+#, fuzzy
+#~ msgid "Darkness sharpness"
+#~ msgstr "Agudeza de la obscuridad"
+
+#~ msgid ""
+#~ "Defines areas of floatland smooth terrain.\n"
+#~ "Smooth floatlands occur when noise > 0."
+#~ msgstr ""
+#~ "Define áreas de terreno liso flotante.\n"
+#~ "Las zonas flotantes lisas se producen cuando el ruido > 0."
+
+#~ msgid "Enable VBO"
+#~ msgstr "Activar VBO"
+
+#~ msgid "Enables filmic tone mapping"
+#~ msgstr "Habilita el mapeado de tonos fílmico"
+
+#~ msgid "Floatland base height noise"
+#~ msgstr "Ruido de altura base para tierra flotante"
+
+#~ msgid "Floatland base noise"
+#~ msgstr "Ruido base para tierra flotante"
+
+#~ msgid "Floatland level"
+#~ msgstr "Nivel de tierra flotante"
+
+#~ msgid "Floatland mountain density"
+#~ msgstr "Densidad de las montañas en tierras flotantes"
+
+#~ msgid "Floatland mountain exponent"
+#~ msgstr "Exponente de las montañas en tierras flotantes"
+
+#~ msgid "Floatland mountain height"
+#~ msgstr "Altura de las montañas en tierras flotantes"
+
+#~ msgid "Font shadow alpha (opaqueness, between 0 and 255)."
+#~ msgstr "Alfa de sombra de fuentes (opacidad, entre 0 y 255)."
+
+#~ msgid "Gamma"
+#~ msgstr "Gamma"
+
+#~ msgid "IPv6 support."
+#~ msgstr "soporte IPv6."
+
+#, fuzzy
+#~ msgid "Lava depth"
+#~ msgstr "Características de la Lava"
+
+#~ msgid "Waving water"
+#~ msgstr "Oleaje en el agua"
+
#~ msgid "Waving Water"
#~ msgstr "Oleaje"
diff --git a/po/et/minetest.po b/po/et/minetest.po
index 2207f3a80..d4e9e4a86 100644
--- a/po/et/minetest.po
+++ b/po/et/minetest.po
@@ -2,9 +2,9 @@ msgid ""
msgstr ""
"Project-Id-Version: Estonian (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-10-09 22:02+0200\n"
-"PO-Revision-Date: 2019-11-10 15:04+0000\n"
-"Last-Translator: Krock <mk939@ymail.com>\n"
+"POT-Creation-Date: 2020-04-03 23:18+0200\n"
+"PO-Revision-Date: 2020-01-13 12:21+0000\n"
+"Last-Translator: Evert Prants <evert@lunasqu.ee>\n"
"Language-Team: Estonian <https://hosted.weblate.org/projects/minetest/"
"minetest/et/>\n"
"Language: et\n"
@@ -12,7 +12,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 3.10-dev\n"
+"X-Generator: Weblate 3.10.1\n"
#: builtin/client/death_formspec.lua src/client/game.cpp
msgid "Respawn"
@@ -23,9 +23,8 @@ msgid "You died"
msgstr "Said surma"
#: builtin/fstk/ui.lua
-#, fuzzy
msgid "An error occurred in a Lua script:"
-msgstr "Lue skriptis ilmnes viga; näiteks MOD-is:"
+msgstr "Lua skriptis ilmnes viga:"
#: builtin/fstk/ui.lua
msgid "An error occurred:"
@@ -120,27 +119,24 @@ msgid "Mod:"
msgstr "Mod:"
#: builtin/mainmenu/dlg_config_world.lua
-#, fuzzy
msgid "No (optional) dependencies"
-msgstr "Valikulised sõltuvused:"
+msgstr "(Valikulised) sõltuvused puuduvad"
#: builtin/mainmenu/dlg_config_world.lua
msgid "No game description provided."
msgstr "Mängule pole kirjeldust saadaval."
#: builtin/mainmenu/dlg_config_world.lua
-#, fuzzy
msgid "No hard dependencies"
-msgstr "Valikulised sõltuvused:"
+msgstr "Vajalikud sõltuvused puuduvad"
#: builtin/mainmenu/dlg_config_world.lua
msgid "No modpack description provided."
msgstr "MOD-i pakile pole kirjeldust saadaval."
#: builtin/mainmenu/dlg_config_world.lua
-#, fuzzy
msgid "No optional dependencies"
-msgstr "Valikulised sõltuvused:"
+msgstr "Valikulised sõltuvused puuduvad"
#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua
msgid "Optional dependencies:"
@@ -331,104 +327,110 @@ msgstr "Lubatud"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Lacunarity"
-msgstr ""
+msgstr "Lakunaarsus"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Octaves"
-msgstr ""
+msgstr "Oktaavid"
#: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp
msgid "Offset"
-msgstr ""
+msgstr "Nihe"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Persistance"
-msgstr ""
+msgstr "Püsivus"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Please enter a valid integer."
-msgstr ""
+msgstr "Palun sisesta korrektne täisarv."
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Please enter a valid number."
-msgstr ""
+msgstr "Palun sisesta korrektne arv."
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Restore Default"
-msgstr ""
+msgstr "Taasta vaikeväärtus"
#: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp
msgid "Scale"
-msgstr ""
+msgstr "Ulatus"
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "Select directory"
-msgstr "Vali modifikatsiooni fail:"
+msgstr "Vali kataloog"
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "Select file"
-msgstr "Vali modifikatsiooni fail:"
+msgstr "Vali fail"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Show technical names"
-msgstr ""
+msgstr "Kuva tehnilised nimetused"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "The value must be at least $1."
-msgstr ""
+msgstr "Väärtus peab olema vähemalt $1."
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "The value must not be larger than $1."
-msgstr ""
+msgstr "Väärtus ei tohi olla suurem kui $1."
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "X"
-msgstr ""
+msgstr "X"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "X spread"
-msgstr ""
+msgstr "X levitus"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Y"
-msgstr ""
+msgstr "Y"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Y spread"
-msgstr ""
+msgstr "Y levitus"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Z"
-msgstr ""
+msgstr "Z"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Z spread"
-msgstr ""
+msgstr "Z levitus"
+#. ~ "absvalue" is a noise parameter flag.
+#. It is short for "absolute value".
+#. It can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "absvalue"
-msgstr ""
+msgstr "absoluutväärtus"
+#. ~ "defaults" is a noise parameter flag.
+#. It describes the default processing options
+#. for noise settings in main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "defaults"
-msgstr "Muuda mängu"
+msgstr "vaikesätted"
+#. ~ "eased" is a noise parameter flag.
+#. It is used to make the map smoother and
+#. can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "eased"
msgstr ""
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "$1 (Enabled)"
-msgstr "Sisse lülitatud"
+msgstr "$1 (Lubatud)"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "$1 mods"
-msgstr "Konfigureeri"
+msgstr "$1 mod-i"
#: builtin/mainmenu/pkgmgr.lua
msgid "Failed to install $1 to $2"
@@ -436,87 +438,80 @@ msgstr "$1 paigaldamine $2 nurjus"
#: builtin/mainmenu/pkgmgr.lua
msgid "Install Mod: Unable to find real mod name for: $1"
-msgstr ""
+msgstr "Paigalda mod: Tegeliku nime leidmine ebaõnnestus mod-ile: $1"
#: builtin/mainmenu/pkgmgr.lua
msgid "Install Mod: Unable to find suitable folder name for modpack $1"
msgstr ""
+"Paigalda mod: Sobiva katalooginime leidmine ebaõnnestus mod-komplektile $1"
#: builtin/mainmenu/pkgmgr.lua
msgid "Install: Unsupported file type \"$1\" or broken archive"
-msgstr ""
+msgstr "Paigaldus: Toetamata failitüüp \"$1\" või katkine arhiiv"
#: builtin/mainmenu/pkgmgr.lua
msgid "Install: file: \"$1\""
-msgstr ""
+msgstr "Paigaldus: fail: \"$1\""
#: builtin/mainmenu/pkgmgr.lua
msgid "Unable to find a valid mod or modpack"
-msgstr ""
+msgstr "Ei leitud sobivat mod-i ega mod-komplekti"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Unable to install a $1 as a texture pack"
-msgstr "$1 paigaldamine $2 nurjus"
+msgstr "$1 paigaldamine tekstuurikomplektiks nurjus"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Unable to install a game as a $1"
-msgstr "$1 paigaldamine $2 nurjus"
+msgstr "Mängu nimega $1 paigaldamine nurjus"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Unable to install a mod as a $1"
-msgstr "$1 paigaldamine $2 nurjus"
+msgstr "Mod nimega $1 paigaldamine nurjus"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Unable to install a modpack as a $1"
-msgstr "$1 paigaldamine $2 nurjus"
+msgstr "Mod-komplekt nimega $1 paigaldamine nurjus"
#: builtin/mainmenu/tab_content.lua
msgid "Browse online content"
-msgstr ""
+msgstr "Sirvi veebist sisu"
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Content"
-msgstr "Jätka"
+msgstr "Sisu"
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Disable Texture Pack"
-msgstr "Vali graafika:"
+msgstr "Keela tekstuurikomplekt"
#: builtin/mainmenu/tab_content.lua
msgid "Information:"
-msgstr ""
+msgstr "Teave:"
#: builtin/mainmenu/tab_content.lua
msgid "Installed Packages:"
-msgstr ""
+msgstr "Paigaldatud paketid:"
#: builtin/mainmenu/tab_content.lua
msgid "No dependencies."
-msgstr ""
+msgstr "Sõltuvused puuduvad."
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "No package description available"
-msgstr "Informatsioon ei ole kättesaadav"
+msgstr "Paketil puudub kirjeldus"
#: builtin/mainmenu/tab_content.lua
msgid "Rename"
-msgstr ""
+msgstr "Nimeta ümber"
#: builtin/mainmenu/tab_content.lua
msgid "Uninstall Package"
-msgstr ""
+msgstr "Eemalda pakett"
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Use Texture Pack"
-msgstr "Vali graafika:"
+msgstr "Vali tekstuurikomplekt"
#: builtin/mainmenu/tab_credits.lua
msgid "Active Contributors"
@@ -540,11 +535,11 @@ msgstr "Eelmised põhilised arendajad"
#: builtin/mainmenu/tab_local.lua
msgid "Announce Server"
-msgstr ""
+msgstr "Kuuluta serverist"
#: builtin/mainmenu/tab_local.lua
msgid "Bind Address"
-msgstr ""
+msgstr "Aadress"
#: builtin/mainmenu/tab_local.lua
msgid "Configure"
@@ -559,13 +554,12 @@ msgid "Enable Damage"
msgstr "Lülita valu sisse"
#: builtin/mainmenu/tab_local.lua
-#, fuzzy
msgid "Host Game"
-msgstr "Peida mäng"
+msgstr "Majuta mäng"
#: builtin/mainmenu/tab_local.lua
msgid "Host Server"
-msgstr ""
+msgstr "Majuta server"
#: builtin/mainmenu/tab_local.lua
msgid "Name/Password"
@@ -576,18 +570,16 @@ msgid "New"
msgstr "Uus"
#: builtin/mainmenu/tab_local.lua
-#, fuzzy
msgid "No world created or selected!"
-msgstr "No nimi või no mäng valitud"
+msgstr "Ãœhtegi maailma pole loodud ega valitud!"
#: builtin/mainmenu/tab_local.lua
-#, fuzzy
msgid "Play Game"
-msgstr "Alusta mängu"
+msgstr "Mängi"
#: builtin/mainmenu/tab_local.lua
msgid "Port"
-msgstr ""
+msgstr "Port"
#: builtin/mainmenu/tab_local.lua
msgid "Select World:"
@@ -595,17 +587,15 @@ msgstr "Vali maailm:"
#: builtin/mainmenu/tab_local.lua
msgid "Server Port"
-msgstr ""
+msgstr "Serveri port"
#: builtin/mainmenu/tab_local.lua
-#, fuzzy
msgid "Start Game"
-msgstr "Peida mäng"
+msgstr "Alusta mäng"
#: builtin/mainmenu/tab_online.lua
-#, fuzzy
msgid "Address / Port"
-msgstr "Aadress / Port:"
+msgstr "Aadress / Port"
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "Connect"
@@ -620,102 +610,89 @@ msgid "Damage enabled"
msgstr "Kahjustamine lubatud"
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
-#, fuzzy
msgid "Del. Favorite"
-msgstr "Lemmikud:"
+msgstr "Eemalda lemmik"
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
-#, fuzzy
msgid "Favorite"
-msgstr "Lemmikud:"
+msgstr "Lisa lemmikuks"
#: builtin/mainmenu/tab_online.lua
-#, fuzzy
msgid "Join Game"
-msgstr "Peida mäng"
+msgstr "Liitu mänguga"
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
-#, fuzzy
msgid "Name / Password"
-msgstr "Nimi / Parool:"
+msgstr "Nimi / Salasõna"
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "Ping"
-msgstr ""
+msgstr "Ping"
+#. ~ PvP = Player versus Player
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
-#, fuzzy
msgid "PvP enabled"
-msgstr "Sisse lülitatud"
+msgstr "PvP lubatud"
#: builtin/mainmenu/tab_settings.lua
msgid "2x"
-msgstr ""
+msgstr "2x"
#: builtin/mainmenu/tab_settings.lua
-#, fuzzy
msgid "3D Clouds"
msgstr "3D pilved"
#: builtin/mainmenu/tab_settings.lua
msgid "4x"
-msgstr ""
+msgstr "4x"
#: builtin/mainmenu/tab_settings.lua
msgid "8x"
-msgstr ""
+msgstr "8x"
#: builtin/mainmenu/tab_settings.lua
-#, fuzzy
msgid "All Settings"
-msgstr "Sätted"
+msgstr "Kõik sätted"
#: builtin/mainmenu/tab_settings.lua
msgid "Antialiasing:"
-msgstr ""
+msgstr "Antialiasing:"
#: builtin/mainmenu/tab_settings.lua
-#, fuzzy
msgid "Are you sure to reset your singleplayer world?"
-msgstr "Üksikmäng"
+msgstr "Olete kindel, et lähtestate oma üksikmängija maailma?"
#: builtin/mainmenu/tab_settings.lua
msgid "Autosave Screen Size"
-msgstr ""
+msgstr "Salvesta ekraani suurus"
#: builtin/mainmenu/tab_settings.lua
-#, fuzzy
msgid "Bilinear Filter"
-msgstr "Bi-lineaarsed Filtreerimine"
+msgstr "Bi-lineaarne filtreerimine"
#: builtin/mainmenu/tab_settings.lua
-#, fuzzy
msgid "Bump Mapping"
-msgstr "Väga hea kvaliteet"
+msgstr "Muhkkaardistamine"
#: builtin/mainmenu/tab_settings.lua src/client/game.cpp
-#, fuzzy
msgid "Change Keys"
-msgstr "Vaheta nuppe"
+msgstr "Vaheta klahve"
#: builtin/mainmenu/tab_settings.lua
-#, fuzzy
msgid "Connected Glass"
-msgstr "Liitu"
+msgstr "Ãœhendatud klaas"
#: builtin/mainmenu/tab_settings.lua
-#, fuzzy
msgid "Fancy Leaves"
-msgstr "Läbipaistmatu vesi"
+msgstr "Uhked lehed"
#: builtin/mainmenu/tab_settings.lua
msgid "Generate Normal Maps"
-msgstr ""
+msgstr "Loo normaalkaardistusi"
#: builtin/mainmenu/tab_settings.lua
-#, fuzzy
msgid "Mipmap"
-msgstr "Väga hea kvaliteet"
+msgstr "Mipmap"
#: builtin/mainmenu/tab_settings.lua
msgid "Mipmap + Aniso. Filter"
@@ -726,36 +703,30 @@ msgid "No"
msgstr "Ei"
#: builtin/mainmenu/tab_settings.lua
-#, fuzzy
msgid "No Filter"
-msgstr "Anisotroopne Filtreerimine"
+msgstr "Filtrita"
#: builtin/mainmenu/tab_settings.lua
-#, fuzzy
msgid "No Mipmap"
-msgstr "Väga hea kvaliteet"
+msgstr "Mipmapita"
#: builtin/mainmenu/tab_settings.lua
-#, fuzzy
msgid "Node Highlighting"
-msgstr "Ilus valgustus"
+msgstr "Blokkide esiletõstmine"
#: builtin/mainmenu/tab_settings.lua
-#, fuzzy
msgid "Node Outlining"
-msgstr "Ilus valgustus"
+msgstr "Blokkide kontuur"
#: builtin/mainmenu/tab_settings.lua
msgid "None"
-msgstr ""
+msgstr "Puudub"
#: builtin/mainmenu/tab_settings.lua
-#, fuzzy
msgid "Opaque Leaves"
-msgstr "Läbipaistmatu vesi"
+msgstr "Läbipaistmatud lehed"
#: builtin/mainmenu/tab_settings.lua
-#, fuzzy
msgid "Opaque Water"
msgstr "Läbipaistmatu vesi"
@@ -764,19 +735,16 @@ msgid "Parallax Occlusion"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-#, fuzzy
msgid "Particles"
-msgstr "Luba kõik"
+msgstr "Osakesed"
#: builtin/mainmenu/tab_settings.lua
-#, fuzzy
msgid "Reset singleplayer world"
-msgstr "Üksikmäng"
+msgstr "Lähtesta üksikmängija maailm"
#: builtin/mainmenu/tab_settings.lua
-#, fuzzy
msgid "Screen:"
-msgstr "Mängupilt"
+msgstr "Ekraan:"
#: builtin/mainmenu/tab_settings.lua
msgid "Settings"
@@ -788,98 +756,87 @@ msgstr "Varjutajad"
#: builtin/mainmenu/tab_settings.lua
msgid "Shaders (unavailable)"
-msgstr ""
+msgstr "Varjutajad (pole saadaval)"
#: builtin/mainmenu/tab_settings.lua
-#, fuzzy
msgid "Simple Leaves"
-msgstr "Läbipaistmatu vesi"
+msgstr "Lihtsad lehed"
#: builtin/mainmenu/tab_settings.lua
-#, fuzzy
msgid "Smooth Lighting"
-msgstr "Ilus valgustus"
+msgstr "Sujuv valgustus"
#: builtin/mainmenu/tab_settings.lua
msgid "Texturing:"
-msgstr ""
+msgstr "Tekstureerimine:"
#: builtin/mainmenu/tab_settings.lua
msgid "To enable shaders the OpenGL driver needs to be used."
msgstr "Aktiveerimiseks varjud, nad vajavad OpenGL draiver."
#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp
-#, fuzzy
msgid "Tone Mapping"
-msgstr "Väga hea kvaliteet"
+msgstr "Tooni kaardistamine"
#: builtin/mainmenu/tab_settings.lua
msgid "Touchthreshold: (px)"
-msgstr ""
+msgstr "Puutelävi: (px)"
#: builtin/mainmenu/tab_settings.lua
-#, fuzzy
msgid "Trilinear Filter"
-msgstr "Tri-Linear Filtreerimine"
+msgstr "Tri-lineaar filtreerimine"
#: builtin/mainmenu/tab_settings.lua
-#, fuzzy
msgid "Waving Leaves"
-msgstr "Uhked puud"
+msgstr "Lehvivad lehed"
#: builtin/mainmenu/tab_settings.lua
-#, fuzzy
msgid "Waving Liquids"
-msgstr "Uhked puud"
+msgstr "Lainetavad vedelikud"
#: builtin/mainmenu/tab_settings.lua
-#, fuzzy
msgid "Waving Plants"
-msgstr "Uhked puud"
+msgstr "Lehvivad taimed"
#: builtin/mainmenu/tab_settings.lua
msgid "Yes"
msgstr "Jah"
#: builtin/mainmenu/tab_simple_main.lua
-#, fuzzy
msgid "Config mods"
-msgstr "Konfigureeri"
+msgstr "Seadista mod-e"
#: builtin/mainmenu/tab_simple_main.lua
-#, fuzzy
msgid "Main"
-msgstr "Menüü"
+msgstr "Peamine"
#: builtin/mainmenu/tab_simple_main.lua
-#, fuzzy
msgid "Start Singleplayer"
-msgstr "Üksikmäng"
+msgstr "Alusta üksikmängu"
#: src/client/client.cpp
-#, fuzzy
msgid "Connection timed out."
-msgstr "Ãœhenduse viga (Aeg otsas?)"
+msgstr "Ãœhendus aegus."
#: src/client/client.cpp
msgid "Done!"
-msgstr ""
+msgstr "Valmis!"
#: src/client/client.cpp
msgid "Initializing nodes"
-msgstr ""
+msgstr "Blokkide häälestamine"
#: src/client/client.cpp
msgid "Initializing nodes..."
-msgstr ""
+msgstr "Blokkide häälestamine..."
#: src/client/client.cpp
msgid "Loading textures..."
-msgstr ""
+msgstr "Tekstuuride laadimine ..."
#: src/client/client.cpp
msgid "Rebuilding shaders..."
-msgstr ""
+msgstr "Varjutajate taasloomine..."
#: src/client/clientlauncher.cpp
msgid "Connection error (timed out?)"
@@ -903,20 +860,28 @@ msgstr "Pole valitud ei maailma ega IP aadressi. Pole midagi teha."
#: src/client/clientlauncher.cpp
msgid "Player name too long."
-msgstr ""
+msgstr "Mängija nimi on liiga pikk."
#: src/client/clientlauncher.cpp
msgid "Please choose a name!"
-msgstr ""
+msgstr "Palun vali nimi!"
#: src/client/clientlauncher.cpp
msgid "Provided password file failed to open: "
-msgstr ""
+msgstr "Salasõnafaili avamine ebaõnnestus: "
#: src/client/clientlauncher.cpp
msgid "Provided world path doesn't exist: "
-msgstr ""
-
+msgstr "Maailma failiteed pole olemas: "
+
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string. Put either "no" or "yes"
+#. into the translation field (literally).
+#. Choose "yes" if the language requires use of the fallback
+#. font, "no" otherwise.
+#. The fallback font is (normally) required for languages with
+#. non-Latin script, like Chinese.
+#. When in doubt, test your translation.
#: src/client/fontengine.cpp
msgid "needs_fallback_font"
msgstr "no"
@@ -930,81 +895,73 @@ msgstr ""
"Vaata debug.txt info jaoks."
#: src/client/game.cpp
-#, fuzzy
msgid "- Address: "
-msgstr "Aadress / Port:"
+msgstr "- Aadress: "
#: src/client/game.cpp
-#, fuzzy
msgid "- Creative Mode: "
-msgstr "Kujunduslik mängumood"
+msgstr "- Kujunduslik mängumood: "
#: src/client/game.cpp
-#, fuzzy
msgid "- Damage: "
-msgstr "Lülita valu sisse"
+msgstr "- Valu: "
#: src/client/game.cpp
msgid "- Mode: "
-msgstr ""
+msgstr "- Režiim: "
#: src/client/game.cpp
msgid "- Port: "
-msgstr ""
+msgstr "- Port: "
#: src/client/game.cpp
-#, fuzzy
msgid "- Public: "
-msgstr "Avalik"
+msgstr "- Avalik: "
+#. ~ PvP = Player versus Player
#: src/client/game.cpp
msgid "- PvP: "
-msgstr ""
+msgstr "- PvP: "
#: src/client/game.cpp
msgid "- Server Name: "
-msgstr ""
+msgstr "- Serveri nimi: "
#: src/client/game.cpp
-#, fuzzy
msgid "Automatic forward disabled"
-msgstr "Edasi"
+msgstr "Automaatne edastus keelatud"
#: src/client/game.cpp
-#, fuzzy
msgid "Automatic forward enabled"
-msgstr "Edasi"
+msgstr "Automaatne edastus lubatud"
#: src/client/game.cpp
msgid "Camera update disabled"
-msgstr ""
+msgstr "Kaamera värskendamine on keelatud"
#: src/client/game.cpp
-#, fuzzy
msgid "Camera update enabled"
-msgstr "Kahjustamine lubatud"
+msgstr "Kaamera värskendamine on lubatud"
#: src/client/game.cpp
msgid "Change Password"
msgstr "Vaheta parooli"
#: src/client/game.cpp
-#, fuzzy
msgid "Cinematic mode disabled"
-msgstr "Kujunduslik mängumood"
+msgstr "Filmirežiim on keelatud"
#: src/client/game.cpp
-#, fuzzy
msgid "Cinematic mode enabled"
-msgstr "Kujunduslik mängumood"
+msgstr "Filmirežiim on lubatud"
#: src/client/game.cpp
msgid "Client side scripting is disabled"
-msgstr ""
+msgstr "Kliendipoolne skriptimine on keelatud"
#: src/client/game.cpp
msgid "Connecting to server..."
-msgstr ""
+msgstr "Serveriga ühenduse loomine..."
#: src/client/game.cpp
msgid "Continue"
@@ -1028,26 +985,40 @@ msgid ""
"- Mouse wheel: select item\n"
"- %s: chat\n"
msgstr ""
+"Klahvid:\n"
+"- %s: liigu edasi\n"
+"- %s: liigu tagasi\n"
+"- %s: liigu vasakule\n"
+"- %s: liigu paremale\n"
+"- %s: hüppa/roni\n"
+"- %s: hiili/mine alla\n"
+"- %s: viska ese\n"
+"- %s: seljakott\n"
+"- Hiir: keera/vaata\n"
+"- Hiire vasakklõps: kaeva/viruta\n"
+"- Hiire paremklõps: paigalda/kasuta\n"
+"- Hiireratas: vali ese\n"
+"- %s: vestlus\n"
#: src/client/game.cpp
msgid "Creating client..."
-msgstr ""
+msgstr "Kliendi loomine..."
#: src/client/game.cpp
msgid "Creating server..."
-msgstr ""
+msgstr "Serveri loomine..."
#: src/client/game.cpp
msgid "Debug info and profiler graph hidden"
-msgstr ""
+msgstr "Siluri info ja profiileri graafik peidetud"
#: src/client/game.cpp
msgid "Debug info shown"
-msgstr ""
+msgstr "Silumisteave kuvatud"
#: src/client/game.cpp
msgid "Debug info, profiler graph, and wireframe hidden"
-msgstr ""
+msgstr "Siluri info, profiileri graafik ja sõrestik peidetud"
#: src/client/game.cpp
msgid ""
@@ -1067,11 +1038,11 @@ msgstr ""
#: src/client/game.cpp
msgid "Disabled unlimited viewing range"
-msgstr ""
+msgstr "Piiramatu vaatamisulatus keelatud"
#: src/client/game.cpp
msgid "Enabled unlimited viewing range"
-msgstr ""
+msgstr "Piiramatu vaatamisulatus lubatud"
#: src/client/game.cpp
msgid "Exit to Menu"
@@ -1082,59 +1053,52 @@ msgid "Exit to OS"
msgstr "Välju mängust"
#: src/client/game.cpp
-#, fuzzy
msgid "Fast mode disabled"
-msgstr "Lülita kõik välja"
+msgstr "Kiirrežiim on keelatud"
#: src/client/game.cpp
-#, fuzzy
msgid "Fast mode enabled"
-msgstr "Kahjustamine lubatud"
+msgstr "Kiirrežiim on lubatud"
#: src/client/game.cpp
msgid "Fast mode enabled (note: no 'fast' privilege)"
-msgstr ""
+msgstr "Kiirrežiim on lubatud (hoiatus: 'fast' privileeg puudub)"
#: src/client/game.cpp
-#, fuzzy
msgid "Fly mode disabled"
-msgstr "Lülita kõik välja"
+msgstr "Lennurežiim on keelatud"
#: src/client/game.cpp
-#, fuzzy
msgid "Fly mode enabled"
-msgstr "Kahjustamine lubatud"
+msgstr "Lennurežiim lubatud"
#: src/client/game.cpp
msgid "Fly mode enabled (note: no 'fly' privilege)"
-msgstr ""
+msgstr "Lennurežiim lubatud (hoiatus: 'fly' privileeg puudub)"
#: src/client/game.cpp
-#, fuzzy
msgid "Fog disabled"
-msgstr "Lülita kõik välja"
+msgstr "Udu keelatud"
#: src/client/game.cpp
-#, fuzzy
msgid "Fog enabled"
-msgstr "Sisse lülitatud"
+msgstr "Udu lubatud"
#: src/client/game.cpp
msgid "Game info:"
-msgstr ""
+msgstr "Mängu teave:"
#: src/client/game.cpp
-#, fuzzy
msgid "Game paused"
-msgstr "Mäng"
+msgstr "Mäng pausil"
#: src/client/game.cpp
msgid "Hosting server"
-msgstr ""
+msgstr "Majutan serverit"
#: src/client/game.cpp
msgid "Item definitions..."
-msgstr ""
+msgstr "Esemete määratlused..."
#: src/client/game.cpp
msgid "KiB/s"
@@ -1142,7 +1106,7 @@ msgstr ""
#: src/client/game.cpp
msgid "Media..."
-msgstr ""
+msgstr "Meedia..."
#: src/client/game.cpp
msgid "MiB/s"
@@ -1185,9 +1149,8 @@ msgid "Noclip mode disabled"
msgstr ""
#: src/client/game.cpp
-#, fuzzy
msgid "Noclip mode enabled"
-msgstr "Kahjustamine lubatud"
+msgstr "Noclip režiim lubatud"
#: src/client/game.cpp
msgid "Noclip mode enabled (note: no 'noclip' privilege)"
@@ -1238,14 +1201,12 @@ msgid "Sound Volume"
msgstr "Hääle volüüm"
#: src/client/game.cpp
-#, fuzzy
msgid "Sound muted"
-msgstr "Hääle volüüm"
+msgstr "Heli vaigistatud"
#: src/client/game.cpp
-#, fuzzy
msgid "Sound unmuted"
-msgstr "Hääle volüüm"
+msgstr "Heli taastatud"
#: src/client/game.cpp
#, c-format
@@ -1280,9 +1241,8 @@ msgid "ok"
msgstr ""
#: src/client/gameui.cpp
-#, fuzzy
msgid "Chat hidden"
-msgstr "Vaheta nuppe"
+msgstr "Vestlus peidetud"
#: src/client/gameui.cpp
msgid "Chat shown"
@@ -1335,9 +1295,8 @@ msgid "End"
msgstr "Lõpeta"
#: src/client/keycode.cpp
-#, fuzzy
msgid "Erase EOF"
-msgstr "Kustuta OEF"
+msgstr "Kustuta EOF"
#: src/client/keycode.cpp
msgid "Execute"
@@ -1404,6 +1363,7 @@ msgstr "Vasak Shift"
msgid "Left Windows"
msgstr "Vasak Windowsi nupp"
+#. ~ Key name, common on Windows keyboards
#: src/client/keycode.cpp
msgid "Menu"
msgstr "Menüü"
@@ -1429,9 +1389,8 @@ msgid "Numpad -"
msgstr "Numbrilaual -"
#: src/client/keycode.cpp
-#, fuzzy
msgid "Numpad ."
-msgstr "Numbrilaual *"
+msgstr "Numbrilaual ."
#: src/client/keycode.cpp
msgid "Numpad /"
@@ -1497,6 +1456,7 @@ msgstr "Paus"
msgid "Play"
msgstr "Mängi"
+#. ~ "Print screen" key
#: src/client/keycode.cpp
msgid "Print"
msgstr "Prindi"
@@ -1533,6 +1493,7 @@ msgstr "Parem Windowsi nupp"
msgid "Scroll Lock"
msgstr "Scroll lukk"
+#. ~ Key name
#: src/client/keycode.cpp
msgid "Select"
msgstr "Vali"
@@ -1596,14 +1557,13 @@ msgid "Proceed"
msgstr "Jätka"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "\"Special\" = climb down"
-msgstr "\"Tegevus\" = Roni alla"
+msgstr "\"Eriline\" = roni alla"
#: src/gui/guiKeyChangeMenu.cpp
#, fuzzy
msgid "Autoforward"
-msgstr "Edasi"
+msgstr "Automaatedasiliikumine"
#: src/gui/guiKeyChangeMenu.cpp src/settings_translation_file.cpp
msgid "Automatic jumping"
@@ -1614,9 +1574,8 @@ msgid "Backward"
msgstr "Tagasi"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Change camera"
-msgstr "Vaheta nuppe"
+msgstr "Muuda kaamerat"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Chat"
@@ -1655,9 +1614,8 @@ msgid "Inc. range"
msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Inc. volume"
-msgstr "Hääle volüüm"
+msgstr "Helitugevus üles"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Inventory"
@@ -1678,18 +1636,16 @@ msgstr ""
"conf)"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Local command"
-msgstr "Käsklus"
+msgstr "Kohalik käsk"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Mute"
msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Next item"
-msgstr "Järgmine"
+msgstr "Järgmine üksus"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Prev. item"
@@ -1700,9 +1656,8 @@ msgid "Range select"
msgstr "Kauguse valik"
#: src/gui/guiKeyChangeMenu.cpp src/settings_translation_file.cpp
-#, fuzzy
msgid "Screenshot"
-msgstr "Mängupilt"
+msgstr "Kuvatõmmis"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Sneak"
@@ -1713,14 +1668,12 @@ msgid "Special"
msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Toggle HUD"
-msgstr "Lülita lendamine sisse"
+msgstr "Lülita HUD sisse/välja"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Toggle chat log"
-msgstr "Lülita kiirus sisse"
+msgstr "Lülita vestluslogi sisse/välja"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Toggle fast"
@@ -1731,23 +1684,20 @@ msgid "Toggle fly"
msgstr "Lülita lendamine sisse"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Toggle fog"
-msgstr "Lülita lendamine sisse"
+msgstr "Lülita udu sisse/välja"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Toggle minimap"
-msgstr "Lülita läbi seinte minek sisse"
+msgstr "Lülita minikaart sisse/välja"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Toggle noclip"
msgstr "Lülita läbi seinte minek sisse"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Toggle pitchmove"
-msgstr "Lülita kiirus sisse"
+msgstr "Lülita pitchmove sisse/välja"
#: src/gui/guiKeyChangeMenu.cpp
msgid "press key"
@@ -1774,19 +1724,23 @@ msgid "Exit"
msgstr "Välju"
#: src/gui/guiVolumeChange.cpp
-#, fuzzy
msgid "Muted"
-msgstr "Vajuta nuppu"
+msgstr "Vaigistatud"
#: src/gui/guiVolumeChange.cpp
msgid "Sound Volume: "
msgstr "Hääle Volüüm: "
+#. ~ Imperative, as in "Enter/type in text".
+#. Don't forget the space.
#: src/gui/modalMenu.cpp
msgid "Enter "
msgstr ""
-#: src/network/clientpackethandler.cpp
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string which needs to contain the translation's
+#. language code (e.g. "de" for German).
+#: src/network/clientpackethandler.cpp src/script/lua_api/l_client.cpp
msgid "LANG_CODE"
msgstr "et"
@@ -1809,7 +1763,7 @@ msgid ""
"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"
+"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."
@@ -1861,7 +1815,6 @@ msgid "2D noise that locates the river valleys and channels."
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "3D clouds"
msgstr "3D pilved"
@@ -1973,18 +1926,16 @@ msgid ""
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 "Arenenud sätted"
#: src/settings_translation_file.cpp
-msgid "Alters how mountain-type floatlands taper above and below midpoint."
+msgid ""
+"Alters the light curve by applying 'gamma correction' to it.\n"
+"Higher values make middle and lower light levels brighter.\n"
+"Value '1.0' leaves the light curve unaltered.\n"
+"This only has significant effect on daylight and artificial\n"
+"light, it has very little effect on natural night light."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2008,9 +1959,8 @@ msgid "Amplifies the valleys."
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Anisotropic filtering"
-msgstr "Anisotroopne Filtreerimine"
+msgstr "Anisotroopne filtreerimine"
#: src/settings_translation_file.cpp
msgid "Announce server"
@@ -2062,9 +2012,8 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Automatic forward key"
-msgstr "Edasi"
+msgstr "Automaatse edasiliikumise klahv"
#: src/settings_translation_file.cpp
msgid "Automatically jump up single-node obstacles."
@@ -2083,14 +2032,12 @@ msgid "Autoscaling mode"
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Backward key"
-msgstr "Tagasi"
+msgstr "Tagasi liikumise klahv"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Base ground level"
-msgstr "Põlvkonna kaardid"
+msgstr "Baas maapinna tase"
#: src/settings_translation_file.cpp
msgid "Base terrain height."
@@ -2113,9 +2060,8 @@ msgid "Beach noise threshold"
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Bilinear filtering"
-msgstr "Bi-lineaarsed Filtreerimine"
+msgstr "Bilineaarne filtreerimine"
#: src/settings_translation_file.cpp
msgid "Bind address"
@@ -2138,23 +2084,37 @@ msgid "Block send optimize distance"
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
+msgid "Bold and italic font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bold and italic monospace font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bold font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bold monospace font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Build inside player"
-msgstr "Mitmikmäng"
+msgstr "Ehitamine mängija sisse"
#: src/settings_translation_file.cpp
msgid "Builtin"
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Bumpmapping"
-msgstr "Väga hea kvaliteet"
+msgstr "Muhkkaardistamine"
#: 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"
+"Camera 'near clipping plane' distance in nodes, between 0 and 0.25\n"
+"Only works on GLES platforms. 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 ""
@@ -2208,16 +2168,17 @@ msgid "Cavern taper"
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Cavern threshold"
-msgstr "Põlvkonna kaardid"
+msgstr "Koobaste läve"
#: src/settings_translation_file.cpp
msgid "Cavern upper limit"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Center of light curve mid-boost."
+msgid ""
+"Center of light curve boost range.\n"
+"Where 0.0 is minimum light level, 1.0 is maximum light level."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2231,51 +2192,45 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Chat key"
-msgstr "Vaheta nuppe"
+msgstr "Vestlusklahv"
#: src/settings_translation_file.cpp
msgid "Chat message count limit"
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Chat message format"
-msgstr "Põlvkonna kaardid"
+msgstr "Vestluse sõnumi formaat"
#: src/settings_translation_file.cpp
#, fuzzy
msgid "Chat message kick threshold"
-msgstr "Põlvkonna kaardid"
+msgstr "Vestlussõnumi kick läve"
#: src/settings_translation_file.cpp
msgid "Chat message max length"
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Chat toggle key"
-msgstr "Vaheta nuppe"
+msgstr "Vestluse lülitusklahv"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Chatcommands"
-msgstr "Käsklus"
+msgstr "Käsklused"
#: src/settings_translation_file.cpp
msgid "Chunk size"
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Cinematic mode"
-msgstr "Kujunduslik mängumood"
+msgstr "Filmirežiim"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Cinematic mode key"
-msgstr "Kujunduslik mängumood"
+msgstr "Filmirežiimi klahv"
#: src/settings_translation_file.cpp
msgid "Clean transparent textures"
@@ -2310,18 +2265,16 @@ msgid "Cloud radius"
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Clouds"
-msgstr "3D pilved"
+msgstr "Pilved"
#: src/settings_translation_file.cpp
msgid "Clouds are a client side effect."
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Clouds in menu"
-msgstr "Menüü"
+msgstr "Pilved menüüs"
#: src/settings_translation_file.cpp
msgid "Colored fog"
@@ -2351,14 +2304,12 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Command key"
-msgstr "Käsklus"
+msgstr "Käsuklahv"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Connect glass"
-msgstr "Liitu"
+msgstr "Ãœhenda klaasi"
#: src/settings_translation_file.cpp
msgid "Connect to external media server"
@@ -2369,28 +2320,24 @@ msgid "Connects glass if supported by node."
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Console alpha"
-msgstr "Konsool"
+msgstr "Konsooli läbipaistvus"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Console color"
-msgstr "Konsool"
+msgstr "Konsooli värv"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Console height"
-msgstr "Konsool"
+msgstr "Konsooli kõrgus"
#: src/settings_translation_file.cpp
msgid "ContentDB Flag Blacklist"
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "ContentDB URL"
-msgstr "Jätka"
+msgstr "ContentDB URL"
#: src/settings_translation_file.cpp
msgid "Continuous forward"
@@ -2403,9 +2350,8 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Controls"
-msgstr "CTRL"
+msgstr "Juhtklahvid"
#: src/settings_translation_file.cpp
msgid ""
@@ -2428,12 +2374,9 @@ 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."
+"Controls width of tunnels, a smaller value creates wider tunnels.\n"
+"Value >= 10.0 completely disables generation of tunnels and avoids the\n"
+"intensive noise calculations."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2441,9 +2384,8 @@ msgid "Crash message"
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Creative"
-msgstr "Loo"
+msgstr "Loominguline"
#: src/settings_translation_file.cpp
msgid "Crosshair alpha"
@@ -2468,12 +2410,7 @@ msgstr ""
#: src/settings_translation_file.cpp
#, fuzzy
msgid "Damage"
-msgstr "Lülita valu sisse"
-
-#: src/settings_translation_file.cpp
-#, fuzzy
-msgid "Darkness sharpness"
-msgstr "Põlvkonna kaardid"
+msgstr "Damage"
#: src/settings_translation_file.cpp
msgid "Debug info toggle key"
@@ -2492,7 +2429,7 @@ msgid "Dec. volume key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Decrease this to increase liquid resistence to movement."
+msgid "Decrease this to increase liquid resistance to movement."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2504,9 +2441,8 @@ msgid "Default acceleration"
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Default game"
-msgstr "Muuda mängu"
+msgstr "Vaikemäng"
#: src/settings_translation_file.cpp
msgid ""
@@ -2515,9 +2451,8 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Default password"
-msgstr "Uus parool"
+msgstr "Vaikimisi salasõna"
#: src/settings_translation_file.cpp
msgid "Default privileges"
@@ -2534,12 +2469,6 @@ msgid ""
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 ""
@@ -2616,12 +2545,6 @@ 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 ""
@@ -2650,14 +2573,12 @@ msgid "Desynchronize block animation"
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Digging particles"
-msgstr "Luba kõik"
+msgstr "Kaevamisel tekkivad osakesed"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Disable anticheat"
-msgstr "Lülita osakesed sisse"
+msgstr "Lülita sohituvastus välja"
#: src/settings_translation_file.cpp
msgid "Disallow empty passwords"
@@ -2668,14 +2589,12 @@ msgid "Domain name of server, to be displayed in the serverlist."
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Double tap jump for fly"
-msgstr "Topeltklõpsa \"Hüppamist\" et sisse lülitada lendamine"
+msgstr "Topeltklõpsa \"hüppamist\" lendamiseks"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Double-tapping the jump key toggles fly mode."
-msgstr "Topeltklõpsa \"Hüppamist\" et sisse lülitada lendamine"
+msgstr "Topeltklõpsates \"hüppamist\" lülitatakse lennurežiim sisse/välja."
#: src/settings_translation_file.cpp
msgid "Drop item key"
@@ -2696,18 +2615,19 @@ msgstr ""
#: src/settings_translation_file.cpp
#, fuzzy
msgid "Dungeon noise"
-msgstr "Põlvkonna kaardid"
+msgstr "Dungeon noise"
#: src/settings_translation_file.cpp
msgid ""
-"Enable Lua modding support on client.\n"
-"This support is experimental and API can change."
+"Enable IPv6 support (for both client and server).\n"
+"Required for IPv6 connections to work at all."
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
-msgid "Enable VBO"
-msgstr "Luba MP"
+msgid ""
+"Enable Lua modding support on client.\n"
+"This support is experimental and API can change."
+msgstr ""
#: src/settings_translation_file.cpp
msgid "Enable console window"
@@ -2772,6 +2692,12 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Enable vertex buffer objects.\n"
+"This should greatly improve graphics performance."
+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 ""
@@ -2779,7 +2705,16 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Enable/disable running an IPv6 server.\n"
-"Ignored if bind_address is set."
+"Ignored if bind_address is set.\n"
+"Needs enable_ipv6 to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Enables Hable's 'Uncharted 2' filmic tone mapping.\n"
+"Simulates the tone curve of photographic film and how this approximates the\n"
+"appearance of high dynamic range images. Mid-range contrast is slightly\n"
+"enhanced, highlights and shadows are gradually compressed."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2799,14 +2734,8 @@ msgid "Enables caching of facedir rotated meshes."
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
-msgid "Enables filmic tone mapping"
-msgstr "Lülita valu sisse"
-
-#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Enables minimap."
-msgstr "Lülita valu sisse"
+msgstr "Lubab minikaarti."
#: src/settings_translation_file.cpp
msgid ""
@@ -2821,6 +2750,14 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Enables the sound system.\n"
+"If disabled, this completely disables all sounds everywhere and the in-game\n"
+"sound controls will be non-functional.\n"
+"Changing this setting requires a restart."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Engine profiling data print interval"
msgstr ""
@@ -2851,7 +2788,7 @@ msgid "Fall bobbing factor"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Fallback font"
+msgid "Fallback font path"
msgstr ""
#: src/settings_translation_file.cpp
@@ -2945,30 +2882,6 @@ 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 ""
@@ -2989,7 +2902,11 @@ msgid "Fog toggle key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font path"
+msgid "Font bold by default"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font italic by default"
msgstr ""
#: src/settings_translation_file.cpp
@@ -3001,15 +2918,19 @@ msgid "Font shadow alpha"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font shadow alpha (opaqueness, between 0 and 255)."
+msgid "Font size"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font size of the default font in point (pt)."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font shadow offset, if 0 then shadow will not be drawn."
+msgid "Font size of the fallback font in point (pt)."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font size"
+msgid "Font size of the monospace font in point (pt)."
msgstr ""
#: src/settings_translation_file.cpp
@@ -3121,10 +3042,6 @@ msgid "GUI scaling filter txr2img"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gamma"
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Generate normalmaps"
msgstr ""
@@ -3140,11 +3057,15 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at maximum light level."
+msgid ""
+"Gradient of light curve at maximum light level.\n"
+"Controls the contrast of the highest light levels."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at minimum light level."
+msgid ""
+"Gradient of light curve at minimum light level.\n"
+"Controls the contrast of the lowest light levels."
msgstr ""
#: src/settings_translation_file.cpp
@@ -3179,7 +3100,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Handling for deprecated lua api calls:\n"
+"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)."
@@ -3409,6 +3330,13 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"How fast liquid waves will move. Higher = faster.\n"
+"If negative, liquid waves will move backwards.\n"
+"Requires waving liquids to be enabled."
+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 ""
@@ -3438,10 +3366,6 @@ 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."
@@ -3619,6 +3543,14 @@ msgid "Invert vertical mouse movement."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Italic font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Italic monospace font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Item entity TTL"
msgstr ""
@@ -4217,15 +4149,23 @@ msgid "Large cave depth"
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
-msgid "Large chat console key"
-msgstr "Konsool"
+msgid "Large cave maximum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large cave minimum number"
+msgstr ""
#: src/settings_translation_file.cpp
-msgid "Lava depth"
+msgid "Large cave proportion flooded"
msgstr ""
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Large chat console key"
+msgstr "Konsool"
+
+#: src/settings_translation_file.cpp
msgid "Leaves style"
msgstr ""
@@ -4250,6 +4190,12 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Length of liquid waves.\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Length of time between Active Block Modifier (ABM) execution cycles"
msgstr ""
@@ -4274,19 +4220,27 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost"
+msgid "Light curve boost"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve boost center"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve boost spread"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost center"
+msgid "Light curve gamma"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost spread"
+msgid "Light curve high gradient"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Lightness sharpness"
+msgid "Light curve low gradient"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4393,25 +4347,25 @@ 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."
+"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 flat.\n"
+"Map generation attributes specific to Mapgen Fractal.\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."
+"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
@@ -4578,8 +4532,16 @@ msgid "Maximum hotbar width"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of large caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
-"Maximum liquid resistence. Controls deceleration when entering liquid at\n"
+"Maximum liquid resistance. Controls deceleration when entering liquid at\n"
"high speed."
msgstr ""
@@ -4701,6 +4663,14 @@ msgid "Minimap scan height"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of large caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Minimum texture size"
msgstr ""
@@ -4789,7 +4759,7 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Near clipping plane"
+msgid "Near plane"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4876,6 +4846,16 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Opaqueness (alpha) of the shadow behind the default font, between 0 and 255."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Opaqueness (alpha) of the shadow behind the fallback font, between 0 and 255."
+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."
@@ -4914,7 +4894,12 @@ msgid "Parallax occlusion strength"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Path to TrueTypeFont or bitmap."
+msgid ""
+"Path of the fallback font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font will be used for certain languages or if the default font is "
+"unavailable."
msgstr ""
#: src/settings_translation_file.cpp
@@ -4932,6 +4917,22 @@ msgid "Path to texture directory. All textures are first searched from here."
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Path to the default font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"The fallback font will be used if the font cannot be loaded."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Path to the monospace font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font is used for e.g. the console and profiler screen."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Pause on lost window focus"
msgstr ""
@@ -5005,6 +5006,10 @@ msgid "Profiling"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Proportion of large caves that contain liquid."
+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 "
@@ -5029,6 +5034,11 @@ msgid "Recent Chat Messages"
msgstr ""
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Regular font path"
+msgstr "Vali"
+
+#: src/settings_translation_file.cpp
msgid "Remote media"
msgstr ""
@@ -5224,24 +5234,24 @@ 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."
+"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
@@ -5295,19 +5305,19 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving leaves.\n"
+"Set to true to enable waving leaves.\n"
"Requires shaders to be enabled."
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving plants.\n"
+"Set to true to enable waving liquids (like water).\n"
"Requires shaders to be enabled."
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving water.\n"
+"Set to true to enable waving plants.\n"
"Requires shaders to be enabled."
msgstr ""
@@ -5325,7 +5335,15 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Shadow limit"
+msgid ""
+"Shadow offset (in pixels) of the default font. If 0, then shadow will not be "
+"drawn."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not "
+"be drawn."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5370,6 +5388,14 @@ msgid "Slope and fill work together to modify the heights."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Small cave maximum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Small cave minimum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Small-scale humidity variation for blending biomes on borders."
msgstr ""
@@ -5433,8 +5459,9 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Spread of light curve mid-boost.\n"
-"Standard deviation of the mid-boost gaussian."
+"Spread of light curve boost range.\n"
+"Controls the width of the range to be boosted.\n"
+"Standard deviation of the light curve boost Gaussian."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5458,7 +5485,10 @@ msgid "Strength of generated normalmaps."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Strength of light curve mid-boost."
+msgid ""
+"Strength of light curve boost.\n"
+"The 3 'boost' parameters define a range of the light\n"
+"curve that is boosted in brightness."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5562,6 +5592,15 @@ msgid "The length in pixels it takes for touch screen interaction to start."
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"The maximum height of the surface of waving liquids.\n"
+"4.0 = Wave height is two nodes.\n"
+"0.0 = Wave doesn't move at all.\n"
+"Default is 1.0 (1/2 node).\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "The network interface that the server listens on."
msgstr ""
@@ -5642,10 +5681,6 @@ 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."
@@ -5701,7 +5736,7 @@ msgstr "Tri-Linear Filtreerimine"
msgid ""
"True = 256\n"
"False = 128\n"
-"Useable to make minimap smoother on slower machines."
+"Usable to make minimap smoother on slower machines."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5709,11 +5744,6 @@ 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 ""
@@ -5798,10 +5828,6 @@ 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 ""
@@ -5876,6 +5902,12 @@ msgstr "Hääle volüüm"
#: src/settings_translation_file.cpp
msgid ""
+"Volume of all sounds.\n"
+"Requires the sound system to be enabled."
+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"
@@ -5913,29 +5945,30 @@ msgid "Waving leaves"
msgstr "Uhked puud"
#: src/settings_translation_file.cpp
-msgid "Waving plants"
-msgstr ""
-
-#: src/settings_translation_file.cpp
-msgid "Waving water"
-msgstr ""
+#, fuzzy
+msgid "Waving liquids"
+msgstr "Lainetavad vedelikud"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wave height"
+msgid "Waving liquids wave height"
msgstr "Uhked puud"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wave speed"
+msgid "Waving liquids wave speed"
msgstr "Uhked puud"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wavelength"
+msgid "Waving liquids wavelength"
msgstr "Uhked puud"
#: src/settings_translation_file.cpp
+msgid "Waving plants"
+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"
@@ -5965,7 +5998,9 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Whether FreeType fonts are used, requires FreeType support to be compiled in."
+"Whether FreeType fonts are used, requires FreeType support to be compiled "
+"in.\n"
+"If disabled, bitmap and XML vectors fonts are used instead."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5994,6 +6029,14 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Whether to mute sounds. You can unmute sounds at any time, unless the\n"
+"sound system is disabled (enable_sound=false).\n"
+"In-game, you can toggle the mute state with the mute key or by using the\n"
+"pause menu."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
"Whether to show the client debug info (has the same effect as hitting F5)."
msgstr ""
@@ -6064,10 +6107,6 @@ 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 ""
@@ -6080,10 +6119,6 @@ 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 "cURL faili allalaadimine aegus"
@@ -6095,6 +6130,16 @@ msgstr ""
msgid "cURL timeout"
msgstr ""
+#~ msgid "Darkness sharpness"
+#~ msgstr "Pimeduse teravus"
+
+#~ msgid "Enable VBO"
+#~ msgstr "Luba VBO"
+
+#, fuzzy
+#~ msgid "Enables filmic tone mapping"
+#~ msgstr "Lubab filmic tone mapping"
+
#, fuzzy
#~ msgid "Select Package File:"
#~ msgstr "Vali modifikatsiooni fail:"
diff --git a/po/eu/minetest.po b/po/eu/minetest.po
index fda4dc7e5..f309d4269 100644
--- a/po/eu/minetest.po
+++ b/po/eu/minetest.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: minetest\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-10-09 22:02+0200\n"
+"POT-Creation-Date: 2020-04-03 23:18+0200\n"
"PO-Revision-Date: 2020-01-11 18:26+0000\n"
"Last-Translator: rubenwardy <rubenwardy@gmail.com>\n"
"Language-Team: Basque <https://hosted.weblate.org/projects/minetest/minetest/"
@@ -20,78 +20,102 @@ msgstr ""
"X-Generator: Weblate 3.10.1\n"
#: builtin/client/death_formspec.lua src/client/game.cpp
-msgid "You died"
-msgstr "Hil zara"
-
-#: builtin/client/death_formspec.lua src/client/game.cpp
msgid "Respawn"
msgstr "Birsortu"
+#: builtin/client/death_formspec.lua src/client/game.cpp
+msgid "You died"
+msgstr "Hil zara"
+
#: builtin/fstk/ui.lua
-msgid "The server has requested a reconnect:"
-msgstr "Zerbitzariak birkonexioa eskatu du:"
+msgid "An error occurred in a Lua script:"
+msgstr "Errore bat gertatu da Lua script batean:"
#: builtin/fstk/ui.lua
-msgid "Reconnect"
-msgstr "Birkonektatu"
+msgid "An error occurred:"
+msgstr "Errore bat gertatu da:"
#: builtin/fstk/ui.lua
msgid "Main menu"
msgstr "Menu nagusia"
#: builtin/fstk/ui.lua
-msgid "An error occurred in a Lua script:"
-msgstr "Errore bat gertatu da Lua script batean:"
+msgid "Ok"
+msgstr "Ados"
#: builtin/fstk/ui.lua
-msgid "An error occurred:"
-msgstr "Errore bat gertatu da:"
+msgid "Reconnect"
+msgstr "Birkonektatu"
#: builtin/fstk/ui.lua
-msgid "Ok"
-msgstr "Ados"
+msgid "The server has requested a reconnect:"
+msgstr "Zerbitzariak birkonexioa eskatu du:"
#: builtin/mainmenu/common.lua src/client/game.cpp
msgid "Loading..."
msgstr "Kargatzen..."
#: builtin/mainmenu/common.lua
-msgid "Try reenabling public serverlist and check your internet connection."
-msgstr ""
-"Saia zaitez zerbitzari publikoen zerrenda birgaitzen eta egiazta ezazu zure "
-"internet konexioa."
-
-#: builtin/mainmenu/common.lua
-msgid "Server supports protocol versions between $1 and $2. "
-msgstr "Zerbitzariak $1 eta $2 arteko protokolo bertsioak onartzen ditu. "
+msgid "Protocol version mismatch. "
+msgstr "Protokoloaren bertsioen desadostasuna. "
#: builtin/mainmenu/common.lua
msgid "Server enforces protocol version $1. "
msgstr "Zerbitzariak $1 protokolo bertsioa darabil. "
#: builtin/mainmenu/common.lua
-msgid "We support protocol versions between version $1 and $2."
-msgstr "$1 eta $2 arteko protokolo bertsioak onartzen ditugu."
+msgid "Server supports protocol versions between $1 and $2. "
+msgstr "Zerbitzariak $1 eta $2 arteko protokolo bertsioak onartzen ditu. "
+
+#: builtin/mainmenu/common.lua
+msgid "Try reenabling public serverlist and check your internet connection."
+msgstr ""
+"Saia zaitez zerbitzari publikoen zerrenda birgaitzen eta egiazta ezazu zure "
+"internet konexioa."
#: builtin/mainmenu/common.lua
msgid "We only support protocol version $1."
msgstr "$1 bertsioa soilik onartzen dugu."
#: builtin/mainmenu/common.lua
-msgid "Protocol version mismatch. "
-msgstr "Protokoloaren bertsioen desadostasuna. "
+msgid "We support protocol versions between version $1 and $2."
+msgstr "$1 eta $2 arteko protokolo bertsioak onartzen ditugu."
+
+#: 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 "Utzi"
+
+#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua
+msgid "Dependencies:"
+msgstr "Mendekotasunak:"
#: builtin/mainmenu/dlg_config_world.lua
-msgid "World:"
-msgstr "Mundua:"
+msgid "Disable all"
+msgstr "Desgaitu denak"
#: builtin/mainmenu/dlg_config_world.lua
-msgid "No modpack description provided."
+msgid "Disable modpack"
msgstr ""
#: builtin/mainmenu/dlg_config_world.lua
-msgid "No game description provided."
-msgstr "Ez da jolasaren deskripziorik eman."
+msgid "Enable all"
+msgstr "Gaitu denak"
+
+#: 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:"
@@ -102,103 +126,79 @@ msgid "No (optional) dependencies"
msgstr "(Aukerako) mendekotasunik ez"
#: builtin/mainmenu/dlg_config_world.lua
+msgid "No game description provided."
+msgstr "Ez da jolasaren deskripziorik eman."
+
+#: builtin/mainmenu/dlg_config_world.lua
msgid "No hard dependencies"
msgstr "Mendekotasun zorrotzik ez"
-#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua
-msgid "Optional dependencies:"
-msgstr "Aukerako mendekotasunak:"
-
-#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua
-msgid "Dependencies:"
-msgstr "Mendekotasunak:"
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "No modpack description provided."
+msgstr ""
#: builtin/mainmenu/dlg_config_world.lua
msgid "No optional dependencies"
msgstr "Aukerako mendekotasunik ez"
+#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua
+msgid "Optional dependencies:"
+msgstr "Aukerako mendekotasunak:"
+
#: builtin/mainmenu/dlg_config_world.lua
#: builtin/mainmenu/dlg_settings_advanced.lua src/gui/guiKeyChangeMenu.cpp
msgid "Save"
msgstr "Gorde"
-#: 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 "Utzi"
-
#: builtin/mainmenu/dlg_config_world.lua
-msgid "Disable modpack"
-msgstr ""
-
-#: builtin/mainmenu/dlg_config_world.lua
-msgid "Enable modpack"
-msgstr ""
+msgid "World:"
+msgstr "Mundua:"
#: builtin/mainmenu/dlg_config_world.lua
msgid "enabled"
msgstr "gaituta"
-#: builtin/mainmenu/dlg_config_world.lua
-msgid "Disable all"
-msgstr "Desgaitu denak"
-
-#: builtin/mainmenu/dlg_config_world.lua
-msgid "Enable all"
-msgstr "Gaitu denak"
-
-#: builtin/mainmenu/dlg_config_world.lua
-msgid ""
-"Failed to enable mod \"$1\" as it contains disallowed characters. Only "
-"characters [a-z0-9_] are allowed."
-msgstr ""
-
#: builtin/mainmenu/dlg_contentstore.lua
msgid "All packages"
msgstr "Pakete guztiak"
#: builtin/mainmenu/dlg_contentstore.lua
-#: builtin/mainmenu/dlg_settings_advanced.lua
-msgid "Games"
-msgstr "Jolasak"
+msgid "Back"
+msgstr "Atzera"
#: builtin/mainmenu/dlg_contentstore.lua
-#: builtin/mainmenu/dlg_settings_advanced.lua
-msgid "Mods"
-msgstr "Mod-ak"
+msgid "Back to Main Menu"
+msgstr "Itzuli menu nagusira"
#: builtin/mainmenu/dlg_contentstore.lua
-msgid "Texture packs"
-msgstr ""
+msgid "Downloading and installing $1, please wait..."
+msgstr "$1 deskargatu eta instalatzen, itxaron mesedez..."
#: builtin/mainmenu/dlg_contentstore.lua
msgid "Failed to download $1"
msgstr "Huts egin du $1 deskargatzean"
#: builtin/mainmenu/dlg_contentstore.lua
-msgid "Downloading and installing $1, please wait..."
-msgstr "$1 deskargatu eta instalatzen, itxaron mesedez..."
-
-#: builtin/mainmenu/dlg_contentstore.lua
-msgid "Back"
-msgstr "Atzera"
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Games"
+msgstr "Jolasak"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "Install"
msgstr "Instalatu"
#: builtin/mainmenu/dlg_contentstore.lua
-msgid "Update"
-msgstr "Eguneratu"
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Mods"
+msgstr "Mod-ak"
#: builtin/mainmenu/dlg_contentstore.lua
-msgid "Uninstall"
-msgstr "Desinstalatu"
+msgid "No packages could be retrieved"
+msgstr "Ezin izan da paketerik eskuratu"
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "No results"
+msgstr "Emaitzarik ez"
#: builtin/mainmenu/dlg_contentstore.lua
#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua
@@ -206,62 +206,62 @@ msgid "Search"
msgstr "Bilatu"
#: builtin/mainmenu/dlg_contentstore.lua
-msgid "Back to Main Menu"
-msgstr "Itzuli menu nagusira"
+msgid "Texture packs"
+msgstr ""
#: builtin/mainmenu/dlg_contentstore.lua
-msgid "No results"
-msgstr "Emaitzarik ez"
+msgid "Uninstall"
+msgstr "Desinstalatu"
#: builtin/mainmenu/dlg_contentstore.lua
-msgid "No packages could be retrieved"
-msgstr "Ezin izan da paketerik eskuratu"
+msgid "Update"
+msgstr "Eguneratu"
#: builtin/mainmenu/dlg_create_world.lua
-msgid "World name"
-msgstr "Munduaren izena"
+msgid "A world named \"$1\" already exists"
+msgstr "Badago \"$1\" izeneko mundu bat"
#: builtin/mainmenu/dlg_create_world.lua
-#: builtin/mainmenu/dlg_settings_advanced.lua
-msgid "Seed"
-msgstr "Hazia"
+msgid "Create"
+msgstr "Sortu"
-#: builtin/mainmenu/dlg_create_world.lua src/settings_translation_file.cpp
-msgid "Mapgen"
-msgstr "Mapa sortzailea"
+#: builtin/mainmenu/dlg_create_world.lua
+msgid "Download a game, such as Minetest Game, from minetest.net"
+msgstr ""
+"Deskargatu jolasen bat, esaterako Minetest Game, minetest.net zerbitzaritik"
+
+#: builtin/mainmenu/dlg_create_world.lua
+msgid "Download one from minetest.net"
+msgstr "Deskargatu minetest.net zerbitzaritik"
#: builtin/mainmenu/dlg_create_world.lua src/settings_translation_file.cpp
msgid "Game"
msgstr "Jolasa"
-#: builtin/mainmenu/dlg_create_world.lua
-msgid "Create"
-msgstr "Sortu"
+#: builtin/mainmenu/dlg_create_world.lua src/settings_translation_file.cpp
+msgid "Mapgen"
+msgstr "Mapa sortzailea"
#: builtin/mainmenu/dlg_create_world.lua
-msgid "You have no games installed."
-msgstr "Ez duzu jolasik instalatuta."
+msgid "No game selected"
+msgstr "Ez da jolasik aukeratu"
#: builtin/mainmenu/dlg_create_world.lua
-msgid "Download one from minetest.net"
-msgstr "Deskargatu minetest.net zerbitzaritik"
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Seed"
+msgstr "Hazia"
#: builtin/mainmenu/dlg_create_world.lua
msgid "Warning: The minimal development test is meant for developers."
msgstr "Abisua: \"Minimal development test\" garatzaileentzako da."
#: builtin/mainmenu/dlg_create_world.lua
-msgid "Download a game, such as Minetest Game, from minetest.net"
-msgstr ""
-"Deskargatu jolasen bat, esaterako Minetest Game, minetest.net zerbitzaritik"
-
-#: builtin/mainmenu/dlg_create_world.lua
-msgid "A world named \"$1\" already exists"
-msgstr "Badago \"$1\" izeneko mundu bat"
+msgid "World name"
+msgstr "Munduaren izena"
#: builtin/mainmenu/dlg_create_world.lua
-msgid "No game selected"
-msgstr "Ez da jolasik aukeratu"
+msgid "You have no games installed."
+msgstr "Ez duzu jolasik instalatuta."
#: builtin/mainmenu/dlg_delete_content.lua
msgid "Are you sure you want to delete \"$1\"?"
@@ -290,94 +290,86 @@ msgid "Accept"
msgstr "Onartu"
#: 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_rename_modpack.lua
-msgid "Rename Modpack:"
-msgstr ""
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "(No description of setting given)"
+msgstr "(Ez da ezarpenaren deskripziorik eman)"
#: builtin/mainmenu/dlg_settings_advanced.lua
-msgid "Disabled"
-msgstr "Desgaituta"
+msgid "2D Noise"
+msgstr "2D Zarata"
#: builtin/mainmenu/dlg_settings_advanced.lua
-msgid "Enabled"
-msgstr "Gaituta"
+msgid "< Back to Settings page"
+msgstr "< Itzuli ezarpenen orrira"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Browse"
msgstr "Arakatu"
-#: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp
-msgid "Offset"
-msgstr ""
-
-#: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp
-msgid "Scale"
-msgstr "Eskala"
-
#: builtin/mainmenu/dlg_settings_advanced.lua
-msgid "X spread"
-msgstr ""
+msgid "Disabled"
+msgstr "Desgaituta"
#: builtin/mainmenu/dlg_settings_advanced.lua
-msgid "Y spread"
-msgstr ""
+msgid "Edit"
+msgstr "Editatu"
#: builtin/mainmenu/dlg_settings_advanced.lua
-msgid "2D Noise"
-msgstr "2D Zarata"
+msgid "Enabled"
+msgstr "Gaituta"
#: builtin/mainmenu/dlg_settings_advanced.lua
-msgid "Z spread"
+msgid "Lacunarity"
msgstr ""
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Octaves"
msgstr ""
-#: builtin/mainmenu/dlg_settings_advanced.lua
-msgid "Persistance"
-msgstr "Iraunkortasuna"
-
-#: builtin/mainmenu/dlg_settings_advanced.lua
-msgid "Lacunarity"
+#: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp
+msgid "Offset"
msgstr ""
#: builtin/mainmenu/dlg_settings_advanced.lua
-msgid "defaults"
-msgstr "lehenespenak"
+msgid "Persistance"
+msgstr "Iraunkortasuna"
#: builtin/mainmenu/dlg_settings_advanced.lua
-msgid "eased"
-msgstr ""
+msgid "Please enter a valid integer."
+msgstr "Sartu baliozko zenbaki oso bat."
#: builtin/mainmenu/dlg_settings_advanced.lua
-msgid "absvalue"
-msgstr ""
+msgid "Please enter a valid number."
+msgstr "Sartu baliozko zenbaki bat."
#: builtin/mainmenu/dlg_settings_advanced.lua
-msgid "X"
-msgstr "X"
+msgid "Restore Default"
+msgstr "Berrezarri lehenespena"
-#: builtin/mainmenu/dlg_settings_advanced.lua
-msgid "Y"
-msgstr "Y"
+#: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp
+msgid "Scale"
+msgstr "Eskala"
#: builtin/mainmenu/dlg_settings_advanced.lua
-msgid "Z"
-msgstr "Z"
+msgid "Select directory"
+msgstr "Hautatu direktorioa"
#: builtin/mainmenu/dlg_settings_advanced.lua
-msgid "(No description of setting given)"
-msgstr "(Ez da ezarpenaren deskripziorik eman)"
+msgid "Select file"
+msgstr "Hautatu fitxategia"
#: builtin/mainmenu/dlg_settings_advanced.lua
-msgid "Please enter a valid integer."
-msgstr "Sartu baliozko zenbaki oso bat."
+msgid "Show technical names"
+msgstr "Erakutsi izen teknikoak"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "The value must be at least $1."
@@ -388,39 +380,58 @@ msgid "The value must not be larger than $1."
msgstr "Balioa ezin da $1 baino handiagoa izan."
#: builtin/mainmenu/dlg_settings_advanced.lua
-msgid "Please enter a valid number."
-msgstr "Sartu baliozko zenbaki bat."
+msgid "X"
+msgstr "X"
#: builtin/mainmenu/dlg_settings_advanced.lua
-msgid "Select directory"
-msgstr "Hautatu direktorioa"
+msgid "X spread"
+msgstr ""
#: builtin/mainmenu/dlg_settings_advanced.lua
-msgid "Select file"
-msgstr "Hautatu fitxategia"
+msgid "Y"
+msgstr "Y"
#: builtin/mainmenu/dlg_settings_advanced.lua
-msgid "< Back to Settings page"
-msgstr "< Itzuli ezarpenen orrira"
+msgid "Y spread"
+msgstr ""
#: builtin/mainmenu/dlg_settings_advanced.lua
-msgid "Edit"
-msgstr "Editatu"
+msgid "Z"
+msgstr "Z"
#: builtin/mainmenu/dlg_settings_advanced.lua
-msgid "Restore Default"
-msgstr "Berrezarri lehenespena"
+msgid "Z spread"
+msgstr ""
+#. ~ "absvalue" is a noise parameter flag.
+#. It is short for "absolute value".
+#. It can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
-msgid "Show technical names"
-msgstr "Erakutsi izen teknikoak"
+msgid "absvalue"
+msgstr ""
+
+#. ~ "defaults" is a noise parameter flag.
+#. It describes the default processing options
+#. for noise settings in main menu -> "All Settings".
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "defaults"
+msgstr "lehenespenak"
+
+#. ~ "eased" is a noise parameter flag.
+#. It is used to make the map smoother and
+#. can be enabled in noise settings in
+#. main menu -> "All Settings".
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "eased"
+msgstr ""
#: builtin/mainmenu/pkgmgr.lua
msgid "$1 (Enabled)"
msgstr "$1 (Gaituta)"
#: builtin/mainmenu/pkgmgr.lua
-msgid "Unable to install a $1 as a texture pack"
+msgid "$1 mods"
msgstr ""
#: builtin/mainmenu/pkgmgr.lua
@@ -428,71 +439,71 @@ msgid "Failed to install $1 to $2"
msgstr "Huts egin du $1 %2-n instalatzean"
#: builtin/mainmenu/pkgmgr.lua
-msgid "Unable to find a valid mod or modpack"
+msgid "Install Mod: Unable to find real mod name for: $1"
msgstr ""
#: builtin/mainmenu/pkgmgr.lua
-msgid "Unable to install a modpack as a $1"
+msgid "Install Mod: Unable to find suitable folder name for modpack $1"
msgstr ""
#: builtin/mainmenu/pkgmgr.lua
-msgid "Install Mod: Unable to find suitable folder name for modpack $1"
+msgid "Install: Unsupported file type \"$1\" or broken archive"
msgstr ""
#: builtin/mainmenu/pkgmgr.lua
-msgid "Unable to install a mod as a $1"
+msgid "Install: file: \"$1\""
msgstr ""
#: builtin/mainmenu/pkgmgr.lua
-msgid "Install Mod: Unable to find real mod name for: $1"
+msgid "Unable to find a valid mod or modpack"
msgstr ""
#: builtin/mainmenu/pkgmgr.lua
-msgid "Unable to install a game as a $1"
+msgid "Unable to install a $1 as a texture pack"
msgstr ""
#: builtin/mainmenu/pkgmgr.lua
-msgid "Install: file: \"$1\""
+msgid "Unable to install a game as a $1"
msgstr ""
#: builtin/mainmenu/pkgmgr.lua
-msgid "Install: Unsupported file type \"$1\" or broken archive"
+msgid "Unable to install a mod as a $1"
msgstr ""
#: builtin/mainmenu/pkgmgr.lua
-msgid "$1 mods"
+msgid "Unable to install a modpack as a $1"
msgstr ""
#: builtin/mainmenu/tab_content.lua
-msgid "Installed Packages:"
+msgid "Browse online content"
msgstr ""
#: builtin/mainmenu/tab_content.lua
-msgid "Browse online content"
+msgid "Content"
msgstr ""
#: builtin/mainmenu/tab_content.lua
-msgid "No package description available"
+msgid "Disable Texture Pack"
msgstr ""
#: builtin/mainmenu/tab_content.lua
-msgid "Rename"
+msgid "Information:"
msgstr ""
#: builtin/mainmenu/tab_content.lua
-msgid "No dependencies."
+msgid "Installed Packages:"
msgstr ""
#: builtin/mainmenu/tab_content.lua
-msgid "Disable Texture Pack"
+msgid "No dependencies."
msgstr ""
#: builtin/mainmenu/tab_content.lua
-msgid "Use Texture Pack"
+msgid "No package description available"
msgstr ""
#: builtin/mainmenu/tab_content.lua
-msgid "Information:"
+msgid "Rename"
msgstr ""
#: builtin/mainmenu/tab_content.lua
@@ -500,11 +511,11 @@ msgid "Uninstall Package"
msgstr ""
#: builtin/mainmenu/tab_content.lua
-msgid "Content"
+msgid "Use Texture Pack"
msgstr ""
#: builtin/mainmenu/tab_credits.lua
-msgid "Credits"
+msgid "Active Contributors"
msgstr ""
#: builtin/mainmenu/tab_credits.lua
@@ -512,27 +523,27 @@ msgid "Core Developers"
msgstr ""
#: builtin/mainmenu/tab_credits.lua
-msgid "Active Contributors"
+msgid "Credits"
msgstr ""
#: builtin/mainmenu/tab_credits.lua
-msgid "Previous Core Developers"
+msgid "Previous Contributors"
msgstr ""
#: builtin/mainmenu/tab_credits.lua
-msgid "Previous Contributors"
+msgid "Previous Core Developers"
msgstr ""
#: builtin/mainmenu/tab_local.lua
-msgid "Configure"
+msgid "Announce Server"
msgstr ""
#: builtin/mainmenu/tab_local.lua
-msgid "New"
+msgid "Bind Address"
msgstr ""
#: builtin/mainmenu/tab_local.lua
-msgid "Select World:"
+msgid "Configure"
msgstr ""
#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_simple_main.lua
@@ -544,39 +555,39 @@ msgid "Enable Damage"
msgstr ""
#: builtin/mainmenu/tab_local.lua
-msgid "Host Server"
+msgid "Host Game"
msgstr ""
#: builtin/mainmenu/tab_local.lua
-msgid "Host Game"
+msgid "Host Server"
msgstr ""
#: builtin/mainmenu/tab_local.lua
-msgid "Announce Server"
+msgid "Name/Password"
msgstr ""
#: builtin/mainmenu/tab_local.lua
-msgid "Name/Password"
+msgid "New"
msgstr ""
#: builtin/mainmenu/tab_local.lua
-msgid "Bind Address"
+msgid "No world created or selected!"
msgstr ""
#: builtin/mainmenu/tab_local.lua
-msgid "Port"
+msgid "Play Game"
msgstr ""
#: builtin/mainmenu/tab_local.lua
-msgid "Server Port"
+msgid "Port"
msgstr ""
#: builtin/mainmenu/tab_local.lua
-msgid "Play Game"
+msgid "Select World:"
msgstr ""
#: builtin/mainmenu/tab_local.lua
-msgid "No world created or selected!"
+msgid "Server Port"
msgstr ""
#: builtin/mainmenu/tab_local.lua
@@ -588,11 +599,15 @@ msgid "Address / Port"
msgstr ""
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
-msgid "Name / Password"
+msgid "Connect"
msgstr ""
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
-msgid "Connect"
+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
@@ -603,52 +618,53 @@ msgstr ""
msgid "Favorite"
msgstr ""
-#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
-msgid "Ping"
+#: builtin/mainmenu/tab_online.lua
+msgid "Join Game"
msgstr ""
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
-msgid "Creative mode"
+msgid "Name / Password"
msgstr ""
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
-msgid "Damage enabled"
+msgid "Ping"
msgstr ""
+#. ~ PvP = Player versus Player
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "PvP enabled"
msgstr ""
-#: builtin/mainmenu/tab_online.lua
-msgid "Join Game"
+#: builtin/mainmenu/tab_settings.lua
+msgid "2x"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-msgid "Opaque Leaves"
+msgid "3D Clouds"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-msgid "Simple Leaves"
+msgid "4x"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-msgid "Fancy Leaves"
+msgid "8x"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-msgid "Node Outlining"
+msgid "All Settings"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-msgid "Node Highlighting"
+msgid "Antialiasing:"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-msgid "None"
+msgid "Are you sure to reset your singleplayer world?"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-msgid "No Filter"
+msgid "Autosave Screen Size"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
@@ -656,71 +672,75 @@ msgid "Bilinear Filter"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-msgid "Trilinear Filter"
+msgid "Bump Mapping"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua src/client/game.cpp
+msgid "Change Keys"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-msgid "No Mipmap"
+msgid "Connected Glass"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-msgid "Mipmap"
+msgid "Fancy Leaves"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-msgid "Mipmap + Aniso. Filter"
+msgid "Generate Normal Maps"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-msgid "2x"
+msgid "Mipmap"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-msgid "4x"
+msgid "Mipmap + Aniso. Filter"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-msgid "8x"
+msgid "No"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-msgid "Are you sure to reset your singleplayer world?"
+msgid "No Filter"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-msgid "Yes"
+msgid "No Mipmap"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-msgid "No"
+msgid "Node Highlighting"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-msgid "Smooth Lighting"
+msgid "Node Outlining"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-msgid "Particles"
+msgid "None"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-msgid "3D Clouds"
+msgid "Opaque Leaves"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
msgid "Opaque Water"
msgstr ""
-#: builtin/mainmenu/tab_settings.lua
-msgid "Connected Glass"
+#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp
+msgid "Parallax Occlusion"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-msgid "Texturing:"
+msgid "Particles"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-msgid "Antialiasing:"
+msgid "Reset singleplayer world"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
@@ -728,7 +748,7 @@ msgid "Screen:"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-msgid "Autosave Screen Size"
+msgid "Settings"
msgstr ""
#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp
@@ -740,23 +760,19 @@ msgid "Shaders (unavailable)"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-msgid "Reset singleplayer world"
-msgstr ""
-
-#: builtin/mainmenu/tab_settings.lua src/client/game.cpp
-msgid "Change Keys"
+msgid "Simple Leaves"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-msgid "All Settings"
+msgid "Smooth Lighting"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-msgid "Touchthreshold: (px)"
+msgid "Texturing:"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-msgid "Bump Mapping"
+msgid "To enable shaders the OpenGL driver needs to be used."
msgstr ""
#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp
@@ -764,15 +780,11 @@ msgid "Tone Mapping"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-msgid "Generate Normal Maps"
-msgstr ""
-
-#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp
-msgid "Parallax Occlusion"
+msgid "Touchthreshold: (px)"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Liquids"
+msgid "Trilinear Filter"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
@@ -780,27 +792,27 @@ msgid "Waving Leaves"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Plants"
+msgid "Waving Liquids"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-msgid "To enable shaders the OpenGL driver needs to be used."
+msgid "Waving Plants"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-msgid "Settings"
+msgid "Yes"
msgstr ""
#: builtin/mainmenu/tab_simple_main.lua
-msgid "Start Singleplayer"
+msgid "Config mods"
msgstr ""
#: builtin/mainmenu/tab_simple_main.lua
-msgid "Config mods"
+msgid "Main"
msgstr ""
#: builtin/mainmenu/tab_simple_main.lua
-msgid "Main"
+msgid "Start Singleplayer"
msgstr ""
#: src/client/client.cpp
@@ -808,11 +820,11 @@ msgid "Connection timed out."
msgstr ""
#: src/client/client.cpp
-msgid "Loading textures..."
+msgid "Done!"
msgstr ""
#: src/client/client.cpp
-msgid "Rebuilding shaders..."
+msgid "Initializing nodes"
msgstr ""
#: src/client/client.cpp
@@ -820,204 +832,233 @@ msgid "Initializing nodes..."
msgstr ""
#: src/client/client.cpp
-msgid "Initializing nodes"
+msgid "Loading textures..."
msgstr ""
#: src/client/client.cpp
-msgid "Done!"
+msgid "Rebuilding shaders..."
msgstr ""
#: src/client/clientlauncher.cpp
-msgid "Main Menu"
+msgid "Connection error (timed out?)"
msgstr ""
#: src/client/clientlauncher.cpp
-msgid "Player name too long."
+msgid "Could not find or load game \""
msgstr ""
#: src/client/clientlauncher.cpp
-msgid "Connection error (timed out?)"
+msgid "Invalid gamespec."
msgstr ""
#: src/client/clientlauncher.cpp
-msgid "Provided password file failed to open: "
+msgid "Main Menu"
msgstr ""
#: src/client/clientlauncher.cpp
-msgid "Please choose a name!"
+msgid "No world selected and no address provided. Nothing to do."
msgstr ""
#: src/client/clientlauncher.cpp
-msgid "No world selected and no address provided. Nothing to do."
+msgid "Player name too long."
msgstr ""
#: src/client/clientlauncher.cpp
-msgid "Provided world path doesn't exist: "
+msgid "Please choose a name!"
msgstr ""
#: src/client/clientlauncher.cpp
-msgid "Could not find or load game \""
+msgid "Provided password file failed to open: "
msgstr ""
#: src/client/clientlauncher.cpp
-msgid "Invalid gamespec."
+msgid "Provided world path doesn't exist: "
msgstr ""
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string. Put either "no" or "yes"
+#. into the translation field (literally).
+#. Choose "yes" if the language requires use of the fallback
+#. font, "no" otherwise.
+#. The fallback font is (normally) required for languages with
+#. non-Latin script, like Chinese.
+#. When in doubt, test your translation.
#: src/client/fontengine.cpp
msgid "needs_fallback_font"
msgstr ""
#: src/client/game.cpp
-msgid "Shutting down..."
+msgid ""
+"\n"
+"Check debug.txt for details."
msgstr ""
#: src/client/game.cpp
-msgid "Creating server..."
+msgid "- Address: "
msgstr ""
#: src/client/game.cpp
-msgid "Creating client..."
+msgid "- Creative Mode: "
msgstr ""
#: src/client/game.cpp
-msgid "Resolving address..."
+msgid "- Damage: "
msgstr ""
#: src/client/game.cpp
-msgid "Connecting to server..."
+msgid "- Mode: "
msgstr ""
#: src/client/game.cpp
-msgid "Item definitions..."
+msgid "- Port: "
msgstr ""
#: src/client/game.cpp
-msgid "Node definitions..."
+msgid "- Public: "
msgstr ""
+#. ~ PvP = Player versus Player
#: src/client/game.cpp
-msgid "Media..."
-msgstr "Multimedia..."
-
-#: src/client/game.cpp
-msgid "KiB/s"
+msgid "- PvP: "
msgstr ""
#: src/client/game.cpp
-msgid "MiB/s"
+msgid "- Server Name: "
msgstr ""
#: src/client/game.cpp
-msgid "Client side scripting is disabled"
+msgid "Automatic forward disabled"
msgstr ""
#: src/client/game.cpp
-msgid "Sound muted"
+msgid "Automatic forward enabled"
msgstr ""
#: src/client/game.cpp
-msgid "Sound unmuted"
+msgid "Camera update disabled"
msgstr ""
#: src/client/game.cpp
-#, c-format
-msgid "Volume changed to %d%%"
-msgstr ""
-
-#: src/client/game.cpp src/gui/modalMenu.cpp
-msgid "ok"
+msgid "Camera update enabled"
msgstr ""
#: src/client/game.cpp
-msgid "Fly mode enabled"
+msgid "Change Password"
msgstr ""
#: src/client/game.cpp
-msgid "Fly mode enabled (note: no 'fly' privilege)"
+msgid "Cinematic mode disabled"
msgstr ""
#: src/client/game.cpp
-msgid "Fly mode disabled"
+msgid "Cinematic mode enabled"
msgstr ""
#: src/client/game.cpp
-msgid "Pitch move mode enabled"
+msgid "Client side scripting is disabled"
msgstr ""
#: src/client/game.cpp
-msgid "Pitch move mode disabled"
+msgid "Connecting to server..."
msgstr ""
#: src/client/game.cpp
-msgid "Fast mode enabled"
+msgid "Continue"
msgstr ""
#: src/client/game.cpp
-msgid "Fast mode enabled (note: no 'fast' privilege)"
+#, 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 "Fast mode disabled"
+msgid "Creating client..."
msgstr ""
#: src/client/game.cpp
-msgid "Noclip mode enabled"
+msgid "Creating server..."
msgstr ""
#: src/client/game.cpp
-msgid "Noclip mode enabled (note: no 'noclip' privilege)"
-msgstr ""
+msgid "Debug info and profiler graph hidden"
+msgstr "Arazte informazioa eta profilariaren grafikoa ezkutatuta"
#: src/client/game.cpp
-msgid "Noclip mode disabled"
+msgid "Debug info shown"
msgstr ""
#: src/client/game.cpp
-msgid "Cinematic mode enabled"
-msgstr ""
+msgid "Debug info, profiler graph, and wireframe hidden"
+msgstr "Arazte informazioa, profilariaren grafikoa, eta hari-sareta ezkutatuta"
#: src/client/game.cpp
-msgid "Cinematic mode disabled"
+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 "Automatic forward enabled"
-msgstr ""
+msgid "Disabled unlimited viewing range"
+msgstr "Desgaitu mugagabeko ikusmen barrutia"
#: src/client/game.cpp
-msgid "Automatic forward disabled"
-msgstr ""
+msgid "Enabled unlimited viewing range"
+msgstr "Gaitu mugagabeko ikusmen barrutia"
#: src/client/game.cpp
-msgid "Minimap in surface mode, Zoom x1"
+msgid "Exit to Menu"
msgstr ""
#: src/client/game.cpp
-msgid "Minimap in surface mode, Zoom x2"
+msgid "Exit to OS"
msgstr ""
#: src/client/game.cpp
-msgid "Minimap in surface mode, Zoom x4"
+msgid "Fast mode disabled"
msgstr ""
#: src/client/game.cpp
-msgid "Minimap in radar mode, Zoom x1"
+msgid "Fast mode enabled"
msgstr ""
#: src/client/game.cpp
-msgid "Minimap in radar mode, Zoom x2"
+msgid "Fast mode enabled (note: no 'fast' privilege)"
msgstr ""
#: src/client/game.cpp
-msgid "Minimap in radar mode, Zoom x4"
+msgid "Fly mode disabled"
msgstr ""
#: src/client/game.cpp
-msgid "Minimap hidden"
+msgid "Fly mode enabled"
msgstr ""
#: src/client/game.cpp
-msgid "Minimap currently disabled by game or mod"
+msgid "Fly mode enabled (note: no 'fly' privilege)"
msgstr ""
#: src/client/game.cpp
@@ -1029,141 +1070,111 @@ msgid "Fog enabled"
msgstr ""
#: src/client/game.cpp
-msgid "Debug info shown"
+msgid "Game info:"
msgstr ""
#: src/client/game.cpp
-msgid "Profiler graph shown"
-msgstr "Profilariaren grafikoa ikusigai"
+msgid "Game paused"
+msgstr ""
#: src/client/game.cpp
-msgid "Wireframe shown"
+msgid "Hosting server"
msgstr ""
#: src/client/game.cpp
-msgid "Debug info, profiler graph, and wireframe hidden"
-msgstr "Arazte informazioa, profilariaren grafikoa, eta hari-sareta ezkutatuta"
+msgid "Item definitions..."
+msgstr ""
#: src/client/game.cpp
-msgid "Debug info and profiler graph hidden"
-msgstr "Arazte informazioa eta profilariaren grafikoa ezkutatuta"
+msgid "KiB/s"
+msgstr ""
#: src/client/game.cpp
-msgid "Camera update disabled"
-msgstr ""
+msgid "Media..."
+msgstr "Multimedia..."
#: src/client/game.cpp
-msgid "Camera update enabled"
+msgid "MiB/s"
msgstr ""
#: src/client/game.cpp
-#, c-format
-msgid "Viewing range is at maximum: %d"
-msgstr "Ikusmen barrutia maximoan dago: %d"
+msgid "Minimap currently disabled by game or mod"
+msgstr ""
#: src/client/game.cpp
-#, c-format
-msgid "Viewing range changed to %d"
-msgstr "Ikusmen barrutia aldatu da: %d"
+msgid "Minimap hidden"
+msgstr ""
#: src/client/game.cpp
-#, c-format
-msgid "Viewing range is at minimum: %d"
-msgstr "Ikusmen barrutia minimoan dago: %d"
+msgid "Minimap in radar mode, Zoom x1"
+msgstr ""
#: src/client/game.cpp
-msgid "Enabled unlimited viewing range"
-msgstr "Gaitu mugagabeko ikusmen barrutia"
+msgid "Minimap in radar mode, Zoom x2"
+msgstr ""
#: src/client/game.cpp
-msgid "Disabled unlimited viewing range"
-msgstr "Desgaitu mugagabeko ikusmen barrutia"
+msgid "Minimap in radar mode, Zoom x4"
+msgstr ""
#: src/client/game.cpp
-msgid "Zoom currently disabled by game or mod"
+msgid "Minimap in surface mode, Zoom x1"
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"
+msgid "Minimap in surface mode, Zoom x2"
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"
+msgid "Minimap in surface mode, Zoom x4"
msgstr ""
#: src/client/game.cpp
-msgid "Continue"
+msgid "Noclip mode disabled"
msgstr ""
#: src/client/game.cpp
-msgid "Change Password"
+msgid "Noclip mode enabled"
msgstr ""
#: src/client/game.cpp
-msgid "Game paused"
+msgid "Noclip mode enabled (note: no 'noclip' privilege)"
msgstr ""
#: src/client/game.cpp
-msgid "Sound Volume"
+msgid "Node definitions..."
msgstr ""
#: src/client/game.cpp
-msgid "Exit to Menu"
+msgid "Off"
msgstr ""
#: src/client/game.cpp
-msgid "Exit to OS"
+msgid "On"
msgstr ""
#: src/client/game.cpp
-msgid "Game info:"
+msgid "Pitch move mode disabled"
msgstr ""
#: src/client/game.cpp
-msgid "- Mode: "
+msgid "Pitch move mode enabled"
msgstr ""
#: src/client/game.cpp
-msgid "Remote server"
-msgstr ""
+msgid "Profiler graph shown"
+msgstr "Profilariaren grafikoa ikusigai"
#: src/client/game.cpp
-msgid "- Address: "
+msgid "Remote server"
msgstr ""
#: src/client/game.cpp
-msgid "Hosting server"
+msgid "Resolving address..."
msgstr ""
#: src/client/game.cpp
-msgid "- Port: "
+msgid "Shutting down..."
msgstr ""
#: src/client/game.cpp
@@ -1171,41 +1182,47 @@ msgid "Singleplayer"
msgstr ""
#: src/client/game.cpp
-msgid "On"
+msgid "Sound Volume"
msgstr ""
#: src/client/game.cpp
-msgid "Off"
+msgid "Sound muted"
msgstr ""
#: src/client/game.cpp
-msgid "- Damage: "
+msgid "Sound unmuted"
msgstr ""
#: src/client/game.cpp
-msgid "- Creative Mode: "
-msgstr ""
+#, c-format
+msgid "Viewing range changed to %d"
+msgstr "Ikusmen barrutia aldatu da: %d"
#: src/client/game.cpp
-msgid "- PvP: "
-msgstr ""
+#, c-format
+msgid "Viewing range is at maximum: %d"
+msgstr "Ikusmen barrutia maximoan dago: %d"
#: src/client/game.cpp
-msgid "- Public: "
+#, c-format
+msgid "Viewing range is at minimum: %d"
+msgstr "Ikusmen barrutia minimoan dago: %d"
+
+#: src/client/game.cpp
+#, c-format
+msgid "Volume changed to %d%%"
msgstr ""
#: src/client/game.cpp
-msgid "- Server Name: "
+msgid "Wireframe shown"
msgstr ""
#: src/client/game.cpp
-msgid ""
-"\n"
-"Check debug.txt for details."
+msgid "Zoom currently disabled by game or mod"
msgstr ""
-#: src/client/gameui.cpp
-msgid "Chat shown"
+#: src/client/game.cpp src/gui/modalMenu.cpp
+msgid "ok"
msgstr ""
#: src/client/gameui.cpp
@@ -1213,7 +1230,7 @@ msgid "Chat hidden"
msgstr ""
#: src/client/gameui.cpp
-msgid "HUD shown"
+msgid "Chat shown"
msgstr ""
#: src/client/gameui.cpp
@@ -1221,137 +1238,142 @@ msgid "HUD hidden"
msgstr ""
#: src/client/gameui.cpp
-#, c-format
-msgid "Profiler shown (page %d of %d)"
-msgstr "Profilaria ikusgai (%d/%d orria)"
+msgid "HUD shown"
+msgstr ""
#: src/client/gameui.cpp
msgid "Profiler hidden"
msgstr "Profilaria ezkutatuta"
-#: src/client/keycode.cpp
-msgid "Left Button"
-msgstr "Ezkerreko botoia"
+#: src/client/gameui.cpp
+#, c-format
+msgid "Profiler shown (page %d of %d)"
+msgstr "Profilaria ikusgai (%d/%d orria)"
#: src/client/keycode.cpp
-msgid "Right Button"
-msgstr "Eskuineko botoia"
+msgid "Apps"
+msgstr "Aplikazioak"
#: src/client/keycode.cpp
-msgid "Middle Button"
-msgstr "Erdiko botoia"
+msgid "Backspace"
+msgstr ""
#: src/client/keycode.cpp
-msgid "X Button 1"
-msgstr "1. X botoia"
+msgid "Caps Lock"
+msgstr ""
#: src/client/keycode.cpp
-msgid "X Button 2"
-msgstr "2. X botoia"
+msgid "Clear"
+msgstr ""
#: src/client/keycode.cpp
-msgid "Backspace"
-msgstr ""
+msgid "Control"
+msgstr "Ctrl"
#: src/client/keycode.cpp
-msgid "Tab"
-msgstr "Tabuladorea"
+msgid "Down"
+msgstr "Behera"
#: src/client/keycode.cpp
-msgid "Clear"
+msgid "End"
msgstr ""
#: src/client/keycode.cpp
-msgid "Return"
+msgid "Erase EOF"
msgstr ""
#: src/client/keycode.cpp
-msgid "Shift"
-msgstr "Maius."
+msgid "Execute"
+msgstr "Exekutatu"
#: src/client/keycode.cpp
-msgid "Control"
-msgstr "Ctrl"
+msgid "Help"
+msgstr "Laguntza"
#: src/client/keycode.cpp
-msgid "Menu"
+msgid "Home"
msgstr ""
#: src/client/keycode.cpp
-msgid "Pause"
+msgid "IME Accept"
msgstr ""
#: src/client/keycode.cpp
-msgid "Caps Lock"
+msgid "IME Convert"
msgstr ""
#: src/client/keycode.cpp
-msgid "Space"
+msgid "IME Escape"
msgstr ""
#: src/client/keycode.cpp
-msgid "Page up"
-msgstr "Orrialdea gora"
-
-#: src/client/keycode.cpp
-msgid "Page down"
-msgstr "Orrialdea behera"
+msgid "IME Mode Change"
+msgstr ""
#: src/client/keycode.cpp
-msgid "End"
+msgid "IME Nonconvert"
msgstr ""
#: src/client/keycode.cpp
-msgid "Home"
-msgstr ""
+msgid "Insert"
+msgstr "Txertatu"
#: src/client/keycode.cpp src/gui/guiKeyChangeMenu.cpp
msgid "Left"
msgstr "Ezkerra"
#: src/client/keycode.cpp
-msgid "Up"
-msgstr "Gora"
+msgid "Left Button"
+msgstr "Ezkerreko botoia"
-#: src/client/keycode.cpp src/gui/guiKeyChangeMenu.cpp
-msgid "Right"
-msgstr "Eskuina"
+#: src/client/keycode.cpp
+msgid "Left Control"
+msgstr "Ezkerreko ctrl"
#: src/client/keycode.cpp
-msgid "Down"
-msgstr "Behera"
+msgid "Left Menu"
+msgstr "Ezkerreko menua"
#: src/client/keycode.cpp
-msgid "Select"
-msgstr "Hautatu"
+msgid "Left Shift"
+msgstr "Ezkerreko maius."
#: src/client/keycode.cpp
-msgid "Print"
-msgstr "Inprimatu"
+msgid "Left Windows"
+msgstr "Ezkerreko leihoa"
+#. ~ Key name, common on Windows keyboards
#: src/client/keycode.cpp
-msgid "Execute"
-msgstr "Exekutatu"
+msgid "Menu"
+msgstr ""
#: src/client/keycode.cpp
-msgid "Snapshot"
-msgstr "Pantaila-argazkia"
+msgid "Middle Button"
+msgstr "Erdiko botoia"
#: src/client/keycode.cpp
-msgid "Insert"
-msgstr "Txertatu"
+msgid "Num Lock"
+msgstr ""
#: src/client/keycode.cpp
-msgid "Help"
-msgstr "Laguntza"
+msgid "Numpad *"
+msgstr ""
#: src/client/keycode.cpp
-msgid "Left Windows"
-msgstr "Ezkerreko leihoa"
+msgid "Numpad +"
+msgstr ""
#: src/client/keycode.cpp
-msgid "Right Windows"
-msgstr "Eskuineko leihoa"
+msgid "Numpad -"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Numpad ."
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Numpad /"
+msgstr ""
#: src/client/keycode.cpp
msgid "Numpad 0"
@@ -1394,100 +1416,110 @@ msgid "Numpad 9"
msgstr ""
#: src/client/keycode.cpp
-msgid "Numpad *"
+msgid "OEM Clear"
msgstr ""
#: src/client/keycode.cpp
-msgid "Numpad +"
-msgstr ""
+msgid "Page down"
+msgstr "Orrialdea behera"
#: src/client/keycode.cpp
-msgid "Numpad ."
-msgstr ""
+msgid "Page up"
+msgstr "Orrialdea gora"
#: src/client/keycode.cpp
-msgid "Numpad -"
+msgid "Pause"
msgstr ""
#: src/client/keycode.cpp
-msgid "Numpad /"
+msgid "Play"
msgstr ""
+#. ~ "Print screen" key
#: src/client/keycode.cpp
-msgid "Num Lock"
-msgstr ""
+msgid "Print"
+msgstr "Inprimatu"
#: src/client/keycode.cpp
-msgid "Scroll Lock"
+msgid "Return"
msgstr ""
-#: src/client/keycode.cpp
-msgid "Left Shift"
-msgstr "Ezkerreko maius."
-
-#: src/client/keycode.cpp
-msgid "Right Shift"
-msgstr "Eskuineko maius."
+#: src/client/keycode.cpp src/gui/guiKeyChangeMenu.cpp
+msgid "Right"
+msgstr "Eskuina"
#: src/client/keycode.cpp
-msgid "Left Control"
-msgstr "Ezkerreko ctrl"
+msgid "Right Button"
+msgstr "Eskuineko botoia"
#: src/client/keycode.cpp
msgid "Right Control"
msgstr "Eskuineko ctrl"
#: src/client/keycode.cpp
-msgid "Left Menu"
-msgstr "Ezkerreko menua"
-
-#: src/client/keycode.cpp
msgid "Right Menu"
msgstr "Eskuineko menua"
#: src/client/keycode.cpp
-msgid "IME Escape"
-msgstr ""
-
-#: src/client/keycode.cpp
-msgid "IME Convert"
-msgstr ""
+msgid "Right Shift"
+msgstr "Eskuineko maius."
#: src/client/keycode.cpp
-msgid "IME Nonconvert"
-msgstr ""
+msgid "Right Windows"
+msgstr "Eskuineko leihoa"
#: src/client/keycode.cpp
-msgid "IME Accept"
+msgid "Scroll Lock"
msgstr ""
+#. ~ Key name
#: src/client/keycode.cpp
-msgid "IME Mode Change"
-msgstr ""
+msgid "Select"
+msgstr "Hautatu"
#: src/client/keycode.cpp
-msgid "Apps"
-msgstr "Aplikazioak"
+msgid "Shift"
+msgstr "Maius."
#: src/client/keycode.cpp
msgid "Sleep"
msgstr "Lokartu"
#: src/client/keycode.cpp
-msgid "Erase EOF"
-msgstr ""
+msgid "Snapshot"
+msgstr "Pantaila-argazkia"
#: src/client/keycode.cpp
-msgid "Play"
+msgid "Space"
msgstr ""
+#: src/client/keycode.cpp
+msgid "Tab"
+msgstr "Tabuladorea"
+
+#: src/client/keycode.cpp
+msgid "Up"
+msgstr "Gora"
+
+#: src/client/keycode.cpp
+msgid "X Button 1"
+msgstr "1. X botoia"
+
+#: src/client/keycode.cpp
+msgid "X Button 2"
+msgstr "2. X botoia"
+
#: src/client/keycode.cpp src/gui/guiKeyChangeMenu.cpp
msgid "Zoom"
msgstr ""
-#: src/client/keycode.cpp
-msgid "OEM Clear"
-msgstr ""
+#: src/gui/guiConfirmRegistration.cpp src/gui/guiPasswordChange.cpp
+msgid "Passwords do not match!"
+msgstr "Pasahitzak ez datoz bat!"
+
+#: src/gui/guiConfirmRegistration.cpp
+msgid "Register and Join"
+msgstr "Eman izena eta hasi saioa"
#: src/gui/guiConfirmRegistration.cpp
#, c-format
@@ -1499,168 +1531,156 @@ msgid ""
"creation, or click 'Cancel' to abort."
msgstr ""
-#: src/gui/guiConfirmRegistration.cpp
-msgid "Register and Join"
-msgstr "Eman izena eta hasi saioa"
-
-#: src/gui/guiConfirmRegistration.cpp src/gui/guiPasswordChange.cpp
-msgid "Passwords do not match!"
-msgstr "Pasahitzak ez datoz bat!"
-
#: src/gui/guiFormSpecMenu.cpp
msgid "Proceed"
msgstr "Jarraitu"
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Keybindings. (If this menu screws up, remove stuff from minetest.conf)"
-msgstr ""
-
-#: src/gui/guiKeyChangeMenu.cpp
msgid "\"Special\" = climb down"
msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Double tap \"jump\" to toggle fly"
-msgstr ""
+msgid "Autoforward"
+msgstr "Aurrera automatikoki"
#: src/gui/guiKeyChangeMenu.cpp src/settings_translation_file.cpp
msgid "Automatic jumping"
msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Key already in use"
-msgstr ""
+msgid "Backward"
+msgstr "Atzera"
#: src/gui/guiKeyChangeMenu.cpp
-msgid "press key"
-msgstr "sakatu tekla"
+msgid "Change camera"
+msgstr "Aldatu kamera"
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Forward"
-msgstr "Aurrera"
+msgid "Chat"
+msgstr "Txata"
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Backward"
-msgstr "Atzera"
+msgid "Command"
+msgstr "Agindua"
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Special"
-msgstr "Berezia"
+msgid "Console"
+msgstr "Kontsola"
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Jump"
-msgstr "Jauzi"
+msgid "Dec. range"
+msgstr "Txikitu barrutia"
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Sneak"
-msgstr "isilean mugitu"
+msgid "Dec. volume"
+msgstr "Jaitsi bolumena"
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Drop"
-msgstr "Laga"
+msgid "Double tap \"jump\" to toggle fly"
+msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Inventory"
-msgstr "Inbentarioa"
+msgid "Drop"
+msgstr "Laga"
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Prev. item"
-msgstr "Aurreko elementua"
+msgid "Forward"
+msgstr "Aurrera"
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Next item"
-msgstr "Hurrengoa elementua"
+msgid "Inc. range"
+msgstr "Handitu barrutia"
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Change camera"
-msgstr "Aldatu kamera"
+msgid "Inc. volume"
+msgstr "Igo bolumena"
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Toggle minimap"
-msgstr "Txandakatu minimapa"
+msgid "Inventory"
+msgstr "Inbentarioa"
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Toggle fly"
-msgstr "Txandakatu hegaz egitea"
+msgid "Jump"
+msgstr "Jauzi"
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Toggle pitchmove"
+msgid "Key already in use"
msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Toggle fast"
-msgstr "Txandakatu azkar"
+msgid "Keybindings. (If this menu screws up, remove stuff from minetest.conf)"
+msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Toggle noclip"
-msgstr ""
+msgid "Local command"
+msgstr "Agindu lokala"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Mute"
msgstr "Isilarazi"
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Dec. volume"
-msgstr "Jaitsi bolumena"
-
-#: src/gui/guiKeyChangeMenu.cpp
-msgid "Inc. volume"
-msgstr "Igo bolumena"
+msgid "Next item"
+msgstr "Hurrengoa elementua"
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Autoforward"
-msgstr "Aurrera automatikoki"
+msgid "Prev. item"
+msgstr "Aurreko elementua"
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Chat"
-msgstr "Txata"
+msgid "Range select"
+msgstr "Barruti hautaketa"
#: src/gui/guiKeyChangeMenu.cpp src/settings_translation_file.cpp
msgid "Screenshot"
msgstr "Pantaila-argazkia"
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Range select"
-msgstr "Barruti hautaketa"
+msgid "Sneak"
+msgstr "isilean mugitu"
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Dec. range"
-msgstr "Txikitu barrutia"
+msgid "Special"
+msgstr "Berezia"
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Inc. range"
-msgstr "Handitu barrutia"
+msgid "Toggle HUD"
+msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Console"
-msgstr "Kontsola"
+msgid "Toggle chat log"
+msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Command"
-msgstr "Agindua"
+msgid "Toggle fast"
+msgstr "Txandakatu azkar"
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Local command"
-msgstr "Agindu lokala"
+msgid "Toggle fly"
+msgstr "Txandakatu hegaz egitea"
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Toggle HUD"
+msgid "Toggle fog"
msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Toggle chat log"
-msgstr ""
+msgid "Toggle minimap"
+msgstr "Txandakatu minimapa"
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Toggle fog"
+msgid "Toggle noclip"
msgstr ""
-#: src/gui/guiPasswordChange.cpp
-msgid "Old Password"
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Toggle pitchmove"
msgstr ""
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "press key"
+msgstr "sakatu tekla"
+
#: src/gui/guiPasswordChange.cpp
-msgid "New Password"
+msgid "Change"
msgstr ""
#: src/gui/guiPasswordChange.cpp
@@ -1668,11 +1688,11 @@ msgid "Confirm Password"
msgstr ""
#: src/gui/guiPasswordChange.cpp
-msgid "Change"
+msgid "New Password"
msgstr ""
-#: src/gui/guiVolumeChange.cpp
-msgid "Sound Volume: "
+#: src/gui/guiPasswordChange.cpp
+msgid "Old Password"
msgstr ""
#: src/gui/guiVolumeChange.cpp
@@ -1683,263 +1703,308 @@ msgstr ""
msgid "Muted"
msgstr ""
+#: src/gui/guiVolumeChange.cpp
+msgid "Sound Volume: "
+msgstr ""
+
+#. ~ Imperative, as in "Enter/type in text".
+#. Don't forget the space.
#: src/gui/modalMenu.cpp
msgid "Enter "
msgstr ""
-#: src/network/clientpackethandler.cpp
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string which needs to contain the translation's
+#. language code (e.g. "de" for German).
+#: src/network/clientpackethandler.cpp src/script/lua_api/l_client.cpp
msgid "LANG_CODE"
msgstr "eu"
#: src/settings_translation_file.cpp
-msgid "Controls"
+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 "Build inside player"
+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 ""
-"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."
+"(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 "Flying"
+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 ""
-"Player is able to fly without being affected by gravity.\n"
-"This requires the \"fly\" privilege on the server."
+"0 = parallax occlusion with slope information (faster).\n"
+"1 = relief mapping (slower, more accurate)."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Pitch move mode"
+msgid "2D noise that controls the shape/size of ridged mountains."
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"If enabled, makes move directions relative to the player's pitch when flying "
-"or swimming."
+msgid "2D noise that controls the shape/size of rolling hills."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Fast movement"
+msgid "2D noise that controls the shape/size of step mountains."
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Fast movement (via the \"special\" key).\n"
-"This requires the \"fast\" privilege on the server."
+msgid "2D noise that controls the size/occurrence of ridged mountain ranges."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Noclip"
+msgid "2D noise that controls the size/occurrence of rolling hills."
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."
+msgid "2D noise that controls the size/occurrence of step mountain ranges."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Cinematic mode"
+msgid "2D noise that locates the river valleys and channels."
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Smooths camera when looking around. Also called look or mouse smoothing.\n"
-"Useful for recording videos."
+msgid "3D clouds"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Camera smoothing"
+msgid "3D mode"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Smooths rotation of camera. 0 to disable."
+msgid "3D noise defining giant caverns."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Camera smoothing in cinematic mode"
+msgid ""
+"3D noise defining mountain structure and height.\n"
+"Also defines structure of floatland mountain terrain."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Smooths rotation of camera in cinematic mode. 0 to disable."
+msgid "3D noise defining structure of river canyon walls."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Invert mouse"
+msgid "3D noise defining terrain."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Invert vertical mouse movement."
+msgid "3D noise for mountain overhangs, cliffs, etc. Usually small variations."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Mouse sensitivity"
+msgid "3D noise that determines number of dungeons per mapchunk."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Mouse sensitivity multiplier."
+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 "Special key for climbing/descending"
+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 ""
-"If enabled, \"special\" key instead of \"sneak\" key is used for climbing "
-"down and\n"
-"descending."
+msgid "A message to be displayed to all clients when the server crashes."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Double tap jump for fly"
+msgid "A message to be displayed to all clients when the server shuts down."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Double-tapping the jump key toggles fly mode."
+msgid "ABM interval"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Always fly and fast"
+msgid "Absolute limit of emerge queues"
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."
+msgid "Acceleration in air"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Rightclick repetition interval"
+msgid "Acceleration of gravity, in nodes per second per second."
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"The time in seconds it takes between repeated right clicks when holding the "
-"right\n"
-"mouse button."
+msgid "Active Block Modifiers"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Automatically jump up single-node obstacles."
+msgid "Active block management interval"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Safe digging and placing"
-msgstr ""
+msgid "Active block range"
+msgstr "Bloke aktiboaren barrutia"
+
+#: src/settings_translation_file.cpp
+msgid "Active object send range"
+msgstr "Objektu aktiboak bidaltzeko barrutia"
#: 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."
+"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 "Random input"
+msgid "Adds particles when digging a node."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Enable random user input (only used for testing)."
+msgid ""
+"Adjust dpi configuration to your screen (non X11/Android only) e.g. for 4k "
+"screens."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Continuous forward"
+msgid "Advanced"
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."
+"Alters the light curve by applying 'gamma correction' to it.\n"
+"Higher values make middle and lower light levels brighter.\n"
+"Value '1.0' leaves the light curve unaltered.\n"
+"This only has significant effect on daylight and artificial\n"
+"light, it has very little effect on natural night light."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Touch screen threshold"
+msgid "Altitude chill"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "The length in pixels it takes for touch screen interaction to start."
+msgid "Always fly and fast"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Fixed virtual joystick"
+msgid "Ambient occlusion gamma"
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."
+msgid "Amount of messages a player may send per 10 seconds."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Virtual joystick triggers aux button"
+msgid "Amplifies the valleys."
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."
+msgid "Anisotropic filtering"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Enable joysticks"
+msgid "Announce server"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Joystick ID"
+msgid "Announce to this serverlist."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "The identifier of the joystick to use"
+msgid "Append item name"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Joystick type"
-msgstr "Joystick mota"
+msgid "Append item name to tooltip."
+msgstr ""
#: src/settings_translation_file.cpp
-msgid "The type of joystick"
-msgstr "Joystick mota"
+msgid "Apple trees noise"
+msgstr ""
#: src/settings_translation_file.cpp
-msgid "Joystick button repetition interval"
+msgid "Arm inertia"
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"The time in seconds it takes between repeated events\n"
-"when holding down a joystick button combination."
+"Arm inertia, gives a more realistic movement of\n"
+"the arm when the camera moves."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Joystick frustum sensitivity"
+msgid "Ask to reconnect after crash"
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"The sensitivity of the joystick axes for moving the\n"
-"ingame view frustum around."
+"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 "Forward key"
-msgstr "Aurrera tekla"
+msgid "Automatic forward key"
+msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for moving the player forward.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+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
@@ -1947,962 +2012,819 @@ msgid "Backward key"
msgstr "Atzera tekla"
#: 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"
+msgid "Base ground level"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Left key"
-msgstr "Ezkerrera tekla"
+msgid "Base terrain height."
+msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for moving the player left.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Basic"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Right key"
-msgstr "Eskuinera tekla"
+msgid "Basic privileges"
+msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for moving the player right.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Beach noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Jump key"
-msgstr "Jauzi tekla"
+msgid "Beach noise threshold"
+msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for jumping.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Bilinear filtering"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Sneak key"
-msgstr "Isilean mugitu tekla"
+msgid "Bind address"
+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"
+msgid "Biome API temperature and humidity noise parameters"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Inventory key"
-msgstr "Inbentarioa tekla"
+msgid "Biome noise"
+msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for opening the inventory.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Bits per pixel (aka color depth) in fullscreen mode."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Special key"
-msgstr "Berezia tekla"
+msgid "Block send optimize distance"
+msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for moving fast in fast mode.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Bold and italic font path"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Chat key"
-msgstr "Txat tekla"
+msgid "Bold and italic monospace font path"
+msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for opening the chat window.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Bold font path"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Command key"
-msgstr "Agindua tekla"
+msgid "Bold monospace font path"
+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"
+msgid "Build inside player"
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"
+msgid "Builtin"
msgstr ""
-"Komando lokalak idazteko txat leihoa irekitzeko tekla.\n"
-"Ikusi http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
-msgid "Range select key"
-msgstr "Ikusmen barrutia hautatzeko tekla"
+msgid "Bumpmapping"
+msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Key for toggling unlimited view range.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+"Camera 'near clipping plane' distance in nodes, between 0 and 0.25\n"
+"Only works on GLES platforms. 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 ""
-"Ikusmen barruti mugagabea txandakatzeko tekla.\n"
-"Ikusi http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
-msgid "Fly key"
-msgstr "Hegaz egin tekla"
+msgid "Camera smoothing"
+msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for toggling flying.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Camera smoothing in cinematic mode"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Pitch move key"
+msgid "Camera update toggle key"
+msgstr "Kameraren eguneraketa txandakatzeko tekla"
+
+#: src/settings_translation_file.cpp
+msgid "Cave noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for toggling pitch move mode.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Cave noise #1"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Fast key"
-msgstr "Azkar tekla"
+msgid "Cave noise #2"
+msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for toggling fast mode.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Cave width"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Noclip key"
+msgid "Cave1 noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for toggling noclip mode.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Cave2 noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hotbar next key"
+msgid "Cavern limit"
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"
+msgid "Cavern noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hotbar previous key"
+msgid "Cavern taper"
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"
+msgid "Cavern threshold"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Mute key"
+msgid "Cavern upper limit"
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Key for muting the game.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+"Center of light curve boost range.\n"
+"Where 0.0 is minimum light level, 1.0 is maximum light level."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Inc. volume key"
+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 ""
-"Key for increasing the volume.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Chat key"
+msgstr "Txat tekla"
+
+#: src/settings_translation_file.cpp
+msgid "Chat message count limit"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Dec. volume key"
+msgid "Chat message format"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for decreasing the volume.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Chat message kick threshold"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Automatic forward key"
+msgid "Chat message max length"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for toggling autoforward.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Chat toggle key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Cinematic mode key"
+msgid "Chatcommands"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for toggling cinematic mode.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Chunk size"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Minimap key"
+msgid "Cinematic mode"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for toggling display of minimap.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Cinematic mode key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for taking screenshots.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Clean transparent textures"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Drop item key"
+msgid "Client"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for dropping the currently selected item.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Client and Server"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "View zoom key"
+msgid "Client modding"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key to use view zoom when possible.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Client side modding restrictions"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hotbar slot 1 key"
+msgid "Client side node lookup range restriction"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for selecting the first hotbar slot.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Climbing speed"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hotbar slot 2 key"
+msgid "Cloud radius"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for selecting the second hotbar slot.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Clouds"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hotbar slot 3 key"
+msgid "Clouds are a client side effect."
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for selecting the third hotbar slot.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Clouds in menu"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hotbar slot 4 key"
+msgid "Colored fog"
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Key for selecting the fourth hotbar slot.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+"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 "Hotbar slot 5 key"
+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 ""
-"Key for selecting the fifth hotbar slot.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+"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 "Hotbar slot 6 key"
-msgstr ""
+msgid "Command key"
+msgstr "Agindua tekla"
#: src/settings_translation_file.cpp
-msgid ""
-"Key for selecting the sixth hotbar slot.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Connect glass"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hotbar slot 7 key"
+msgid "Connect to external media server"
+msgstr "Konektatu kanpo multimedia zerbitzari batera"
+
+#: src/settings_translation_file.cpp
+msgid "Connects glass if supported by node."
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for selecting the seventh hotbar slot.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Console alpha"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hotbar slot 8 key"
+msgid "Console color"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for selecting the eighth hotbar slot.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Console height"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hotbar slot 9 key"
+msgid "ContentDB Flag Blacklist"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for selecting the ninth hotbar slot.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "ContentDB URL"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hotbar slot 10 key"
+msgid "Continuous forward"
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Key for selecting the tenth hotbar slot.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+"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 "Hotbar slot 11 key"
+msgid "Controls"
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Key for selecting the 11th hotbar slot.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+"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 "Hotbar slot 12 key"
+msgid "Controls sinking speed in liquid."
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for selecting the 12th hotbar slot.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Controls steepness/depth of lake depressions."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hotbar slot 13 key"
+msgid "Controls steepness/height of hills."
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Key for selecting the 13th hotbar slot.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+"Controls width of tunnels, a smaller value creates wider tunnels.\n"
+"Value >= 10.0 completely disables generation of tunnels and avoids the\n"
+"intensive noise calculations."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hotbar slot 14 key"
+msgid "Crash message"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for selecting the 14th hotbar slot.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Creative"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hotbar slot 15 key"
+msgid "Crosshair alpha"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for selecting the 15th hotbar slot.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Crosshair alpha (opaqueness, between 0 and 255)."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hotbar slot 16 key"
+msgid "Crosshair color"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for selecting the 16th hotbar slot.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Crosshair color (R,G,B)."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hotbar slot 17 key"
+msgid "DPI"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for selecting the 17th hotbar slot.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Damage"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hotbar slot 18 key"
+msgid "Debug info toggle key"
+msgstr "Arazte informazioa txandakatzeko tekla"
+
+#: src/settings_translation_file.cpp
+msgid "Debug log file size threshold"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for selecting the 18th hotbar slot.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Debug log level"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hotbar slot 19 key"
+msgid "Dec. volume key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for selecting the 19th hotbar slot.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Decrease this to increase liquid resistance to movement."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hotbar slot 20 key"
+msgid "Dedicated server step"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for selecting the 20th hotbar slot.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Default acceleration"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hotbar slot 21 key"
+msgid "Default game"
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Key for selecting the 21st hotbar slot.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+"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 "Hotbar slot 22 key"
+msgid "Default password"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for selecting the 22nd hotbar slot.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Default privileges"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hotbar slot 23 key"
+msgid "Default report format"
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Key for selecting the 23rd hotbar slot.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+"Default timeout for cURL, stated in milliseconds.\n"
+"Only has an effect if compiled with cURL."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hotbar slot 24 key"
+msgid "Defines areas where trees have apples."
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for selecting the 24th hotbar slot.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Defines areas with sandy beaches."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hotbar slot 25 key"
+msgid "Defines distribution of higher terrain and steepness of cliffs."
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for selecting the 25th hotbar slot.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Defines distribution of higher terrain."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hotbar slot 26 key"
+msgid "Defines full size of caverns, smaller values create larger caverns."
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for selecting the 26th hotbar slot.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Defines large-scale river channel structure."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hotbar slot 27 key"
+msgid "Defines location and terrain of optional hills and lakes."
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Key for selecting the 27th hotbar slot.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+"Defines sampling step of texture.\n"
+"A higher value results in smoother normal maps."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hotbar slot 28 key"
+msgid "Defines the base ground level."
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for selecting the 28th hotbar slot.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Defines the depth of the river channel."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hotbar slot 29 key"
+msgid "Defines the maximal player transfer distance in blocks (0 = unlimited)."
msgstr ""
+"Jokalari transferentziaren distantzia maximoa blokeetan definitzen du (0 = "
+"mugagabea)."
#: src/settings_translation_file.cpp
-msgid ""
-"Key for selecting the 29th hotbar slot.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Defines the width of the river channel."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hotbar slot 30 key"
+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 ""
-"Key for selecting the 30th hotbar slot.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+"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 "Hotbar slot 31 key"
+msgid "Delay in sending blocks after building"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for selecting the 31st hotbar slot.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Delay showing tooltips, stated in milliseconds."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hotbar slot 32 key"
+msgid "Deprecated Lua API handling"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for selecting the 32nd hotbar slot.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Depth below which you'll find giant caverns."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "HUD toggle key"
+msgid "Depth below which you'll find large caves."
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"
+"Description of server, to be displayed when players join and in the "
+"serverlist."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Chat toggle key"
+msgid "Desert noise threshold"
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Key for toggling the display of chat.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+"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 "Large chat console key"
+msgid "Desynchronize block animation"
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"
+msgid "Digging particles"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Fog toggle key"
+msgid "Disable anticheat"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for toggling the display of fog.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Disallow empty passwords"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Camera update toggle key"
-msgstr "Kameraren eguneraketa txandakatzeko tekla"
+msgid "Domain name of server, to be displayed in the serverlist."
+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"
+msgid "Double tap jump for fly"
msgstr ""
-"Kameraren eguneraketa txandakatzeko tekla. Garapenerako soilik erabilia\n"
-"Ikusi http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
-msgid "Debug info toggle key"
-msgstr "Arazte informazioa txandakatzeko tekla"
+msgid "Double-tapping the jump key toggles fly mode."
+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"
+msgid "Drop item key"
msgstr ""
-"Arazte informazioa txandakatzeko tekla\n"
-"Ikusi http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
-msgid "Profiler toggle key"
-msgstr "Profilaria txandakatzeko tekla"
+msgid "Dump the mapgen debug information."
+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"
+msgid "Dungeon maximum Y"
msgstr ""
-"Profilaria txandakatzeko tekla. Garapenerako soilik erabilia.\n"
-"Ikusi http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
-msgid "Toggle camera mode key"
+msgid "Dungeon minimum Y"
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"
+msgid "Dungeon noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "View range increase key"
-msgstr "Ikusmen barrutia handitzeko tekla"
+msgid ""
+"Enable IPv6 support (for both client and server).\n"
+"Required for IPv6 connections to work at all."
+msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Key for increasing the viewing range.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+"Enable Lua modding support on client.\n"
+"This support is experimental and API can change."
msgstr ""
-"Ikusmen barrutia handitzeko tekla.\n"
-"Ikusi http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
-msgid "View range decrease key"
-msgstr "Ikusmen barrutia txikitzeko tekla"
+msgid "Enable console window"
+msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Key for decreasing the viewing range.\n"
-"See http://irrlicht.sourceforge.net/docu/namespaceirr."
-"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgid "Enable creative mode for new created maps."
msgstr ""
-"Ikusmen barrutia txikitzeko tekla.\n"
-"Ikusi http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
-msgid "Graphics"
+msgid "Enable joysticks"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "In-Game"
+msgid "Enable mod channels support."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Basic"
+msgid "Enable mod security"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "VBO"
+msgid "Enable players getting damage and dying."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Enable VBO"
+msgid "Enable random user input (only used for testing)."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Fog"
+msgid "Enable register confirmation"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Whether to fog out the end of the visible area."
+msgid ""
+"Enable register confirmation when connecting to server.\n"
+"If disabled, new account will be registered automatically."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Leaves style"
+msgid ""
+"Enable smooth lighting with simple ambient occlusion.\n"
+"Disable for speed or for different looks."
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"
+"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 "Connect glass"
+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 ""
+"Gaitu urruneko multimedia zerbitzariaren erabilera (zerbitzariak ematen "
+"badu),\n"
+"Urruneko zerbitzariek deskarga azkarragoa eskaini dezakete multimedia "
+"deskargatzeko (adib. testurak)."
#: src/settings_translation_file.cpp
-msgid "Connects glass if supported by node."
+msgid ""
+"Enable vertex buffer objects.\n"
+"This should greatly improve graphics performance."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Smooth lighting"
+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 smooth lighting with simple ambient occlusion.\n"
-"Disable for speed or for different looks."
+"Enable/disable running an IPv6 server.\n"
+"Ignored if bind_address is set.\n"
+"Needs enable_ipv6 to be enabled."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Clouds"
+msgid ""
+"Enables Hable's 'Uncharted 2' filmic tone mapping.\n"
+"Simulates the tone curve of photographic film and how this approximates the\n"
+"appearance of high dynamic range images. Mid-range contrast is slightly\n"
+"enhanced, highlights and shadows are gradually compressed."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Clouds are a client side effect."
+msgid "Enables animation of inventory items."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "3D clouds"
+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 "Use 3D cloud look instead of flat."
+msgid "Enables caching of facedir rotated meshes."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Node highlighting"
+msgid "Enables minimap."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Method used to highlight selected object."
+msgid ""
+"Enables on the fly normalmap generation (Emboss effect).\n"
+"Requires bumpmapping to be enabled."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Digging particles"
+msgid ""
+"Enables parallax occlusion mapping.\n"
+"Requires shaders to be enabled."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Adds particles when digging a node."
+msgid ""
+"Enables the sound system.\n"
+"If disabled, this completely disables all sounds everywhere and the in-game\n"
+"sound controls will be non-functional.\n"
+"Changing this setting requires a restart."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Filtering"
+msgid "Engine profiling data print interval"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Mipmapping"
+msgid "Entity methods"
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."
+"Experimental option, might cause visible spaces between blocks\n"
+"when set to higher number than 0."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Anisotropic filtering"
+msgid "FPS in pause menu"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Use anisotropic filtering when viewing at textures from an angle."
+msgid "FSAA"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Bilinear filtering"
+msgid "Factor noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Use bilinear filtering when scaling textures."
+msgid "Fall bobbing factor"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Trilinear filtering"
+msgid "Fallback font path"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Use trilinear filtering when scaling textures."
+msgid "Fallback font shadow"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Clean transparent textures"
+msgid "Fallback font shadow alpha"
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."
+msgid "Fallback font size"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Minimum texture size"
+msgid "Fast key"
+msgstr "Azkar tekla"
+
+#: src/settings_translation_file.cpp
+msgid "Fast mode acceleration"
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."
+msgid "Fast mode speed"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "FSAA"
+msgid "Fast movement"
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Experimental option, might cause visible spaces between blocks\n"
-"when set to higher number than 0."
+"Fast movement (via the \"special\" key).\n"
+"This requires the \"fast\" privilege on the server."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Undersampling"
+msgid "Field of view"
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."
+msgid "Field of view in degrees."
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."
+"File in client/serverlist/ that contains your favorite servers displayed in "
+"the\n"
+"Multiplayer Tab."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Shader path"
+msgid "Filler depth"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Path to shader directory. If no path is defined, default location will be "
-"used."
+msgid "Filler depth noise"
msgstr ""
#: src/settings_translation_file.cpp
@@ -2910,2536 +2832,2805 @@ msgid "Filmic tone mapping"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Enables filmic tone mapping"
+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 "Bumpmapping"
+msgid "Filtering"
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."
+msgid "First of 4 2D noises that together define hill/mountain range height."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Generate normalmaps"
+msgid "First of two 3D noises that together define tunnels."
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Enables on the fly normalmap generation (Emboss effect).\n"
-"Requires bumpmapping to be enabled."
+msgid "Fixed map seed"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Normalmaps strength"
+msgid "Fixed virtual joystick"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Strength of generated normalmaps."
-msgstr ""
+msgid "Fly key"
+msgstr "Hegaz egin tekla"
#: src/settings_translation_file.cpp
-msgid "Normalmaps sampling"
+msgid "Flying"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Defines sampling step of texture.\n"
-"A higher value results in smoother normal maps."
+msgid "Fog"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Parallax occlusion"
+msgid "Fog start"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Enables parallax occlusion mapping.\n"
-"Requires shaders to be enabled."
+msgid "Fog toggle key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Parallax occlusion mode"
+msgid "Font bold by default"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"0 = parallax occlusion with slope information (faster).\n"
-"1 = relief mapping (slower, more accurate)."
+msgid "Font italic by default"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Parallax occlusion strength"
+msgid "Font shadow"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Strength of parallax."
+msgid "Font shadow alpha"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Parallax occlusion iterations"
+msgid "Font size"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Number of parallax occlusion iterations."
+msgid "Font size of the default font in point (pt)."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Parallax occlusion scale"
+msgid "Font size of the fallback font in point (pt)."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Overall scale of parallax occlusion effect."
+msgid "Font size of the monospace font in point (pt)."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Parallax occlusion bias"
+msgid ""
+"Format of player chat messages. The following strings are valid "
+"placeholders:\n"
+"@name, @message, @timestamp (optional)"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Overall bias of parallax occlusion effect, usually scale/2."
+msgid "Format of screenshots."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving Nodes"
+msgid "Formspec Default Background Color"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water"
+msgid "Formspec Default Background Opacity"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Set to true enables waving water.\n"
-"Requires shaders to be enabled."
+msgid "Formspec Full-Screen Background Color"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water wave height"
+msgid "Formspec Full-Screen Background Opacity"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water wavelength"
+msgid "Formspec default background color (R,G,B)."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water wave speed"
+msgid "Formspec default background opacity (between 0 and 255)."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving leaves"
+msgid "Formspec full-screen background color (R,G,B)."
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Set to true enables waving leaves.\n"
-"Requires shaders to be enabled."
+msgid "Formspec full-screen background opacity (between 0 and 255)."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving plants"
+msgid "Forward key"
+msgstr "Aurrera tekla"
+
+#: 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 ""
-"Set to true enables waving plants.\n"
-"Requires shaders to be enabled."
+msgid "Fractal type"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Advanced"
+msgid "Fraction of the visible distance at which fog starts to be rendered"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Arm inertia"
+msgid "FreeType fonts"
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Arm inertia, gives a more realistic movement of\n"
-"the arm when the camera moves."
+"From how far blocks are generated for clients, stated in mapblocks (16 "
+"nodes)."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Maximum FPS"
+msgid ""
+"From how far blocks are sent to clients, stated in mapblocks (16 nodes)."
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."
+"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 ""
+"Zein distantziatik dakite bezeroek objektuei buruz, mapa blokeetan (16 nodo) "
+"adierazita.\n"
+"\n"
+"Hau active_block_range baino handiagoa ezarriz gero zerbitzariak jokalariak\n"
+"begiratzen duen norabidean objektu aktiboak distantzia honetara arte\n"
+"mantentzea eragingo du. (Honek gauzak bat batean desagertzea saihestu dezake)"
#: src/settings_translation_file.cpp
-msgid "FPS in pause menu"
+msgid "Full screen"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Maximum FPS when game is paused."
+msgid "Full screen BPP"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Pause on lost window focus"
+msgid "Fullscreen mode."
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."
+msgid "GUI scaling"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Viewing range"
-msgstr "Ikusmen barrutia"
+msgid "GUI scaling filter"
+msgstr ""
#: src/settings_translation_file.cpp
-msgid "View distance in nodes."
+msgid "GUI scaling filter txr2img"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Near clipping plane"
+msgid "Generate normalmaps"
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."
+msgid "Global callbacks"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Screen width"
+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 "Width component of the initial window size."
+msgid ""
+"Gradient of light curve at maximum light level.\n"
+"Controls the contrast of the highest light levels."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Screen height"
+msgid ""
+"Gradient of light curve at minimum light level.\n"
+"Controls the contrast of the lowest light levels."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Height component of the initial window size."
+msgid "Graphics"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Autosave screen size"
+msgid "Gravity"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Save window size automatically when modified."
+msgid "Ground level"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Full screen"
+msgid "Ground noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Fullscreen mode."
+msgid "HTTP mods"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Full screen BPP"
+msgid "HUD scale factor"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Bits per pixel (aka color depth) in fullscreen mode."
+msgid "HUD toggle key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "VSync"
+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 "Vertical screen synchronization."
+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 "Field of view"
+msgid "Heat blend noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Field of view in degrees."
+msgid "Heat noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gamma"
+msgid "Height component of the initial window size."
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."
+msgid "Height noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Darkness sharpness"
+msgid "Height select noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at minimum light level."
+msgid "High-precision FPU"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Lightness sharpness"
+msgid "Hill steepness"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at maximum light level."
+msgid "Hill threshold"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost"
+msgid "Hilliness1 noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Strength of light curve mid-boost."
+msgid "Hilliness2 noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost center"
+msgid "Hilliness3 noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Center of light curve mid-boost."
+msgid "Hilliness4 noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost spread"
+msgid "Homepage of server, to be displayed in the serverlist."
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Spread of light curve mid-boost.\n"
-"Standard deviation of the mid-boost gaussian."
+"Horizontal acceleration in air when jumping or falling,\n"
+"in nodes per second per second."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Texture path"
+msgid ""
+"Horizontal and vertical acceleration in fast mode,\n"
+"in nodes per second per second."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Path to texture directory. All textures are first searched from here."
+msgid ""
+"Horizontal and vertical acceleration on ground or when climbing,\n"
+"in nodes per second per second."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Video driver"
+msgid "Hotbar next key"
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."
+msgid "Hotbar previous key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Cloud radius"
+msgid "Hotbar slot 1 key"
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."
+msgid "Hotbar slot 10 key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "View bobbing factor"
+msgid "Hotbar slot 11 key"
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."
+msgid "Hotbar slot 12 key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Fall bobbing factor"
+msgid "Hotbar slot 13 key"
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."
+msgid "Hotbar slot 14 key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "3D mode"
+msgid "Hotbar slot 15 key"
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."
+msgid "Hotbar slot 16 key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Console height"
+msgid "Hotbar slot 17 key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "In-game chat console height, between 0.1 (10%) and 1.0 (100%)."
+msgid "Hotbar slot 18 key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Console color"
+msgid "Hotbar slot 19 key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "In-game chat console background color (R,G,B)."
+msgid "Hotbar slot 2 key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Console alpha"
+msgid "Hotbar slot 20 key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "In-game chat console background alpha (opaqueness, between 0 and 255)."
+msgid "Hotbar slot 21 key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Formspec Full-Screen Background Opacity"
+msgid "Hotbar slot 22 key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Formspec full-screen background opacity (between 0 and 255)."
+msgid "Hotbar slot 23 key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Formspec Full-Screen Background Color"
+msgid "Hotbar slot 24 key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Formspec full-screen background color (R,G,B)."
+msgid "Hotbar slot 25 key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Formspec Default Background Opacity"
+msgid "Hotbar slot 26 key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Formspec default background opacity (between 0 and 255)."
+msgid "Hotbar slot 27 key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Formspec Default Background Color"
+msgid "Hotbar slot 28 key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Formspec default background color (R,G,B)."
+msgid "Hotbar slot 29 key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Selection box color"
+msgid "Hotbar slot 3 key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Selection box border color (R,G,B)."
+msgid "Hotbar slot 30 key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Selection box width"
+msgid "Hotbar slot 31 key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Width of the selection box lines around nodes."
+msgid "Hotbar slot 32 key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Crosshair color"
+msgid "Hotbar slot 4 key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Crosshair color (R,G,B)."
+msgid "Hotbar slot 5 key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Crosshair alpha"
+msgid "Hotbar slot 6 key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Crosshair alpha (opaqueness, between 0 and 255)."
+msgid "Hotbar slot 7 key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Recent Chat Messages"
+msgid "Hotbar slot 8 key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Maximum number of recent chat messages to show"
+msgid "Hotbar slot 9 key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Desynchronize block animation"
+msgid "How deep to make rivers."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Whether node texture animations should be desynchronized per mapblock."
+msgid ""
+"How fast liquid waves will move. Higher = faster.\n"
+"If negative, liquid waves will move backwards.\n"
+"Requires waving liquids to be enabled."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Maximum hotbar width"
+msgid ""
+"How much the server will wait before unloading unused mapblocks.\n"
+"Higher value is smoother, but will use more RAM."
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Maximum proportion of current window to be used for hotbar.\n"
-"Useful if there's something to be displayed right or left of hotbar."
+msgid "How wide to make rivers."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "HUD scale factor"
+msgid "Humidity blend noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Modifies the size of the hudbar elements."
+msgid "Humidity noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Mesh cache"
+msgid "Humidity variation for biomes."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Enables caching of facedir rotated meshes."
+msgid "IPv6"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Mapblock mesh generation delay"
+msgid "IPv6 server"
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."
+"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 "Mapblock mesh generator's MapBlock cache size in MB"
+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 ""
-"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."
+"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 "Minimap"
+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 "Enables minimap."
+msgid ""
+"If enabled, \"special\" key instead of \"sneak\" key is used for climbing "
+"down and\n"
+"descending."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Round minimap"
+msgid ""
+"If enabled, actions are recorded for rollback.\n"
+"This option is only read when server starts."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Shape of the minimap. Enabled = round, disabled = square."
+msgid "If enabled, disable cheat prevention in multiplayer."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Minimap scan height"
+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 ""
-"True = 256\n"
-"False = 128\n"
-"Useable to make minimap smoother on slower machines."
+"If enabled, makes move directions relative to the player's pitch when flying "
+"or swimming."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Colored fog"
+msgid "If enabled, new players cannot join with an empty password."
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Make fog and sky colors depend on daytime (dawn/sunset) and view direction."
+"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 "Ambient occlusion gamma"
+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 ""
-"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."
+"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 "Inventory items animations"
+msgid "If this is set, players will always (re)spawn at the given position."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Enables animation of inventory items."
+msgid "Ignore world errors"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Fog start"
+msgid "In-Game"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Fraction of the visible distance at which fog starts to be rendered"
+msgid "In-game chat console background alpha (opaqueness, between 0 and 255)."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Opaque liquids"
+msgid "In-game chat console background color (R,G,B)."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Makes all liquids opaque"
+msgid "In-game chat console height, between 0.1 (10%) and 1.0 (100%)."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "World-aligned textures mode"
+msgid "Inc. volume key"
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."
+msgid "Initial vertical speed when jumping, in nodes per second."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Autoscaling mode"
+msgid ""
+"Instrument builtin.\n"
+"This is usually only needed by core/builtin contributors"
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!"
+msgid "Instrument chatcommands on registration."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Show entity selection boxes"
+msgid ""
+"Instrument global callback functions on registration.\n"
+"(anything you pass to a minetest.register_*() function)"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Menus"
+msgid ""
+"Instrument the action function of Active Block Modifiers on registration."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Clouds in menu"
+msgid ""
+"Instrument the action function of Loading Block Modifiers on registration."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Use a cloud animation for the main menu background."
+msgid "Instrument the methods of entities on registration."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "GUI scaling"
+msgid "Instrumentation"
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."
+msgid "Interval of saving important changes in the world, stated in seconds."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "GUI scaling filter"
+msgid "Interval of sending time of day to clients."
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)."
+msgid "Inventory items animations"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "GUI scaling filter txr2img"
-msgstr ""
+msgid "Inventory key"
+msgstr "Inbentarioa tekla"
#: 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."
+msgid "Invert mouse"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Tooltip delay"
+msgid "Invert vertical mouse movement."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Delay showing tooltips, stated in milliseconds."
+msgid "Italic font path"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Append item name"
+msgid "Italic monospace font path"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Append item name to tooltip."
+msgid "Item entity TTL"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "FreeType fonts"
+msgid "Iterations"
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Whether FreeType fonts are used, requires FreeType support to be compiled in."
+"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 "Font path"
+msgid "Joystick ID"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Path to TrueTypeFont or bitmap."
+msgid "Joystick button repetition interval"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font size"
+msgid "Joystick frustum sensitivity"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font shadow"
-msgstr ""
+msgid "Joystick type"
+msgstr "Joystick mota"
#: src/settings_translation_file.cpp
-msgid "Font shadow offset, if 0 then shadow will not be drawn."
+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 "Font shadow alpha"
+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 "Font shadow alpha (opaqueness, between 0 and 255)."
+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 "Monospace font path"
+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 "Monospace font size"
+msgid "Julia w"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Fallback font"
+msgid "Julia x"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "This font will be used for certain languages."
+msgid "Julia y"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Fallback font size"
+msgid "Julia z"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Fallback font shadow"
-msgstr ""
+msgid "Jump key"
+msgstr "Jauzi tekla"
#: src/settings_translation_file.cpp
-msgid "Fallback font shadow alpha"
+msgid "Jumping speed"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Screenshot folder"
+msgid ""
+"Key for decreasing the viewing range.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
+"Ikusmen barrutia txikitzeko tekla.\n"
+"Ikusi http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
-msgid "Path to save screenshots at."
+msgid ""
+"Key for decreasing the volume.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Screenshot format"
+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 "Format of screenshots."
+msgid ""
+"Key for increasing the viewing range.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
+"Ikusmen barrutia handitzeko tekla.\n"
+"Ikusi http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
-msgid "Screenshot quality"
+msgid ""
+"Key for increasing the volume.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
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."
+"Key for jumping.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "DPI"
+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 ""
-"Adjust dpi configuration to your screen (non X11/Android only) e.g. for 4k "
-"screens."
+"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 "Enable console window"
+msgid ""
+"Key for moving the player forward.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
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)."
+"Key for moving the player left.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Sound"
+msgid ""
+"Key for moving the player right.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Volume"
+msgid ""
+"Key for muting the game.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Mute sound"
+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 "Client"
+msgid ""
+"Key for opening the chat window to type local commands.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
+"Komando lokalak idazteko txat leihoa irekitzeko tekla.\n"
+"Ikusi http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
-msgid "Network"
+msgid ""
+"Key for opening the chat window.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Server address"
+msgid ""
+"Key for opening the inventory.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
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."
+"Key for selecting the 11th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Remote port"
+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 ""
-"Port to connect to (UDP).\n"
-"Note that the port field in the main menu overrides this setting."
+"Key for selecting the 13th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Saving map received from server"
+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 "Save the map received by the client on disk."
+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 "Connect to external media server"
-msgstr "Konektatu kanpo multimedia zerbitzari batera"
-
-#: 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."
+"Key for selecting the 16th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"Gaitu urruneko multimedia zerbitzariaren erabilera (zerbitzariak ematen "
-"badu),\n"
-"Urruneko zerbitzariek deskarga azkarragoa eskaini dezakete multimedia "
-"deskargatzeko (adib. testurak)."
#: src/settings_translation_file.cpp
-msgid "Client modding"
+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 ""
-"Enable Lua modding support on client.\n"
-"This support is experimental and API can change."
+"Key for selecting the 18th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Serverlist URL"
+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 "URL to the server list displayed in the Multiplayer Tab."
+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 "Serverlist file"
+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 ""
-"File in client/serverlist/ that contains your favorite servers displayed in "
-"the\n"
-"Multiplayer Tab."
+"Key for selecting the 22nd hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Maximum size of the out chat queue"
+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 ""
-"Maximum size of the out chat queue.\n"
-"0 to disable queueing and -1 to make the queue size unlimited."
+"Key for selecting the 24th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Enable register confirmation"
+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 ""
-"Enable register confirmation when connecting to server.\n"
-"If disabled, new account will be registered automatically."
+"Key for selecting the 26th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Mapblock unload timeout"
+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 "Timeout for client to remove unused map data from memory."
+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 "Mapblock limit"
+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 ""
-"Maximum number of mapblocks for client to be kept in memory.\n"
-"Set to -1 for unlimited amount."
+"Key for selecting the 30th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Show debug info"
+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 ""
-"Whether to show the client debug info (has the same effect as hitting F5)."
+"Key for selecting the 32nd hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Server / Singleplayer"
+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 "Server name"
+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 ""
-"Name of the server, to be displayed when players join and in the serverlist."
+"Key for selecting the first hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Server description"
+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 ""
-"Description of server, to be displayed when players join and in the "
-"serverlist."
+"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 "Domain name of server, to be displayed in the serverlist."
+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 "Server URL"
+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 "Homepage of server, to be displayed in the serverlist."
+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 "Announce server"
+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 "Automatically report to the serverlist."
+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 "Announce to this serverlist."
+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 "Strip color codes"
+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 ""
-"Remove color codes from incoming chat messages\n"
-"Use this to stop players from being able to use color in their messages"
+"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 "Server port"
+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 ""
-"Network port to listen (UDP).\n"
-"This value will be overridden when starting from the main menu."
+"Key for taking screenshots.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Bind address"
+msgid ""
+"Key for toggling autoforward.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "The network interface that the server listens on."
+msgid ""
+"Key for toggling cinematic mode.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Strict protocol checking"
+msgid ""
+"Key for toggling display of minimap.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
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."
+"Key for toggling fast mode.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Remote media"
-msgstr "Urruneko multimedia"
+msgid ""
+"Key for toggling flying.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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."
+"Key for toggling noclip mode.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "IPv6 server"
+msgid ""
+"Key for toggling pitch move mode.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Enable/disable running an IPv6 server.\n"
-"Ignored if bind_address is set."
+"Key for toggling the camera update. Only used for development\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
+"Kameraren eguneraketa txandakatzeko tekla. Garapenerako soilik erabilia\n"
+"Ikusi http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
-msgid "Maximum simultaneous block sends per client"
+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 ""
-"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)"
+"Key for toggling the display of debug info.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
+"Arazte informazioa txandakatzeko tekla\n"
+"Ikusi http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
-msgid "Delay in sending blocks after building"
+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 ""
-"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."
+"Key for toggling the display of the HUD.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"Atzerapena murrizteko, blokeen transferentziak moteldu egiten dira jokalari "
-"bat zerbait eraikitzen ari denean.\n"
-"Honek nodo bat jarri edo kendu ondoren zenbat motelduko diren zehazten du."
#: src/settings_translation_file.cpp
-msgid "Max. packets per iteration"
+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 ""
-"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."
+"Key for toggling the display of the profiler. Used for development.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
+"Profilaria txandakatzeko tekla. Garapenerako soilik erabilia.\n"
+"Ikusi http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
-msgid "Default game"
+msgid ""
+"Key for toggling unlimited view range.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
+"Ikusmen barruti mugagabea txandakatzeko tekla.\n"
+"Ikusi http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
-"Default game when creating a new world.\n"
-"This will be overridden when creating a world from the main menu."
+"Key to use view zoom when possible.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Message of the day"
+msgid "Kick players who sent more than X messages per 10 seconds."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Message of the day displayed to players connecting."
+msgid "Lake steepness"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Maximum users"
+msgid "Lake threshold"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Maximum number of players that can be connected simultaneously."
+msgid "Language"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Map directory"
+msgid "Large cave depth"
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."
+msgid "Large cave maximum number"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Item entity TTL"
+msgid "Large cave minimum number"
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."
+msgid "Large cave proportion flooded"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Damage"
+msgid "Large chat console key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Enable players getting damage and dying."
+msgid "Leaves style"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Creative"
+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 "Enable creative mode for new created maps."
-msgstr ""
+msgid "Left key"
+msgstr "Ezkerrera tekla"
#: src/settings_translation_file.cpp
-msgid "Fixed map seed"
+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 ""
-"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."
+"Length of liquid waves.\n"
+"Requires waving liquids to be enabled."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Default password"
+msgid "Length of time between Active Block Modifier (ABM) execution cycles"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "New users need to input this password."
+msgid "Length of time between NodeTimer execution cycles"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Default privileges"
+msgid "Length of time between active block management cycles"
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."
+"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 "Basic privileges"
+msgid "Light curve boost"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Privileges that players with basic_privs can grant"
+msgid "Light curve boost center"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Unlimited player transfer distance"
-msgstr "Jokalari transferentzia distantzia mugagabea"
+msgid "Light curve boost spread"
+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."
+msgid "Light curve gamma"
msgstr ""
-"Jokalariak bezeroei barruti mugarik gabe erakutsiko al zaizkien.\n"
-"Zaharkitua, erabili player_transfer_distance ezarpena honen ordez."
#: src/settings_translation_file.cpp
-msgid "Player transfer distance"
-msgstr "Jokalariaren transferentzia distantzia"
+msgid "Light curve high gradient"
+msgstr ""
#: src/settings_translation_file.cpp
-msgid "Defines the maximal player transfer distance in blocks (0 = unlimited)."
+msgid "Light curve low gradient"
msgstr ""
-"Jokalari transferentziaren distantzia maximoa blokeetan definitzen du (0 = "
-"mugagabea)."
#: src/settings_translation_file.cpp
-msgid "Player versus player"
+msgid "Limit of emerge queues on disk"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Whether to allow players to damage and kill each other."
+msgid "Limit of emerge queues to generate"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Mod channels"
+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 "Enable mod channels support."
+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 "Static spawnpoint"
+msgid "Liquid fluidity"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "If this is set, players will always (re)spawn at the given position."
+msgid "Liquid fluidity smoothing"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Disallow empty passwords"
+msgid "Liquid loop max"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "If enabled, new players cannot join with an empty password."
+msgid "Liquid queue purge time"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Disable anticheat"
+msgid "Liquid sinking"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "If enabled, disable cheat prevention in multiplayer."
+msgid "Liquid update interval in seconds."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Rollback recording"
+msgid "Liquid update tick"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Load the game profiler"
+msgstr "Kargatu jolasaren profilaria"
+
+#: src/settings_translation_file.cpp
msgid ""
-"If enabled, actions are recorded for rollback.\n"
-"This option is only read when server starts."
+"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 ""
+"Kargatu jolasaren profilaria jolasaren profil datuak jasotzeko.\n"
+"/profiler komandoa eskaintzen du jasotako profila atzitzeko.\n"
+"Mod garatzaileentzat eta zerbitzari jabeentzat erabilgarria."
#: src/settings_translation_file.cpp
-msgid "Chat message format"
+msgid "Loading Block Modifiers"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Format of player chat messages. The following strings are valid "
-"placeholders:\n"
-"@name, @message, @timestamp (optional)"
+msgid "Lower Y limit of dungeons."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Shutdown message"
+msgid "Main menu script"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "A message to be displayed to all clients when the server shuts down."
+msgid "Main menu style"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Crash message"
+msgid ""
+"Make fog and sky colors depend on daytime (dawn/sunset) and view direction."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "A message to be displayed to all clients when the server crashes."
+msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Ask to reconnect after crash"
+msgid "Makes all liquids opaque"
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."
+msgid "Map directory"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Active object send range"
-msgstr "Objektu aktiboak bidaltzeko barrutia"
+msgid "Map generation attributes specific to Mapgen Carpathian."
+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)"
+"Map generation attributes specific to Mapgen Flat.\n"
+"Occasional lakes and hills can be added to the flat world."
msgstr ""
-"Zein distantziatik dakite bezeroek objektuei buruz, mapa blokeetan (16 nodo) "
-"adierazita.\n"
-"\n"
-"Hau active_block_range baino handiagoa ezarriz gero zerbitzariak jokalariak\n"
-"begiratzen duen norabidean objektu aktiboak distantzia honetara arte\n"
-"mantentzea eragingo du. (Honek gauzak bat batean desagertzea saihestu dezake)"
#: src/settings_translation_file.cpp
-msgid "Active block range"
-msgstr "Bloke aktiboaren barrutia"
+msgid ""
+"Map generation attributes specific to Mapgen Fractal.\n"
+"'terrain' enables the generation of non-fractal terrain:\n"
+"ocean, islands and underground."
+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."
+"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 "Max block send distance"
+msgid "Map generation attributes specific to Mapgen v5."
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"From how far blocks are sent to clients, stated in mapblocks (16 nodes)."
+"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 "Maximum forceloaded blocks"
+msgid ""
+"Map generation attributes specific to Mapgen v7.\n"
+"'ridges' enables the rivers."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Maximum number of forceloaded mapblocks."
+msgid "Map generation limit"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Time send interval"
+msgid "Map save interval"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Interval of sending time of day to clients."
+msgid "Mapblock limit"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Time speed"
+msgid "Mapblock mesh generation delay"
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."
+msgid "Mapblock mesh generator's MapBlock cache size in MB"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "World start time"
+msgid "Mapblock unload timeout"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Time of day when a new world is started, in millihours (0-23999)."
+msgid "Mapgen Carpathian"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Map save interval"
+msgid "Mapgen Carpathian specific flags"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Interval of saving important changes in the world, stated in seconds."
+msgid "Mapgen Flat"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Chat message max length"
+msgid "Mapgen Flat specific flags"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Set the maximum character length of a chat message sent by clients."
+msgid "Mapgen Fractal"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Chat message count limit"
+msgid "Mapgen Fractal specific flags"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Amount of messages a player may send per 10 seconds."
+msgid "Mapgen V5"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Chat message kick threshold"
+msgid "Mapgen V5 specific flags"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Kick players who sent more than X messages per 10 seconds."
+msgid "Mapgen V6"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Physics"
+msgid "Mapgen V6 specific flags"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Default acceleration"
+msgid "Mapgen V7"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Horizontal and vertical acceleration on ground or when climbing,\n"
-"in nodes per second per second."
+msgid "Mapgen V7 specific flags"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Acceleration in air"
+msgid "Mapgen Valleys"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Horizontal acceleration in air when jumping or falling,\n"
-"in nodes per second per second."
+msgid "Mapgen Valleys specific flags"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Fast mode acceleration"
+msgid "Mapgen debug"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Horizontal and vertical acceleration in fast mode,\n"
-"in nodes per second per second."
+msgid "Mapgen flags"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Walking speed"
+msgid "Mapgen name"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Walking and flying speed, in nodes per second."
+msgid "Max block generate distance"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Sneaking speed"
+msgid "Max block send distance"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Sneaking speed, in nodes per second."
+msgid "Max liquids processed per step."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Fast mode speed"
+msgid "Max. clearobjects extra blocks"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Walking, flying and climbing speed in fast mode, in nodes per second."
+msgid "Max. packets per iteration"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Climbing speed"
+msgid "Maximum FPS"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Vertical climbing speed, in nodes per second."
+msgid "Maximum FPS when game is paused."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Jumping speed"
+msgid "Maximum forceloaded blocks"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Initial vertical speed when jumping, in nodes per second."
+msgid "Maximum hotbar width"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Liquid fluidity"
+msgid "Maximum limit of random number of large caves per mapchunk."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Decrease this to increase liquid resistence to movement."
+msgid "Maximum limit of random number of small caves per mapchunk."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Liquid fluidity smoothing"
+msgid ""
+"Maximum liquid resistance. Controls deceleration when entering liquid at\n"
+"high speed."
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Maximum liquid resistence. Controls deceleration when entering liquid at\n"
-"high speed."
+"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 "Liquid sinking"
+msgid "Maximum number of blocks that can be queued for loading."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Controls sinking speed in liquid."
+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 "Gravity"
+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 "Acceleration of gravity, in nodes per second per second."
+msgid "Maximum number of forceloaded mapblocks."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Deprecated Lua API handling"
+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 ""
-"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)."
+"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 "Max. clearobjects extra blocks"
+msgid "Maximum number of players that can be connected simultaneously."
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)."
+msgid "Maximum number of recent chat messages to show"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Unload unused server data"
+msgid "Maximum number of statically stored objects in a block."
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."
+msgid "Maximum objects per block"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Maximum objects per block"
+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 number of statically stored objects in a block."
+msgid "Maximum simultaneous block sends per client"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Synchronous SQLite"
+msgid "Maximum size of the out chat queue"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "See https://www.sqlite.org/pragma.html#pragma_synchronous"
+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 "Dedicated server step"
+msgid "Maximum time in ms a file download (e.g. a mod download) may take."
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Length of a server tick and the interval at which objects are generally "
-"updated over\n"
-"network."
+msgid "Maximum users"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Active block management interval"
+msgid "Menus"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Length of time between active block management cycles"
+msgid "Mesh cache"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "ABM interval"
+msgid "Message of the day"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Length of time between Active Block Modifier (ABM) execution cycles"
+msgid "Message of the day displayed to players connecting."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "NodeTimer interval"
+msgid "Method used to highlight selected object."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Length of time between NodeTimer execution cycles"
+msgid "Minimap"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Ignore world errors"
+msgid "Minimap key"
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."
+msgid "Minimap scan height"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Liquid loop max"
+msgid "Minimum limit of random number of large caves per mapchunk."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Max liquids processed per step."
+msgid "Minimum limit of random number of small caves per mapchunk."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Liquid queue purge time"
+msgid "Minimum texture size"
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."
+msgid "Mipmapping"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Liquid update tick"
+msgid "Mod channels"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Liquid update interval in seconds."
+msgid "Modifies the size of the hudbar elements."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Block send optimize distance"
+msgid "Monospace font path"
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)."
+msgid "Monospace font size"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Server side occlusion culling"
+msgid "Mountain height noise"
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."
+msgid "Mountain noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Client side modding restrictions"
+msgid "Mountain variation noise"
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)"
+msgid "Mountain zero level"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Client side node lookup range restriction"
+msgid "Mouse sensitivity"
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."
+msgid "Mouse sensitivity multiplier."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Security"
+msgid "Mud noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Enable mod security"
+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 "Prevent mods from doing insecure things like running shell commands."
+msgid "Mute key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Trusted mods"
+msgid "Mute sound"
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())."
+"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 "HTTP mods"
+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 ""
-"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."
+"Name of the server, to be displayed when players join and in the serverlist."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Profiling"
+msgid "Near plane"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Load the game profiler"
-msgstr "Kargatu jolasaren profilaria"
+msgid "Network"
+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."
+"Network port to listen (UDP).\n"
+"This value will be overridden when starting from the main menu."
msgstr ""
-"Kargatu jolasaren profilaria jolasaren profil datuak jasotzeko.\n"
-"/profiler komandoa eskaintzen du jasotako profila atzitzeko.\n"
-"Mod garatzaileentzat eta zerbitzari jabeentzat erabilgarria."
#: src/settings_translation_file.cpp
-msgid "Default report format"
+msgid "New users need to input this password."
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"The default format in which profiles are being saved,\n"
-"when calling `/profiler save [format]` without format."
+msgid "Noclip"
msgstr ""
-"Profilak gordetzeko lehenetsitako formatua,\n"
-"`/profiler save [format]` formaturik gabe deitzean erabilia."
#: src/settings_translation_file.cpp
-msgid "Report path"
+msgid "Noclip key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"The file path relative to your worldpath in which profiles will be saved to."
+msgid "Node highlighting"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Instrumentation"
+msgid "NodeTimer interval"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Entity methods"
+msgid "Noises"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Instrument the methods of entities on registration."
+msgid "Normalmaps sampling"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Active Block Modifiers"
+msgid "Normalmaps strength"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Instrument the action function of Active Block Modifiers on registration."
+msgid "Number of emerge threads"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Loading Block Modifiers"
+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 ""
-"Instrument the action function of Loading Block Modifiers on registration."
+"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 "Chatcommands"
+msgid "Number of parallax occlusion iterations."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Instrument chatcommands on registration."
+msgid "Online Content Repository"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Global callbacks"
+msgid "Opaque liquids"
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Instrument global callback functions on registration.\n"
-"(anything you pass to a minetest.register_*() function)"
+"Opaqueness (alpha) of the shadow behind the default font, between 0 and 255."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Builtin"
+msgid ""
+"Opaqueness (alpha) of the shadow behind the fallback font, between 0 and 255."
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Instrument builtin.\n"
-"This is usually only needed by core/builtin contributors"
+"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 "Profiler"
-msgstr "Profilaria"
+msgid "Overall bias of parallax occlusion effect, usually scale/2."
+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."
+msgid "Overall scale of parallax occlusion effect."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Client and Server"
+msgid "Parallax occlusion"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Player name"
+msgid "Parallax occlusion bias"
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."
+msgid "Parallax occlusion iterations"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Language"
+msgid "Parallax occlusion mode"
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."
+msgid "Parallax occlusion scale"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Debug log level"
+msgid "Parallax occlusion strength"
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"
+"Path of the fallback font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font will be used for certain languages or if the default font is "
+"unavailable."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Debug log file size threshold"
+msgid "Path to save screenshots at."
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."
+"Path to shader directory. If no path is defined, default location will be "
+"used."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "IPv6"
+msgid "Path to texture directory. All textures are first searched from here."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "IPv6 support."
+msgid ""
+"Path to the default font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"The fallback font will be used if the font cannot be loaded."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "cURL timeout"
+msgid ""
+"Path to the monospace font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font is used for e.g. the console and profiler screen."
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Default timeout for cURL, stated in milliseconds.\n"
-"Only has an effect if compiled with cURL."
+msgid "Pause on lost window focus"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "cURL parallel limit"
+msgid "Physics"
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."
+msgid "Pitch move key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "cURL file download timeout"
+msgid "Pitch move mode"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Maximum time in ms a file download (e.g. a mod download) may take."
+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 "High-precision FPU"
+msgid "Player name"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles."
+msgid "Player transfer distance"
+msgstr "Jokalariaren transferentzia distantzia"
+
+#: src/settings_translation_file.cpp
+msgid "Player versus player"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Main menu style"
+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 ""
-"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."
+"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 "Main menu script"
+msgid "Prevent mods from doing insecure things like running shell commands."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Replaces the default main menu with a custom one."
+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 "Engine profiling data print interval"
+msgid "Privileges that players with basic_privs can grant"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Print the engine's profiling data in regular intervals (in seconds).\n"
-"0 = disable. Useful for developers."
+msgid "Profiler"
+msgstr "Profilaria"
+
+#: src/settings_translation_file.cpp
+msgid "Profiler toggle key"
+msgstr "Profilaria txandakatzeko tekla"
+
+#: src/settings_translation_file.cpp
+msgid "Profiling"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Mapgen name"
+msgid "Proportion of large caves that contain liquid."
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)."
+"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 "Water level"
+msgid "Raises terrain to make valleys around the rivers."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Water surface level of the world."
+msgid "Random input"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Max block generate distance"
+msgid "Range select key"
+msgstr "Ikusmen barrutia hautatzeko tekla"
+
+#: src/settings_translation_file.cpp
+msgid "Recent Chat Messages"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"From how far blocks are generated for clients, stated in mapblocks (16 "
-"nodes)."
+msgid "Regular font path"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Map generation limit"
+msgid "Remote media"
+msgstr "Urruneko multimedia"
+
+#: src/settings_translation_file.cpp
+msgid "Remote port"
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."
+"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 "Mapgen flags"
+msgid "Replaces the default main menu with a custom one."
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."
+msgid "Report path"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Biome API temperature and humidity noise parameters"
+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 "Heat noise"
+msgid "Ridge mountain spread noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Temperature variation for biomes."
+msgid "Ridge noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Heat blend noise"
+msgid "Ridge underwater noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Small-scale temperature variation for blending biomes on borders."
+msgid "Ridged mountain size noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Humidity noise"
-msgstr ""
+msgid "Right key"
+msgstr "Eskuinera tekla"
#: src/settings_translation_file.cpp
-msgid "Humidity variation for biomes."
+msgid "Rightclick repetition interval"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Humidity blend noise"
+msgid "River channel depth"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Small-scale humidity variation for blending biomes on borders."
+msgid "River channel width"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Mapgen V5"
+msgid "River depth"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Mapgen V5 specific flags"
+msgid "River noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Map generation attributes specific to Mapgen v5."
+msgid "River size"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Cave width"
+msgid "River valley width"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Controls width of tunnels, a smaller value creates wider tunnels."
+msgid "Rollback recording"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Large cave depth"
+msgid "Rolling hill size noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Y of upper limit of large caves."
+msgid "Rolling hills spread noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Lava depth"
+msgid "Round minimap"
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."
+msgid "Safe digging and placing"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Cavern limit"
+msgid "Sandy beaches occur when np_beach exceeds this value."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Y-level of cavern upper limit."
+msgid "Save the map received by the client on disk."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Cavern taper"
+msgid "Save window size automatically when modified."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Y-distance over which caverns expand to full size."
+msgid "Saving map received from server"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Cavern threshold"
+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 "Defines full size of caverns, smaller values create larger caverns."
+msgid "Screen height"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Dungeon minimum Y"
+msgid "Screen width"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Lower Y limit of dungeons."
+msgid "Screenshot folder"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Dungeon maximum Y"
+msgid "Screenshot format"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Upper Y limit of dungeons."
+msgid "Screenshot quality"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Noises"
+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 "Filler depth noise"
+msgid "Seabed noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Variation of biome filler depth."
+msgid "Second of 4 2D noises that together define hill/mountain range height."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Factor noise"
+msgid "Second of two 3D noises that together define tunnels."
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Variation of terrain vertical scale.\n"
-"When noise is < -0.55 terrain is near-flat."
+msgid "Security"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Height noise"
+msgid "See https://www.sqlite.org/pragma.html#pragma_synchronous"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Y-level of average terrain surface."
+msgid "Selection box border color (R,G,B)."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Cave1 noise"
+msgid "Selection box color"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "First of two 3D noises that together define tunnels."
+msgid "Selection box width"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Cave2 noise"
+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 "Second of two 3D noises that together define tunnels."
+msgid "Server / Singleplayer"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Cavern noise"
+msgid "Server URL"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "3D noise defining giant caverns."
+msgid "Server address"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Ground noise"
+msgid "Server description"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "3D noise defining terrain."
+msgid "Server name"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Dungeon noise"
+msgid "Server port"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "3D noise that determines number of dungeons per mapchunk."
+msgid "Server side occlusion culling"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Mapgen V6"
+msgid "Serverlist URL"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Mapgen V6 specific flags"
+msgid "Serverlist file"
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."
+"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 "Desert noise threshold"
+msgid "Set the maximum character length of a chat message sent by clients."
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."
+"Set to true to enable waving leaves.\n"
+"Requires shaders to be enabled."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Beach noise threshold"
+msgid ""
+"Set to true to enable waving liquids (like water).\n"
+"Requires shaders to be enabled."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Sandy beaches occur when np_beach exceeds this value."
+msgid ""
+"Set to true to enable waving plants.\n"
+"Requires shaders to be enabled."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Terrain base noise"
+msgid "Shader path"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Y-level of lower terrain and seabed."
+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 "Terrain higher noise"
+msgid ""
+"Shadow offset (in pixels) of the default font. If 0, then shadow will not be "
+"drawn."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Y-level of higher terrain that creates cliffs."
+msgid ""
+"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not "
+"be drawn."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Steepness noise"
+msgid "Shape of the minimap. Enabled = round, disabled = square."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Varies steepness of cliffs."
+msgid "Show debug info"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Height select noise"
+msgid "Show entity selection boxes"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Defines distribution of higher terrain."
+msgid "Shutdown message"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Mud noise"
+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 "Varies depth of biome surface nodes."
+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 "Beach noise"
+msgid "Slice w"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Defines areas with sandy beaches."
+msgid "Slope and fill work together to modify the heights."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Biome noise"
+msgid "Small cave maximum number"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Cave noise"
+msgid "Small cave minimum number"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Variation of number of caves."
+msgid "Small-scale humidity variation for blending biomes on borders."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Trees noise"
+msgid "Small-scale temperature variation for blending biomes on borders."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Defines tree areas and tree density."
+msgid "Smooth lighting"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Apple trees noise"
+msgid ""
+"Smooths camera when looking around. Also called look or mouse smoothing.\n"
+"Useful for recording videos."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Defines areas where trees have apples."
+msgid "Smooths rotation of camera in cinematic mode. 0 to disable."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Mapgen V7"
+msgid "Smooths rotation of camera. 0 to disable."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Mapgen V7 specific flags"
-msgstr ""
+msgid "Sneak key"
+msgstr "Isilean mugitu tekla"
#: src/settings_translation_file.cpp
-msgid ""
-"Map generation attributes specific to Mapgen v7.\n"
-"'ridges' enables the rivers."
+msgid "Sneaking speed"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Mountain zero level"
+msgid "Sneaking speed, in nodes per second."
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Y of mountain density gradient zero level. Used to shift mountains "
-"vertically."
+msgid "Sound"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Floatland mountain density"
+msgid "Special key"
+msgstr "Berezia tekla"
+
+#: src/settings_translation_file.cpp
+msgid "Special key for climbing/descending"
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."
+"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 "Floatland mountain height"
+msgid ""
+"Spread of light curve boost range.\n"
+"Controls the width of the range to be boosted.\n"
+"Standard deviation of the light curve boost Gaussian."
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Typical maximum height, above and below midpoint, of floatland mountains."
+msgid "Static spawnpoint"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Floatland mountain exponent"
+msgid "Steepness noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Alters how mountain-type floatlands taper above and below midpoint."
+msgid "Step mountain size noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Floatland level"
+msgid "Step mountain spread noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Y-level of floatland midpoint and lake surface."
+msgid "Strength of generated normalmaps."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Shadow limit"
+msgid ""
+"Strength of light curve boost.\n"
+"The 3 'boost' parameters define a range of the light\n"
+"curve that is boosted in brightness."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Y-level to which floatland shadows extend."
+msgid "Strength of parallax."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Terrain alternative noise"
+msgid "Strict protocol checking"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Terrain persistence noise"
+msgid "Strip color codes"
msgstr ""
#: src/settings_translation_file.cpp
-msgid ""
-"Varies roughness of terrain.\n"
-"Defines the 'persistence' value for terrain_base and terrain_alt noises."
+msgid "Synchronous SQLite"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Defines distribution of higher terrain and steepness of cliffs."
+msgid "Temperature variation for biomes."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Mountain height noise"
+msgid "Terrain alternative noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Variation of maximum mountain height (in nodes)."
+msgid "Terrain base noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Ridge underwater noise"
+msgid "Terrain height"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Defines large-scale river channel structure."
+msgid "Terrain higher noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Floatland base noise"
+msgid "Terrain noise"
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Defines areas of floatland smooth terrain.\n"
-"Smooth floatlands occur when noise > 0."
+"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 "Floatland base height noise"
+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 "Variation of hill height and lake depth on floatland smooth terrain."
+msgid "Terrain persistence noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Mountain noise"
+msgid "Texture path"
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"3D noise defining mountain structure and height.\n"
-"Also defines structure of floatland mountain terrain."
+"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 "Ridge noise"
+msgid "The URL for the content repository"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "3D noise defining structure of river canyon walls."
+msgid ""
+"The default format in which profiles are being saved,\n"
+"when calling `/profiler save [format]` without format."
msgstr ""
+"Profilak gordetzeko lehenetsitako formatua,\n"
+"`/profiler save [format]` formaturik gabe deitzean erabilia."
#: src/settings_translation_file.cpp
-msgid "Mapgen Carpathian"
+msgid "The depth of dirt or other biome filler node."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Mapgen Carpathian specific flags"
+msgid ""
+"The file path relative to your worldpath in which profiles will be saved to."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Map generation attributes specific to Mapgen Carpathian."
+msgid "The identifier of the joystick to use"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Base ground level"
+msgid "The length in pixels it takes for touch screen interaction to start."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Defines the base ground level."
+msgid ""
+"The maximum height of the surface of waving liquids.\n"
+"4.0 = Wave height is two nodes.\n"
+"0.0 = Wave doesn't move at all.\n"
+"Default is 1.0 (1/2 node).\n"
+"Requires waving liquids to be enabled."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "River channel width"
+msgid "The network interface that the server listens on."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Defines the width of the river channel."
+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 "River channel depth"
+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 "Defines the depth of the river channel."
+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 "River valley width"
+msgid ""
+"The sensitivity of the joystick axes for moving the\n"
+"ingame view frustum around."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Defines the width of the river valley."
+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 "Hilliness1 noise"
+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 "First of 4 2D noises that together define hill/mountain range height."
+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 "Hilliness2 noise"
+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 "Second of 4 2D noises that together define hill/mountain range height."
-msgstr ""
+msgid "The type of joystick"
+msgstr "Joystick mota"
#: src/settings_translation_file.cpp
-msgid "Hilliness3 noise"
+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
@@ -5447,495 +5638,447 @@ msgid "Third of 4 2D noises that together define hill/mountain range height."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hilliness4 noise"
-msgstr ""
-
-#: src/settings_translation_file.cpp
-msgid "Fourth of 4 2D noises that together define hill/mountain range height."
+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 "Rolling hills spread noise"
+msgid "Time of day when a new world is started, in millihours (0-23999)."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "2D noise that controls the size/occurrence of rolling hills."
+msgid "Time send interval"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Ridge mountain spread noise"
+msgid "Time speed"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "2D noise that controls the size/occurrence of ridged mountain ranges."
+msgid "Timeout for client to remove unused map data from memory."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Step mountain spread noise"
+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 ""
+"Atzerapena murrizteko, blokeen transferentziak moteldu egiten dira jokalari "
+"bat zerbait eraikitzen ari denean.\n"
+"Honek nodo bat jarri edo kendu ondoren zenbat motelduko diren zehazten du."
#: src/settings_translation_file.cpp
-msgid "2D noise that controls the size/occurrence of step mountain ranges."
+msgid "Toggle camera mode key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Rolling hill size noise"
+msgid "Tooltip delay"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "2D noise that controls the shape/size of rolling hills."
+msgid "Touch screen threshold"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Ridged mountain size noise"
+msgid "Trees noise"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "2D noise that controls the shape/size of ridged mountains."
+msgid "Trilinear filtering"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Step mountain size noise"
+msgid ""
+"True = 256\n"
+"False = 128\n"
+"Usable to make minimap smoother on slower machines."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "2D noise that controls the shape/size of step mountains."
+msgid "Trusted mods"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "River noise"
+msgid "URL to the server list displayed in the Multiplayer Tab."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "2D noise that locates the river valleys and channels."
+msgid "Undersampling"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Mountain variation noise"
+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 "3D noise for mountain overhangs, cliffs, etc. Usually small variations."
-msgstr ""
+msgid "Unlimited player transfer distance"
+msgstr "Jokalari transferentzia distantzia mugagabea"
#: src/settings_translation_file.cpp
-msgid "Mapgen Flat"
+msgid "Unload unused server data"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Mapgen Flat specific flags"
+msgid "Upper Y limit of dungeons."
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."
+msgid "Use 3D cloud look instead of flat."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Ground level"
+msgid "Use a cloud animation for the main menu background."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Y of flat ground."
+msgid "Use anisotropic filtering when viewing at textures from an angle."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Lake threshold"
+msgid "Use bilinear filtering when scaling textures."
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."
+"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 "Lake steepness"
+msgid "Use trilinear filtering when scaling textures."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Controls steepness/depth of lake depressions."
+msgid "VBO"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hill threshold"
+msgid "VSync"
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."
+msgid "Valley depth"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hill steepness"
+msgid "Valley fill"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Controls steepness/height of hills."
+msgid "Valley profile"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Terrain noise"
+msgid "Valley slope"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Defines location and terrain of optional hills and lakes."
+msgid "Variation of biome filler depth."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Mapgen Fractal"
+msgid "Variation of maximum mountain height (in nodes)."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Mapgen Fractal specific flags"
+msgid "Variation of number of caves."
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."
+"Variation of terrain vertical scale.\n"
+"When noise is < -0.55 terrain is near-flat."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Fractal type"
+msgid "Varies depth of biome surface nodes."
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."
+"Varies roughness of terrain.\n"
+"Defines the 'persistence' value for terrain_base and terrain_alt noises."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Iterations"
+msgid "Varies steepness of cliffs."
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."
+msgid "Vertical climbing speed, in nodes per second."
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."
+msgid "Vertical screen synchronization."
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."
+msgid "Video driver"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Slice w"
+msgid "View bobbing factor"
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."
+msgid "View distance in nodes."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Julia x"
-msgstr ""
+msgid "View range decrease key"
+msgstr "Ikusmen barrutia txikitzeko tekla"
#: 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 ""
+msgid "View range increase key"
+msgstr "Ikusmen barrutia handitzeko tekla"
#: src/settings_translation_file.cpp
-msgid "Julia y"
+msgid "View zoom key"
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 ""
+msgid "Viewing range"
+msgstr "Ikusmen barrutia"
#: src/settings_translation_file.cpp
-msgid "Julia z"
+msgid "Virtual joystick triggers aux button"
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."
+msgid "Volume"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Julia w"
+msgid ""
+"Volume of all sounds.\n"
+"Requires the sound system to be enabled."
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Julia set only.\n"
-"W component of hypercomplex constant.\n"
+"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 "Seabed noise"
-msgstr ""
-
-#: src/settings_translation_file.cpp
-msgid "Y-level of seabed."
-msgstr ""
-
-#: src/settings_translation_file.cpp
-msgid "Mapgen Valleys"
+msgid "Walking and flying speed, in nodes per second."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Mapgen Valleys specific flags"
+msgid "Walking speed"
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."
+msgid "Walking, flying and climbing speed in fast mode, in nodes per second."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Altitude chill"
+msgid "Water level"
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."
+msgid "Water surface level of the world."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Depth below which you'll find large caves."
+msgid "Waving Nodes"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Cavern upper limit"
+msgid "Waving leaves"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Depth below which you'll find giant caverns."
+msgid "Waving liquids"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "River depth"
+msgid "Waving liquids wave height"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "How deep to make rivers."
+msgid "Waving liquids wave speed"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "River size"
+msgid "Waving liquids wavelength"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "How wide to make rivers."
+msgid "Waving plants"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Cave noise #1"
+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 "Cave noise #2"
+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 "Filler depth"
+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 "The depth of dirt or other biome filler node."
+msgid ""
+"Whether FreeType fonts are used, requires FreeType support to be compiled "
+"in.\n"
+"If disabled, bitmap and XML vectors fonts are used instead."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Terrain height"
+msgid "Whether node texture animations should be desynchronized per mapblock."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Base terrain height."
+msgid ""
+"Whether players are shown to clients without any range limit.\n"
+"Deprecated, use the setting player_transfer_distance instead."
msgstr ""
+"Jokalariak bezeroei barruti mugarik gabe erakutsiko al zaizkien.\n"
+"Zaharkitua, erabili player_transfer_distance ezarpena honen ordez."
#: src/settings_translation_file.cpp
-msgid "Valley depth"
+msgid "Whether to allow players to damage and kill each other."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Raises terrain to make valleys around the rivers."
+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 "Valley fill"
+msgid "Whether to fog out the end of the visible area."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Slope and fill work together to modify the heights."
+msgid ""
+"Whether to mute sounds. You can unmute sounds at any time, unless the\n"
+"sound system is disabled (enable_sound=false).\n"
+"In-game, you can toggle the mute state with the mute key or by using the\n"
+"pause menu."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Valley profile"
+msgid ""
+"Whether to show the client debug info (has the same effect as hitting F5)."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Amplifies the valleys."
+msgid "Width component of the initial window size."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Valley slope"
+msgid "Width of the selection box lines around nodes."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Chunk size"
+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 ""
-"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."
+"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 "Mapgen debug"
+msgid "World start time"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Dump the mapgen debug information."
+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 "Absolute limit of emerge queues"
+msgid "World-aligned textures mode"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Maximum number of blocks that can be queued for loading."
+msgid "Y of flat ground."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Limit of emerge queues on disk"
+msgid ""
+"Y of mountain density gradient zero level. Used to shift mountains "
+"vertically."
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."
+msgid "Y of upper limit of large caves."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Limit of emerge queues to generate"
+msgid "Y-distance over which caverns expand to full size."
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."
+msgid "Y-level of average terrain surface."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Number of emerge threads"
+msgid "Y-level of cavern upper limit."
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'."
+msgid "Y-level of higher terrain that creates cliffs."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Online Content Repository"
+msgid "Y-level of lower terrain and seabed."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "ContentDB URL"
+msgid "Y-level of seabed."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "The URL for the content repository"
+msgid "cURL file download timeout"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "ContentDB Flag Blacklist"
+msgid "cURL parallel limit"
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/"
+msgid "cURL timeout"
msgstr ""
diff --git a/po/fil/minetest.po b/po/fil/minetest.po
index 89ec9ac3b..df9f52b7f 100644
--- a/po/fil/minetest.po
+++ b/po/fil/minetest.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Filipino (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-10-09 22:02+0200\n"
+"POT-Creation-Date: 2020-04-03 23:18+0200\n"
"PO-Revision-Date: 2020-01-11 18:26+0000\n"
"Last-Translator: rubenwardy <rubenwardy@gmail.com>\n"
"Language-Team: Filipino <https://hosted.weblate.org/projects/minetest/"
@@ -396,14 +396,25 @@ msgstr ""
msgid "Z spread"
msgstr ""
+#. ~ "absvalue" is a noise parameter flag.
+#. It is short for "absolute value".
+#. It can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "absvalue"
msgstr ""
+#. ~ "defaults" is a noise parameter flag.
+#. It describes the default processing options
+#. for noise settings in main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "defaults"
msgstr ""
+#. ~ "eased" is a noise parameter flag.
+#. It is used to make the map smoother and
+#. can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "eased"
msgstr ""
@@ -612,6 +623,7 @@ msgstr ""
msgid "Ping"
msgstr ""
+#. ~ PvP = Player versus Player
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "PvP enabled"
msgstr ""
@@ -856,6 +868,14 @@ msgstr ""
msgid "Provided world path doesn't exist: "
msgstr ""
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string. Put either "no" or "yes"
+#. into the translation field (literally).
+#. Choose "yes" if the language requires use of the fallback
+#. font, "no" otherwise.
+#. The fallback font is (normally) required for languages with
+#. non-Latin script, like Chinese.
+#. When in doubt, test your translation.
#: src/client/fontengine.cpp
msgid "needs_fallback_font"
msgstr "yes"
@@ -890,6 +910,7 @@ msgstr ""
msgid "- Public: "
msgstr ""
+#. ~ PvP = Player versus Player
#: src/client/game.cpp
msgid "- PvP: "
msgstr ""
@@ -1314,6 +1335,7 @@ msgstr ""
msgid "Left Windows"
msgstr ""
+#. ~ Key name, common on Windows keyboards
#: src/client/keycode.cpp
msgid "Menu"
msgstr ""
@@ -1406,6 +1428,7 @@ msgstr ""
msgid "Play"
msgstr ""
+#. ~ "Print screen" key
#: src/client/keycode.cpp
msgid "Print"
msgstr ""
@@ -1442,6 +1465,7 @@ msgstr ""
msgid "Scroll Lock"
msgstr ""
+#. ~ Key name
#: src/client/keycode.cpp
msgid "Select"
msgstr ""
@@ -1676,11 +1700,16 @@ msgstr ""
msgid "Sound Volume: "
msgstr ""
+#. ~ Imperative, as in "Enter/type in text".
+#. Don't forget the space.
#: src/gui/modalMenu.cpp
msgid "Enter "
msgstr ""
-#: src/network/clientpackethandler.cpp
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string which needs to contain the translation's
+#. language code (e.g. "de" for German).
+#: src/network/clientpackethandler.cpp src/script/lua_api/l_client.cpp
msgid "LANG_CODE"
msgstr "fil"
@@ -1703,7 +1732,7 @@ msgid ""
"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"
+"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."
@@ -1866,18 +1895,16 @@ msgid ""
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."
+msgid ""
+"Alters the light curve by applying 'gamma correction' to it.\n"
+"Higher values make middle and lower light levels brighter.\n"
+"Value '1.0' leaves the light curve unaltered.\n"
+"This only has significant effect on daylight and artificial\n"
+"light, it has very little effect on natural night light."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2026,6 +2053,22 @@ msgid "Block send optimize distance"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Bold and italic font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bold and italic monospace font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bold font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bold monospace font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Build inside player"
msgstr ""
@@ -2039,8 +2082,8 @@ 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"
+"Camera 'near clipping plane' distance in nodes, between 0 and 0.25\n"
+"Only works on GLES platforms. 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 ""
@@ -2102,7 +2145,9 @@ msgid "Cavern upper limit"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Center of light curve mid-boost."
+msgid ""
+"Center of light curve boost range.\n"
+"Where 0.0 is minimum light level, 1.0 is maximum light level."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2297,12 +2342,9 @@ 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."
+"Controls width of tunnels, a smaller value creates wider tunnels.\n"
+"Value >= 10.0 completely disables generation of tunnels and avoids the\n"
+"intensive noise calculations."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2338,10 +2380,6 @@ msgid "Damage"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Darkness sharpness"
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Debug info toggle key"
msgstr ""
@@ -2358,7 +2396,7 @@ msgid "Dec. volume key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Decrease this to increase liquid resistence to movement."
+msgid "Decrease this to increase liquid resistance to movement."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2398,12 +2436,6 @@ msgid ""
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 ""
@@ -2480,12 +2512,6 @@ 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 ""
@@ -2559,12 +2585,14 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Enable Lua modding support on client.\n"
-"This support is experimental and API can change."
+"Enable IPv6 support (for both client and server).\n"
+"Required for IPv6 connections to work at all."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Enable VBO"
+msgid ""
+"Enable Lua modding support on client.\n"
+"This support is experimental and API can change."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2630,6 +2658,12 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Enable vertex buffer objects.\n"
+"This should greatly improve graphics performance."
+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 ""
@@ -2637,7 +2671,16 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Enable/disable running an IPv6 server.\n"
-"Ignored if bind_address is set."
+"Ignored if bind_address is set.\n"
+"Needs enable_ipv6 to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Enables Hable's 'Uncharted 2' filmic tone mapping.\n"
+"Simulates the tone curve of photographic film and how this approximates the\n"
+"appearance of high dynamic range images. Mid-range contrast is slightly\n"
+"enhanced, highlights and shadows are gradually compressed."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2657,10 +2700,6 @@ 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 ""
@@ -2677,6 +2716,14 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Enables the sound system.\n"
+"If disabled, this completely disables all sounds everywhere and the in-game\n"
+"sound controls will be non-functional.\n"
+"Changing this setting requires a restart."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Engine profiling data print interval"
msgstr ""
@@ -2707,7 +2754,7 @@ msgid "Fall bobbing factor"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Fallback font"
+msgid "Fallback font path"
msgstr ""
#: src/settings_translation_file.cpp
@@ -2800,30 +2847,6 @@ 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 ""
@@ -2844,7 +2867,11 @@ msgid "Fog toggle key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font path"
+msgid "Font bold by default"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font italic by default"
msgstr ""
#: src/settings_translation_file.cpp
@@ -2856,15 +2883,19 @@ msgid "Font shadow alpha"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font shadow alpha (opaqueness, between 0 and 255)."
+msgid "Font size"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font shadow offset, if 0 then shadow will not be drawn."
+msgid "Font size of the default font in point (pt)."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font size"
+msgid "Font size of the fallback font in point (pt)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font size of the monospace font in point (pt)."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2975,10 +3006,6 @@ msgid "GUI scaling filter txr2img"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gamma"
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Generate normalmaps"
msgstr ""
@@ -2994,11 +3021,15 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at maximum light level."
+msgid ""
+"Gradient of light curve at maximum light level.\n"
+"Controls the contrast of the highest light levels."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at minimum light level."
+msgid ""
+"Gradient of light curve at minimum light level.\n"
+"Controls the contrast of the lowest light levels."
msgstr ""
#: src/settings_translation_file.cpp
@@ -3031,7 +3062,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Handling for deprecated lua api calls:\n"
+"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)."
@@ -3258,6 +3289,13 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"How fast liquid waves will move. Higher = faster.\n"
+"If negative, liquid waves will move backwards.\n"
+"Requires waving liquids to be enabled."
+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 ""
@@ -3287,10 +3325,6 @@ 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."
@@ -3465,6 +3499,14 @@ msgid "Invert vertical mouse movement."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Italic font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Italic monospace font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Item entity TTL"
msgstr ""
@@ -4060,11 +4102,19 @@ msgid "Large cave depth"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Large chat console key"
+msgid "Large cave maximum number"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Lava depth"
+msgid "Large cave minimum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large cave proportion flooded"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large chat console key"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4091,6 +4141,12 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Length of liquid waves.\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Length of time between Active Block Modifier (ABM) execution cycles"
msgstr ""
@@ -4115,19 +4171,27 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost"
+msgid "Light curve boost"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost center"
+msgid "Light curve boost center"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost spread"
+msgid "Light curve boost spread"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Lightness sharpness"
+msgid "Light curve gamma"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve high gradient"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve low gradient"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4232,25 +4296,25 @@ 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."
+"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 flat.\n"
+"Map generation attributes specific to Mapgen Fractal.\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."
+"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
@@ -4400,8 +4464,16 @@ msgid "Maximum hotbar width"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of large caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
-"Maximum liquid resistence. Controls deceleration when entering liquid at\n"
+"Maximum liquid resistance. Controls deceleration when entering liquid at\n"
"high speed."
msgstr ""
@@ -4522,6 +4594,14 @@ msgid "Minimap scan height"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of large caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Minimum texture size"
msgstr ""
@@ -4608,7 +4688,7 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Near clipping plane"
+msgid "Near plane"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4695,6 +4775,16 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Opaqueness (alpha) of the shadow behind the default font, between 0 and 255."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Opaqueness (alpha) of the shadow behind the fallback font, between 0 and 255."
+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."
@@ -4733,7 +4823,12 @@ msgid "Parallax occlusion strength"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Path to TrueTypeFont or bitmap."
+msgid ""
+"Path of the fallback font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font will be used for certain languages or if the default font is "
+"unavailable."
msgstr ""
#: src/settings_translation_file.cpp
@@ -4751,6 +4846,22 @@ msgid "Path to texture directory. All textures are first searched from here."
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Path to the default font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"The fallback font will be used if the font cannot be loaded."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Path to the monospace font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font is used for e.g. the console and profiler screen."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Pause on lost window focus"
msgstr ""
@@ -4823,6 +4934,10 @@ msgid "Profiling"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Proportion of large caves that contain liquid."
+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 "
@@ -4846,6 +4961,10 @@ msgid "Recent Chat Messages"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Regular font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Remote media"
msgstr ""
@@ -5036,24 +5155,24 @@ 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."
+"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
@@ -5104,19 +5223,19 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving leaves.\n"
+"Set to true to enable waving leaves.\n"
"Requires shaders to be enabled."
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving plants.\n"
+"Set to true to enable waving liquids (like water).\n"
"Requires shaders to be enabled."
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving water.\n"
+"Set to true to enable waving plants.\n"
"Requires shaders to be enabled."
msgstr ""
@@ -5133,7 +5252,15 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Shadow limit"
+msgid ""
+"Shadow offset (in pixels) of the default font. If 0, then shadow will not be "
+"drawn."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not "
+"be drawn."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5178,6 +5305,14 @@ msgid "Slope and fill work together to modify the heights."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Small cave maximum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Small cave minimum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Small-scale humidity variation for blending biomes on borders."
msgstr ""
@@ -5237,8 +5372,9 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Spread of light curve mid-boost.\n"
-"Standard deviation of the mid-boost gaussian."
+"Spread of light curve boost range.\n"
+"Controls the width of the range to be boosted.\n"
+"Standard deviation of the light curve boost Gaussian."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5262,7 +5398,10 @@ msgid "Strength of generated normalmaps."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Strength of light curve mid-boost."
+msgid ""
+"Strength of light curve boost.\n"
+"The 3 'boost' parameters define a range of the light\n"
+"curve that is boosted in brightness."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5365,6 +5504,15 @@ msgid "The length in pixels it takes for touch screen interaction to start."
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"The maximum height of the surface of waving liquids.\n"
+"4.0 = Wave height is two nodes.\n"
+"0.0 = Wave doesn't move at all.\n"
+"Default is 1.0 (1/2 node).\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "The network interface that the server listens on."
msgstr ""
@@ -5445,10 +5593,6 @@ 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."
@@ -5502,7 +5646,7 @@ msgstr ""
msgid ""
"True = 256\n"
"False = 128\n"
-"Useable to make minimap smoother on slower machines."
+"Usable to make minimap smoother on slower machines."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5510,11 +5654,6 @@ 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 ""
@@ -5599,10 +5738,6 @@ 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 ""
@@ -5676,6 +5811,12 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Volume of all sounds.\n"
+"Requires the sound system to be enabled."
+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"
@@ -5712,23 +5853,23 @@ msgid "Waving leaves"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving plants"
+msgid "Waving liquids"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water"
+msgid "Waving liquids wave height"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water wave height"
+msgid "Waving liquids wave speed"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water wave speed"
+msgid "Waving liquids wavelength"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water wavelength"
+msgid "Waving plants"
msgstr ""
#: src/settings_translation_file.cpp
@@ -5761,7 +5902,9 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Whether FreeType fonts are used, requires FreeType support to be compiled in."
+"Whether FreeType fonts are used, requires FreeType support to be compiled "
+"in.\n"
+"If disabled, bitmap and XML vectors fonts are used instead."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5790,6 +5933,14 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Whether to mute sounds. You can unmute sounds at any time, unless the\n"
+"sound system is disabled (enable_sound=false).\n"
+"In-game, you can toggle the mute state with the mute key or by using the\n"
+"pause menu."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
"Whether to show the client debug info (has the same effect as hitting F5)."
msgstr ""
@@ -5859,10 +6010,6 @@ 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 ""
@@ -5875,10 +6022,6 @@ 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 ""
diff --git a/po/fr/minetest.po b/po/fr/minetest.po
index 386d8aeef..928e8ffaf 100644
--- a/po/fr/minetest.po
+++ b/po/fr/minetest.po
@@ -2,9 +2,9 @@ msgid ""
msgstr ""
"Project-Id-Version: French (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-10-09 22:02+0200\n"
-"PO-Revision-Date: 2019-11-13 16:04+0000\n"
-"Last-Translator: Julien Maulny <julien.maulny@protonmail.com>\n"
+"POT-Creation-Date: 2020-04-03 23:18+0200\n"
+"PO-Revision-Date: 2020-04-03 20:24+0000\n"
+"Last-Translator: Allan Nordhøy <epost@anotheragency.no>\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.10-dev\n"
+"X-Generator: Weblate 4.0-dev\n"
#: builtin/client/death_formspec.lua src/client/game.cpp
msgid "Respawn"
@@ -136,9 +136,8 @@ 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 "Pas de dépendances optionnelles"
+msgstr "Pas de dépendances facultatives"
#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua
msgid "Optional dependencies:"
@@ -403,17 +402,29 @@ msgstr "Z"
msgid "Z spread"
msgstr "Écart Z"
+#. ~ "absvalue" is a noise parameter flag.
+#. It is short for "absolute value".
+#. It can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "absvalue"
msgstr "Valeur absolue"
+#. ~ "defaults" is a noise parameter flag.
+#. It describes the default processing options
+#. for noise settings in main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "defaults"
msgstr "par défaut"
+#. ~ "eased" is a noise parameter flag.
+#. It is used to make the map smoother and
+#. can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
+#, fuzzy
msgid "eased"
-msgstr "réaliste (easing)"
+msgstr "l'aisance"
#: builtin/mainmenu/pkgmgr.lua
msgid "$1 (Enabled)"
@@ -624,9 +635,10 @@ msgstr "Nom / Mot de passe"
msgid "Ping"
msgstr "Ping"
+#. ~ PvP = Player versus Player
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "PvP enabled"
-msgstr "Combat activé"
+msgstr "JcJ activé"
#: builtin/mainmenu/tab_settings.lua
msgid "2x"
@@ -869,6 +881,14 @@ msgstr "Le fichier de mot de passe fourni n'a pas pu être ouvert : "
msgid "Provided world path doesn't exist: "
msgstr "Le chemin du monde spécifié n'existe pas : "
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string. Put either "no" or "yes"
+#. into the translation field (literally).
+#. Choose "yes" if the language requires use of the fallback
+#. font, "no" otherwise.
+#. The fallback font is (normally) required for languages with
+#. non-Latin script, like Chinese.
+#. When in doubt, test your translation.
#: src/client/fontengine.cpp
msgid "needs_fallback_font"
msgstr "no"
@@ -905,6 +925,7 @@ msgstr "- Port : "
msgid "- Public: "
msgstr "- Public : "
+#. ~ PvP = Player versus Player
#: src/client/game.cpp
msgid "- PvP: "
msgstr "- JcJ : "
@@ -1041,7 +1062,7 @@ msgstr "La limite de vue a été désactivée"
#: src/client/game.cpp
msgid "Exit to Menu"
-msgstr "Retour au menu principal"
+msgstr "Menu Principal"
#: src/client/game.cpp
msgid "Exit to OS"
@@ -1352,6 +1373,7 @@ msgstr "Shift gauche"
msgid "Left Windows"
msgstr "Windows gauche"
+#. ~ Key name, common on Windows keyboards
#: src/client/keycode.cpp
msgid "Menu"
msgstr "Menu"
@@ -1444,9 +1466,10 @@ msgstr "Pause"
msgid "Play"
msgstr "Jouer"
+#. ~ "Print screen" key
#: src/client/keycode.cpp
msgid "Print"
-msgstr "Imprimer"
+msgstr "Capture d'écran"
#: src/client/keycode.cpp
msgid "Return"
@@ -1480,6 +1503,7 @@ msgstr "Windows droite"
msgid "Scroll Lock"
msgstr "Verr. défilement"
+#. ~ Key name
#: src/client/keycode.cpp
msgid "Select"
msgstr "Sélectionner"
@@ -1542,8 +1566,8 @@ msgstr ""
"Si vous continuez, un nouveau compte utilisant vos identifiants sera créé "
"sur ce serveur.\n"
"Veuillez retaper votre mot de passe et cliquer sur \"S'enregistrer et "
-"rejoindre\" pour confirmer la création de votre compte, ou cliquez sur \""
-"Annuler\"."
+"rejoindre\" pour confirmer la création de votre compte, ou cliquez sur "
+"\"Annuler\"."
#: src/gui/guiFormSpecMenu.cpp
msgid "Proceed"
@@ -1686,9 +1710,8 @@ msgid "Toggle noclip"
msgstr "Mode sans collision"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Toggle pitchmove"
-msgstr "Afficher/retirer le canal de discussion"
+msgstr "Activer/désactiver vol vertical"
#: src/gui/guiKeyChangeMenu.cpp
msgid "press key"
@@ -1722,11 +1745,16 @@ msgstr "Muet"
msgid "Sound Volume: "
msgstr "Volume du son : "
+#. ~ Imperative, as in "Enter/type in text".
+#. Don't forget the space.
#: src/gui/modalMenu.cpp
msgid "Enter "
msgstr "Entrer "
-#: src/network/clientpackethandler.cpp
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string which needs to contain the translation's
+#. language code (e.g. "de" for German).
+#: src/network/clientpackethandler.cpp src/script/lua_api/l_client.cpp
msgid "LANG_CODE"
msgstr "fr"
@@ -1750,12 +1778,13 @@ msgstr ""
"lorsqu'en dehors du cercle 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"
"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"
+"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."
@@ -1863,7 +1892,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "3D noise that determines number of dungeons per mapchunk."
-msgstr ""
+msgstr "Bruit 3D qui détermine le nombre de donjons par mapchunk."
#: src/settings_translation_file.cpp
msgid ""
@@ -1964,23 +1993,23 @@ msgstr ""
"les écrans 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 ""
-"Ajuster la correction gamma. Les valeurs plus basses sont plus claires.\n"
-"Ce paramètre s'applique au client seulement et est ignoré par le serveur."
-
-#: src/settings_translation_file.cpp
msgid "Advanced"
msgstr "Avancé"
#: src/settings_translation_file.cpp
-msgid "Alters how mountain-type floatlands taper above and below midpoint."
+msgid ""
+"Alters the light curve by applying 'gamma correction' to it.\n"
+"Higher values make middle and lower light levels brighter.\n"
+"Value '1.0' leaves the light curve unaltered.\n"
+"This only has significant effect on daylight and artificial\n"
+"light, it has very little effect on natural night light."
msgstr ""
-"Modifie la façon dont les terres flottantes montagneuses s’effilent au-"
-"dessus et au-dessous du point médian."
+"Il modifie la courbe de lumière en lui appliquant une \"correction gamma\".\n"
+"Des valeurs plus élevées rendent les niveaux de lumière moyens et inférieurs "
+"plus lumineux.\n"
+"La valeur \"1.0\" laisse la courbe de lumière intacte.\n"
+"Cela n'a d'effet significatif que sur la lumière du jour et les\n"
+"la lumière, et elle a très peu d'effet sur la lumière naturelle de la nuit."
#: src/settings_translation_file.cpp
msgid "Altitude chill"
@@ -2141,6 +2170,22 @@ msgid "Block send optimize distance"
msgstr "Distance d'optimisation d'envoi des blocs"
#: src/settings_translation_file.cpp
+msgid "Bold and italic font path"
+msgstr "Chemin de la police en gras et en italique"
+
+#: src/settings_translation_file.cpp
+msgid "Bold and italic monospace font path"
+msgstr "Chemin de la police Monospace"
+
+#: src/settings_translation_file.cpp
+msgid "Bold font path"
+msgstr "Chemin de police audacieux"
+
+#: src/settings_translation_file.cpp
+msgid "Bold monospace font path"
+msgstr "Chemin de police monospace audacieux"
+
+#: src/settings_translation_file.cpp
msgid "Build inside player"
msgstr "Placement de bloc à la position du joueur"
@@ -2155,15 +2200,15 @@ msgstr "Bump mapping"
#: src/settings_translation_file.cpp
#, fuzzy
msgid ""
-"Camera 'near clipping plane' distance in nodes, between 0 and 0.5.\n"
-"Most users will not need to change this.\n"
+"Camera 'near clipping plane' distance in nodes, between 0 and 0.25\n"
+"Only works on GLES platforms. 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 ""
-"Caméra à proximité de la distance plane en nœuds, entre 0 et 0,5\n"
-"La plupart des utilisateurs n'auront pas besoin de changer cela.\n"
-"Augmenter peut réduire les artefacts sur les GPU les plus faibles.\n"
-"0,1 = par défaut, 0,25 = bonne valeur pour les tablettes moins performantes."
+"Caméra 'près de la coupure de distance' dans les nœuds, entre 0 et 0,5.\n"
+"La plupart des utilisateurs n’auront pas besoin de changer cela.\n"
+"L’augmentation peut réduire l’artifacting sur des GPU plus faibles.\n"
+"0.1 - Par défaut, 0,25 - Bonne valeur pour les comprimés plus faibles."
#: src/settings_translation_file.cpp
msgid "Camera smoothing"
@@ -2222,8 +2267,13 @@ msgid "Cavern upper limit"
msgstr "Limite haute des cavernes"
#: src/settings_translation_file.cpp
-msgid "Center of light curve mid-boost."
-msgstr "Milieu de la courbe de lumière mi-boost."
+msgid ""
+"Center of light curve boost range.\n"
+"Where 0.0 is minimum light level, 1.0 is maximum light level."
+msgstr ""
+"Gamme de poussée de courbe de centre de lumière.\n"
+"Lorsque 0,0 est le niveau de lumière minimum, et 1,0 est le niveau de "
+"lumière maximum."
#: src/settings_translation_file.cpp
msgid ""
@@ -2434,7 +2484,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Controls sinking speed in liquid."
-msgstr ""
+msgstr "Contrôle la vitesse de descente dans un liquide."
#: src/settings_translation_file.cpp
msgid "Controls steepness/depth of lake depressions."
@@ -2446,17 +2496,14 @@ msgstr "Contrôle l'élévation/hauteur des collines."
#: 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 ""
-"Contrôle la densité des terrains montagneux sur les terres flottantes.\n"
-"C'est un décalage ajouté à la valeur du bruit 'mgv7_np_mountain'."
-
-#: src/settings_translation_file.cpp
-msgid "Controls width of tunnels, a smaller value creates wider tunnels."
+"Controls width of tunnels, a smaller value creates wider tunnels.\n"
+"Value >= 10.0 completely disables generation of tunnels and avoids the\n"
+"intensive noise calculations."
msgstr ""
-"Contrôle la largeur des tunnels, une valeur plus petite crée des tunnels "
-"plus larges."
+"Contrôle la largeur des tunnels, une valeur plus faible crée des tunnels "
+"plus large.\n"
+"Valeur >= 10.0 désactive complètement la génération de tunnel et évite le "
+"calcul intensif de bruit."
#: src/settings_translation_file.cpp
msgid "Crash message"
@@ -2491,10 +2538,6 @@ msgid "Damage"
msgstr "Dégâts"
#: src/settings_translation_file.cpp
-msgid "Darkness sharpness"
-msgstr "Démarcation de l'obscurité"
-
-#: src/settings_translation_file.cpp
msgid "Debug info toggle key"
msgstr "Infos de débogage"
@@ -2511,9 +2554,9 @@ 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 ""
-"Diminuer cette valeur pour augmenter la résistance du liquide au mouvement."
+#, fuzzy
+msgid "Decrease this to increase liquid resistance to movement."
+msgstr "Diminuez ceci pour augmenter la résistance liquide au mouvement."
#: src/settings_translation_file.cpp
msgid "Dedicated server step"
@@ -2556,14 +2599,6 @@ msgstr ""
"Seulement appliqué si Minetest est compilé avec cURL."
#: src/settings_translation_file.cpp
-msgid ""
-"Defines areas of floatland smooth terrain.\n"
-"Smooth floatlands occur when noise > 0."
-msgstr ""
-"Défini les zones de terrain plat flottant.\n"
-"Des terrains plats flottants apparaissent lorsque le bruit > 0."
-
-#: src/settings_translation_file.cpp
msgid "Defines areas where trees have apples."
msgstr "Définit des zones où les arbres ont des pommes."
@@ -2607,9 +2642,8 @@ 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."
+msgstr "Définit la profondeur du court de la rivière."
#: src/settings_translation_file.cpp
msgid "Defines the maximal player transfer distance in blocks (0 = unlimited)."
@@ -2618,14 +2652,12 @@ msgstr ""
"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."
+msgstr "Définit la largeur des canaux fluviaux."
#: 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."
+msgstr "Définit la largeur de la vallée de la rivière."
#: src/settings_translation_file.cpp
msgid "Defines tree areas and tree density."
@@ -2654,12 +2686,6 @@ 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."
@@ -2678,13 +2704,13 @@ 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 '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é."
+"Quand le flag 'snowbiomes' est activé, (avec le nouveau système de biomes), "
+"ce paramètre est ignoré."
#: src/settings_translation_file.cpp
msgid "Desynchronize block animation"
@@ -2736,6 +2762,14 @@ msgstr "Bruit de donjon"
#: src/settings_translation_file.cpp
msgid ""
+"Enable IPv6 support (for both client and server).\n"
+"Required for IPv6 connections to work at all."
+msgstr ""
+"Activer la prise en charge IPv6 (pour le client et le serveur).\n"
+"Requis pour que les connexions IPv6 fonctionnent."
+
+#: src/settings_translation_file.cpp
+msgid ""
"Enable Lua modding support on client.\n"
"This support is experimental and API can change."
msgstr ""
@@ -2743,10 +2777,6 @@ msgstr ""
"Ce support est expérimental et l'API peut changer."
#: src/settings_translation_file.cpp
-msgid "Enable VBO"
-msgstr "Activer Vertex Buffer Object: objet tampon de vertex"
-
-#: src/settings_translation_file.cpp
msgid "Enable console window"
msgstr "Activer la console"
@@ -2824,6 +2854,14 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Enable vertex buffer objects.\n"
+"This should greatly improve graphics performance."
+msgstr ""
+"Active les vertex buffer objects.\n"
+"Cela devrait grandement augmenter les performances graphiques."
+
+#: 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 ""
@@ -2833,10 +2871,25 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Enable/disable running an IPv6 server.\n"
-"Ignored if bind_address is set."
+"Ignored if bind_address is set.\n"
+"Needs enable_ipv6 to be enabled."
msgstr ""
"Active/désactive l'usage d'un serveur IPv6.\n"
-"Ignoré si bind_address est activé."
+"Ignoré si bind_address est activé.\n"
+"A besoin de enable_ipv6 pour être activé."
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Enables Hable's 'Uncharted 2' filmic tone mapping.\n"
+"Simulates the tone curve of photographic film and how this approximates the\n"
+"appearance of high dynamic range images. Mid-range contrast is slightly\n"
+"enhanced, highlights and shadows are gradually compressed."
+msgstr ""
+"Permet à Hable 'Uncharted 2' de cartographier les tonalités du film.\n"
+"Simule la courbe des tons du film photographique, ce qui se rapproche de la\n"
+"l'apparition d'images à plage dynamique élevée. Le contraste de milieu de "
+"gamme est légèrement\n"
+"améliorées, les reflets et les ombres sont progressivement compressés."
#: src/settings_translation_file.cpp
msgid "Enables animation of inventory items."
@@ -2860,10 +2913,6 @@ msgid "Enables caching of facedir rotated meshes."
msgstr "Active la mise en cache des meshnodes."
#: src/settings_translation_file.cpp
-msgid "Enables filmic tone mapping"
-msgstr "Autorise le mappage tonal cinématographique"
-
-#: src/settings_translation_file.cpp
msgid "Enables minimap."
msgstr "Active la mini-carte."
@@ -2884,6 +2933,19 @@ msgstr ""
"Nécessite les shaders pour être activé."
#: src/settings_translation_file.cpp
+msgid ""
+"Enables the sound system.\n"
+"If disabled, this completely disables all sounds everywhere and the in-game\n"
+"sound controls will be non-functional.\n"
+"Changing this setting requires a restart."
+msgstr ""
+"Active le système audio.\n"
+"S'il est désactivé, cela désactive complètement tous les sons partout et le "
+"jeu\n"
+"les commandes audio ne fonctionneront pas.\n"
+"La modification de ce paramètre nécessite un redémarrage."
+
+#: src/settings_translation_file.cpp
msgid "Engine profiling data print interval"
msgstr "Intervalle d'impression des données du moteur de profil"
@@ -2916,7 +2978,8 @@ msgid "Fall bobbing factor"
msgstr "Intensité du mouvement de tête en tombant"
#: src/settings_translation_file.cpp
-msgid "Fallback font"
+#, fuzzy
+msgid "Fallback font path"
msgstr "Police alternative"
#: src/settings_translation_file.cpp
@@ -2983,7 +3046,7 @@ msgstr "Bruit de profondeur de remplissage"
#: src/settings_translation_file.cpp
msgid "Filmic tone mapping"
-msgstr "Mappage tonal cinématographique"
+msgstr "Cartographie des tonalités filmiques"
#: src/settings_translation_file.cpp
msgid ""
@@ -3021,30 +3084,6 @@ msgid "Fixed virtual joystick"
msgstr "Fixer le joystick virtuel"
#: src/settings_translation_file.cpp
-msgid "Floatland base height noise"
-msgstr "Le bruit de hauteur de base des terres flottantes"
-
-#: src/settings_translation_file.cpp
-msgid "Floatland base noise"
-msgstr "Le bruit de base des terres flottantes"
-
-#: src/settings_translation_file.cpp
-msgid "Floatland level"
-msgstr "Hauteur des terrains flottants"
-
-#: src/settings_translation_file.cpp
-msgid "Floatland mountain density"
-msgstr "Densité des montagnes flottantes"
-
-#: src/settings_translation_file.cpp
-msgid "Floatland mountain exponent"
-msgstr "Densité des montagnes flottantes"
-
-#: src/settings_translation_file.cpp
-msgid "Floatland mountain height"
-msgstr "Hauteur des montagnes flottantes"
-
-#: src/settings_translation_file.cpp
msgid "Fly key"
msgstr "Voler"
@@ -3065,8 +3104,12 @@ msgid "Fog toggle key"
msgstr "Brume"
#: src/settings_translation_file.cpp
-msgid "Font path"
-msgstr "Chemin du fichier de police"
+msgid "Font bold by default"
+msgstr "La police est en gras par défaut"
+
+#: src/settings_translation_file.cpp
+msgid "Font italic by default"
+msgstr "La police est en gras par défaut"
#: src/settings_translation_file.cpp
msgid "Font shadow"
@@ -3077,18 +3120,20 @@ msgid "Font shadow alpha"
msgstr "Opacité de l'ombre de la police"
#: src/settings_translation_file.cpp
-msgid "Font shadow alpha (opaqueness, between 0 and 255)."
-msgstr "Niveau d'opacité de l'ombre de la police (entre 0 et 255)."
+msgid "Font size"
+msgstr "Taille de la police"
#: src/settings_translation_file.cpp
-msgid "Font shadow offset, if 0 then shadow will not be drawn."
-msgstr ""
-"Décalage de l'ombre de la police, si 0 est choisi alors l'ombre ne "
-"s'affichera pas."
+msgid "Font size of the default font in point (pt)."
+msgstr "La taille de police par défaut en point (pt)."
#: src/settings_translation_file.cpp
-msgid "Font size"
-msgstr "Taille de la police"
+msgid "Font size of the fallback font in point (pt)."
+msgstr "Taille de police secondaire au point (pt)."
+
+#: src/settings_translation_file.cpp
+msgid "Font size of the monospace font in point (pt)."
+msgstr "Taille de la police monospace en point (pt)."
#: src/settings_translation_file.cpp
msgid ""
@@ -3214,10 +3259,6 @@ msgid "GUI scaling filter txr2img"
msgstr "Filtrage txr2img du GUI"
#: src/settings_translation_file.cpp
-msgid "Gamma"
-msgstr "Gamma"
-
-#: src/settings_translation_file.cpp
msgid "Generate normalmaps"
msgstr "Normal mapping"
@@ -3238,12 +3279,20 @@ msgstr ""
"signal contrôle toutes les décorations."
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at maximum light level."
-msgstr "Rampe de la courbe de lumière au niveau maximum."
+msgid ""
+"Gradient of light curve at maximum light level.\n"
+"Controls the contrast of the highest light levels."
+msgstr ""
+"Gradient de la courbe de lumière au niveau de lumière maximum. \n"
+"Contrôle le contraste de la lumière aux niveaux d'éclairage les plus élevés."
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at minimum light level."
-msgstr "Rampe de la courbe de lumière au niveau minimum."
+msgid ""
+"Gradient of light curve at minimum light level.\n"
+"Controls the contrast of the lowest light levels."
+msgstr ""
+"Gradient de la courbe de lumière au niveau de lumière maximum. \n"
+"Contrôle le contraste de la lumière aux niveaux d'éclairage les plus bas."
#: src/settings_translation_file.cpp
msgid "Graphics"
@@ -3274,8 +3323,9 @@ msgid "HUD toggle key"
msgstr "HUD"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Handling for deprecated lua api calls:\n"
+"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)."
@@ -3375,6 +3425,8 @@ msgid ""
"Horizontal and vertical acceleration on ground or when climbing,\n"
"in nodes per second per second."
msgstr ""
+"Accélération horizontale et verticale au sol ou en montée,\n"
+"en blocs par seconde."
#: src/settings_translation_file.cpp
msgid "Hotbar next key"
@@ -3517,6 +3569,18 @@ msgid "How deep to make rivers."
msgstr "Quelle profondeur pour faire des rivières."
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid ""
+"How fast liquid waves will move. Higher = faster.\n"
+"If negative, liquid waves will move backwards.\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+"La vitesse à laquelle les ondes liquides se déplaceront. Plus haut = plus "
+"rapide.\n"
+"Si la valeur est négative, les ondes liquides seront inversées.\n"
+"Nécessite l'activation de liquides ondulants."
+
+#: 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."
@@ -3551,10 +3615,6 @@ msgid "IPv6 server"
msgstr "Serveur IPv6"
#: src/settings_translation_file.cpp
-msgid "IPv6 support."
-msgstr "Support IPv6."
-
-#: 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."
@@ -3666,6 +3726,11 @@ msgid ""
"deleting an older debug.txt.1 if it exists.\n"
"debug.txt is only moved if this setting is positive."
msgstr ""
+"Si la taille du fichier debug.txt dépasse le nombre de mégaoctets spécifié "
+"dans\n"
+"ce paramètre une fois ouvert, le fisher est déplacé vers debug.txt.1 et\n"
+"supprimera un ancien debug.txt.1 s'il existe.\n"
+"debug.txt n'est déplacé que si ce paramètre est positif."
#: src/settings_translation_file.cpp
msgid "If this is set, players will always (re)spawn at the given position."
@@ -3697,7 +3762,7 @@ msgstr "Touche d'augmentation de volume"
#: src/settings_translation_file.cpp
msgid "Initial vertical speed when jumping, in nodes per second."
-msgstr ""
+msgstr "Vitesse verticale initiale lors du saut, en blocs par seconde."
#: src/settings_translation_file.cpp
msgid ""
@@ -3769,6 +3834,16 @@ msgid "Invert vertical mouse movement."
msgstr "Inverser les mouvements verticaux de la souris."
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Italic font path"
+msgstr "Chemin de la police Monospace"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Italic monospace font path"
+msgstr "Chemin de la police Monospace"
+
+#: src/settings_translation_file.cpp
msgid "Item entity TTL"
msgstr "Durée de vie des items abandonnés"
@@ -4599,12 +4674,20 @@ msgid "Large cave depth"
msgstr "Profondeur des grandes caves"
#: src/settings_translation_file.cpp
-msgid "Large chat console key"
-msgstr "Touche de grande console de tchat"
+msgid "Large cave maximum number"
+msgstr "Grand nombre de grottes maximum"
#: src/settings_translation_file.cpp
-msgid "Lava depth"
-msgstr "Profondeur de lave"
+msgid "Large cave minimum number"
+msgstr "Nombre minimum de grandes grottes"
+
+#: src/settings_translation_file.cpp
+msgid "Large cave proportion flooded"
+msgstr "Proportion de grandes grottes inondées"
+
+#: src/settings_translation_file.cpp
+msgid "Large chat console key"
+msgstr "Touche de grande console de tchat"
#: src/settings_translation_file.cpp
msgid "Leaves style"
@@ -4637,6 +4720,15 @@ msgstr ""
"réseau."
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid ""
+"Length of liquid waves.\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+"Mettre sur \"true\" active les feuilles d'arbres mouvantes.\n"
+"Nécessite les shaders pour être activé."
+
+#: src/settings_translation_file.cpp
msgid "Length of time between Active Block Modifier (ABM) execution cycles"
msgstr "Durée entre les cycles d’exécution du Modificateur de bloc actif (ABM)"
@@ -4669,20 +4761,32 @@ msgstr ""
"- prolixe"
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost"
-msgstr "Boost intermédiaire de la courbe de lumière"
+msgid "Light curve boost"
+msgstr "Boost de courbe de lumière"
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost center"
-msgstr "Centre du boost intermédiaire de la courbe de lumière"
+msgid "Light curve boost center"
+msgstr "Centre de boost de courbe de lumière"
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost spread"
+#, fuzzy
+msgid "Light curve boost spread"
msgstr "Étalement du boost intermédiaire de la courbe de lumière"
#: src/settings_translation_file.cpp
-msgid "Lightness sharpness"
-msgstr "Démarcation de la luminosité"
+#, fuzzy
+msgid "Light curve gamma"
+msgstr "Boost intermédiaire de la courbe de lumière"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Light curve high gradient"
+msgstr "Boost intermédiaire de la courbe de lumière"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Light curve low gradient"
+msgstr "Centre du boost intermédiaire de la courbe de lumière"
#: src/settings_translation_file.cpp
msgid "Limit of emerge queues on disk"
@@ -4802,26 +4906,18 @@ msgid "Map generation attributes specific to Mapgen Carpathian."
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"
-"'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."
+"Map generation attributes specific to Mapgen Flat.\n"
+"Occasional lakes and hills can be added to the flat world."
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.\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."
+"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
#, fuzzy
msgid ""
-"Map generation attributes specific to Mapgen flat.\n"
+"Map generation attributes specific to Mapgen Fractal.\n"
"'terrain' enables the generation of non-fractal terrain:\n"
"ocean, islands and underground."
msgstr ""
@@ -4830,11 +4926,20 @@ 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."
+"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 ""
-"Attributs de terrain spécifiques au générateur plat.\n"
-"Des lacs et des collines occasionnels peuvent être ajoutés au monde plat."
+"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.\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."
#: src/settings_translation_file.cpp
msgid "Map generation attributes specific to Mapgen v5."
@@ -4995,10 +5100,22 @@ msgid "Maximum hotbar width"
msgstr "Largeur maximale de la barre d'inventaire"
#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of large caves per mapchunk."
+msgstr ""
+"Limite maximale pour le nombre aléatoire de grandes grottes par mapchunk."
+
+#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of small caves per mapchunk."
+msgstr "Limite maximale du nombre aléatoire de petites grottes par mapchunk."
+
+#: src/settings_translation_file.cpp
msgid ""
-"Maximum liquid resistence. Controls deceleration when entering liquid at\n"
+"Maximum liquid resistance. Controls deceleration when entering liquid at\n"
"high speed."
msgstr ""
+"Résistance maximale aux liquides. Contrôle la décélération lorsqu'un joueur "
+"entre dans un liquide à\n"
+"haute vitesse."
#: src/settings_translation_file.cpp
msgid ""
@@ -5138,6 +5255,18 @@ msgid "Minimap scan height"
msgstr "Hauteur de scannage de la mini-carte"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Minimum limit of random number of large caves per mapchunk."
+msgstr ""
+"Limite minimale pour le nombre aléatoire de grandes grottes par mapchunk."
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Minimum limit of random number of small caves per mapchunk."
+msgstr ""
+"Limite minimale pour le nombre aléatoire de petites grottes par mapchunk."
+
+#: src/settings_translation_file.cpp
msgid "Minimum texture size"
msgstr "Taille minimum des textures"
@@ -5242,7 +5371,7 @@ msgstr ""
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Near clipping plane"
+msgid "Near plane"
msgstr "Plan à proximité"
#: src/settings_translation_file.cpp
@@ -5350,6 +5479,18 @@ msgstr "Liquides opaques"
#: src/settings_translation_file.cpp
msgid ""
+"Opaqueness (alpha) of the shadow behind the default font, between 0 and 255."
+msgstr ""
+"Opacité (alpha) de l'ombre derrière la police par défaut, entre 0 et 255."
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Opaqueness (alpha) of the shadow behind the fallback font, between 0 and 255."
+msgstr ""
+"Opacité (alpha) de l'ombre derrière la police secondaire, entre 0 et 255."
+
+#: 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."
@@ -5390,8 +5531,19 @@ msgid "Parallax occlusion strength"
msgstr "Force de l'occlusion parallaxe"
#: src/settings_translation_file.cpp
-msgid "Path to TrueTypeFont or bitmap."
-msgstr "Chemin vers police TrueType ou Bitmap."
+msgid ""
+"Path of the fallback font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font will be used for certain languages or if the default font is "
+"unavailable."
+msgstr ""
+"Chemin de la police de repli.\n"
+"Si le paramètre \"freetype\" est activé : doit être une police TrueType.\n"
+"Si le paramètre \"freetype\" est désactivé : doit être une police de "
+"vecteurs bitmap ou XML.\n"
+"Cette police sera utilisée pour certaines langues ou si la police par défaut "
+"n’est pas disponible."
#: src/settings_translation_file.cpp
msgid "Path to save screenshots at."
@@ -5412,6 +5564,34 @@ msgstr ""
"cherchées dans ce dossier."
#: src/settings_translation_file.cpp
+msgid ""
+"Path to the default font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"The fallback font will be used if the font cannot be loaded."
+msgstr ""
+"Chemin vers la police par défaut.\n"
+"Si le paramètre \"freetype\" est activé : doit être une police TrueType.\n"
+"Si le paramètre \"freetype\" est désactivé : doit être une police de "
+"vecteurs bitmap ou XML.\n"
+"La police de rentrée sera utilisée si la police ne peut pas être chargée."
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid ""
+"Path to the monospace font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font is used for e.g. the console and profiler screen."
+msgstr ""
+"Chemin vers la police monospace.\n"
+"Si le paramètre \"freetype\" est activé : doit être une police TrueType.\n"
+"Si le paramètre \"freetype\" est désactivé : doit être une police de "
+"vecteurs bitmap ou XML.\n"
+"Cette police est utilisée pour par exemple la console et l’écran du "
+"profileur."
+
+#: src/settings_translation_file.cpp
msgid "Pause on lost window focus"
msgstr "Mettre en pause sur perte du focus de la fenêtre"
@@ -5498,6 +5678,10 @@ msgid "Profiling"
msgstr "Profilage"
#: src/settings_translation_file.cpp
+msgid "Proportion of large caves that contain liquid."
+msgstr "Proportion de grandes grottes qui contiennent du liquide."
+
+#: 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 "
@@ -5524,6 +5708,11 @@ msgid "Recent Chat Messages"
msgstr "Messages de discussion récents"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Regular font path"
+msgstr "Chemin du rapport"
+
+#: src/settings_translation_file.cpp
msgid "Remote media"
msgstr "Média distant"
@@ -5741,26 +5930,27 @@ 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"
-"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."
+"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 ""
"Choisit parmi 18 types de fractales.\n"
"1 = réglage Mandelbrot \"Roundy\" 4D.\n"
@@ -5833,27 +6023,30 @@ msgstr ""
"par les clients."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Set to true enables waving leaves.\n"
+"Set to true to enable waving leaves.\n"
"Requires shaders to be enabled."
msgstr ""
"Mettre sur \"true\" active les feuilles d'arbres mouvantes.\n"
"Nécessite les shaders pour être activé."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Set to true enables waving plants.\n"
+"Set to true to enable waving liquids (like water).\n"
"Requires shaders to be enabled."
msgstr ""
-"Mettre sur \"true\" active les plantes mouvantes.\n"
+"Mettre sur \"true\" active les vagues.\n"
"Nécessite les shaders pour être activé."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Set to true enables waving water.\n"
+"Set to true to enable waving plants.\n"
"Requires shaders to be enabled."
msgstr ""
-"Mettre sur \"true\" active les vagues.\n"
+"Mettre sur \"true\" active les plantes mouvantes.\n"
"Nécessite les shaders pour être activé."
#: src/settings_translation_file.cpp
@@ -5872,8 +6065,22 @@ msgstr ""
"Fonctionne seulement avec OpenGL."
#: src/settings_translation_file.cpp
-msgid "Shadow limit"
-msgstr "Limite des ombres"
+#, fuzzy
+msgid ""
+"Shadow offset (in pixels) of the default font. If 0, then shadow will not be "
+"drawn."
+msgstr ""
+"Décalage de l'ombre de la police, si 0 est choisi alors l'ombre ne "
+"s'affichera pas."
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid ""
+"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not "
+"be drawn."
+msgstr ""
+"Décalage de l'ombre de la police, si 0 est choisi alors l'ombre ne "
+"s'affichera pas."
#: src/settings_translation_file.cpp
msgid "Shape of the minimap. Enabled = round, disabled = square."
@@ -5929,6 +6136,14 @@ msgstr ""
"La pente et le remplissage fonctionnent ensemble pour modifier les hauteurs."
#: src/settings_translation_file.cpp
+msgid "Small cave maximum number"
+msgstr "Nombre maximum de petites grottes"
+
+#: src/settings_translation_file.cpp
+msgid "Small cave minimum number"
+msgstr "Nombre maximum de petites grottes"
+
+#: src/settings_translation_file.cpp
msgid "Small-scale humidity variation for blending biomes on borders."
msgstr ""
"Variation d'humidité de petite échelle pour la transition entre les biomes."
@@ -5969,7 +6184,7 @@ msgstr "Vitesse d'accroupissement"
#: src/settings_translation_file.cpp
msgid "Sneaking speed, in nodes per second."
-msgstr ""
+msgstr "Vitesse furtive, en blocs par seconde."
#: src/settings_translation_file.cpp
msgid "Sound"
@@ -5999,9 +6214,11 @@ msgstr ""
"habituelle."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Spread of light curve mid-boost.\n"
-"Standard deviation of the mid-boost gaussian."
+"Spread of light curve boost range.\n"
+"Controls the width of the range to be boosted.\n"
+"Standard deviation of the light curve boost Gaussian."
msgstr ""
"Propagation de la courbe de lumière mi-boost.\n"
"Écart-type du gaussien moyennement boosté."
@@ -6027,8 +6244,15 @@ msgid "Strength of generated normalmaps."
msgstr "Force des normalmaps autogénérés."
#: src/settings_translation_file.cpp
-msgid "Strength of light curve mid-boost."
-msgstr "Force de la courbe de lumière mi-boost."
+#, fuzzy
+msgid ""
+"Strength of light curve boost.\n"
+"The 3 'boost' parameters define a range of the light\n"
+"curve that is boosted in brightness."
+msgstr ""
+"Force de la courbe de lumière boost.\n"
+"Les 3 paramètres 'boost' définissent une gamme de la lumière\n"
+"courbe qui est stimulée dans la luminosité."
#: src/settings_translation_file.cpp
msgid "Strength of parallax."
@@ -6151,6 +6375,20 @@ msgstr ""
"commence."
#: src/settings_translation_file.cpp
+msgid ""
+"The maximum height of the surface of waving liquids.\n"
+"4.0 = Wave height is two nodes.\n"
+"0.0 = Wave doesn't move at all.\n"
+"Default is 1.0 (1/2 node).\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+"La hauteur maximale de la surface des liquides ondulants.\n"
+"4.0 - La hauteur des vagues est de deux nœuds.\n"
+"0.0 - La vague ne bouge pas du tout.\n"
+"Par défaut est de 1,0 (1/2 nœud).\n"
+"Nécessite d’activer les liquides ondulants."
+
+#: src/settings_translation_file.cpp
msgid "The network interface that the server listens on."
msgstr "L'interface réseau que le serveur écoute."
@@ -6270,10 +6508,6 @@ msgstr ""
"collines et montagnes."
#: src/settings_translation_file.cpp
-msgid "This font will be used for certain languages."
-msgstr "Cette police sera utilisée pour certaines langues."
-
-#: src/settings_translation_file.cpp
msgid ""
"Time in seconds for item entity (dropped items) to live.\n"
"Setting it to -1 disables the feature."
@@ -6334,10 +6568,11 @@ msgid "Trilinear filtering"
msgstr "Filtrage trilinéaire"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
"True = 256\n"
"False = 128\n"
-"Useable to make minimap smoother on slower machines."
+"Usable to make minimap smoother on slower machines."
msgstr ""
"True = 256\n"
"False = 128\n"
@@ -6349,13 +6584,6 @@ msgid "Trusted mods"
msgstr "Mods sécurisés"
#: src/settings_translation_file.cpp
-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 flottantes."
-
-#: src/settings_translation_file.cpp
msgid "URL to the server list displayed in the Multiplayer Tab."
msgstr "URL de la liste des serveurs affichée dans l'onglet multijoueur."
@@ -6453,12 +6681,6 @@ msgid "Variation of biome filler depth."
msgstr "Variation de la profondeur du remplisseur de biome."
#: src/settings_translation_file.cpp
-msgid "Variation of hill height and lake depth on floatland smooth terrain."
-msgstr ""
-"Variation de la hauteur des collines et de la profondeur des lacs sur les "
-"terrains plats flottants."
-
-#: src/settings_translation_file.cpp
msgid "Variation of maximum mountain height (in nodes)."
msgstr "Variation de la hauteur maximale des montagnes (en blocs)."
@@ -6493,7 +6715,7 @@ msgstr "Contrôle l'élévation/hauteur des falaises."
#: src/settings_translation_file.cpp
msgid "Vertical climbing speed, in nodes per second."
-msgstr ""
+msgstr "Vitesse d’escalade verticale, en nœuds par seconde."
#: src/settings_translation_file.cpp
msgid "Vertical screen synchronization."
@@ -6536,6 +6758,15 @@ msgid "Volume"
msgstr "Volume du son"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid ""
+"Volume of all sounds.\n"
+"Requires the sound system to be enabled."
+msgstr ""
+"Active l'occlusion parallaxe.\n"
+"Nécessite les shaders pour être activé."
+
+#: 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"
@@ -6551,7 +6782,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Walking and flying speed, in nodes per second."
-msgstr ""
+msgstr "Vitesse de marche et de vol, en nœuds par seconde."
#: src/settings_translation_file.cpp
msgid "Walking speed"
@@ -6560,6 +6791,7 @@ msgstr "Vitesse de marche"
#: src/settings_translation_file.cpp
msgid "Walking, flying and climbing speed in fast mode, in nodes per second."
msgstr ""
+"Vitesse de marche, de vol et de montée en mode rapide, en nœuds par seconde."
#: src/settings_translation_file.cpp
msgid "Water level"
@@ -6578,29 +6810,30 @@ msgid "Waving leaves"
msgstr "Feuilles d'arbres mouvantes"
#: src/settings_translation_file.cpp
-msgid "Waving plants"
-msgstr "Plantes mouvantes"
-
-#: src/settings_translation_file.cpp
-msgid "Waving water"
-msgstr "Vagues"
+#, fuzzy
+msgid "Waving liquids"
+msgstr "Liquides ondulants"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wave height"
+msgid "Waving liquids wave height"
msgstr "Hauteur des vagues"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wave speed"
+msgid "Waving liquids wave speed"
msgstr "Vitesse de mouvement des liquides"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wavelength"
+msgid "Waving liquids wavelength"
msgstr "Durée du mouvement des liquides"
#: src/settings_translation_file.cpp
+msgid "Waving plants"
+msgstr "Plantes mouvantes"
+
+#: 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"
@@ -6652,8 +6885,11 @@ msgstr ""
"l'agrandissement des textures basé sur le monde."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Whether FreeType fonts are used, requires FreeType support to be compiled in."
+"Whether FreeType fonts are used, requires FreeType support to be compiled "
+"in.\n"
+"If disabled, bitmap and XML vectors fonts are used instead."
msgstr ""
"Détermine l'utilisation des polices Freetype. Nécessite une compilation avec "
"le support Freetype."
@@ -6687,6 +6923,21 @@ msgid "Whether to fog out the end of the visible area."
msgstr "Détermine la visibilité de la brume au bout de l'aire visible."
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid ""
+"Whether to mute sounds. You can unmute sounds at any time, unless the\n"
+"sound system is disabled (enable_sound=false).\n"
+"In-game, you can toggle the mute state with the mute key or by using the\n"
+"pause menu."
+msgstr ""
+"S'il faut mettre les sons en sourdine. Vous pouvez désactiver les sons à "
+"tout moment, sauf si le\n"
+"le système de sonorisation est désactivé (enable_sound=false).\n"
+"Dans le jeu, vous pouvez passer en mode silencieux avec la touche de mise en "
+"sourdine ou en utilisant la\n"
+"menu pause."
+
+#: src/settings_translation_file.cpp
msgid ""
"Whether to show the client debug info (has the same effect as hitting F5)."
msgstr ""
@@ -6777,10 +7028,6 @@ msgid "Y-level of cavern upper limit."
msgstr "Limite haute de génération des cavernes."
#: src/settings_translation_file.cpp
-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
msgid "Y-level of higher terrain that creates cliffs."
msgstr "Hauteur Y du plus haut terrain qui crée des falaises."
@@ -6793,10 +7040,6 @@ msgid "Y-level of seabed."
msgstr "Hauteur (Y) du fond marin."
#: src/settings_translation_file.cpp
-msgid "Y-level to which floatland shadows extend."
-msgstr "Hauteur (Y) auquel les ombres portées s’étendent."
-
-#: src/settings_translation_file.cpp
msgid "cURL file download timeout"
msgstr "Délais d'interruption de cURL lors d'un téléchargement de fichier"
@@ -6808,6 +7051,115 @@ msgstr "Limite parallèle de cURL"
msgid "cURL timeout"
msgstr "Délais d'interruption de cURL"
+#~ 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 ""
+#~ "Ajuster la correction gamma. Les valeurs plus basses sont plus claires.\n"
+#~ "Ce paramètre s'applique au client seulement et est ignoré par le serveur."
+
+#~ msgid "Alters how mountain-type floatlands taper above and below midpoint."
+#~ msgstr ""
+#~ "Modifie la façon dont les terres flottantes montagneuses s’effilent au-"
+#~ "dessus et au-dessous du point médian."
+
+#~ msgid "Center of light curve mid-boost."
+#~ msgstr "Milieu de la courbe de lumière mi-boost."
+
+#~ msgid ""
+#~ "Controls the density of mountain-type floatlands.\n"
+#~ "Is a noise offset added to the 'mgv7_np_mountain' noise value."
+#~ msgstr ""
+#~ "Contrôle la densité des terrains montagneux sur les terres flottantes.\n"
+#~ "C'est un décalage ajouté à la valeur du bruit 'mgv7_np_mountain'."
+
+#~ msgid "Controls width of tunnels, a smaller value creates wider tunnels."
+#~ msgstr ""
+#~ "Contrôle la largeur des tunnels, une valeur plus petite crée des tunnels "
+#~ "plus larges."
+
+#~ msgid "Darkness sharpness"
+#~ msgstr "Démarcation de l'obscurité"
+
+#~ msgid ""
+#~ "Defines areas of floatland smooth terrain.\n"
+#~ "Smooth floatlands occur when noise > 0."
+#~ msgstr ""
+#~ "Défini les zones de terrain plat flottant.\n"
+#~ "Des terrains plats flottants apparaissent lorsque le bruit > 0."
+
+#~ msgid "Enable VBO"
+#~ msgstr "Activer Vertex Buffer Object: objet tampon de vertex"
+
+#~ msgid "Enables filmic tone mapping"
+#~ msgstr "Autorise le mappage tonal cinématographique"
+
+#~ msgid "Floatland base height noise"
+#~ msgstr "Le bruit de hauteur de base des terres flottantes"
+
+#~ msgid "Floatland base noise"
+#~ msgstr "Le bruit de base des terres flottantes"
+
+#~ msgid "Floatland level"
+#~ msgstr "Hauteur des terrains flottants"
+
+#~ msgid "Floatland mountain density"
+#~ msgstr "Densité des montagnes flottantes"
+
+#~ msgid "Floatland mountain exponent"
+#~ msgstr "Densité des montagnes flottantes"
+
+#~ msgid "Floatland mountain height"
+#~ msgstr "Hauteur des montagnes flottantes"
+
+#~ msgid "Font shadow alpha (opaqueness, between 0 and 255)."
+#~ msgstr "Niveau d'opacité de l'ombre de la police (entre 0 et 255)."
+
+#~ msgid "Gamma"
+#~ msgstr "Gamma"
+
+#~ msgid "IPv6 support."
+#~ msgstr "Support IPv6."
+
+#~ msgid "Lava depth"
+#~ msgstr "Profondeur de lave"
+
+#~ msgid "Lightness sharpness"
+#~ msgstr "Démarcation de la luminosité"
+
+#~ msgid "Path to TrueTypeFont or bitmap."
+#~ msgstr "Chemin vers police TrueType ou Bitmap."
+
+#~ msgid "Shadow limit"
+#~ msgstr "Limite des ombres"
+
+#~ msgid "Strength of light curve mid-boost."
+#~ msgstr "Force de la courbe de lumière mi-boost."
+
+#~ msgid "This font will be used for certain languages."
+#~ msgstr "Cette police sera utilisée pour certaines langues."
+
+#~ 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 flottantes."
+
+#~ msgid "Variation of hill height and lake depth on floatland smooth terrain."
+#~ msgstr ""
+#~ "Variation de la hauteur des collines et de la profondeur des lacs sur les "
+#~ "terrains plats flottants."
+
+#~ msgid "Waving water"
+#~ msgstr "Vagues"
+
+#~ msgid "Y-level of floatland midpoint and lake surface."
+#~ msgstr "Hauteur (Y) du point de flottaison et de la surface des lacs."
+
+#~ msgid "Y-level to which floatland shadows extend."
+#~ msgstr "Hauteur (Y) auquel les ombres portées s’étendent."
+
#~ msgid "Projecting dungeons"
#~ msgstr "Projection des donjons"
diff --git a/po/he/minetest.po b/po/he/minetest.po
index 263c5d24a..9a4daa2c7 100644
--- a/po/he/minetest.po
+++ b/po/he/minetest.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Hebrew (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-10-09 22:02+0200\n"
+"POT-Creation-Date: 2020-04-03 23:18+0200\n"
"PO-Revision-Date: 2019-11-10 15:04+0000\n"
"Last-Translator: Krock <mk939@ymail.com>\n"
"Language-Team: Hebrew <https://hosted.weblate.org/projects/minetest/minetest/"
@@ -414,14 +414,25 @@ msgstr ""
msgid "Z spread"
msgstr ""
+#. ~ "absvalue" is a noise parameter flag.
+#. It is short for "absolute value".
+#. It can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "absvalue"
msgstr ""
+#. ~ "defaults" is a noise parameter flag.
+#. It describes the default processing options
+#. for noise settings in main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "defaults"
msgstr ""
+#. ~ "eased" is a noise parameter flag.
+#. It is used to make the map smoother and
+#. can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "eased"
msgstr ""
@@ -639,6 +650,7 @@ msgstr "ש×/סיסמה"
msgid "Ping"
msgstr ""
+#. ~ PvP = Player versus Player
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "PvP enabled"
msgstr "PvP ×פשר"
@@ -886,6 +898,14 @@ msgstr ""
msgid "Provided world path doesn't exist: "
msgstr ""
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string. Put either "no" or "yes"
+#. into the translation field (literally).
+#. Choose "yes" if the language requires use of the fallback
+#. font, "no" otherwise.
+#. The fallback font is (normally) required for languages with
+#. non-Latin script, like Chinese.
+#. When in doubt, test your translation.
#: src/client/fontengine.cpp
msgid "needs_fallback_font"
msgstr "yes"
@@ -925,6 +945,7 @@ msgstr "פורט"
msgid "- Public: "
msgstr "ציבורי"
+#. ~ PvP = Player versus Player
#: src/client/game.cpp
msgid "- PvP: "
msgstr ""
@@ -1353,6 +1374,7 @@ msgstr ""
msgid "Left Windows"
msgstr ""
+#. ~ Key name, common on Windows keyboards
#: src/client/keycode.cpp
msgid "Menu"
msgstr ""
@@ -1445,6 +1467,7 @@ msgstr ""
msgid "Play"
msgstr "שחק"
+#. ~ "Print screen" key
#: src/client/keycode.cpp
msgid "Print"
msgstr ""
@@ -1481,6 +1504,7 @@ msgstr ""
msgid "Scroll Lock"
msgstr ""
+#. ~ Key name
#: src/client/keycode.cpp
msgid "Select"
msgstr ""
@@ -1715,11 +1739,16 @@ msgstr ""
msgid "Sound Volume: "
msgstr ""
+#. ~ Imperative, as in "Enter/type in text".
+#. Don't forget the space.
#: src/gui/modalMenu.cpp
msgid "Enter "
msgstr ""
-#: src/network/clientpackethandler.cpp
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string which needs to contain the translation's
+#. language code (e.g. "de" for German).
+#: src/network/clientpackethandler.cpp src/script/lua_api/l_client.cpp
msgid "LANG_CODE"
msgstr "he"
@@ -1742,7 +1771,7 @@ msgid ""
"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"
+"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."
@@ -1905,18 +1934,16 @@ msgid ""
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."
+msgid ""
+"Alters the light curve by applying 'gamma correction' to it.\n"
+"Higher values make middle and lower light levels brighter.\n"
+"Value '1.0' leaves the light curve unaltered.\n"
+"This only has significant effect on daylight and artificial\n"
+"light, it has very little effect on natural night light."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2065,6 +2092,22 @@ msgid "Block send optimize distance"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Bold and italic font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bold and italic monospace font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bold font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bold monospace font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Build inside player"
msgstr ""
@@ -2078,8 +2121,8 @@ 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"
+"Camera 'near clipping plane' distance in nodes, between 0 and 0.25\n"
+"Only works on GLES platforms. 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 ""
@@ -2141,7 +2184,9 @@ msgid "Cavern upper limit"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Center of light curve mid-boost."
+msgid ""
+"Center of light curve boost range.\n"
+"Where 0.0 is minimum light level, 1.0 is maximum light level."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2338,12 +2383,9 @@ 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."
+"Controls width of tunnels, a smaller value creates wider tunnels.\n"
+"Value >= 10.0 completely disables generation of tunnels and avoids the\n"
+"intensive noise calculations."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2380,10 +2422,6 @@ msgid "Damage"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Darkness sharpness"
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Debug info toggle key"
msgstr ""
@@ -2400,7 +2438,7 @@ msgid "Dec. volume key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Decrease this to increase liquid resistence to movement."
+msgid "Decrease this to increase liquid resistance to movement."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2440,12 +2478,6 @@ msgid ""
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 ""
@@ -2522,12 +2554,6 @@ 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 ""
@@ -2602,14 +2628,15 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Enable Lua modding support on client.\n"
-"This support is experimental and API can change."
+"Enable IPv6 support (for both client and server).\n"
+"Required for IPv6 connections to work at all."
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
-msgid "Enable VBO"
-msgstr "×פשר בכל"
+msgid ""
+"Enable Lua modding support on client.\n"
+"This support is experimental and API can change."
+msgstr ""
#: src/settings_translation_file.cpp
msgid "Enable console window"
@@ -2674,6 +2701,12 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Enable vertex buffer objects.\n"
+"This should greatly improve graphics performance."
+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 ""
@@ -2681,7 +2714,16 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Enable/disable running an IPv6 server.\n"
-"Ignored if bind_address is set."
+"Ignored if bind_address is set.\n"
+"Needs enable_ipv6 to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Enables Hable's 'Uncharted 2' filmic tone mapping.\n"
+"Simulates the tone curve of photographic film and how this approximates the\n"
+"appearance of high dynamic range images. Mid-range contrast is slightly\n"
+"enhanced, highlights and shadows are gradually compressed."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2701,10 +2743,6 @@ 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 ""
@@ -2721,6 +2759,14 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Enables the sound system.\n"
+"If disabled, this completely disables all sounds everywhere and the in-game\n"
+"sound controls will be non-functional.\n"
+"Changing this setting requires a restart."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Engine profiling data print interval"
msgstr ""
@@ -2751,7 +2797,7 @@ msgid "Fall bobbing factor"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Fallback font"
+msgid "Fallback font path"
msgstr ""
#: src/settings_translation_file.cpp
@@ -2844,30 +2890,6 @@ 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 ""
@@ -2888,7 +2910,11 @@ msgid "Fog toggle key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font path"
+msgid "Font bold by default"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font italic by default"
msgstr ""
#: src/settings_translation_file.cpp
@@ -2900,15 +2926,19 @@ msgid "Font shadow alpha"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font shadow alpha (opaqueness, between 0 and 255)."
+msgid "Font size"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font shadow offset, if 0 then shadow will not be drawn."
+msgid "Font size of the default font in point (pt)."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font size"
+msgid "Font size of the fallback font in point (pt)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font size of the monospace font in point (pt)."
msgstr ""
#: src/settings_translation_file.cpp
@@ -3019,10 +3049,6 @@ msgid "GUI scaling filter txr2img"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gamma"
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Generate normalmaps"
msgstr ""
@@ -3038,11 +3064,15 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at maximum light level."
+msgid ""
+"Gradient of light curve at maximum light level.\n"
+"Controls the contrast of the highest light levels."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at minimum light level."
+msgid ""
+"Gradient of light curve at minimum light level.\n"
+"Controls the contrast of the lowest light levels."
msgstr ""
#: src/settings_translation_file.cpp
@@ -3076,7 +3106,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Handling for deprecated lua api calls:\n"
+"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)."
@@ -3303,6 +3333,13 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"How fast liquid waves will move. Higher = faster.\n"
+"If negative, liquid waves will move backwards.\n"
+"Requires waving liquids to be enabled."
+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 ""
@@ -3332,10 +3369,6 @@ 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."
@@ -3510,6 +3543,14 @@ msgid "Invert vertical mouse movement."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Italic font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Italic monospace font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Item entity TTL"
msgstr ""
@@ -4105,11 +4146,19 @@ msgid "Large cave depth"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Large chat console key"
+msgid "Large cave maximum number"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Lava depth"
+msgid "Large cave minimum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large cave proportion flooded"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large chat console key"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4136,6 +4185,12 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Length of liquid waves.\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Length of time between Active Block Modifier (ABM) execution cycles"
msgstr ""
@@ -4160,19 +4215,27 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost"
+msgid "Light curve boost"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost center"
+msgid "Light curve boost center"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost spread"
+msgid "Light curve boost spread"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Lightness sharpness"
+msgid "Light curve gamma"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve high gradient"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve low gradient"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4278,25 +4341,25 @@ 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."
+"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 flat.\n"
+"Map generation attributes specific to Mapgen Fractal.\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."
+"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
@@ -4452,8 +4515,16 @@ msgid "Maximum hotbar width"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of large caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
-"Maximum liquid resistence. Controls deceleration when entering liquid at\n"
+"Maximum liquid resistance. Controls deceleration when entering liquid at\n"
"high speed."
msgstr ""
@@ -4574,6 +4645,14 @@ msgid "Minimap scan height"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of large caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Minimum texture size"
msgstr ""
@@ -4660,7 +4739,7 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Near clipping plane"
+msgid "Near plane"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4747,6 +4826,16 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Opaqueness (alpha) of the shadow behind the default font, between 0 and 255."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Opaqueness (alpha) of the shadow behind the fallback font, between 0 and 255."
+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."
@@ -4785,7 +4874,12 @@ msgid "Parallax occlusion strength"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Path to TrueTypeFont or bitmap."
+msgid ""
+"Path of the fallback font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font will be used for certain languages or if the default font is "
+"unavailable."
msgstr ""
#: src/settings_translation_file.cpp
@@ -4803,6 +4897,22 @@ msgid "Path to texture directory. All textures are first searched from here."
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Path to the default font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"The fallback font will be used if the font cannot be loaded."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Path to the monospace font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font is used for e.g. the console and profiler screen."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Pause on lost window focus"
msgstr ""
@@ -4875,6 +4985,10 @@ msgid "Profiling"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Proportion of large caves that contain liquid."
+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 "
@@ -4898,6 +5012,10 @@ msgid "Recent Chat Messages"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Regular font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Remote media"
msgstr ""
@@ -5088,24 +5206,24 @@ 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."
+"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
@@ -5156,19 +5274,19 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving leaves.\n"
+"Set to true to enable waving leaves.\n"
"Requires shaders to be enabled."
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving plants.\n"
+"Set to true to enable waving liquids (like water).\n"
"Requires shaders to be enabled."
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving water.\n"
+"Set to true to enable waving plants.\n"
"Requires shaders to be enabled."
msgstr ""
@@ -5185,7 +5303,15 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Shadow limit"
+msgid ""
+"Shadow offset (in pixels) of the default font. If 0, then shadow will not be "
+"drawn."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not "
+"be drawn."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5230,6 +5356,14 @@ msgid "Slope and fill work together to modify the heights."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Small cave maximum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Small cave minimum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Small-scale humidity variation for blending biomes on borders."
msgstr ""
@@ -5289,8 +5423,9 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Spread of light curve mid-boost.\n"
-"Standard deviation of the mid-boost gaussian."
+"Spread of light curve boost range.\n"
+"Controls the width of the range to be boosted.\n"
+"Standard deviation of the light curve boost Gaussian."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5314,7 +5449,10 @@ msgid "Strength of generated normalmaps."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Strength of light curve mid-boost."
+msgid ""
+"Strength of light curve boost.\n"
+"The 3 'boost' parameters define a range of the light\n"
+"curve that is boosted in brightness."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5417,6 +5555,15 @@ msgid "The length in pixels it takes for touch screen interaction to start."
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"The maximum height of the surface of waving liquids.\n"
+"4.0 = Wave height is two nodes.\n"
+"0.0 = Wave doesn't move at all.\n"
+"Default is 1.0 (1/2 node).\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "The network interface that the server listens on."
msgstr ""
@@ -5497,10 +5644,6 @@ 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."
@@ -5554,7 +5697,7 @@ msgstr ""
msgid ""
"True = 256\n"
"False = 128\n"
-"Useable to make minimap smoother on slower machines."
+"Usable to make minimap smoother on slower machines."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5562,11 +5705,6 @@ 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 ""
@@ -5651,10 +5789,6 @@ 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 ""
@@ -5728,6 +5862,12 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Volume of all sounds.\n"
+"Requires the sound system to be enabled."
+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"
@@ -5764,23 +5904,23 @@ msgid "Waving leaves"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving plants"
+msgid "Waving liquids"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water"
+msgid "Waving liquids wave height"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water wave height"
+msgid "Waving liquids wave speed"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water wave speed"
+msgid "Waving liquids wavelength"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water wavelength"
+msgid "Waving plants"
msgstr ""
#: src/settings_translation_file.cpp
@@ -5813,7 +5953,9 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Whether FreeType fonts are used, requires FreeType support to be compiled in."
+"Whether FreeType fonts are used, requires FreeType support to be compiled "
+"in.\n"
+"If disabled, bitmap and XML vectors fonts are used instead."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5842,6 +5984,14 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Whether to mute sounds. You can unmute sounds at any time, unless the\n"
+"sound system is disabled (enable_sound=false).\n"
+"In-game, you can toggle the mute state with the mute key or by using the\n"
+"pause menu."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
"Whether to show the client debug info (has the same effect as hitting F5)."
msgstr ""
@@ -5912,10 +6062,6 @@ 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 ""
@@ -5928,10 +6074,6 @@ 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 ""
@@ -5942,3 +6084,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "cURL timeout"
msgstr ""
+
+#, fuzzy
+#~ msgid "Enable VBO"
+#~ msgstr "×פשר בכל"
diff --git a/po/hu/minetest.po b/po/hu/minetest.po
index 5d481929f..c1c724e2c 100644
--- a/po/hu/minetest.po
+++ b/po/hu/minetest.po
@@ -2,9 +2,9 @@ msgid ""
msgstr ""
"Project-Id-Version: Hungarian (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-10-09 22:02+0200\n"
-"PO-Revision-Date: 2019-12-16 22:21+0000\n"
-"Last-Translator: Ãcs Zoltán <acszoltan111@gmail.com>\n"
+"POT-Creation-Date: 2020-04-03 23:18+0200\n"
+"PO-Revision-Date: 2020-04-03 20:24+0000\n"
+"Last-Translator: sfan5 <sfan5@live.de>\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.10-dev\n"
+"X-Generator: Weblate 4.0-dev\n"
#: builtin/client/death_formspec.lua src/client/game.cpp
msgid "Respawn"
@@ -37,7 +37,7 @@ msgstr "Főmenü"
#: builtin/fstk/ui.lua
msgid "Ok"
-msgstr "OK"
+msgstr "Ok"
#: builtin/fstk/ui.lua
msgid "Reconnect"
@@ -106,7 +106,7 @@ msgstr "Összes engedélyezése"
#: builtin/mainmenu/dlg_config_world.lua
msgid "Enable modpack"
-msgstr "Modok engedélyezése"
+msgstr "Modcsomag engedélyezése"
#: builtin/mainmenu/dlg_config_world.lua
msgid ""
@@ -127,7 +127,7 @@ 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."
+msgstr "Nincs elérhető játékleírás."
#: builtin/mainmenu/dlg_config_world.lua
#, fuzzy
@@ -136,7 +136,7 @@ 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."
+msgstr "Nincs elérhető modcsomag-leírás."
#: builtin/mainmenu/dlg_config_world.lua
#, fuzzy
@@ -200,7 +200,7 @@ msgstr "A csomagok nem nyerhetők vissza"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "No results"
-msgstr "Nincs eredmény"
+msgstr "Nincs találat"
#: builtin/mainmenu/dlg_contentstore.lua
#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua
@@ -240,6 +240,7 @@ msgid "Game"
msgstr "Játék"
#: builtin/mainmenu/dlg_create_world.lua src/settings_translation_file.cpp
+#, fuzzy
msgid "Mapgen"
msgstr "Térkép-előállítás"
@@ -250,7 +251,7 @@ msgstr "Nincs játékmód kiválasztva"
#: builtin/mainmenu/dlg_create_world.lua
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Seed"
-msgstr "Seed"
+msgstr "Kezdőérték"
#: builtin/mainmenu/dlg_create_world.lua
msgid "Warning: The minimal development test is meant for developers."
@@ -293,14 +294,14 @@ msgstr "Elfogadás"
#: builtin/mainmenu/dlg_rename_modpack.lua
msgid "Rename Modpack:"
-msgstr "Modpakk átnevezése:"
+msgstr "Modcsomag átnevezése:"
#: 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 ""
-"Ennek a modpack-nek a neve a a modpack.conf fájlban meghatározott, ami "
+"Ennek a modcsomagnak a neve a a modpack.conf fájlban meghatározott, ami "
"felülír minden itteni átnevezést."
#: builtin/mainmenu/dlg_settings_advanced.lua
@@ -309,11 +310,11 @@ msgstr "(Nincs megadva leírás a beállításhoz)"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "2D Noise"
-msgstr "2D Barlang zaj"
+msgstr "2D zaj"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "< Back to Settings page"
-msgstr "< Vissza a Beállítások oldalra"
+msgstr "< Vissza a Beállításokra"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Browse"
@@ -390,7 +391,7 @@ msgstr "X"
#: builtin/mainmenu/dlg_settings_advanced.lua
#, fuzzy
msgid "X spread"
-msgstr "x méret"
+msgstr "X méret"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Y"
@@ -399,7 +400,7 @@ msgstr "Y"
#: builtin/mainmenu/dlg_settings_advanced.lua
#, fuzzy
msgid "Y spread"
-msgstr "y méret"
+msgstr "Y méret"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Z"
@@ -410,15 +411,26 @@ msgstr "Z"
msgid "Z spread"
msgstr "Z méret"
+#. ~ "absvalue" is a noise parameter flag.
+#. It is short for "absolute value".
+#. It can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
#, fuzzy
msgid "absvalue"
msgstr "abszolút érték"
+#. ~ "defaults" is a noise parameter flag.
+#. It describes the default processing options
+#. for noise settings in main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "defaults"
-msgstr "Alapértelmezettek"
+msgstr "alapértelmezések"
+#. ~ "eased" is a noise parameter flag.
+#. It is used to make the map smoother and
+#. can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "eased"
msgstr "könyített"
@@ -437,12 +449,12 @@ msgstr "$1 telepítése meghiúsult ide: $2"
#: builtin/mainmenu/pkgmgr.lua
msgid "Install Mod: Unable to find real mod name for: $1"
-msgstr "Mód telepítése: nem található valódi mód név ehhez: $1"
+msgstr "Mod telepítése: nem található valódi mod név ehhez: $1"
#: builtin/mainmenu/pkgmgr.lua
msgid "Install Mod: Unable to find suitable folder name for modpack $1"
msgstr ""
-"Mód telepítése: nem található megfelelő mappanév ehhez a módcsomaghoz: $1"
+"Mod telepítése: nem található megfelelő mappanév ehhez a modcsomaghoz: $1"
#: builtin/mainmenu/pkgmgr.lua
msgid "Install: Unsupported file type \"$1\" or broken archive"
@@ -450,43 +462,43 @@ msgstr "Telepítés: nem támogatott „$1†fájltípus, vagy sérült archív
#: builtin/mainmenu/pkgmgr.lua
msgid "Install: file: \"$1\""
-msgstr "Telepítés: fájl: „$1â€"
+msgstr "Telepítés: fájl: \"$1\""
#: builtin/mainmenu/pkgmgr.lua
msgid "Unable to find a valid mod or modpack"
-msgstr "nem valós mod, mod csomag"
+msgstr "Nem található érvényes mod, modcsomag"
#: builtin/mainmenu/pkgmgr.lua
msgid "Unable to install a $1 as a texture pack"
-msgstr "$1 telepítése meghiúsult mint textúra csomag"
+msgstr "$1 telepítése meghiúsult mint textúracsomag"
#: builtin/mainmenu/pkgmgr.lua
msgid "Unable to install a game as a $1"
-msgstr "$1 játék telepítése meghiúsult"
+msgstr "$1 aljáték telepítése meghiúsult"
#: builtin/mainmenu/pkgmgr.lua
msgid "Unable to install a mod as a $1"
-msgstr "$1 MOD telepítése meghiúsult"
+msgstr "$1 mod telepítése meghiúsult"
#: builtin/mainmenu/pkgmgr.lua
msgid "Unable to install a modpack as a $1"
-msgstr "$1 mod csomag telepítése meghiúsult"
+msgstr "$1 modcsomag telepítése meghiúsult"
#: builtin/mainmenu/tab_content.lua
msgid "Browse online content"
-msgstr "online tartalmak böngészése"
+msgstr "Online tartalmak böngészése"
#: builtin/mainmenu/tab_content.lua
msgid "Content"
-msgstr "tartalom"
+msgstr "Tartalom"
#: builtin/mainmenu/tab_content.lua
msgid "Disable Texture Pack"
-msgstr "Textúrapakk kikapcsolása"
+msgstr "Textúracsomag kikapcsolása"
#: builtin/mainmenu/tab_content.lua
msgid "Information:"
-msgstr "információk:"
+msgstr "információ:"
#: builtin/mainmenu/tab_content.lua
msgid "Installed Packages:"
@@ -510,7 +522,7 @@ msgstr "Csomag eltávolítása"
#: builtin/mainmenu/tab_content.lua
msgid "Use Texture Pack"
-msgstr "Textúra pakk használata"
+msgstr "Textúracsomag használata"
#: builtin/mainmenu/tab_credits.lua
msgid "Active Contributors"
@@ -538,7 +550,7 @@ msgstr "Kiszolgáló nyilvánossá tétele"
#: builtin/mainmenu/tab_local.lua
msgid "Bind Address"
-msgstr "Csatolási cím"
+msgstr "Cím csatolása"
#: builtin/mainmenu/tab_local.lua
msgid "Configure"
@@ -628,6 +640,7 @@ msgstr "Név / Jelszó"
msgid "Ping"
msgstr "Ping"
+#. ~ PvP = Player versus Player
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "PvP enabled"
msgstr "PvP engedélyezve"
@@ -650,7 +663,7 @@ msgstr "8x"
#: builtin/mainmenu/tab_settings.lua
msgid "All Settings"
-msgstr "Minden beállítás"
+msgstr "Összes beállítás"
#: builtin/mainmenu/tab_settings.lua
msgid "Antialiasing:"
@@ -694,7 +707,7 @@ msgstr "Mipmap effekt"
#: builtin/mainmenu/tab_settings.lua
msgid "Mipmap + Aniso. Filter"
-msgstr "Mipmap + Anizotropikus szűrés"
+msgstr "Mipmap + Anizotróp szűrés"
#: builtin/mainmenu/tab_settings.lua
msgid "No"
@@ -714,7 +727,7 @@ msgstr "Blokk kiemelés"
#: builtin/mainmenu/tab_settings.lua
msgid "Node Outlining"
-msgstr "Node körvonalazás"
+msgstr "Körvonal"
#: builtin/mainmenu/tab_settings.lua
msgid "None"
@@ -730,7 +743,7 @@ msgstr "Ãtlátszatlan víz"
#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp
msgid "Parallax Occlusion"
-msgstr "Parallax Occlusion ( dombor textúra )"
+msgstr "Parallax Occlusion ( domború textúra )"
#: builtin/mainmenu/tab_settings.lua
msgid "Particles"
@@ -750,11 +763,11 @@ msgstr "Beállítások"
#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp
msgid "Shaders"
-msgstr "Shaderek"
+msgstr "Ãrnyalók"
#: builtin/mainmenu/tab_settings.lua
msgid "Shaders (unavailable)"
-msgstr "Shéderek ( nem elérhetö)"
+msgstr "Ãrnyalók ( nem elérhetÅ‘)"
#: builtin/mainmenu/tab_settings.lua
msgid "Simple Leaves"
@@ -770,7 +783,7 @@ msgstr "Textúrázás:"
#: builtin/mainmenu/tab_settings.lua
msgid "To enable shaders the OpenGL driver needs to be used."
-msgstr "A shaderek engedélyezéséhez OpenGL driver használata szükséges."
+msgstr "Az árnyalók engedélyezéséhez OpenGL driver használata szükséges."
#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp
msgid "Tone Mapping"
@@ -835,7 +848,7 @@ msgstr "Textúrák betöltése…"
#: src/client/client.cpp
msgid "Rebuilding shaders..."
-msgstr "Shaderek újraépítése…"
+msgstr "Ãrnyalók újraépítése…"
#: src/client/clientlauncher.cpp
msgid "Connection error (timed out?)"
@@ -843,11 +856,11 @@ msgstr "Kapcsolódási hiba (időtúllépés?)"
#: src/client/clientlauncher.cpp
msgid "Could not find or load game \""
-msgstr "Nem található vagy nem betölthető a(z) \" játék"
+msgstr "Nem található vagy nem betölthető a játék"
#: src/client/clientlauncher.cpp
msgid "Invalid gamespec."
-msgstr "Érvénytelen játékmeghatározás"
+msgstr "Érvénytelen játékmeghatározás."
#: src/client/clientlauncher.cpp
msgid "Main Menu"
@@ -867,15 +880,23 @@ msgstr "Válassz egy nevet!"
#: src/client/clientlauncher.cpp
msgid "Provided password file failed to open: "
-msgstr "jelszó file megnyitás hiba "
+msgstr "jelszó fájl megnyitás hiba "
#: src/client/clientlauncher.cpp
msgid "Provided world path doesn't exist: "
msgstr "A megadott útvonalon nem létezik világ: "
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string. Put either "no" or "yes"
+#. into the translation field (literally).
+#. Choose "yes" if the language requires use of the fallback
+#. font, "no" otherwise.
+#. The fallback font is (normally) required for languages with
+#. non-Latin script, like Chinese.
+#. When in doubt, test your translation.
#: src/client/fontengine.cpp
msgid "needs_fallback_font"
-msgstr "yes"
+msgstr "no"
#: src/client/game.cpp
msgid ""
@@ -909,6 +930,7 @@ msgstr "- Port: "
msgid "- Public: "
msgstr "- Nyilvános: "
+#. ~ PvP = Player versus Player
#: src/client/game.cpp
msgid "- PvP: "
msgstr "- PvP: "
@@ -919,7 +941,7 @@ msgstr "- Kiszolgáló neve: "
#: src/client/game.cpp
msgid "Automatic forward disabled"
-msgstr "automata elöre kikapcsolva"
+msgstr "Automata előre kikapcsolva"
#: src/client/game.cpp
#, fuzzy
@@ -928,23 +950,23 @@ msgstr "automata elöre engedélyezve"
#: src/client/game.cpp
msgid "Camera update disabled"
-msgstr "kamera frissités KI"
+msgstr "kamera frissítés kikapcsolva"
#: src/client/game.cpp
msgid "Camera update enabled"
-msgstr "Kamera frissítés BE"
+msgstr "Kamera frissítés bekapcsolva"
#: src/client/game.cpp
msgid "Change Password"
-msgstr "Jelszó változtatás"
+msgstr "Jelszóváltoztatás"
#: src/client/game.cpp
msgid "Cinematic mode disabled"
-msgstr "Film mód KI"
+msgstr "Film mód kikapcsolva"
#: src/client/game.cpp
msgid "Cinematic mode enabled"
-msgstr "Film mód BE"
+msgstr "Film mód bekapcsolva"
#: src/client/game.cpp
msgid "Client side scripting is disabled"
@@ -1362,6 +1384,7 @@ msgstr "Bal Shift"
msgid "Left Windows"
msgstr "Bal Windows"
+#. ~ Key name, common on Windows keyboards
#: src/client/keycode.cpp
msgid "Menu"
msgstr "Menü"
@@ -1454,6 +1477,7 @@ msgstr "Szünet"
msgid "Play"
msgstr "Játék"
+#. ~ "Print screen" key
#: src/client/keycode.cpp
msgid "Print"
msgstr "Nyomtatás"
@@ -1490,6 +1514,7 @@ msgstr "Jobb Windows"
msgid "Scroll Lock"
msgstr "Scroll Lock"
+#. ~ Key name
#: src/client/keycode.cpp
msgid "Select"
msgstr "Kiválasztás"
@@ -1725,17 +1750,22 @@ msgstr "Kilépés"
#: src/gui/guiVolumeChange.cpp
msgid "Muted"
-msgstr "némitva"
+msgstr "Némitva"
#: src/gui/guiVolumeChange.cpp
msgid "Sound Volume: "
msgstr "Hangerő: "
+#. ~ Imperative, as in "Enter/type in text".
+#. Don't forget the space.
#: src/gui/modalMenu.cpp
msgid "Enter "
msgstr "Belépés "
-#: src/network/clientpackethandler.cpp
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string which needs to contain the translation's
+#. language code (e.g. "de" for German).
+#: src/network/clientpackethandler.cpp src/script/lua_api/l_client.cpp
msgid "LANG_CODE"
msgstr "hu"
@@ -1765,7 +1795,7 @@ msgid ""
"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"
+"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."
@@ -1963,20 +1993,16 @@ msgstr ""
"képernyőkhöz."
#: 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 ""
-"Gamma kódolás beállítása a fényhez. Alacsonyabb számok - nagyobb fényerő.\n"
-"Ez a beállítás csak a kliensre érvényes, a szerver nem veszi figyelembe."
-
-#: src/settings_translation_file.cpp
msgid "Advanced"
msgstr "Haladó"
#: src/settings_translation_file.cpp
-msgid "Alters how mountain-type floatlands taper above and below midpoint."
+msgid ""
+"Alters the light curve by applying 'gamma correction' to it.\n"
+"Higher values make middle and lower light levels brighter.\n"
+"Value '1.0' leaves the light curve unaltered.\n"
+"This only has significant effect on daylight and artificial\n"
+"light, it has very little effect on natural night light."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2146,6 +2172,26 @@ msgid "Block send optimize distance"
msgstr "Max blokk generálási távolság"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Bold and italic font path"
+msgstr "Monospace betűtípus útvonal"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Bold and italic monospace font path"
+msgstr "Monospace betűtípus útvonal"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Bold font path"
+msgstr "Betűtípus helye"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Bold monospace font path"
+msgstr "Monospace betűtípus útvonal"
+
+#: src/settings_translation_file.cpp
msgid "Build inside player"
msgstr "Építés játékos helyére"
@@ -2159,8 +2205,8 @@ msgstr "Bumpmappolás"
#: 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"
+"Camera 'near clipping plane' distance in nodes, between 0 and 0.25\n"
+"Only works on GLES platforms. 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 ""
@@ -2222,7 +2268,9 @@ msgid "Cavern upper limit"
msgstr "Barlang felső korlát"
#: src/settings_translation_file.cpp
-msgid "Center of light curve mid-boost."
+msgid ""
+"Center of light curve boost range.\n"
+"Where 0.0 is minimum light level, 1.0 is maximum light level."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2236,8 +2284,8 @@ msgid ""
"necessary for smaller screens."
msgstr ""
"Megváltoztatja a főmenü felhasználói felületét:\n"
-"- Teljes: Több egyjátékos világ, játékválasztás, textúracsomag-választó stb."
-"\n"
+"- Teljes: Több egyjátékos világ, játékválasztás, textúracsomag-választó "
+"stb.\n"
"- Egyszerű: Egy egyjátékos világ, nincs játék- vagy textúracsomag-választó.\n"
"Szükséges lehet a kisebb képernyőkhöz."
@@ -2246,8 +2294,9 @@ msgid "Chat key"
msgstr "Csevegés gomb"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Chat message count limit"
-msgstr ""
+msgstr "Chat üzenetek maximális száma"
#: src/settings_translation_file.cpp
#, fuzzy
@@ -2436,19 +2485,11 @@ msgid "Controls steepness/height of hills."
msgstr "A dombok meredekségét/magasságát állítja."
#: 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."
+"Controls width of tunnels, a smaller value creates wider tunnels.\n"
+"Value >= 10.0 completely disables generation of tunnels and avoids the\n"
+"intensive noise calculations."
msgstr ""
-"A lebegő szigetek hegységeinek sűrűségét szabályozza.\n"
-"Az \"np_mountain\" zaj értékéhez hozzáadott eltolás."
-
-#: src/settings_translation_file.cpp
-msgid "Controls width of tunnels, a smaller value creates wider tunnels."
-msgstr ""
-"A járatok szélességét határozza meg, alacsonyabb érték szélesebb járatokat "
-"hoz létre."
#: src/settings_translation_file.cpp
msgid "Crash message"
@@ -2483,10 +2524,6 @@ msgid "Damage"
msgstr "Sérülés"
#: src/settings_translation_file.cpp
-msgid "Darkness sharpness"
-msgstr "a sötétség élessége"
-
-#: src/settings_translation_file.cpp
msgid "Debug info toggle key"
msgstr "Hibakereső infó váltás gomb"
@@ -2505,7 +2542,7 @@ msgstr "Hangerő csökk. gomb"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Decrease this to increase liquid resistence to movement."
+msgid "Decrease this to increase liquid resistance to movement."
msgstr "Csökkentse ezt a folyadék mozgásállóságának növelése érdekében."
#: src/settings_translation_file.cpp
@@ -2549,14 +2586,6 @@ msgstr ""
"Csak akkor van hatása, ha a program cURL-lel lett lefordítva."
#: src/settings_translation_file.cpp
-msgid ""
-"Defines areas of floatland smooth terrain.\n"
-"Smooth floatlands occur when noise > 0."
-msgstr ""
-"A lebegő szigetek sima területeit határozza meg.\n"
-"Lapos szigetek ott fordulnak elő, ahol a zaj értéke pozitív."
-
-#: src/settings_translation_file.cpp
msgid "Defines areas where trees have apples."
msgstr "Azokat a területeket adja meg, ahol a fák almát teremnek."
@@ -2649,12 +2678,6 @@ 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."
@@ -2739,6 +2762,12 @@ msgstr "Barlang zaj"
#: src/settings_translation_file.cpp
msgid ""
+"Enable IPv6 support (for both client and server).\n"
+"Required for IPv6 connections to work at all."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
"Enable Lua modding support on client.\n"
"This support is experimental and API can change."
msgstr ""
@@ -2746,10 +2775,6 @@ msgstr ""
"Ez a támogatás még kísérleti fázisban van, így az API változhat."
#: src/settings_translation_file.cpp
-msgid "Enable VBO"
-msgstr "VBO engedélyez"
-
-#: src/settings_translation_file.cpp
msgid "Enable console window"
msgstr "Konzolablak engedélyezése"
@@ -2830,6 +2855,12 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Enable vertex buffer objects.\n"
+"This should greatly improve graphics performance."
+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 ""
@@ -2840,7 +2871,8 @@ msgstr ""
#, fuzzy
msgid ""
"Enable/disable running an IPv6 server.\n"
-"Ignored if bind_address is set."
+"Ignored if bind_address is set.\n"
+"Needs enable_ipv6 to be enabled."
msgstr ""
"IPv6 szerver futtatásának engedélyezése/letiltása. Egy IPv6 szerver "
"lehetséges, hogy\n"
@@ -2848,6 +2880,14 @@ msgstr ""
"Nincs figyelembe véve, ha bind_address van beállítva."
#: src/settings_translation_file.cpp
+msgid ""
+"Enables Hable's 'Uncharted 2' filmic tone mapping.\n"
+"Simulates the tone curve of photographic film and how this approximates the\n"
+"appearance of high dynamic range images. Mid-range contrast is slightly\n"
+"enhanced, highlights and shadows are gradually compressed."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Enables animation of inventory items."
msgstr "Az eszköztár elemeinek animációjának engedélyezése."
@@ -2865,10 +2905,6 @@ msgid "Enables caching of facedir rotated meshes."
msgstr "Engedélyezi az elforgatott rácsvonalak gyorsítótárazását."
#: src/settings_translation_file.cpp
-msgid "Enables filmic tone mapping"
-msgstr "filmes tónus effektek bekapcsolása"
-
-#: src/settings_translation_file.cpp
msgid "Enables minimap."
msgstr "Minitérkép engedélyezése."
@@ -2887,6 +2923,14 @@ msgstr ""
"A shaderek engedélyezve kell legyenek."
#: src/settings_translation_file.cpp
+msgid ""
+"Enables the sound system.\n"
+"If disabled, this completely disables all sounds everywhere and the in-game\n"
+"sound controls will be non-functional.\n"
+"Changing this setting requires a restart."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Engine profiling data print interval"
msgstr ""
@@ -2921,7 +2965,8 @@ msgid "Fall bobbing factor"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Fallback font"
+#, fuzzy
+msgid "Fallback font path"
msgstr "Tartalék betűtípus"
#: src/settings_translation_file.cpp
@@ -3022,34 +3067,6 @@ msgid "Fixed virtual joystick"
msgstr "Rögzített virtuális joystick"
#: src/settings_translation_file.cpp
-#, fuzzy
-msgid "Floatland base height noise"
-msgstr "A lebegő hegyek alapmagassága"
-
-#: src/settings_translation_file.cpp
-#, fuzzy
-msgid "Floatland base noise"
-msgstr "A lebegő hegyek alapzaja"
-
-#: src/settings_translation_file.cpp
-msgid "Floatland level"
-msgstr "Lebegő föld szintje"
-
-#: src/settings_translation_file.cpp
-#, fuzzy
-msgid "Floatland mountain density"
-msgstr "Lebegő hegyek sűrűsége"
-
-#: src/settings_translation_file.cpp
-msgid "Floatland mountain exponent"
-msgstr ""
-
-#: src/settings_translation_file.cpp
-#, fuzzy
-msgid "Floatland mountain height"
-msgstr "Lebegő hegyek magassága"
-
-#: src/settings_translation_file.cpp
msgid "Fly key"
msgstr "Repülés gomb"
@@ -3070,8 +3087,12 @@ msgid "Fog toggle key"
msgstr "Köd váltás gomb"
#: src/settings_translation_file.cpp
-msgid "Font path"
-msgstr "Betűtípus helye"
+msgid "Font bold by default"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font italic by default"
+msgstr ""
#: src/settings_translation_file.cpp
msgid "Font shadow"
@@ -3082,16 +3103,20 @@ msgid "Font shadow alpha"
msgstr "Betűtípus árnyék alfa"
#: src/settings_translation_file.cpp
-msgid "Font shadow alpha (opaqueness, between 0 and 255)."
-msgstr "Betűtípus árnyék alfa (átlátszatlanság, 0 és 255 között)."
+msgid "Font size"
+msgstr "Betűtípus mérete"
#: src/settings_translation_file.cpp
-msgid "Font shadow offset, if 0 then shadow will not be drawn."
-msgstr "Betűtípus árnyék eltolás, ha 0, akkor nem lesz árnyék rajzolva."
+msgid "Font size of the default font in point (pt)."
+msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font size"
-msgstr "Betűtípus mérete"
+msgid "Font size of the fallback font in point (pt)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font size of the monospace font in point (pt)."
+msgstr ""
#: src/settings_translation_file.cpp
#, fuzzy
@@ -3218,10 +3243,6 @@ msgid "GUI scaling filter txr2img"
msgstr "Felhasználói felület méretarány szűrő txr2img"
#: src/settings_translation_file.cpp
-msgid "Gamma"
-msgstr "Gamma"
-
-#: src/settings_translation_file.cpp
msgid "Generate normalmaps"
msgstr "Normálfelületek generálása"
@@ -3246,11 +3267,15 @@ msgstr ""
"Flags starting with \"no\" are used to explicitly disable them."
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at maximum light level."
+msgid ""
+"Gradient of light curve at maximum light level.\n"
+"Controls the contrast of the highest light levels."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at minimum light level."
+msgid ""
+"Gradient of light curve at minimum light level.\n"
+"Controls the contrast of the lowest light levels."
msgstr ""
#: src/settings_translation_file.cpp
@@ -3287,7 +3312,7 @@ msgstr "HUD váltás gomb"
#: src/settings_translation_file.cpp
#, fuzzy
msgid ""
-"Handling for deprecated lua api calls:\n"
+"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)."
@@ -3533,6 +3558,13 @@ msgstr "Milyen mélyek legyenek a folyók"
#: src/settings_translation_file.cpp
msgid ""
+"How fast liquid waves will move. Higher = faster.\n"
+"If negative, liquid waves will move backwards.\n"
+"Requires waving liquids to be enabled."
+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 ""
@@ -3568,10 +3600,6 @@ msgid "IPv6 server"
msgstr "IPv6 szerver"
#: src/settings_translation_file.cpp
-msgid "IPv6 support."
-msgstr "IPv6 támogatás."
-
-#: 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."
@@ -3776,6 +3804,16 @@ msgstr "Függőleges egérmozgás invertálása."
#: src/settings_translation_file.cpp
#, fuzzy
+msgid "Italic font path"
+msgstr "Monospace betűtípus útvonal"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Italic monospace font path"
+msgstr "Monospace betűtípus útvonal"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Item entity TTL"
msgstr "Elem entitás TTL"
@@ -4655,14 +4693,21 @@ msgid "Large cave depth"
msgstr "Nagy barlang mélység"
#: src/settings_translation_file.cpp
-#, fuzzy
-msgid "Large chat console key"
-msgstr "Konzol gomb"
+msgid "Large cave maximum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large cave minimum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large cave proportion flooded"
+msgstr ""
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Lava depth"
-msgstr "Nagy barlang mélység"
+msgid "Large chat console key"
+msgstr "Konzol gomb"
#: src/settings_translation_file.cpp
msgid "Leaves style"
@@ -4694,6 +4739,15 @@ msgstr ""
#: src/settings_translation_file.cpp
#, fuzzy
+msgid ""
+"Length of liquid waves.\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+"A \"true\" beállítás engedélyezi a levelek hullámzását.\n"
+"A shaderek engedélyezése szükséges hozzá."
+
+#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Length of time between Active Block Modifier (ABM) execution cycles"
msgstr "Az Aktív Blokk módosító (ABM) végrehajtási ciklusok közötti időtartam"
@@ -4727,21 +4781,28 @@ msgstr ""
"-fecsegő"
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost"
+msgid "Light curve boost"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost center"
+msgid "Light curve boost center"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost spread"
+msgid "Light curve boost spread"
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
-msgid "Lightness sharpness"
-msgstr "Fényélesség"
+msgid "Light curve gamma"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve high gradient"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve low gradient"
+msgstr ""
#: src/settings_translation_file.cpp
msgid "Limit of emerge queues on disk"
@@ -4855,21 +4916,10 @@ 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
#, fuzzy
msgid ""
-"Map generation attributes specific to Mapgen flat.\n"
-"'terrain' enables the generation of non-fractal terrain:\n"
-"ocean, islands and underground."
+"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"
"Esetenkénti tavak és dombok generálása a lapos világba.\n"
@@ -4882,8 +4932,9 @@ msgstr ""
#: 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."
+"Map generation attributes specific to Mapgen Fractal.\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"
@@ -4894,6 +4945,16 @@ msgstr ""
"Flags starting with \"no\" are used to explicitly disable them."
#: 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 v5."
msgstr ""
@@ -5068,8 +5129,16 @@ msgid "Maximum hotbar width"
msgstr "Maximum hotbar szélesség"
#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of large caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
-"Maximum liquid resistence. Controls deceleration when entering liquid at\n"
+"Maximum liquid resistance. Controls deceleration when entering liquid at\n"
"high speed."
msgstr ""
@@ -5205,6 +5274,15 @@ msgstr "Minitérkép letapogatási magasság"
#: src/settings_translation_file.cpp
#, fuzzy
+msgid "Minimum limit of random number of large caves per mapchunk."
+msgstr "3D-s zaj, amely meghatározza a tömlöcök számát egy mapchunkonként."
+
+#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Minimum texture size"
msgstr "Minimum textúra méret a szűrőknek"
@@ -5299,7 +5377,7 @@ msgstr ""
"csatlakoznak."
#: src/settings_translation_file.cpp
-msgid "Near clipping plane"
+msgid "Near plane"
msgstr ""
#: src/settings_translation_file.cpp
@@ -5386,6 +5464,16 @@ msgstr "folyadékok NEM átlátszók"
#: src/settings_translation_file.cpp
msgid ""
+"Opaqueness (alpha) of the shadow behind the default font, between 0 and 255."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Opaqueness (alpha) of the shadow behind the fallback font, between 0 and 255."
+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."
@@ -5424,8 +5512,13 @@ msgid "Parallax occlusion strength"
msgstr "Parallax Occlusion hatás ereje"
#: src/settings_translation_file.cpp
-msgid "Path to TrueTypeFont or bitmap."
-msgstr "A TrueType betűtípus (ttf) vagy bitmap útvonala."
+msgid ""
+"Path of the fallback font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font will be used for certain languages or if the default font is "
+"unavailable."
+msgstr ""
#: src/settings_translation_file.cpp
msgid "Path to save screenshots at."
@@ -5442,6 +5535,22 @@ msgid "Path to texture directory. All textures are first searched from here."
msgstr "Textúra mappa útvonala. Először minden textúrát itt keres a játék."
#: src/settings_translation_file.cpp
+msgid ""
+"Path to the default font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"The fallback font will be used if the font cannot be loaded."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Path to the monospace font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font is used for e.g. the console and profiler screen."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Pause on lost window focus"
msgstr ""
@@ -5522,6 +5631,10 @@ msgid "Profiling"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Proportion of large caves that contain liquid."
+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 "
@@ -5546,6 +5659,11 @@ msgid "Recent Chat Messages"
msgstr ""
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Regular font path"
+msgstr "Betűtípus helye"
+
+#: src/settings_translation_file.cpp
msgid "Remote media"
msgstr "Távoli média"
@@ -5755,24 +5873,24 @@ msgstr "Kijelölő doboz szélesség"
#, fuzzy
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."
+"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 ""
"18 fraktál választható, 9 formulából.\n"
"1 = 4D \"Gömbölyded\" Mandelbrot-halmaz.\n"
@@ -5843,27 +5961,30 @@ msgid "Set the maximum character length of a chat message sent by clients."
msgstr ""
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Set to true enables waving leaves.\n"
+"Set to true to enable waving leaves.\n"
"Requires shaders to be enabled."
msgstr ""
"A \"true\" beállítás engedélyezi a levelek hullámzását.\n"
"A shaderek engedélyezése szükséges hozzá."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Set to true enables waving plants.\n"
+"Set to true to enable waving liquids (like water).\n"
"Requires shaders to be enabled."
msgstr ""
-"A \"true\" beállítás engedélyezi a növények hullámzását.\n"
+"A \"true\" beállítás engedélyezi a víz hullámzását.\n"
"A shaderek engedélyezése szükséges hozzá."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Set to true enables waving water.\n"
+"Set to true to enable waving plants.\n"
"Requires shaders to be enabled."
msgstr ""
-"A \"true\" beállítás engedélyezi a víz hullámzását.\n"
+"A \"true\" beállítás engedélyezi a növények hullámzását.\n"
"A shaderek engedélyezése szükséges hozzá."
#: src/settings_translation_file.cpp
@@ -5885,8 +6006,17 @@ msgstr ""
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Shadow limit"
-msgstr "Térképblokk korlát"
+msgid ""
+"Shadow offset (in pixels) of the default font. If 0, then shadow will not be "
+"drawn."
+msgstr "Betűtípus árnyék eltolás, ha 0, akkor nem lesz árnyék rajzolva."
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid ""
+"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not "
+"be drawn."
+msgstr "Betűtípus árnyék eltolás, ha 0, akkor nem lesz árnyék rajzolva."
#: src/settings_translation_file.cpp
msgid "Shape of the minimap. Enabled = round, disabled = square."
@@ -5932,6 +6062,14 @@ msgid "Slope and fill work together to modify the heights."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Small cave maximum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Small cave minimum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Small-scale humidity variation for blending biomes on borders."
msgstr ""
@@ -5998,8 +6136,9 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Spread of light curve mid-boost.\n"
-"Standard deviation of the mid-boost gaussian."
+"Spread of light curve boost range.\n"
+"Controls the width of the range to be boosted.\n"
+"Standard deviation of the light curve boost Gaussian."
msgstr ""
#: src/settings_translation_file.cpp
@@ -6024,7 +6163,10 @@ msgid "Strength of generated normalmaps."
msgstr "Generált normálfelületek erőssége."
#: src/settings_translation_file.cpp
-msgid "Strength of light curve mid-boost."
+msgid ""
+"Strength of light curve boost.\n"
+"The 3 'boost' parameters define a range of the light\n"
+"curve that is boosted in brightness."
msgstr ""
#: src/settings_translation_file.cpp
@@ -6132,6 +6274,15 @@ msgid "The length in pixels it takes for touch screen interaction to start."
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"The maximum height of the surface of waving liquids.\n"
+"4.0 = Wave height is two nodes.\n"
+"0.0 = Wave doesn't move at all.\n"
+"Default is 1.0 (1/2 node).\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "The network interface that the server listens on."
msgstr ""
@@ -6221,10 +6372,6 @@ 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 "Ezt a betűtípust bizonyos nyelvek használják."
-
-#: src/settings_translation_file.cpp
msgid ""
"Time in seconds for item entity (dropped items) to live.\n"
"Setting it to -1 disables the feature."
@@ -6282,10 +6429,11 @@ msgid "Trilinear filtering"
msgstr "Tri-lineáris szűrés"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
"True = 256\n"
"False = 128\n"
-"Useable to make minimap smoother on slower machines."
+"Usable to make minimap smoother on slower machines."
msgstr ""
"True = 256\n"
"False = 128\n"
@@ -6296,11 +6444,6 @@ msgid "Trusted mods"
msgstr "Megbízható modok"
#: 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 "A Többjátékos fül alatt megjelenített szerverlista URL-je."
@@ -6390,10 +6533,6 @@ 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 ""
@@ -6470,6 +6609,15 @@ msgid "Volume"
msgstr "Hangerő"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid ""
+"Volume of all sounds.\n"
+"Requires the sound system to be enabled."
+msgstr ""
+"Parallax occlusion mapping bekapcsolása.\n"
+"A shaderek engedélyezve kell legyenek."
+
+#: 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"
@@ -6507,29 +6655,30 @@ msgid "Waving leaves"
msgstr "Hullámzó levelek"
#: src/settings_translation_file.cpp
-msgid "Waving plants"
-msgstr "Hullámzó növények"
-
-#: src/settings_translation_file.cpp
-msgid "Waving water"
-msgstr "Hullámzó víz"
+#, fuzzy
+msgid "Waving liquids"
+msgstr "Hullámzó folyadékok"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wave height"
+msgid "Waving liquids wave height"
msgstr "Hullámzó víz magassága"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wave speed"
+msgid "Waving liquids wave speed"
msgstr "Hullámzó víz sebessége"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wavelength"
+msgid "Waving liquids wavelength"
msgstr "Hullámzó víz szélessége"
#: src/settings_translation_file.cpp
+msgid "Waving plants"
+msgstr "Hullámzó növények"
+
+#: 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"
@@ -6560,7 +6709,9 @@ msgstr ""
#: src/settings_translation_file.cpp
#, fuzzy
msgid ""
-"Whether FreeType fonts are used, requires FreeType support to be compiled in."
+"Whether FreeType fonts are used, requires FreeType support to be compiled "
+"in.\n"
+"If disabled, bitmap and XML vectors fonts are used instead."
msgstr ""
"Használatban vannak-e freetype betűtípusok. Szükséges a beépített freetype "
"támogatás."
@@ -6593,6 +6744,14 @@ msgstr "A látható terület vége el legyen-e ködösítve."
#: src/settings_translation_file.cpp
msgid ""
+"Whether to mute sounds. You can unmute sounds at any time, unless the\n"
+"sound system is disabled (enable_sound=false).\n"
+"In-game, you can toggle the mute state with the mute key or by using the\n"
+"pause menu."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
"Whether to show the client debug info (has the same effect as hitting F5)."
msgstr "A hibakereső infó mutatása (ugyanaz a hatás, ha F5-öt nyomunk)."
@@ -6667,10 +6826,6 @@ 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 ""
@@ -6683,10 +6838,6 @@ 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 "cURL fájlletöltés időkorlátja"
@@ -6698,6 +6849,93 @@ msgstr "cURL párhuzamossági korlát"
msgid "cURL timeout"
msgstr "cURL időkorlátja"
+#~ 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 ""
+#~ "Gamma kódolás beállítása a fényhez. Alacsonyabb számok - nagyobb "
+#~ "fényerő.\n"
+#~ "Ez a beállítás csak a kliensre érvényes, a szerver nem veszi figyelembe."
+
+#, fuzzy
+#~ msgid ""
+#~ "Controls the density of mountain-type floatlands.\n"
+#~ "Is a noise offset added to the 'mgv7_np_mountain' noise value."
+#~ msgstr ""
+#~ "A lebegő szigetek hegységeinek sűrűségét szabályozza.\n"
+#~ "Az \"np_mountain\" zaj értékéhez hozzáadott eltolás."
+
+#~ msgid "Controls width of tunnels, a smaller value creates wider tunnels."
+#~ msgstr ""
+#~ "A járatok szélességét határozza meg, alacsonyabb érték szélesebb "
+#~ "járatokat hoz létre."
+
+#~ msgid "Darkness sharpness"
+#~ msgstr "a sötétség élessége"
+
+#~ msgid ""
+#~ "Defines areas of floatland smooth terrain.\n"
+#~ "Smooth floatlands occur when noise > 0."
+#~ msgstr ""
+#~ "A lebegő szigetek sima területeit határozza meg.\n"
+#~ "Lapos szigetek ott fordulnak elő, ahol a zaj értéke pozitív."
+
+#~ msgid "Enable VBO"
+#~ msgstr "VBO engedélyez"
+
+#~ msgid "Enables filmic tone mapping"
+#~ msgstr "filmes tónus effektek bekapcsolása"
+
+#, fuzzy
+#~ msgid "Floatland base height noise"
+#~ msgstr "A lebegő hegyek alapmagassága"
+
+#, fuzzy
+#~ msgid "Floatland base noise"
+#~ msgstr "A lebegő hegyek alapzaja"
+
+#~ msgid "Floatland level"
+#~ msgstr "Lebegő föld szintje"
+
+#, fuzzy
+#~ msgid "Floatland mountain density"
+#~ msgstr "Lebegő hegyek sűrűsége"
+
+#, fuzzy
+#~ msgid "Floatland mountain height"
+#~ msgstr "Lebegő hegyek magassága"
+
+#~ msgid "Font shadow alpha (opaqueness, between 0 and 255)."
+#~ msgstr "Betűtípus árnyék alfa (átlátszatlanság, 0 és 255 között)."
+
+#~ msgid "Gamma"
+#~ msgstr "Gamma"
+
+#~ msgid "IPv6 support."
+#~ msgstr "IPv6 támogatás."
+
+#, fuzzy
+#~ msgid "Lava depth"
+#~ msgstr "Nagy barlang mélység"
+
+#, fuzzy
+#~ msgid "Lightness sharpness"
+#~ msgstr "Fényélesség"
+
+#~ msgid "Path to TrueTypeFont or bitmap."
+#~ msgstr "A TrueType betűtípus (ttf) vagy bitmap útvonala."
+
+#, fuzzy
+#~ msgid "Shadow limit"
+#~ msgstr "Térképblokk korlát"
+
+#~ msgid "This font will be used for certain languages."
+#~ msgstr "Ezt a betűtípust bizonyos nyelvek használják."
+
+#~ msgid "Waving water"
+#~ msgstr "Hullámzó víz"
+
#~ msgid "Waving Water"
#~ msgstr "Hullámzó víz"
diff --git a/po/id/minetest.po b/po/id/minetest.po
index ac21a69cf..e97885c11 100644
--- a/po/id/minetest.po
+++ b/po/id/minetest.po
@@ -2,9 +2,9 @@ msgid ""
msgstr ""
"Project-Id-Version: Indonesian (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-10-09 22:02+0200\n"
-"PO-Revision-Date: 2020-01-06 03:21+0000\n"
-"Last-Translator: Dhimas Wnz <dhi.mas26wnz@gmail.com>\n"
+"POT-Creation-Date: 2020-04-03 23:18+0200\n"
+"PO-Revision-Date: 2020-04-03 20:24+0000\n"
+"Last-Translator: Allan Nordhøy <epost@anotheragency.no>\n"
"Language-Team: Indonesian <https://hosted.weblate.org/projects/minetest/"
"minetest/id/>\n"
"Language: id\n"
@@ -12,7 +12,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 3.10\n"
+"X-Generator: Weblate 4.0-dev\n"
#: builtin/client/death_formspec.lua src/client/game.cpp
msgid "Respawn"
@@ -400,14 +400,25 @@ msgstr "Z"
msgid "Z spread"
msgstr "Persebaran Z"
+#. ~ "absvalue" is a noise parameter flag.
+#. It is short for "absolute value".
+#. It can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "absvalue"
msgstr "Nilai mutlak"
+#. ~ "defaults" is a noise parameter flag.
+#. It describes the default processing options
+#. for noise settings in main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "defaults"
msgstr "bawaan"
+#. ~ "eased" is a noise parameter flag.
+#. It is used to make the map smoother and
+#. can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "eased"
msgstr "kehalusan (eased)"
@@ -618,6 +629,7 @@ msgstr "Nama/Kata sandi"
msgid "Ping"
msgstr "Ping"
+#. ~ PvP = Player versus Player
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "PvP enabled"
msgstr "PvP dinyalakan"
@@ -862,6 +874,14 @@ msgstr "Berkas kata sandi yang diberikan gagal dibuka: "
msgid "Provided world path doesn't exist: "
msgstr "Jalur dunia yang diberikan tidak ada: "
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string. Put either "no" or "yes"
+#. into the translation field (literally).
+#. Choose "yes" if the language requires use of the fallback
+#. font, "no" otherwise.
+#. The fallback font is (normally) required for languages with
+#. non-Latin script, like Chinese.
+#. When in doubt, test your translation.
#: src/client/fontengine.cpp
msgid "needs_fallback_font"
msgstr "no"
@@ -898,6 +918,7 @@ msgstr "- Porta: "
msgid "- Public: "
msgstr "- Publik: "
+#. ~ PvP = Player versus Player
#: src/client/game.cpp
msgid "- PvP: "
msgstr "- PvP: "
@@ -1348,6 +1369,7 @@ msgstr "Shift Kiri"
msgid "Left Windows"
msgstr "Windows Kiri"
+#. ~ Key name, common on Windows keyboards
#: src/client/keycode.cpp
msgid "Menu"
msgstr "Menu"
@@ -1440,6 +1462,7 @@ msgstr "Pause"
msgid "Play"
msgstr "Play"
+#. ~ "Print screen" key
#: src/client/keycode.cpp
msgid "Print"
msgstr "Print"
@@ -1476,6 +1499,7 @@ msgstr "Windows Kanan"
msgid "Scroll Lock"
msgstr "Scroll Lock"
+#. ~ Key name
#: src/client/keycode.cpp
msgid "Select"
msgstr "Select"
@@ -1525,7 +1549,7 @@ msgid "Register and Join"
msgstr "Daftar dan gabung"
#: src/gui/guiConfirmRegistration.cpp
-#, c-format
+#, 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 "
@@ -1533,9 +1557,9 @@ msgid ""
"Please retype your password and click 'Register and Join' to confirm account "
"creation, or click 'Cancel' to abort."
msgstr ""
-"Anda akan bergabung dengan server %1$s dengan nama \"%2$s\" untuk pertama "
-"kalinya. Jika Anda melanjutkan, akun baru yang telah Anda isikan akan dibuat "
-"pada server ini.\n"
+"Anda akan bergabung dengan server dengan nama \"%s\" untuk pertama kalinya. "
+"Jika Anda melanjutkan, akun baru yang telah Anda isikan akan dibuat pada "
+"server ini.\n"
"Silakan ketik ulang kata sandi Anda dan klik Daftar dan gabung untuk "
"mengonfirmasi pembuatan akun atau klik Batal untuk membatalkan."
@@ -1718,11 +1742,16 @@ msgstr "Dibisukan"
msgid "Sound Volume: "
msgstr "Volume suara: "
+#. ~ Imperative, as in "Enter/type in text".
+#. Don't forget the space.
#: src/gui/modalMenu.cpp
msgid "Enter "
msgstr "Masuk "
-#: src/network/clientpackethandler.cpp
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string which needs to contain the translation's
+#. language code (e.g. "de" for German).
+#: src/network/clientpackethandler.cpp src/script/lua_api/l_client.cpp
msgid "LANG_CODE"
msgstr "id"
@@ -1746,12 +1775,13 @@ msgstr ""
"berada di luar lingkaran utama."
#: 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"
"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"
+"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."
@@ -1954,23 +1984,17 @@ msgstr ""
"layar 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 ""
-"Sesuaikan pengodean gamma untuk tabel cahaya.\n"
-"Angka yang lebih tinggi lebih terang.\n"
-"Pengaturan ini untuk klien saja dan diabaikan oleh peladen."
-
-#: src/settings_translation_file.cpp
msgid "Advanced"
msgstr "Lanjutan"
#: src/settings_translation_file.cpp
-msgid "Alters how mountain-type floatlands taper above and below midpoint."
+msgid ""
+"Alters the light curve by applying 'gamma correction' to it.\n"
+"Higher values make middle and lower light levels brighter.\n"
+"Value '1.0' leaves the light curve unaltered.\n"
+"This only has significant effect on daylight and artificial\n"
+"light, it has very little effect on natural night light."
msgstr ""
-"Ubah cara gunung floatland meramping di atas dan di bawah titik tengah."
#: src/settings_translation_file.cpp
msgid "Altitude chill"
@@ -2127,6 +2151,26 @@ msgid "Block send optimize distance"
msgstr "Jarak optimasi pengiriman blok"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Bold and italic font path"
+msgstr "Jalur fon monospace"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Bold and italic monospace font path"
+msgstr "Jalur fon monospace"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Bold font path"
+msgstr "Jalur fon"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Bold monospace font path"
+msgstr "Jalur fon monospace"
+
+#: src/settings_translation_file.cpp
msgid "Build inside player"
msgstr "Bangun di dalam pemain"
@@ -2141,8 +2185,8 @@ 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"
+"Camera 'near clipping plane' distance in nodes, between 0 and 0.25\n"
+"Only works on GLES platforms. 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 ""
@@ -2208,8 +2252,10 @@ msgid "Cavern upper limit"
msgstr "Batas atas gua besar"
#: src/settings_translation_file.cpp
-msgid "Center of light curve mid-boost."
-msgstr "Titik tengah penguatan tengah kurva cahaya."
+msgid ""
+"Center of light curve boost range.\n"
+"Where 0.0 is minimum light level, 1.0 is maximum light level."
+msgstr ""
#: src/settings_translation_file.cpp
msgid ""
@@ -2428,15 +2474,10 @@ msgstr "Mengatur kecuraman/ketinggian bukit."
#: 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."
+"Controls width of tunnels, a smaller value creates wider tunnels.\n"
+"Value >= 10.0 completely disables generation of tunnels and avoids the\n"
+"intensive noise calculations."
msgstr ""
-"Atur kepadatan floatland berbentuk gunung.\n"
-"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."
-msgstr "Mengatur lebar terowongan, nilai lebih kecil terowongan semakin lebar."
#: src/settings_translation_file.cpp
msgid "Crash message"
@@ -2471,10 +2512,6 @@ msgid "Damage"
msgstr "Kerusakan"
#: src/settings_translation_file.cpp
-msgid "Darkness sharpness"
-msgstr "Kecuraman kegelapan"
-
-#: src/settings_translation_file.cpp
msgid "Debug info toggle key"
msgstr "Tombol info awakutu"
@@ -2492,7 +2529,7 @@ msgid "Dec. volume key"
msgstr "Tombol turunkan volume"
#: src/settings_translation_file.cpp
-msgid "Decrease this to increase liquid resistence to movement."
+msgid "Decrease this to increase liquid resistance to movement."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2536,14 +2573,6 @@ msgstr ""
"Hanya berlaku jika dikompilasi dengan cURL."
#: src/settings_translation_file.cpp
-msgid ""
-"Defines areas of floatland smooth terrain.\n"
-"Smooth floatlands occur when noise > 0."
-msgstr ""
-"Mengatur daerah dari medan halus floatland.\n"
-"Floatland halus muncul saat noise > 0."
-
-#: src/settings_translation_file.cpp
msgid "Defines areas where trees have apples."
msgstr "Menetapkan daerah tempat pohon punya apel."
@@ -2631,12 +2660,6 @@ 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."
@@ -2716,6 +2739,12 @@ msgstr "Y minimum dungeon"
#: src/settings_translation_file.cpp
msgid ""
+"Enable IPv6 support (for both client and server).\n"
+"Required for IPv6 connections to work at all."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
"Enable Lua modding support on client.\n"
"This support is experimental and API can change."
msgstr ""
@@ -2723,10 +2752,6 @@ msgstr ""
"Dukungan ini masih tahap percobaan dan API dapat berubah."
#: src/settings_translation_file.cpp
-msgid "Enable VBO"
-msgstr "Gunakan VBO"
-
-#: src/settings_translation_file.cpp
msgid "Enable console window"
msgstr "Gunakan jendela konsol"
@@ -2802,6 +2827,12 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Enable vertex buffer objects.\n"
+"This should greatly improve graphics performance."
+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 ""
@@ -2809,14 +2840,24 @@ msgstr ""
"Misalkan: 0 untuk tanpa view bobbing; 1.0 untuk normal; 2.0 untuk 2x lipat."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
"Enable/disable running an IPv6 server.\n"
-"Ignored if bind_address is set."
+"Ignored if bind_address is set.\n"
+"Needs enable_ipv6 to be enabled."
msgstr ""
"Nyalakan/matikan peladen IPv6.\n"
"Diabaikan jika bind_address telah diatur."
#: src/settings_translation_file.cpp
+msgid ""
+"Enables Hable's 'Uncharted 2' filmic tone mapping.\n"
+"Simulates the tone curve of photographic film and how this approximates the\n"
+"appearance of high dynamic range images. Mid-range contrast is slightly\n"
+"enhanced, highlights and shadows are gradually compressed."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Enables animation of inventory items."
msgstr "Jalankan animasi barang inventaris."
@@ -2836,10 +2877,6 @@ msgid "Enables caching of facedir rotated meshes."
msgstr "Gunakan tembolok untuk facedir mesh yang diputar."
#: src/settings_translation_file.cpp
-msgid "Enables filmic tone mapping"
-msgstr "Gunakan pemetaan suasana (tone mapping) filmis"
-
-#: src/settings_translation_file.cpp
msgid "Enables minimap."
msgstr "Gunakan peta mini."
@@ -2860,6 +2897,14 @@ msgstr ""
"Membutuhkan penggunaan shader."
#: src/settings_translation_file.cpp
+msgid ""
+"Enables the sound system.\n"
+"If disabled, this completely disables all sounds everywhere and the in-game\n"
+"sound controls will be non-functional.\n"
+"Changing this setting requires a restart."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Engine profiling data print interval"
msgstr "Jarak pencetakan data profiling mesin"
@@ -2892,7 +2937,8 @@ msgid "Fall bobbing factor"
msgstr "Faktor fall bobbing"
#: src/settings_translation_file.cpp
-msgid "Fallback font"
+#, fuzzy
+msgid "Fallback font path"
msgstr "Fon cadangan"
#: src/settings_translation_file.cpp
@@ -2993,30 +3039,6 @@ msgid "Fixed virtual joystick"
msgstr "Joystick virtual tetap"
#: src/settings_translation_file.cpp
-msgid "Floatland base height noise"
-msgstr "Noise ketinggian dasar floatland"
-
-#: src/settings_translation_file.cpp
-msgid "Floatland base noise"
-msgstr "Noise dasar floatland"
-
-#: src/settings_translation_file.cpp
-msgid "Floatland level"
-msgstr "Ketinggian floatland"
-
-#: src/settings_translation_file.cpp
-msgid "Floatland mountain density"
-msgstr "Kepadatan gunung floatland"
-
-#: src/settings_translation_file.cpp
-msgid "Floatland mountain exponent"
-msgstr "Pangkat gunung floatland"
-
-#: src/settings_translation_file.cpp
-msgid "Floatland mountain height"
-msgstr "Ketinggian gunung floatland"
-
-#: src/settings_translation_file.cpp
msgid "Fly key"
msgstr "Tombol terbang"
@@ -3037,8 +3059,12 @@ msgid "Fog toggle key"
msgstr "Tombol beralih kabut"
#: src/settings_translation_file.cpp
-msgid "Font path"
-msgstr "Jalur fon"
+msgid "Font bold by default"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font italic by default"
+msgstr ""
#: src/settings_translation_file.cpp
msgid "Font shadow"
@@ -3049,16 +3075,20 @@ msgid "Font shadow alpha"
msgstr "Keburaman bayangan fon"
#: src/settings_translation_file.cpp
-msgid "Font shadow alpha (opaqueness, between 0 and 255)."
-msgstr "Keburaman bayangan fon (keopakan, dari 0 sampai 255)."
+msgid "Font size"
+msgstr "Ukuran fon"
#: src/settings_translation_file.cpp
-msgid "Font shadow offset, if 0 then shadow will not be drawn."
-msgstr "Pergeseran bayangan fon, jika 0, bayangan tidak akan digambar."
+msgid "Font size of the default font in point (pt)."
+msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font size"
-msgstr "Ukuran fon"
+msgid "Font size of the fallback font in point (pt)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font size of the monospace font in point (pt)."
+msgstr ""
#: src/settings_translation_file.cpp
msgid ""
@@ -3176,10 +3206,6 @@ msgid "GUI scaling filter txr2img"
msgstr "Filter txr2img skala GUI"
#: src/settings_translation_file.cpp
-msgid "Gamma"
-msgstr "Gamma"
-
-#: src/settings_translation_file.cpp
msgid "Generate normalmaps"
msgstr "Buat normalmap"
@@ -3199,11 +3225,17 @@ msgstr ""
"semua dekorasi."
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at maximum light level."
+#, fuzzy
+msgid ""
+"Gradient of light curve at maximum light level.\n"
+"Controls the contrast of the highest light levels."
msgstr "Kemiringan kurva cahaya di titik maksimum."
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at minimum light level."
+#, fuzzy
+msgid ""
+"Gradient of light curve at minimum light level.\n"
+"Controls the contrast of the lowest light levels."
msgstr "Kemiringan kurva cahaya di titik minimum."
#: src/settings_translation_file.cpp
@@ -3235,8 +3267,9 @@ msgid "HUD toggle key"
msgstr "Tombol beralih HUD"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Handling for deprecated lua api calls:\n"
+"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)."
@@ -3473,6 +3506,13 @@ msgstr "Kedalaman sungai yang dibuat."
#: src/settings_translation_file.cpp
msgid ""
+"How fast liquid waves will move. Higher = faster.\n"
+"If negative, liquid waves will move backwards.\n"
+"Requires waving liquids to be enabled."
+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 ""
@@ -3505,10 +3545,6 @@ msgid "IPv6 server"
msgstr "Peladen IPv6"
#: src/settings_translation_file.cpp
-msgid "IPv6 support."
-msgstr "Dukungan IPv6."
-
-#: 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."
@@ -3722,6 +3758,16 @@ msgid "Invert vertical mouse movement."
msgstr "Balik pergerakan vertikal tetikus."
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Italic font path"
+msgstr "Jalur fon monospace"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Italic monospace font path"
+msgstr "Jalur fon monospace"
+
+#: src/settings_translation_file.cpp
msgid "Item entity TTL"
msgstr "Umur hidup wujud barang"
@@ -4549,12 +4595,20 @@ msgid "Large cave depth"
msgstr "Kedalaman gua besar"
#: src/settings_translation_file.cpp
-msgid "Large chat console key"
-msgstr "Tombol konsol obrolan besar"
+msgid "Large cave maximum number"
+msgstr ""
#: src/settings_translation_file.cpp
-msgid "Lava depth"
-msgstr "Kedalaman lava"
+msgid "Large cave minimum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large cave proportion flooded"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large chat console key"
+msgstr "Tombol konsol obrolan besar"
#: src/settings_translation_file.cpp
msgid "Leaves style"
@@ -4588,6 +4642,15 @@ msgstr ""
"ke jaringan."
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid ""
+"Length of liquid waves.\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+"Atur ke true untuk menyalakan daun melambai.\n"
+"Membutuhkan penggunaan shader."
+
+#: src/settings_translation_file.cpp
msgid "Length of time between Active Block Modifier (ABM) execution cycles"
msgstr "Jarak waktu antarsiklus pelaksanaan Pengubah Blok Aktif (ABM)"
@@ -4620,20 +4683,34 @@ msgstr ""
"- verbose"
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost"
+#, fuzzy
+msgid "Light curve boost"
msgstr "Penguatan tengah kurva cahaya"
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost center"
+#, fuzzy
+msgid "Light curve boost center"
msgstr "Titik tengah penguatan tengah kurva cahaya"
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost spread"
+#, fuzzy
+msgid "Light curve boost spread"
msgstr "Persebaran penguatan tengah kurva cahaya"
#: src/settings_translation_file.cpp
-msgid "Lightness sharpness"
-msgstr "Kecuraman keterangan"
+#, fuzzy
+msgid "Light curve gamma"
+msgstr "Penguatan tengah kurva cahaya"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Light curve high gradient"
+msgstr "Penguatan tengah kurva cahaya"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Light curve low gradient"
+msgstr "Titik tengah penguatan tengah kurva cahaya"
#: src/settings_translation_file.cpp
msgid "Limit of emerge queues on disk"
@@ -4751,25 +4828,18 @@ msgid "Map generation attributes specific to Mapgen Carpathian."
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"
-"'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."
+"Map generation attributes specific to Mapgen Flat.\n"
+"Occasional lakes and hills can be added to the flat world."
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"
-"sungai menjadi lebih dangkal dan terkadang kering.\n"
-"\"altitude_dry\": Mengurangi kelembapan seiring ketinggian."
+"Atribut pembuatan peta khusus untuk pembuat peta flat.\n"
+"Beberapa danau dan bukit dapat ditambahkan ke dunia datar."
#: src/settings_translation_file.cpp
#, fuzzy
msgid ""
-"Map generation attributes specific to Mapgen flat.\n"
+"Map generation attributes specific to Mapgen Fractal.\n"
"'terrain' enables the generation of non-fractal terrain:\n"
"ocean, islands and underground."
msgstr ""
@@ -4778,11 +4848,19 @@ 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."
+"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 ""
-"Atribut pembuatan peta khusus untuk pembuat peta flat.\n"
-"Beberapa danau dan bukit dapat ditambahkan ke dunia datar."
+"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"
+"sungai menjadi lebih dangkal dan terkadang kering.\n"
+"\"altitude_dry\": Mengurangi kelembapan seiring ketinggian."
#: src/settings_translation_file.cpp
msgid "Map generation attributes specific to Mapgen v5."
@@ -4939,8 +5017,16 @@ msgid "Maximum hotbar width"
msgstr "Lebar maksimum hotbar"
#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of large caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
-"Maximum liquid resistence. Controls deceleration when entering liquid at\n"
+"Maximum liquid resistance. Controls deceleration when entering liquid at\n"
"high speed."
msgstr ""
@@ -5079,6 +5165,14 @@ msgid "Minimap scan height"
msgstr "Ketinggian pemindaian peta mini"
#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of large caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Minimum texture size"
msgstr "Ukuran tekstur minimum"
@@ -5181,7 +5275,7 @@ msgstr ""
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Near clipping plane"
+msgid "Near plane"
msgstr "Bidang dekat"
#: src/settings_translation_file.cpp
@@ -5286,6 +5380,16 @@ msgstr "Cairan opak"
#: src/settings_translation_file.cpp
msgid ""
+"Opaqueness (alpha) of the shadow behind the default font, between 0 and 255."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Opaqueness (alpha) of the shadow behind the fallback font, between 0 and 255."
+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."
@@ -5326,8 +5430,13 @@ msgid "Parallax occlusion strength"
msgstr "Kekuatan parallax occlusion"
#: src/settings_translation_file.cpp
-msgid "Path to TrueTypeFont or bitmap."
-msgstr "Jalur ke TrueTypeFont atau bitmap."
+msgid ""
+"Path of the fallback font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font will be used for certain languages or if the default font is "
+"unavailable."
+msgstr ""
#: src/settings_translation_file.cpp
msgid "Path to save screenshots at."
@@ -5345,6 +5454,22 @@ msgid "Path to texture directory. All textures are first searched from here."
msgstr "Jalur ke direktori tekstur. Semua tekstur akan dicari mulai dari sini."
#: src/settings_translation_file.cpp
+msgid ""
+"Path to the default font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"The fallback font will be used if the font cannot be loaded."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Path to the monospace font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font is used for e.g. the console and profiler screen."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Pause on lost window focus"
msgstr "Jeda saat jendela hilang fokus"
@@ -5427,6 +5552,10 @@ msgid "Profiling"
msgstr "Profiling"
#: src/settings_translation_file.cpp
+msgid "Proportion of large caves that contain liquid."
+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 "
@@ -5452,6 +5581,11 @@ msgid "Recent Chat Messages"
msgstr "Pesan obrolan terkini"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Regular font path"
+msgstr "Jalur pelaporan"
+
+#: src/settings_translation_file.cpp
msgid "Remote media"
msgstr "Media jarak jauh"
@@ -5665,26 +5799,27 @@ msgid "Selection box width"
msgstr "Lebar kotak pilihan"
#: src/settings_translation_file.cpp
+#, fuzzy
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."
+"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 ""
"Pilih satu dari 18 jenis fraktal.\n"
"1 = Mandelbrot set 4D \"Bulat\".\n"
@@ -5755,27 +5890,30 @@ msgid "Set the maximum character length of a chat message sent by clients."
msgstr "Atur jumlah karakter maksimum per pesan obrolan yang dikirim klien."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Set to true enables waving leaves.\n"
+"Set to true to enable waving leaves.\n"
"Requires shaders to be enabled."
msgstr ""
"Atur ke true untuk menyalakan daun melambai.\n"
"Membutuhkan penggunaan shader."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Set to true enables waving plants.\n"
+"Set to true to enable waving liquids (like water).\n"
"Requires shaders to be enabled."
msgstr ""
-"Atur ke true untuk menyalakan tanaman berayun.\n"
+"Atur ke true untuk menyalakan air berombak.\n"
"Membutuhkan penggunaan shader."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Set to true enables waving water.\n"
+"Set to true to enable waving plants.\n"
"Requires shaders to be enabled."
msgstr ""
-"Atur ke true untuk menyalakan air berombak.\n"
+"Atur ke true untuk menyalakan tanaman berayun.\n"
"Membutuhkan penggunaan shader."
#: src/settings_translation_file.cpp
@@ -5795,8 +5933,18 @@ msgstr ""
"Ini hanya bekerja dengan video OpenGL."
#: src/settings_translation_file.cpp
-msgid "Shadow limit"
-msgstr "Batas bayangan"
+#, fuzzy
+msgid ""
+"Shadow offset (in pixels) of the default font. If 0, then shadow will not be "
+"drawn."
+msgstr "Pergeseran bayangan fon, jika 0, bayangan tidak akan digambar."
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid ""
+"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not "
+"be drawn."
+msgstr "Pergeseran bayangan fon, jika 0, bayangan tidak akan digambar."
#: src/settings_translation_file.cpp
msgid "Shape of the minimap. Enabled = round, disabled = square."
@@ -5849,6 +5997,14 @@ msgid "Slope and fill work together to modify the heights."
msgstr "Kemiringan dan isian bekerja sama mengatur ketinggian."
#: src/settings_translation_file.cpp
+msgid "Small cave maximum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Small cave minimum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Small-scale humidity variation for blending biomes on borders."
msgstr "Variasi kelembapan skala kecil untuk paduan di tepi bioma."
@@ -5915,9 +6071,11 @@ msgstr ""
"File yang tidak ada akan diambil cara yang biasa."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Spread of light curve mid-boost.\n"
-"Standard deviation of the mid-boost gaussian."
+"Spread of light curve boost range.\n"
+"Controls the width of the range to be boosted.\n"
+"Standard deviation of the light curve boost Gaussian."
msgstr ""
"Persebaran penguatan tengah kurva cahaya.\n"
"Simpangan baku dari penguatan tengah Gauss."
@@ -5943,8 +6101,11 @@ msgid "Strength of generated normalmaps."
msgstr "Kekuatan normalmap yang dibuat."
#: src/settings_translation_file.cpp
-msgid "Strength of light curve mid-boost."
-msgstr "Kekuatan penguatan tengah kurva cahaya."
+msgid ""
+"Strength of light curve boost.\n"
+"The 3 'boost' parameters define a range of the light\n"
+"curve that is boosted in brightness."
+msgstr ""
#: src/settings_translation_file.cpp
msgid "Strength of parallax."
@@ -6063,6 +6224,15 @@ msgstr ""
"Jarak dalam piksel yang dibutuhkan untuk memulai interaksi layar sentuh."
#: src/settings_translation_file.cpp
+msgid ""
+"The maximum height of the surface of waving liquids.\n"
+"4.0 = Wave height is two nodes.\n"
+"0.0 = Wave doesn't move at all.\n"
+"Default is 1.0 (1/2 node).\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "The network interface that the server listens on."
msgstr "Antarmuka jaringan yang peladen dengarkan."
@@ -6172,10 +6342,6 @@ msgid "Third of 4 2D noises that together define hill/mountain range height."
msgstr "Noise 2D ketiga dari empat yang mengatur ketinggian bukit/gunung."
#: src/settings_translation_file.cpp
-msgid "This font will be used for certain languages."
-msgstr "Fon ini akan digunakan pada bahasa tertentu."
-
-#: src/settings_translation_file.cpp
msgid ""
"Time in seconds for item entity (dropped items) to live.\n"
"Setting it to -1 disables the feature."
@@ -6234,10 +6400,11 @@ msgid "Trilinear filtering"
msgstr "Pemfilteran trilinear"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
"True = 256\n"
"False = 128\n"
-"Useable to make minimap smoother on slower machines."
+"Usable to make minimap smoother on slower machines."
msgstr ""
"True = 256\n"
"False = 128\n"
@@ -6248,13 +6415,6 @@ msgid "Trusted mods"
msgstr "Mod yang dipercaya"
#: src/settings_translation_file.cpp
-msgid ""
-"Typical maximum height, above and below midpoint, of floatland mountains."
-msgstr ""
-"Ketinggian maksimum secara umum, di atas dan di bawah titik tengah, dari "
-"gunung floatland."
-
-#: src/settings_translation_file.cpp
msgid "URL to the server list displayed in the Multiplayer Tab."
msgstr "URL ke daftar peladen yang tampil pada Tab Multipemain."
@@ -6348,11 +6508,6 @@ msgid "Variation of biome filler depth."
msgstr "Variasi dari kedalaman isian bioma."
#: src/settings_translation_file.cpp
-msgid "Variation of hill height and lake depth on floatland smooth terrain."
-msgstr ""
-"Variasi dari ketinggian bukit dan kedalaman danau pada medan halus floatland."
-
-#: src/settings_translation_file.cpp
msgid "Variation of maximum mountain height (in nodes)."
msgstr "Variasi dari ketinggian gunung paling tinggi (dalam nodus)."
@@ -6429,6 +6584,15 @@ msgid "Volume"
msgstr "Volume"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid ""
+"Volume of all sounds.\n"
+"Requires the sound system to be enabled."
+msgstr ""
+"Gunakan pemetaan parallax occlusion.\n"
+"Membutuhkan penggunaan shader."
+
+#: 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"
@@ -6471,29 +6635,30 @@ msgid "Waving leaves"
msgstr "Daun melambai"
#: src/settings_translation_file.cpp
-msgid "Waving plants"
-msgstr "Tanaman berayun"
-
-#: src/settings_translation_file.cpp
-msgid "Waving water"
-msgstr "Air berombak"
+#, fuzzy
+msgid "Waving liquids"
+msgstr "Laimbaian Cairan"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wave height"
+msgid "Waving liquids wave height"
msgstr "Ketinggian ombak"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wave speed"
+msgid "Waving liquids wave speed"
msgstr "Kecepatan ombak"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wavelength"
+msgid "Waving liquids wavelength"
msgstr "Panjang ombak"
#: src/settings_translation_file.cpp
+msgid "Waving plants"
+msgstr "Tanaman berayun"
+
+#: 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"
@@ -6540,8 +6705,11 @@ msgstr ""
"otomatis tekstur yang sejajar dengan dunia."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Whether FreeType fonts are used, requires FreeType support to be compiled in."
+"Whether FreeType fonts are used, requires FreeType support to be compiled "
+"in.\n"
+"If disabled, bitmap and XML vectors fonts are used instead."
msgstr ""
"Apakah fon FreeType digunakan, membutuhkan dukungan FreeType saat "
"dikompilasi."
@@ -6576,6 +6744,14 @@ msgstr "Apakah harus memberi kabut pada akhir daerah yang terlihat."
#: src/settings_translation_file.cpp
msgid ""
+"Whether to mute sounds. You can unmute sounds at any time, unless the\n"
+"sound system is disabled (enable_sound=false).\n"
+"In-game, you can toggle the mute state with the mute key or by using the\n"
+"pause menu."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
"Whether to show the client debug info (has the same effect as hitting F5)."
msgstr "Apakah menampilkan informasi awakutu klien (sama dengan menekan F5)."
@@ -6659,10 +6835,6 @@ msgid "Y-level of cavern upper limit."
msgstr "Ketinggian Y dari batas atas gua."
#: src/settings_translation_file.cpp
-msgid "Y-level of floatland midpoint and lake surface."
-msgstr "Ketinggian Y dari titik tengah floatland dan permukaan danau."
-
-#: src/settings_translation_file.cpp
msgid "Y-level of higher terrain that creates cliffs."
msgstr "Ketinggian Y dari medan yang lebih tinggi dan menyusun tebing."
@@ -6675,10 +6847,6 @@ msgid "Y-level of seabed."
msgstr "Ketinggian Y dari dasar laut."
#: src/settings_translation_file.cpp
-msgid "Y-level to which floatland shadows extend."
-msgstr "Ketinggian Y tempat bayangan floatland diperpanjang."
-
-#: src/settings_translation_file.cpp
msgid "cURL file download timeout"
msgstr "Batas waktu cURL mengunduh berkas"
@@ -6690,6 +6858,114 @@ msgstr "Batas cURL paralel"
msgid "cURL timeout"
msgstr "Waktu habis untuk cURL"
+#~ 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 ""
+#~ "Sesuaikan pengodean gamma untuk tabel cahaya.\n"
+#~ "Angka yang lebih tinggi lebih terang.\n"
+#~ "Pengaturan ini untuk klien saja dan diabaikan oleh peladen."
+
+#~ msgid "Alters how mountain-type floatlands taper above and below midpoint."
+#~ msgstr ""
+#~ "Ubah cara gunung floatland meramping di atas dan di bawah titik tengah."
+
+#~ msgid "Center of light curve mid-boost."
+#~ msgstr "Titik tengah penguatan tengah kurva cahaya."
+
+#~ msgid ""
+#~ "Controls the density of mountain-type floatlands.\n"
+#~ "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\"."
+
+#~ msgid "Controls width of tunnels, a smaller value creates wider tunnels."
+#~ msgstr ""
+#~ "Mengatur lebar terowongan, nilai lebih kecil terowongan semakin lebar."
+
+#~ msgid "Darkness sharpness"
+#~ msgstr "Kecuraman kegelapan"
+
+#~ msgid ""
+#~ "Defines areas of floatland smooth terrain.\n"
+#~ "Smooth floatlands occur when noise > 0."
+#~ msgstr ""
+#~ "Mengatur daerah dari medan halus floatland.\n"
+#~ "Floatland halus muncul saat noise > 0."
+
+#~ msgid "Enable VBO"
+#~ msgstr "Gunakan VBO"
+
+#~ msgid "Enables filmic tone mapping"
+#~ msgstr "Gunakan pemetaan suasana (tone mapping) filmis"
+
+#~ msgid "Floatland base height noise"
+#~ msgstr "Noise ketinggian dasar floatland"
+
+#~ msgid "Floatland base noise"
+#~ msgstr "Noise dasar floatland"
+
+#~ msgid "Floatland level"
+#~ msgstr "Ketinggian floatland"
+
+#~ msgid "Floatland mountain density"
+#~ msgstr "Kepadatan gunung floatland"
+
+#~ msgid "Floatland mountain exponent"
+#~ msgstr "Pangkat gunung floatland"
+
+#~ msgid "Floatland mountain height"
+#~ msgstr "Ketinggian gunung floatland"
+
+#~ msgid "Font shadow alpha (opaqueness, between 0 and 255)."
+#~ msgstr "Keburaman bayangan fon (keopakan, dari 0 sampai 255)."
+
+#~ msgid "Gamma"
+#~ msgstr "Gamma"
+
+#~ msgid "IPv6 support."
+#~ msgstr "Dukungan IPv6."
+
+#~ msgid "Lava depth"
+#~ msgstr "Kedalaman lava"
+
+#~ msgid "Lightness sharpness"
+#~ msgstr "Kecuraman keterangan"
+
+#~ msgid "Path to TrueTypeFont or bitmap."
+#~ msgstr "Jalur ke TrueTypeFont atau bitmap."
+
+#~ msgid "Shadow limit"
+#~ msgstr "Batas bayangan"
+
+#~ msgid "Strength of light curve mid-boost."
+#~ msgstr "Kekuatan penguatan tengah kurva cahaya."
+
+#~ msgid "This font will be used for certain languages."
+#~ msgstr "Fon ini akan digunakan pada bahasa tertentu."
+
+#~ msgid ""
+#~ "Typical maximum height, above and below midpoint, of floatland mountains."
+#~ msgstr ""
+#~ "Ketinggian maksimum secara umum, di atas dan di bawah titik tengah, dari "
+#~ "gunung floatland."
+
+#~ msgid "Variation of hill height and lake depth on floatland smooth terrain."
+#~ msgstr ""
+#~ "Variasi dari ketinggian bukit dan kedalaman danau pada medan halus "
+#~ "floatland."
+
+#~ msgid "Waving water"
+#~ msgstr "Air berombak"
+
+#~ msgid "Y-level of floatland midpoint and lake surface."
+#~ msgstr "Ketinggian Y dari titik tengah floatland dan permukaan danau."
+
+#~ msgid "Y-level to which floatland shadows extend."
+#~ msgstr "Ketinggian Y tempat bayangan floatland diperpanjang."
+
#~ msgid "Projecting dungeons"
#~ msgstr "Dungeon yang menonjol"
diff --git a/po/it/minetest.po b/po/it/minetest.po
index 0779ba55a..38e282440 100644
--- a/po/it/minetest.po
+++ b/po/it/minetest.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Italian (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-10-09 22:02+0200\n"
+"POT-Creation-Date: 2020-04-03 23:18+0200\n"
"PO-Revision-Date: 2019-11-13 16:04+0000\n"
"Last-Translator: Jacques Lagrange <Jacques.Reads@gmail.com>\n"
"Language-Team: Italian <https://hosted.weblate.org/projects/minetest/"
@@ -401,14 +401,25 @@ msgstr "Z"
msgid "Z spread"
msgstr "Propagazione Z"
+#. ~ "absvalue" is a noise parameter flag.
+#. It is short for "absolute value".
+#. It can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "absvalue"
msgstr "'absvalue'"
+#. ~ "defaults" is a noise parameter flag.
+#. It describes the default processing options
+#. for noise settings in main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "defaults"
msgstr "'defaults'"
+#. ~ "eased" is a noise parameter flag.
+#. It is used to make the map smoother and
+#. can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "eased"
msgstr "'eased'"
@@ -619,6 +630,7 @@ msgstr "Nome / Password"
msgid "Ping"
msgstr "Ping"
+#. ~ PvP = Player versus Player
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "PvP enabled"
msgstr "PvP abilitato"
@@ -863,6 +875,14 @@ msgstr "Impossibile aprire il file password fornito: "
msgid "Provided world path doesn't exist: "
msgstr "Il percorso fornito per il mondo non esiste: "
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string. Put either "no" or "yes"
+#. into the translation field (literally).
+#. Choose "yes" if the language requires use of the fallback
+#. font, "no" otherwise.
+#. The fallback font is (normally) required for languages with
+#. non-Latin script, like Chinese.
+#. When in doubt, test your translation.
#: src/client/fontengine.cpp
msgid "needs_fallback_font"
msgstr "no"
@@ -899,6 +919,7 @@ msgstr "- Porta: "
msgid "- Public: "
msgstr "- Pubblico: "
+#. ~ PvP = Player versus Player
#: src/client/game.cpp
msgid "- PvP: "
msgstr "- PvP: "
@@ -1349,6 +1370,7 @@ msgstr "Maiusc sinistro"
msgid "Left Windows"
msgstr "Windows sinistro"
+#. ~ Key name, common on Windows keyboards
#: src/client/keycode.cpp
msgid "Menu"
msgstr "Menu"
@@ -1441,6 +1463,7 @@ msgstr "Pausa"
msgid "Play"
msgstr "Play"
+#. ~ "Print screen" key
#: src/client/keycode.cpp
msgid "Print"
msgstr "Stampa"
@@ -1477,6 +1500,7 @@ msgstr "Windows destro"
msgid "Scroll Lock"
msgstr "Scroll Lock"
+#. ~ Key name
#: src/client/keycode.cpp
msgid "Select"
msgstr "Selezione"
@@ -1717,11 +1741,16 @@ msgstr "Silenziato"
msgid "Sound Volume: "
msgstr "Volume suono: "
+#. ~ Imperative, as in "Enter/type in text".
+#. Don't forget the space.
#: src/gui/modalMenu.cpp
msgid "Enter "
msgstr "Inserisci "
-#: src/network/clientpackethandler.cpp
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string which needs to contain the translation's
+#. language code (e.g. "de" for German).
+#: src/network/clientpackethandler.cpp src/script/lua_api/l_client.cpp
msgid "LANG_CODE"
msgstr "it"
@@ -1745,12 +1774,13 @@ msgstr ""
"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"
"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"
+"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."
@@ -1962,24 +1992,17 @@ msgstr ""
"es. per schermi 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 ""
-"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
msgid "Advanced"
msgstr "Avanzate"
#: src/settings_translation_file.cpp
-msgid "Alters how mountain-type floatlands taper above and below midpoint."
+msgid ""
+"Alters the light curve by applying 'gamma correction' to it.\n"
+"Higher values make middle and lower light levels brighter.\n"
+"Value '1.0' leaves the light curve unaltered.\n"
+"This only has significant effect on daylight and artificial\n"
+"light, it has very little effect on natural night light."
msgstr ""
-"Modifica il restringimento superiore e inferiore rispetto al punto mediano "
-"delle terre fluttuanti di tipo montagnoso."
#: src/settings_translation_file.cpp
msgid "Altitude chill"
@@ -2139,6 +2162,26 @@ msgid "Block send optimize distance"
msgstr "Distanza di ottimizzazione dell'invio dei blocchi"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Bold and italic font path"
+msgstr "Percorso del carattere a spaziatura fissa"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Bold and italic monospace font path"
+msgstr "Percorso del carattere a spaziatura fissa"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Bold font path"
+msgstr "Percorso del carattere"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Bold monospace font path"
+msgstr "Percorso del carattere a spaziatura fissa"
+
+#: src/settings_translation_file.cpp
msgid "Build inside player"
msgstr "Costruisci dentro giocatore"
@@ -2151,9 +2194,10 @@ 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"
+"Camera 'near clipping plane' distance in nodes, between 0 and 0.25\n"
+"Only works on GLES platforms. 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 ""
@@ -2220,8 +2264,10 @@ msgid "Cavern upper limit"
msgstr "Limite superiore della caverna"
#: src/settings_translation_file.cpp
-msgid "Center of light curve mid-boost."
-msgstr "Centro dell'aumento mediano della curva della luce."
+msgid ""
+"Center of light curve boost range.\n"
+"Where 0.0 is minimum light level, 1.0 is maximum light level."
+msgstr ""
#: src/settings_translation_file.cpp
msgid ""
@@ -2442,17 +2488,10 @@ msgstr "Controlla la ripidità/altezza delle colline."
#: 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 ""
-"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."
+"Controls width of tunnels, a smaller value creates wider tunnels.\n"
+"Value >= 10.0 completely disables generation of tunnels and avoids the\n"
+"intensive noise calculations."
msgstr ""
-"Controlla la larghezza delle gallerie, un valore più piccolo crea gallerie "
-"più larghe."
#: src/settings_translation_file.cpp
msgid "Crash message"
@@ -2487,10 +2526,6 @@ msgid "Damage"
msgstr "Ferimento"
#: src/settings_translation_file.cpp
-msgid "Darkness sharpness"
-msgstr "Nitidezza dell'oscurità"
-
-#: src/settings_translation_file.cpp
msgid "Debug info toggle key"
msgstr "Tasto di scelta delle informazioni di debug"
@@ -2507,7 +2542,8 @@ msgid "Dec. volume key"
msgstr "Tasto dim. volume"
#: src/settings_translation_file.cpp
-msgid "Decrease this to increase liquid resistence to movement."
+#, fuzzy
+msgid "Decrease this to increase liquid resistance to movement."
msgstr "Va diminuito per aumentare la resistenza al movimento nel liquido."
#: src/settings_translation_file.cpp
@@ -2551,14 +2587,6 @@ msgstr ""
"Ha effetto solo se Minetest è stato compilato con cURL."
#: src/settings_translation_file.cpp
-msgid ""
-"Defines areas of floatland smooth terrain.\n"
-"Smooth floatlands occur when noise > 0."
-msgstr ""
-"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."
msgstr "Definisce aree in cui gli alberi hanno le mele."
@@ -2646,15 +2674,6 @@ msgid "Deprecated Lua API handling"
msgstr "Gestione delle API Lua deprecate"
#: 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 ""
-"Sconsigliato, va usata la definizione del bioma per definire e posizionare "
-"le caverne di liquido.\n"
-"Limite verticale della lava nelle caverne grandi."
-
-#: src/settings_translation_file.cpp
msgid "Depth below which you'll find giant caverns."
msgstr "Profondità sotto cui troverete caverne enormi."
@@ -2732,6 +2751,12 @@ msgstr "Rumore per le segrete"
#: src/settings_translation_file.cpp
msgid ""
+"Enable IPv6 support (for both client and server).\n"
+"Required for IPv6 connections to work at all."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
"Enable Lua modding support on client.\n"
"This support is experimental and API can change."
msgstr ""
@@ -2739,10 +2764,6 @@ msgstr ""
"Questo supporto è sperimentale e l'API potrebbe cambiare."
#: src/settings_translation_file.cpp
-msgid "Enable VBO"
-msgstr "Abilitare i VBO"
-
-#: src/settings_translation_file.cpp
msgid "Enable console window"
msgstr "Attivare la finestra della console"
@@ -2821,6 +2842,12 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Enable vertex buffer objects.\n"
+"This should greatly improve graphics performance."
+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 ""
@@ -2828,14 +2855,24 @@ 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."
+"Ignored if bind_address is set.\n"
+"Needs enable_ipv6 to be enabled."
msgstr ""
"Abilita/Disabilita l'esecuzione di un server IPv6.\n"
"Ignorata se si imposta bind_address."
#: src/settings_translation_file.cpp
+msgid ""
+"Enables Hable's 'Uncharted 2' filmic tone mapping.\n"
+"Simulates the tone curve of photographic film and how this approximates the\n"
+"appearance of high dynamic range images. Mid-range contrast is slightly\n"
+"enhanced, highlights and shadows are gradually compressed."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Enables animation of inventory items."
msgstr "Attiva l'animazione degli oggetti dell'inventario."
@@ -2856,10 +2893,6 @@ msgid "Enables caching of facedir rotated meshes."
msgstr "Attiva la cache delle mesh ruotate con facedir."
#: src/settings_translation_file.cpp
-msgid "Enables filmic tone mapping"
-msgstr "Attiva il filmic tone mapping"
-
-#: src/settings_translation_file.cpp
msgid "Enables minimap."
msgstr "Attiva la minimappa."
@@ -2880,6 +2913,14 @@ msgstr ""
"Necessita l'attivazione degli shader."
#: src/settings_translation_file.cpp
+msgid ""
+"Enables the sound system.\n"
+"If disabled, this completely disables all sounds everywhere and the in-game\n"
+"sound controls will be non-functional.\n"
+"Changing this setting requires a restart."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Engine profiling data print interval"
msgstr "Intervallo di stampa dei dati di profilo del motore di gioco"
@@ -2912,7 +2953,8 @@ msgid "Fall bobbing factor"
msgstr "Fattore di ondeggiamento in caduta"
#: src/settings_translation_file.cpp
-msgid "Fallback font"
+#, fuzzy
+msgid "Fallback font path"
msgstr "Carattere di ripiego"
#: src/settings_translation_file.cpp
@@ -3019,30 +3061,6 @@ msgid "Fixed virtual joystick"
msgstr "Joystick virtuale fisso"
#: src/settings_translation_file.cpp
-msgid "Floatland base height noise"
-msgstr "Rumore base dell'altezza delle terre fluttuanti"
-
-#: src/settings_translation_file.cpp
-msgid "Floatland base noise"
-msgstr "Rumore base delle terre fluttuanti"
-
-#: src/settings_translation_file.cpp
-msgid "Floatland level"
-msgstr "Livello delle terre fluttuanti"
-
-#: src/settings_translation_file.cpp
-msgid "Floatland mountain density"
-msgstr "Densità montuosa delle terre fluttuanti"
-
-#: src/settings_translation_file.cpp
-msgid "Floatland mountain exponent"
-msgstr "Densità montuosa delle terre fluttuanti"
-
-#: src/settings_translation_file.cpp
-msgid "Floatland mountain height"
-msgstr "Altezza delle montagne delle terre fluttuanti"
-
-#: src/settings_translation_file.cpp
msgid "Fly key"
msgstr "Tasto volo"
@@ -3063,8 +3081,12 @@ msgid "Fog toggle key"
msgstr "Tasto scelta nebbia"
#: src/settings_translation_file.cpp
-msgid "Font path"
-msgstr "Percorso del carattere"
+msgid "Font bold by default"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font italic by default"
+msgstr ""
#: src/settings_translation_file.cpp
msgid "Font shadow"
@@ -3075,17 +3097,20 @@ msgid "Font shadow alpha"
msgstr "Trasparenza dell'ombreggiatura del carattere"
#: src/settings_translation_file.cpp
-msgid "Font shadow alpha (opaqueness, between 0 and 255)."
-msgstr "Trasparenza ombreggiatura carattere (opacità, tra 0 e 255)."
+msgid "Font size"
+msgstr "Dimensione del carattere"
#: src/settings_translation_file.cpp
-msgid "Font shadow offset, if 0 then shadow will not be drawn."
+msgid "Font size of the default font in point (pt)."
msgstr ""
-"Spostamento ombreggiatura carattere, se 0 allora l'ombra non sarà disegnata."
#: src/settings_translation_file.cpp
-msgid "Font size"
-msgstr "Dimensione del carattere"
+msgid "Font size of the fallback font in point (pt)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font size of the monospace font in point (pt)."
+msgstr ""
#: src/settings_translation_file.cpp
msgid ""
@@ -3212,10 +3237,6 @@ msgid "GUI scaling filter txr2img"
msgstr "Filtro di scala txr2img"
#: src/settings_translation_file.cpp
-msgid "Gamma"
-msgstr "Gamma"
-
-#: src/settings_translation_file.cpp
msgid "Generate normalmaps"
msgstr "Generare le normalmap"
@@ -3235,11 +3256,17 @@ msgstr ""
"controlla tutte le decorazioni."
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at maximum light level."
+#, fuzzy
+msgid ""
+"Gradient of light curve at maximum light level.\n"
+"Controls the contrast of the highest light levels."
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."
+#, fuzzy
+msgid ""
+"Gradient of light curve at minimum light level.\n"
+"Controls the contrast of the lowest light levels."
msgstr "Gradiente della curva della luce al livello minimo di luce."
#: src/settings_translation_file.cpp
@@ -3271,8 +3298,9 @@ msgid "HUD toggle key"
msgstr "Tasto di scelta del visore"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Handling for deprecated lua api calls:\n"
+"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)."
@@ -3517,6 +3545,13 @@ msgstr "Quanto fare profondi i fiumi."
#: src/settings_translation_file.cpp
msgid ""
+"How fast liquid waves will move. Higher = faster.\n"
+"If negative, liquid waves will move backwards.\n"
+"Requires waving liquids to be enabled."
+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 ""
@@ -3548,10 +3583,6 @@ msgid "IPv6 server"
msgstr "Server IPv6"
#: src/settings_translation_file.cpp
-msgid "IPv6 support."
-msgstr "Supporto IPv6."
-
-#: 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."
@@ -3663,8 +3694,8 @@ msgid ""
"debug.txt is only moved if this setting is positive."
msgstr ""
"Se la dimensione del file debug.txt supera il numero di Mb indicati in\n"
-"questa impostazione quando viene aperto, il file viene rinominato in "
-"debug.txt.1,\n"
+"questa impostazione quando viene aperto, il file viene rinominato in debug."
+"txt.1,\n"
"eliminando un eventuale debug.txt.1 più vecchio.\n"
"debug.txt viene rinominato solo se c'è questa impostazione."
@@ -3771,6 +3802,16 @@ msgid "Invert vertical mouse movement."
msgstr "Inverte il movimento verticale del mouse."
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Italic font path"
+msgstr "Percorso del carattere a spaziatura fissa"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Italic monospace font path"
+msgstr "Percorso del carattere a spaziatura fissa"
+
+#: src/settings_translation_file.cpp
msgid "Item entity TTL"
msgstr "Tempo di vita delle entità oggetto"
@@ -4601,12 +4642,20 @@ msgid "Large cave depth"
msgstr "Profondità delle caverne grandi"
#: src/settings_translation_file.cpp
-msgid "Large chat console key"
-msgstr "Tasto console grande di chat"
+msgid "Large cave maximum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large cave minimum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large cave proportion flooded"
+msgstr ""
#: src/settings_translation_file.cpp
-msgid "Lava depth"
-msgstr "Profondità della lava"
+msgid "Large chat console key"
+msgstr "Tasto console grande di chat"
#: src/settings_translation_file.cpp
msgid "Leaves style"
@@ -4639,6 +4688,15 @@ msgstr ""
"sono aggiornati in generale sulla rete."
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid ""
+"Length of liquid waves.\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+"Impostata su vero abilita le foglie ondeggianti.\n"
+"Necessita l'attivazione degli shader."
+
+#: src/settings_translation_file.cpp
msgid "Length of time between Active Block Modifier (ABM) execution cycles"
msgstr ""
"Durata di tempo tra i cicli di esecuzione dei modificatori dei blocchi "
@@ -4673,20 +4731,34 @@ msgstr ""
"- verbose (verboso)"
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost"
+#, fuzzy
+msgid "Light curve boost"
msgstr "Aumento mediano della curva di luce"
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost center"
+#, fuzzy
+msgid "Light curve boost center"
msgstr "Centro dell'aumento mediano della curva di luce"
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost spread"
+#, fuzzy
+msgid "Light curve boost spread"
msgstr "Diffusione dell'aumento mediano della curva di luce"
#: src/settings_translation_file.cpp
-msgid "Lightness sharpness"
-msgstr "Nitidezza della luminosità"
+#, fuzzy
+msgid "Light curve gamma"
+msgstr "Aumento mediano della curva di luce"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Light curve high gradient"
+msgstr "Aumento mediano della curva di luce"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Light curve low gradient"
+msgstr "Centro dell'aumento mediano della curva di luce"
#: src/settings_translation_file.cpp
msgid "Limit of emerge queues on disk"
@@ -4809,25 +4881,19 @@ msgstr ""
"Carpathian."
#: src/settings_translation_file.cpp
+#, fuzzy
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."
+"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 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."
+"Flat.\n"
+"Al mondo piatto si possono aggiungere laghi e colline occasionali."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Map generation attributes specific to Mapgen flat.\n"
+"Map generation attributes specific to Mapgen Fractal.\n"
"'terrain' enables the generation of non-fractal terrain:\n"
"ocean, islands and underground."
msgstr ""
@@ -4838,12 +4904,20 @@ 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."
+"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 ""
"Attributi di generazione della mappa specifici del generatore di mappe "
-"Flat.\n"
-"Al mondo piatto si possono aggiungere laghi e colline occasionali."
+"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
msgid "Map generation attributes specific to Mapgen v5."
@@ -4999,8 +5073,17 @@ msgid "Maximum hotbar width"
msgstr "Larghezza massima della barra di scelta rapida"
#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of large caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Maximum liquid resistence. Controls deceleration when entering liquid at\n"
+"Maximum liquid resistance. Controls deceleration when entering liquid at\n"
"high speed."
msgstr ""
"Resistenza massima dei liquidi. Gestisce la decelerazione \n"
@@ -5149,6 +5232,15 @@ msgid "Minimap scan height"
msgstr "Altezza di scansione della minimappa"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Minimum limit of random number of large caves per mapchunk."
+msgstr "Rumore 3D che stabilisce il numero di segrete per blocco di mondo."
+
+#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Minimum texture size"
msgstr "Dimensione minima dell'immagine"
@@ -5247,7 +5339,8 @@ msgstr ""
"dei server."
#: src/settings_translation_file.cpp
-msgid "Near clipping plane"
+#, fuzzy
+msgid "Near plane"
msgstr "Piano di ritaglio vicino"
#: src/settings_translation_file.cpp
@@ -5328,8 +5421,8 @@ msgstr ""
"Avvertimento: aumentare il numero di emerge thread aumenta la\n"
"velocità del motore del generatore mappa, ma ciò potrebbe danneggiare\n"
"le prestazioni del gioco interferendo con altri processi, specialmente in\n"
-"modalità giocatore singolo e/o quando si esegue codice Lua in \""
-"on_generated\".\n"
+"modalità giocatore singolo e/o quando si esegue codice Lua in \"on_generated"
+"\".\n"
"Per molti utenti l'impostazione ottimale può essere \"1\"."
#: src/settings_translation_file.cpp
@@ -5357,6 +5450,16 @@ msgstr "Liquidi opachi"
#: src/settings_translation_file.cpp
msgid ""
+"Opaqueness (alpha) of the shadow behind the default font, between 0 and 255."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Opaqueness (alpha) of the shadow behind the fallback font, between 0 and 255."
+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."
@@ -5399,8 +5502,13 @@ msgid "Parallax occlusion strength"
msgstr "Intensità dell'occlusione di parallasse"
#: src/settings_translation_file.cpp
-msgid "Path to TrueTypeFont or bitmap."
-msgstr "Percorso del carattere TrueType o bitmap."
+msgid ""
+"Path of the fallback font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font will be used for certain languages or if the default font is "
+"unavailable."
+msgstr ""
#: src/settings_translation_file.cpp
msgid "Path to save screenshots at."
@@ -5421,6 +5529,22 @@ msgstr ""
"partire da qui."
#: src/settings_translation_file.cpp
+msgid ""
+"Path to the default font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"The fallback font will be used if the font cannot be loaded."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Path to the monospace font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font is used for e.g. the console and profiler screen."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Pause on lost window focus"
msgstr "Pausa alla perdita di fuoco della finestra"
@@ -5507,6 +5631,10 @@ msgid "Profiling"
msgstr "Generazione di profili"
#: src/settings_translation_file.cpp
+msgid "Proportion of large caves that contain liquid."
+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 "
@@ -5534,6 +5662,11 @@ msgid "Recent Chat Messages"
msgstr "Messaggi di chat recenti"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Regular font path"
+msgstr "Percorso di rapporto"
+
+#: src/settings_translation_file.cpp
msgid "Remote media"
msgstr "File multimediali remoti"
@@ -5749,26 +5882,27 @@ 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"
-"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."
+"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 ""
"Seleziona uno dei 18 tipi di frattale.\n"
"1 = 4D serie Mandelbrot \"arrotondata\".\n"
@@ -5841,27 +5975,30 @@ msgstr ""
"dai client."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Set to true enables waving leaves.\n"
+"Set to true to enable waving leaves.\n"
"Requires shaders to be enabled."
msgstr ""
"Impostata su vero abilita le foglie ondeggianti.\n"
"Necessita l'attivazione degli shader."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Set to true enables waving plants.\n"
+"Set to true to enable waving liquids (like water).\n"
"Requires shaders to be enabled."
msgstr ""
-"Impostata su vero abilita le piante ondeggianti.\n"
+"Impostata su vero abilita l'acqua ondeggiante.\n"
"Necessita l'attivazione degli shader."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Set to true enables waving water.\n"
+"Set to true to enable waving plants.\n"
"Requires shaders to be enabled."
msgstr ""
-"Impostata su vero abilita l'acqua ondeggiante.\n"
+"Impostata su vero abilita le piante ondeggianti.\n"
"Necessita l'attivazione degli shader."
#: src/settings_translation_file.cpp
@@ -5881,8 +6018,20 @@ msgstr ""
"Ciò funziona solo col supporto video OpenGL."
#: src/settings_translation_file.cpp
-msgid "Shadow limit"
-msgstr "Limite dell'ombra"
+#, fuzzy
+msgid ""
+"Shadow offset (in pixels) of the default font. If 0, then shadow will not be "
+"drawn."
+msgstr ""
+"Spostamento ombreggiatura carattere, se 0 allora l'ombra non sarà disegnata."
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid ""
+"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not "
+"be drawn."
+msgstr ""
+"Spostamento ombreggiatura carattere, se 0 allora l'ombra non sarà disegnata."
#: src/settings_translation_file.cpp
msgid "Shape of the minimap. Enabled = round, disabled = square."
@@ -5936,6 +6085,14 @@ msgid "Slope and fill work together to modify the heights."
msgstr "Pendenza e riempimento lavorano assieme per modificare le altezze."
#: src/settings_translation_file.cpp
+msgid "Small cave maximum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Small cave minimum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Small-scale humidity variation for blending biomes on borders."
msgstr ""
"Variazione dell'umidità su piccola scala per l'amalgama dei biomi sui bordi."
@@ -6006,9 +6163,11 @@ msgstr ""
"I file che non sono presenti saranno recuperati nel solito modo."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Spread of light curve mid-boost.\n"
-"Standard deviation of the mid-boost gaussian."
+"Spread of light curve boost range.\n"
+"Controls the width of the range to be boosted.\n"
+"Standard deviation of the light curve boost Gaussian."
msgstr ""
"Diffusione dell'aumento mediano della curva di luce.\n"
"Scostamento tipo dell'aumento mediano gaussiano."
@@ -6034,8 +6193,11 @@ msgid "Strength of generated normalmaps."
msgstr "Intensità delle normalmap generate."
#: src/settings_translation_file.cpp
-msgid "Strength of light curve mid-boost."
-msgstr "Intensità dell'aumento mediano della curva di luce."
+msgid ""
+"Strength of light curve boost.\n"
+"The 3 'boost' parameters define a range of the light\n"
+"curve that is boosted in brightness."
+msgstr ""
#: src/settings_translation_file.cpp
msgid "Strength of parallax."
@@ -6155,6 +6317,15 @@ msgid "The length in pixels it takes for touch screen interaction to start."
msgstr "La distanza in pixel richiesta per avviare l'interazione touch screen."
#: src/settings_translation_file.cpp
+msgid ""
+"The maximum height of the surface of waving liquids.\n"
+"4.0 = Wave height is two nodes.\n"
+"0.0 = Wave doesn't move at all.\n"
+"Default is 1.0 (1/2 node).\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "The network interface that the server listens on."
msgstr "L'interfaccia di rete sulla quale il server ascolta."
@@ -6275,10 +6446,6 @@ msgstr ""
"collinare/montuoso."
#: src/settings_translation_file.cpp
-msgid "This font will be used for certain languages."
-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."
@@ -6339,10 +6506,11 @@ msgid "Trilinear filtering"
msgstr "Filtraggio trilineare"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
"True = 256\n"
"False = 128\n"
-"Useable to make minimap smoother on slower machines."
+"Usable to make minimap smoother on slower machines."
msgstr ""
"Vero = 256\n"
"Falso = 128\n"
@@ -6353,13 +6521,6 @@ msgid "Trusted mods"
msgstr "Moduli fidati"
#: src/settings_translation_file.cpp
-msgid ""
-"Typical maximum height, above and below midpoint, of floatland mountains."
-msgstr ""
-"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."
msgstr "URL per l'elenco dei server mostrato nella scheda del gioco in rete."
@@ -6457,12 +6618,6 @@ msgid "Variation of biome filler depth."
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\n"
-"terreno uniforme delle terre fluttuanti."
-
-#: src/settings_translation_file.cpp
msgid "Variation of maximum mountain height (in nodes)."
msgstr "Variazione dell'altezza montana massima (in nodi)."
@@ -6540,6 +6695,15 @@ msgid "Volume"
msgstr "Volume"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid ""
+"Volume of all sounds.\n"
+"Requires the sound system to be enabled."
+msgstr ""
+"Attiva la parallax occlusion mapping.\n"
+"Necessita l'attivazione degli shader."
+
+#: 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"
@@ -6584,26 +6748,30 @@ msgid "Waving leaves"
msgstr "Foglie ondeggianti"
#: src/settings_translation_file.cpp
-msgid "Waving plants"
-msgstr "Piante ondeggianti"
-
-#: src/settings_translation_file.cpp
-msgid "Waving water"
-msgstr "Acqua ondeggiante"
+#, fuzzy
+msgid "Waving liquids"
+msgstr "Liquidi ondeggianti"
#: src/settings_translation_file.cpp
-msgid "Waving water wave height"
+#, fuzzy
+msgid "Waving liquids wave height"
msgstr "Altezza di ondeggiamento dei liquidi"
#: src/settings_translation_file.cpp
-msgid "Waving water wave speed"
+#, fuzzy
+msgid "Waving liquids wave speed"
msgstr "Velocità di ondeggiamento dei liquidi"
#: src/settings_translation_file.cpp
-msgid "Waving water wavelength"
+#, fuzzy
+msgid "Waving liquids wavelength"
msgstr "Durata di ondeggiamento dei liquidi"
#: src/settings_translation_file.cpp
+msgid "Waving plants"
+msgstr "Piante ondeggianti"
+
+#: 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"
@@ -6653,8 +6821,11 @@ msgstr ""
"relativo al mondo."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Whether FreeType fonts are used, requires FreeType support to be compiled in."
+"Whether FreeType fonts are used, requires FreeType support to be compiled "
+"in.\n"
+"If disabled, bitmap and XML vectors fonts are used instead."
msgstr ""
"Se si usano caratteri FreeType, richiede la compilazione col supporto "
"FreeType."
@@ -6692,6 +6863,14 @@ msgstr "Se annebbiare o meno la fine dell'area visibile."
#: src/settings_translation_file.cpp
msgid ""
+"Whether to mute sounds. You can unmute sounds at any time, unless the\n"
+"sound system is disabled (enable_sound=false).\n"
+"In-game, you can toggle the mute state with the mute key or by using the\n"
+"pause menu."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
"Whether to show the client debug info (has the same effect as hitting F5)."
msgstr ""
"Se mostrare le informazioni di debug del client (ha lo stesso effetto di "
@@ -6778,12 +6957,6 @@ msgid "Y-level of cavern upper limit."
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 terre fluttuanti e della superficie dei "
-"laghi."
-
-#: src/settings_translation_file.cpp
msgid "Y-level of higher terrain that creates cliffs."
msgstr "Livello Y del terreno superiore che crea dirupi."
@@ -6796,10 +6969,6 @@ msgid "Y-level of seabed."
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 terre fluttuanti."
-
-#: src/settings_translation_file.cpp
msgid "cURL file download timeout"
msgstr "Scadenza cURL scaricamento file"
@@ -6811,6 +6980,128 @@ msgstr "Limite parallelo cURL"
msgid "cURL timeout"
msgstr "Scadenza cURL"
+#~ 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 ""
+#~ "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."
+
+#~ 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."
+
+#~ msgid "Center of light curve mid-boost."
+#~ msgstr "Centro dell'aumento mediano della curva della luce."
+
+#~ 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à delle terre fluttuanti di tipo montuoso.\n"
+#~ "È uno spostamento di rumore aggiunto al valore del rumore "
+#~ "'mgv7_np_mountain'."
+
+#~ msgid "Controls width of tunnels, a smaller value creates wider tunnels."
+#~ msgstr ""
+#~ "Controlla la larghezza delle gallerie, un valore più piccolo crea "
+#~ "gallerie più larghe."
+
+#~ msgid "Darkness sharpness"
+#~ msgstr "Nitidezza dell'oscurità"
+
+#~ msgid ""
+#~ "Defines areas of floatland smooth terrain.\n"
+#~ "Smooth floatlands occur when noise > 0."
+#~ msgstr ""
+#~ "Definisce aree di terreno uniforme nelle terre fluttuanti.\n"
+#~ "Le terre fluttuanti uniformi avvengono quando il rumore è > 0."
+
+#~ msgid ""
+#~ "Deprecated, define and locate cave liquids using biome definitions "
+#~ "instead.\n"
+#~ "Y of upper limit of lava in large caves."
+#~ msgstr ""
+#~ "Sconsigliato, va usata la definizione del bioma per definire e "
+#~ "posizionare le caverne di liquido.\n"
+#~ "Limite verticale della lava nelle caverne grandi."
+
+#~ msgid "Enable VBO"
+#~ msgstr "Abilitare i VBO"
+
+#~ msgid "Enables filmic tone mapping"
+#~ msgstr "Attiva il filmic tone mapping"
+
+#~ msgid "Floatland base height noise"
+#~ msgstr "Rumore base dell'altezza delle terre fluttuanti"
+
+#~ msgid "Floatland base noise"
+#~ msgstr "Rumore base delle terre fluttuanti"
+
+#~ msgid "Floatland level"
+#~ msgstr "Livello delle terre fluttuanti"
+
+#~ msgid "Floatland mountain density"
+#~ msgstr "Densità montuosa delle terre fluttuanti"
+
+#~ msgid "Floatland mountain exponent"
+#~ msgstr "Densità montuosa delle terre fluttuanti"
+
+#~ msgid "Floatland mountain height"
+#~ msgstr "Altezza delle montagne delle terre fluttuanti"
+
+#~ msgid "Font shadow alpha (opaqueness, between 0 and 255)."
+#~ msgstr "Trasparenza ombreggiatura carattere (opacità, tra 0 e 255)."
+
+#~ msgid "Gamma"
+#~ msgstr "Gamma"
+
+#~ msgid "IPv6 support."
+#~ msgstr "Supporto IPv6."
+
+#~ msgid "Lava depth"
+#~ msgstr "Profondità della lava"
+
+#~ msgid "Lightness sharpness"
+#~ msgstr "Nitidezza della luminosità"
+
+#~ msgid "Path to TrueTypeFont or bitmap."
+#~ msgstr "Percorso del carattere TrueType o bitmap."
+
+#~ msgid "Shadow limit"
+#~ msgstr "Limite dell'ombra"
+
+#~ msgid "Strength of light curve mid-boost."
+#~ msgstr "Intensità dell'aumento mediano della curva di luce."
+
+#~ msgid "This font will be used for certain languages."
+#~ msgstr "Questo carattere sarà usato per certe Lingue."
+
+#~ msgid ""
+#~ "Typical maximum height, above and below midpoint, of floatland mountains."
+#~ msgstr ""
+#~ "Altezza massima tipica, sopra e sotto il punto medio, delle montagne dei "
+#~ "terreni fluttuanti."
+
+#~ msgid "Variation of hill height and lake depth on floatland smooth terrain."
+#~ msgstr ""
+#~ "Variazione dell'altezza delle colline, e della profondità dei laghi sul\n"
+#~ "terreno uniforme delle terre fluttuanti."
+
+#~ msgid "Waving water"
+#~ msgstr "Acqua ondeggiante"
+
+#~ msgid "Y-level of floatland midpoint and lake surface."
+#~ msgstr ""
+#~ "Livello Y del punto medio delle terre fluttuanti e della superficie dei "
+#~ "laghi."
+
+#~ msgid "Y-level to which floatland shadows extend."
+#~ msgstr "Livello Y a cui si estendono le ombre delle terre fluttuanti."
+
#~ msgid "Projecting dungeons"
#~ msgstr "Sotterranei protundenti"
diff --git a/po/ja/minetest.po b/po/ja/minetest.po
index c1fb30964..b335da6d5 100644
--- a/po/ja/minetest.po
+++ b/po/ja/minetest.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Japanese (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-10-09 22:02+0200\n"
-"PO-Revision-Date: 2019-10-29 11:53+0000\n"
+"POT-Creation-Date: 2020-04-03 23:18+0200\n"
+"PO-Revision-Date: 2020-04-05 05:27+0000\n"
"Last-Translator: BreadW <toshiharu.uno@gmail.com>\n"
"Language-Team: Japanese <https://hosted.weblate.org/projects/minetest/"
"minetest/ja/>\n"
@@ -12,7 +12,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 3.9.1\n"
+"X-Generator: Weblate 4.0-dev\n"
#: builtin/client/death_formspec.lua src/client/game.cpp
msgid "Respawn"
@@ -399,14 +399,25 @@ msgstr "Z"
msgid "Z spread"
msgstr "Zã®åºƒãŒã‚Š"
+#. ~ "absvalue" is a noise parameter flag.
+#. It is short for "absolute value".
+#. It can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "absvalue"
msgstr "絶対値"
+#. ~ "defaults" is a noise parameter flag.
+#. It describes the default processing options
+#. for noise settings in main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "defaults"
msgstr "既定値"
+#. ~ "eased" is a noise parameter flag.
+#. It is used to make the map smoother and
+#. can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "eased"
msgstr "ç·©å’Œã™ã‚‹"
@@ -615,6 +626,7 @@ msgstr "åå‰ / パスワード"
msgid "Ping"
msgstr "応答速度"
+#. ~ PvP = Player versus Player
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "PvP enabled"
msgstr "PvP有効"
@@ -859,6 +871,14 @@ msgstr "パスワードファイルを開ã‘ã¾ã›ã‚“ã§ã—ãŸ: "
msgid "Provided world path doesn't exist: "
msgstr "ワールドãŒå­˜åœ¨ã—ã¾ã›ã‚“: "
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string. Put either "no" or "yes"
+#. into the translation field (literally).
+#. Choose "yes" if the language requires use of the fallback
+#. font, "no" otherwise.
+#. The fallback font is (normally) required for languages with
+#. non-Latin script, like Chinese.
+#. When in doubt, test your translation.
#: src/client/fontengine.cpp
msgid "needs_fallback_font"
msgstr "yes"
@@ -895,6 +915,7 @@ msgstr "- ãƒãƒ¼ãƒˆ: "
msgid "- Public: "
msgstr "- 公開サーãƒ: "
+#. ~ PvP = Player versus Player
#: src/client/game.cpp
msgid "- PvP: "
msgstr "- PvP: "
@@ -1345,6 +1366,7 @@ msgstr "å·¦Shift"
msgid "Left Windows"
msgstr "å·¦Windows"
+#. ~ Key name, common on Windows keyboards
#: src/client/keycode.cpp
msgid "Menu"
msgstr "Alt"
@@ -1437,6 +1459,7 @@ msgstr "Pause"
msgid "Play"
msgstr "Play"
+#. ~ "Print screen" key
#: src/client/keycode.cpp
msgid "Print"
msgstr "Print"
@@ -1473,6 +1496,7 @@ msgstr "å³Windows"
msgid "Scroll Lock"
msgstr "Scroll Lock"
+#. ~ Key name
#: src/client/keycode.cpp
msgid "Select"
msgstr "Select"
@@ -1531,8 +1555,10 @@ msgid ""
"creation, or click 'Cancel' to abort."
msgstr ""
"ã‚ãªãŸã¯ã“ã®ã‚µãƒ¼ãƒ ã«åå‰ \"%s\" ã§åˆã‚ã¦å‚加ã—よã†ã¨ã—ã¦ã„ã¾ã™ã€‚\n"
-"続行ã™ã‚‹å ´åˆã€ã‚ãªãŸã®æƒ…å ±ãŒæ–°ã—ã„アカウントã¨ã—ã¦ã“ã®ã‚µãƒ¼ãƒã«ä½œæˆã•ã‚Œã¾ã™ã€‚\n"
-"ã‚ãªãŸã®ãƒ‘スワードをå†å…¥åŠ›ã—ã¦ã‹ã‚‰ 'å‚加登録' をクリックã—ã¦ã‚¢ã‚«ã‚¦ãƒ³ãƒˆä½œæˆã™ã‚‹ã‹ã€\n"
+"続行ã™ã‚‹å ´åˆã€ã‚ãªãŸã®æƒ…å ±ãŒæ–°ã—ã„アカウントã¨ã—ã¦ã“ã®ã‚µãƒ¼ãƒã«ä½œæˆã•ã‚Œã¾"
+"ã™ã€‚\n"
+"ã‚ãªãŸã®ãƒ‘スワードをå†å…¥åŠ›ã—ã¦ã‹ã‚‰ 'å‚加登録' をクリックã—ã¦ã‚¢ã‚«ã‚¦ãƒ³ãƒˆä½œæˆã™"
+"ã‚‹ã‹ã€\n"
"キャンセルをクリックã—ã¦ä¸­æ–­ã—ã¦ãã ã•ã„。"
#: src/gui/guiFormSpecMenu.cpp
@@ -1713,11 +1739,16 @@ msgstr "消音"
msgid "Sound Volume: "
msgstr "音é‡: "
+#. ~ Imperative, as in "Enter/type in text".
+#. Don't forget the space.
#: src/gui/modalMenu.cpp
msgid "Enter "
msgstr "エンター "
-#: src/network/clientpackethandler.cpp
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string which needs to contain the translation's
+#. language code (e.g. "de" for German).
+#: src/network/clientpackethandler.cpp src/script/lua_api/l_client.cpp
msgid "LANG_CODE"
msgstr "ja"
@@ -1745,19 +1776,18 @@ msgid ""
"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"
+"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 ""
-"(X,Y,Z)'スケール'å˜ä½ã§ã®ãƒ¯ãƒ¼ãƒ«ãƒ‰ã®ä¸­å¿ƒã‹ã‚‰ã®ãƒ•ãƒ©ã‚¯ã‚¿ãƒ«ã®ã‚ªãƒ•ã‚»ãƒƒãƒˆã€‚\n"
-"望ã¿ã®ç‚¹ã‚’ (0,0) ã«ç§»å‹•ã—ã¦é©åˆ‡ãªã‚¹ãƒãƒ¼ãƒ³ãƒã‚¤ãƒ³ãƒˆã‚’作æˆã—ãŸã‚Šã€\n"
-"'スケール'を増やã—ã¦æœ›ã¿ã®ç‚¹ã«'ズームイン'ã§ãるよã†ã«ã™ã‚‹ãŸã‚ã«\n"
+"(X,Y,Z)ワールドã®ä¸­å¿ƒã‹ã‚‰ã®ãƒ•ãƒ©ã‚¯ã‚¿ãƒ«ã®ã€Œã‚¹ã‚±ãƒ¼ãƒ«ã€å˜ä½ã®ã‚ªãƒ•ã‚»ãƒƒãƒˆã€‚\n"
+"目的ã®ãƒã‚¤ãƒ³ãƒˆã‚’(0,0)ã«ç§»å‹•ã—ã¦é©åˆ‡ãªã‚¹ãƒãƒ¼ãƒ³ãƒã‚¤ãƒ³ãƒˆã‚’作æˆã—ãŸã‚Šã€\n"
+"「スケールã€ã‚’増やã—ã¦ç›®çš„ã®ãƒã‚¤ãƒ³ãƒˆã«ã€Œã‚ºãƒ¼ãƒ ã‚¤ãƒ³ã€ã—ãŸã‚Šã™ã‚‹ãŸã‚ã«\n"
"使用ã§ãã¾ã™ã€‚\n"
-"既定ã§ã¯æ—¢å®šã®ãƒ‘ラメータをæŒã¤ãƒžãƒ³ãƒ‡ãƒ«ãƒ–ロー集åˆã®ãŸã‚ã®é©åˆ‡ãª\n"
-"スãƒãƒ¼ãƒ³ãƒã‚¤ãƒ³ãƒˆã«åˆã‚ã›ã¦èª¿æ•´ã•ã‚Œã¾ã™ã€ä»–ã®çŠ¶æ³ã§å¤‰æ›´ã‚’å¿…è¦ã¨ã™ã‚‹\n"
-"ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。\n"
-"範囲ã¯ãŠã‚ˆã -2~2 ã§ã™ã€‚ノードã®ã‚ªãƒ•ã‚»ãƒƒãƒˆã« 'scale' を掛ã‘ã¾ã™ã€‚"
+"既定ã®ãƒ‘ラメータを使用ã—ã¦ãƒžãƒ³ãƒ‡ãƒ«ãƒ–ロ集åˆã®é©åˆ‡ãªã‚¹ãƒãƒ¼ãƒ³ãƒã‚¤ãƒ³ãƒˆã«\n"
+"åˆã‚ã›ã¦èª¿æ•´ã•ã‚Œã¦ã„ã¾ã™ãŒã€ä»–ã®çŠ¶æ³ã§ã¯å¤‰æ›´ãŒå¿…è¦ã«ãªã‚‹å ´åˆãŒã‚ã‚Šã¾ã™ã€‚\n"
+"範囲ã¯ç´„-2〜2ã§ã™ã€‚ノードã®ã‚ªãƒ•ã‚»ãƒƒãƒˆã«ã€Œã‚¹ã‚±ãƒ¼ãƒ«ã€ã‚’掛ã‘ã¾ã™ã€‚"
#: src/settings_translation_file.cpp
msgid ""
@@ -1943,21 +1973,22 @@ msgstr ""
"4kスクリーンãªã©ã®ãŸã‚ã®ã€ç”»é¢ã®è§£åƒåº¦ã®è¨­å®šã§ã™ (éžX11/Android環境ã®ã¿)。"
#: 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 "山型浮éŠå¤§é™¸ãŒä¸­é–“点ã®ä¸Šä¸‹ã§ã©ã®ã‚ˆã†ã«å…ˆç´°ããªã‚‹ã‹ã‚’変更ã—ã¾ã™ã€‚"
+msgid ""
+"Alters the light curve by applying 'gamma correction' to it.\n"
+"Higher values make middle and lower light levels brighter.\n"
+"Value '1.0' leaves the light curve unaltered.\n"
+"This only has significant effect on daylight and artificial\n"
+"light, it has very little effect on natural night light."
+msgstr ""
+"「ガンマ補正ã€ã‚’é©ç”¨ã—ã¦ã€å…‰åº¦æ›²ç·šã‚’変更ã—ã¾ã™ã€‚\n"
+"値を大ããã™ã‚‹ã¨ã€ä¸­é–“å…‰ã¨ä½Žå…‰ãƒ¬ãƒ™ãƒ«ãŒæ˜Žã‚‹ããªã‚Šã¾ã™ã€‚\n"
+"値ãŒã€Œ1.0ã€ã®å ´åˆã€å…‰åº¦æ›²ç·šã¯å¤‰æ›´ã•ã‚Œã¾ã›ã‚“。\n"
+"ã“ã‚Œã¯ã€æ—¥å…‰ã¨äººå·¥å…‰ã«ã®ã¿å¤§ããªå½±éŸ¿ã‚’与ãˆã€\n"
+"自然ãªå¤œã®å…‰ã«ã¯ã»ã¨ã‚“ã©å½±éŸ¿ã‚’与ãˆã¾ã›ã‚“。"
#: src/settings_translation_file.cpp
msgid "Altitude chill"
@@ -2115,6 +2146,22 @@ msgid "Block send optimize distance"
msgstr "ブロックé€ä¿¡æœ€é©åŒ–è·é›¢"
#: src/settings_translation_file.cpp
+msgid "Bold and italic font path"
+msgstr "太字ã¨æ–œä½“ã®ãƒ•ã‚©ãƒ³ãƒˆã®ãƒ‘ス"
+
+#: src/settings_translation_file.cpp
+msgid "Bold and italic monospace font path"
+msgstr "太字ã¨æ–œä½“ã®å›ºå®šå¹…フォントã®ãƒ‘ス"
+
+#: src/settings_translation_file.cpp
+msgid "Bold font path"
+msgstr "太字フォントã®ãƒ‘ス"
+
+#: src/settings_translation_file.cpp
+msgid "Bold monospace font path"
+msgstr "太字ã®å›ºå®šå¹…フォントã®ãƒ‘ス"
+
+#: src/settings_translation_file.cpp
msgid "Build inside player"
msgstr "プレイヤーã®ä½ç½®ã«è¨­ç½®"
@@ -2128,12 +2175,13 @@ 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"
+"Camera 'near clipping plane' distance in nodes, between 0 and 0.25\n"
+"Only works on GLES platforms. Most users will not need to change this.\n"
"Increasing can reduce artifacting on weaker GPUs.\n"
"0.1 = Default, 0.25 = Good value for weaker tablets."
msgstr ""
-"カメラ㨠'è¿‘ãã®ã‚¯ãƒªãƒƒãƒ”ングé¢' ã®è·é›¢ã€0~0.5ã®é–“ã®ãƒŽãƒ¼ãƒ‰æ•°ã§ã™ã€‚\n"
+"カメラ㨠'近クリッピングé¢' ã®è·é›¢ã€0~0.25ã®é–“ã®ãƒŽãƒ¼ãƒ‰æ•°ã§ã€\n"
+"GLESプラットフォームã§ã®ã¿æ©Ÿèƒ½ã—ã¾ã™ã€‚\n"
"ã»ã¨ã‚“ã©ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã¯ã“れを変更ã™ã‚‹å¿…è¦ã¯ã‚ã‚Šã¾ã›ã‚“。\n"
"増加ã™ã‚‹ã¨ã€ä½Žæ€§èƒ½GPUã§ã®ç”»åƒã®ä¹±ã‚Œã‚’減らã™ã“ã¨ãŒã§ãã¾ã™ã€‚\n"
"0.1 = 既定値ã€0.25 = 低性能タブレットã«é©ã—ãŸå€¤ã§ã™ã€‚"
@@ -2195,8 +2243,12 @@ msgid "Cavern upper limit"
msgstr "大ããªæ´žçªŸã®ä¸Šé™"
#: src/settings_translation_file.cpp
-msgid "Center of light curve mid-boost."
-msgstr "光度曲線ミッドブーストã®ä¸­å¿ƒã€‚"
+msgid ""
+"Center of light curve boost range.\n"
+"Where 0.0 is minimum light level, 1.0 is maximum light level."
+msgstr ""
+"光度曲線ブースト範囲ã®ä¸­å¿ƒã€‚\n"
+"0.0ã¯æœ€å°å…‰ãƒ¬ãƒ™ãƒ«ã€1.0ã¯æœ€å¤§å…‰ãƒ¬ãƒ™ãƒ«ã§ã™ã€‚"
#: src/settings_translation_file.cpp
msgid ""
@@ -2412,15 +2464,13 @@ 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."
+"Controls width of tunnels, a smaller value creates wider tunnels.\n"
+"Value >= 10.0 completely disables generation of tunnels and avoids the\n"
+"intensive noise calculations."
msgstr ""
-"山型浮éŠå¤§é™¸ã®å¯†åº¦ã‚’制御ã—ã¾ã™ã€‚\n"
-"ノイズã®ã‚ªãƒ•ã‚»ãƒƒãƒˆã¯ã€'mgv7_np_mountain' ノイズ値ã«è¿½åŠ ã•ã‚Œã¾ã™ã€‚"
-
-#: src/settings_translation_file.cpp
-msgid "Controls width of tunnels, a smaller value creates wider tunnels."
-msgstr "トンãƒãƒ«ã®å¹…を制御ã€å°ã•ã„æ–¹ã®å€¤ã»ã©åºƒã„トンãƒãƒ«ã‚’生æˆã—ã¾ã™ã€‚"
+"トンãƒãƒ«ã®å¹…を制御ã—ã€å°ã•ã„値ã»ã©åºƒã„トンãƒãƒ«ã‚’作æˆã—ã¾ã™ã€‚\n"
+"値 >= 10.0 ã®å ´åˆã€ãƒˆãƒ³ãƒãƒ«ã®ç”ŸæˆãŒå®Œå…¨ã«ç„¡åŠ¹ã«ãªã‚Šã€é›†ä¸­çš„ãª\n"
+"ノイズ計算ãŒå›žé¿ã•ã‚Œã¾ã™ã€‚"
#: src/settings_translation_file.cpp
msgid "Crash message"
@@ -2455,10 +2505,6 @@ msgid "Damage"
msgstr "ダメージ"
#: src/settings_translation_file.cpp
-msgid "Darkness sharpness"
-msgstr "æš—ã•ã®é‹­ã•"
-
-#: src/settings_translation_file.cpp
msgid "Debug info toggle key"
msgstr "デãƒãƒƒã‚°æƒ…報切り替ãˆã‚­ãƒ¼"
@@ -2475,7 +2521,7 @@ msgid "Dec. volume key"
msgstr "音é‡ã‚’下ã’るキー"
#: src/settings_translation_file.cpp
-msgid "Decrease this to increase liquid resistence to movement."
+msgid "Decrease this to increase liquid resistance to movement."
msgstr "ã“ã®å€¤ã‚’å°ã•ãã™ã‚‹ã¨ã€ç§»å‹•æ™‚ã®æ¶²ä½“抵抗ãŒå¢—加ã—ã¾ã™ã€‚"
#: src/settings_translation_file.cpp
@@ -2519,14 +2565,6 @@ msgstr ""
"cURLã§ã‚³ãƒ³ãƒ‘イルã•ã‚ŒãŸå ´åˆã«ã®ã¿åŠ¹æžœãŒã‚ã‚Šã¾ã™ã€‚"
#: src/settings_translation_file.cpp
-msgid ""
-"Defines areas of floatland smooth terrain.\n"
-"Smooth floatlands occur when noise > 0."
-msgstr ""
-"æµ®éŠå¤§é™¸ã®æ»‘らã‹ãªåœ°å½¢ã®åœ°åŸŸã‚’定義ã—ã¾ã™ã€‚\n"
-"ノイズ㌠0 より大ãã„ã¨ãã€æ»‘らã‹ãªæµ®éŠå¤§é™¸ã«ãªã‚Šã¾ã™ã€‚"
-
-#: src/settings_translation_file.cpp
msgid "Defines areas where trees have apples."
msgstr "木ã«ãƒªãƒ³ã‚´ãŒã‚る地域を定義ã—ã¾ã™ã€‚"
@@ -2607,14 +2645,6 @@ 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 ""
-"廃止予定ã€ä»£ã‚ã‚Šã«ãƒã‚¤ã‚ªãƒ¼ãƒ å®šç¾©ã‚’使用ã—ã¦æ´žçªŸã®æ¶²ä½“を定義ãŠã‚ˆã³ç‰¹å®šã—ã¾ã™ã€‚\n"
-"大ããªæ´žçªŸå†…ã®æº¶å²©ã®Y高ã•ä¸Šé™ã€‚"
-
-#: src/settings_translation_file.cpp
msgid "Depth below which you'll find giant caverns."
msgstr "ã“れ以下ã®æ·±ã•ã§å·¨å¤§ãªæ´žçªŸãŒè¦‹ã¤ã‹ã‚Šã¾ã™ã€‚"
@@ -2690,6 +2720,14 @@ msgstr "ダンジョンノイズ"
#: src/settings_translation_file.cpp
msgid ""
+"Enable IPv6 support (for both client and server).\n"
+"Required for IPv6 connections to work at all."
+msgstr ""
+"IPv6サãƒãƒ¼ãƒˆã‚’有効ã«ã—ã¾ã™ï¼ˆã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã¨ã‚µãƒ¼ãƒãƒ¼ã®ä¸¡æ–¹ã«å¯¾ã—ã¦ï¼‰ã€‚\n"
+"機能ã™ã‚‹ãŸã‚ã«ã¯IPv6接続ãŒå¿…è¦ã§ã™ã€‚"
+
+#: src/settings_translation_file.cpp
+msgid ""
"Enable Lua modding support on client.\n"
"This support is experimental and API can change."
msgstr ""
@@ -2697,10 +2735,6 @@ msgstr ""
"ã“ã®ã‚µãƒãƒ¼ãƒˆã¯å®Ÿé¨“çš„ã§ã‚ã‚Šã€APIã¯å¤‰ã‚ã‚‹ã“ã¨ãŒã‚ã‚Šã¾ã™ã€‚"
#: src/settings_translation_file.cpp
-msgid "Enable VBO"
-msgstr "VBOを有効化"
-
-#: src/settings_translation_file.cpp
msgid "Enable console window"
msgstr "コンソールウィンドウを有効化"
@@ -2775,6 +2809,14 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Enable vertex buffer objects.\n"
+"This should greatly improve graphics performance."
+msgstr ""
+"頂点ãƒãƒƒãƒ•ã‚¡ã‚ªãƒ–ジェクトを有効ã«ã—ã¾ã™ã€‚\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 ""
@@ -2784,10 +2826,24 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Enable/disable running an IPv6 server.\n"
-"Ignored if bind_address is set."
+"Ignored if bind_address is set.\n"
+"Needs enable_ipv6 to be enabled."
msgstr ""
-"IPv6 サーãƒã®å®Ÿè¡Œã‚’有効/無効ã«ã—ã¾ã™ã€‚\n"
-"bind_address ãŒè¨­å®šã•ã‚Œã¦ã„ã‚‹å ´åˆã¯ç„¡è¦–ã•ã‚Œã¾ã™ã€‚"
+"IPv6サーãƒãƒ¼ã®å®Ÿè¡Œã‚’有効/無効ã«ã—ã¾ã™ã€‚\n"
+"bind_addressãŒè¨­å®šã•ã‚Œã¦ã„ã‚‹å ´åˆã¯ç„¡è¦–ã•ã‚Œã¾ã™ã€‚\n"
+"enable_ipv6を有効ã«ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Enables Hable's 'Uncharted 2' filmic tone mapping.\n"
+"Simulates the tone curve of photographic film and how this approximates the\n"
+"appearance of high dynamic range images. Mid-range contrast is slightly\n"
+"enhanced, highlights and shadows are gradually compressed."
+msgstr ""
+"Hableã®ã€Œã‚¢ãƒ³ãƒãƒ£ãƒ¼ãƒ†ãƒƒãƒ‰2ã€ãƒ•ã‚£ãƒ«ãƒ ãƒˆãƒ¼ãƒ³ãƒžãƒƒãƒ”ングを有効ã«ã—ã¾ã™ã€‚\n"
+"写真フィルムã®ãƒˆãƒ¼ãƒ³ã‚«ãƒ¼ãƒ–ã¨ã€ã“ã‚ŒãŒãƒã‚¤ãƒ€ã‚¤ãƒŠãƒŸãƒƒã‚¯ãƒ¬ãƒ³ã‚¸ã‚¤ãƒ¡ãƒ¼ã‚¸ã®å¤–観ã«\n"
+"ã©ã®ã‚ˆã†ã«è¿‘ä¼¼ã™ã‚‹ã‹ã‚’シミュレートã—ã¾ã™ã€‚ミッドレンジã®ã‚³ãƒ³ãƒˆãƒ©ã‚¹ãƒˆãŒ\n"
+"ã‚ãšã‹ã«å¼·åŒ–ã•ã‚Œã€ãƒã‚¤ãƒ©ã‚¤ãƒˆã¨ã‚·ãƒ£ãƒ‰ã‚¦ãŒå¾ã€…ã«åœ§ç¸®ã•ã‚Œã¾ã™ã€‚"
#: src/settings_translation_file.cpp
msgid "Enables animation of inventory items."
@@ -2809,10 +2865,6 @@ msgid "Enables caching of facedir rotated meshes."
msgstr "facedir回転メッシュã®ã‚­ãƒ£ãƒƒã‚·ãƒ³ã‚°ã‚’有効ã«ã—ã¾ã™ã€‚"
#: src/settings_translation_file.cpp
-msgid "Enables filmic tone mapping"
-msgstr "フィルム調トーンマッピング有効ã«ã™ã‚‹"
-
-#: src/settings_translation_file.cpp
msgid "Enables minimap."
msgstr "ミニマップを有効ã«ã™ã‚‹ã€‚"
@@ -2833,6 +2885,18 @@ msgstr ""
"シェーダーãŒæœ‰åŠ¹ã§ã‚ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚"
#: src/settings_translation_file.cpp
+msgid ""
+"Enables the sound system.\n"
+"If disabled, this completely disables all sounds everywhere and the in-game\n"
+"sound controls will be non-functional.\n"
+"Changing this setting requires a restart."
+msgstr ""
+"サウンドシステムを有効ã«ã—ã¾ã™ã€‚\n"
+"無効ã«ã™ã‚‹ã¨ã€ã™ã¹ã¦ã®ã‚µã‚¦ãƒ³ãƒ‰ãŒå®Œå…¨ã«ç„¡åŠ¹ã«ãªã‚Šã€\n"
+"ゲーム内ã®éŸ³ã®åˆ¶å¾¡ã¯æ©Ÿèƒ½ã—ãªããªã‚Šã¾ã™ã€‚\n"
+"ã“ã®è¨­å®šã‚’変更ã™ã‚‹ã«ã¯å†èµ·å‹•ãŒå¿…è¦ã§ã™ã€‚"
+
+#: src/settings_translation_file.cpp
msgid "Engine profiling data print interval"
msgstr "エンジンプロファイリングデータã®å‡ºåŠ›é–“éš”"
@@ -2865,8 +2929,8 @@ msgid "Fall bobbing factor"
msgstr "è½ä¸‹æ™‚ã®ä¸Šä¸‹ã®æºã‚Œä¿‚æ•°"
#: src/settings_translation_file.cpp
-msgid "Fallback font"
-msgstr "フォールãƒãƒƒã‚¯ãƒ•ã‚©ãƒ³ãƒˆ"
+msgid "Fallback font path"
+msgstr "フォールãƒãƒƒã‚¯ãƒ•ã‚©ãƒ³ãƒˆã®ãƒ‘ス"
#: src/settings_translation_file.cpp
msgid "Fallback font shadow"
@@ -2966,30 +3030,6 @@ 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 "飛行キー"
@@ -3010,8 +3050,12 @@ msgid "Fog toggle key"
msgstr "霧表示切り替ãˆã‚­ãƒ¼"
#: src/settings_translation_file.cpp
-msgid "Font path"
-msgstr "フォントパス"
+msgid "Font bold by default"
+msgstr "既定ã§å¤ªå­—ã®ãƒ•ã‚©ãƒ³ãƒˆ"
+
+#: src/settings_translation_file.cpp
+msgid "Font italic by default"
+msgstr "既定ã§æ–œä½“ã®ãƒ•ã‚©ãƒ³ãƒˆ"
#: src/settings_translation_file.cpp
msgid "Font shadow"
@@ -3022,16 +3066,20 @@ msgid "Font shadow alpha"
msgstr "フォントã®å½±ã®é€éŽ"
#: src/settings_translation_file.cpp
-msgid "Font shadow alpha (opaqueness, between 0 and 255)."
-msgstr "フォントã®å½±ã®é€éŽ (ä¸é€æ˜Žã€0~255ã®é–“)。"
+msgid "Font size"
+msgstr "フォントã®å¤§ãã•"
#: src/settings_translation_file.cpp
-msgid "Font shadow offset, if 0 then shadow will not be drawn."
-msgstr "フォントã®å½±ã®ã‚ªãƒ•ã‚»ãƒƒãƒˆã€0 ãªã‚‰ã°å½±ã¯æç”»ã•ã‚Œã¾ã›ã‚“。"
+msgid "Font size of the default font in point (pt)."
+msgstr "既定ã®ãƒ•ã‚©ãƒ³ãƒˆã®ãƒ•ã‚©ãƒ³ãƒˆ サイズ (pt)。"
#: src/settings_translation_file.cpp
-msgid "Font size"
-msgstr "フォントã®å¤§ãã•"
+msgid "Font size of the fallback font in point (pt)."
+msgstr "フォールãƒãƒƒã‚¯ãƒ•ã‚©ãƒ³ãƒˆã®ãƒ•ã‚©ãƒ³ãƒˆ サイズ (pt)。"
+
+#: src/settings_translation_file.cpp
+msgid "Font size of the monospace font in point (pt)."
+msgstr "固定幅フォントã®ãƒ•ã‚©ãƒ³ãƒˆã‚µã‚¤ã‚º (pt)。"
#: src/settings_translation_file.cpp
msgid ""
@@ -3039,7 +3087,8 @@ msgid ""
"placeholders:\n"
"@name, @message, @timestamp (optional)"
msgstr ""
-"プレーヤーã®ãƒãƒ£ãƒƒãƒˆãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã®å½¢å¼ã€‚以下ã®æ–‡å­—列ã¯æœ‰åŠ¹ãªãƒ—レースホルダã§ã™ã€‚:\n"
+"プレーヤーã®ãƒãƒ£ãƒƒãƒˆãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã®å½¢å¼ã€‚以下ã®æ–‡å­—列ã¯æœ‰åŠ¹ãªãƒ—レースホルダã§"
+"ã™ã€‚:\n"
"@name, @message, @timestamp (ä»»æ„)"
#: src/settings_translation_file.cpp
@@ -3154,10 +3203,6 @@ 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 "法線マップã®ç”Ÿæˆ"
@@ -3177,12 +3222,20 @@ msgstr ""
"ã“ã®ãƒ•ãƒ©ã‚°ãŒã™ã¹ã¦ã®è£…飾を制御ã—ã¾ã™ã€‚"
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at maximum light level."
-msgstr "最大光レベルã§ã®å…‰åº¦æ›²ç·šã®å‹¾é…。"
+msgid ""
+"Gradient of light curve at maximum light level.\n"
+"Controls the contrast of the highest light levels."
+msgstr ""
+"最大光レベルã§ã®å…‰åº¦æ›²ç·šã®å‹¾é…。\n"
+"最も高ã„光レベルã®ã‚³ãƒ³ãƒˆãƒ©ã‚¹ãƒˆã‚’制御ã—ã¾ã™ã€‚"
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at minimum light level."
-msgstr "最å°å…‰ãƒ¬ãƒ™ãƒ«ã§ã®å…‰åº¦æ›²ç·šã®å‹¾é…。"
+msgid ""
+"Gradient of light curve at minimum light level.\n"
+"Controls the contrast of the lowest light levels."
+msgstr ""
+"最å°å…‰ãƒ¬ãƒ™ãƒ«ã§ã®å…‰åº¦æ›²ç·šã®å‹¾é…。\n"
+"最も低ã„光レベルã®ã‚³ãƒ³ãƒˆãƒ©ã‚¹ãƒˆã‚’制御ã—ã¾ã™ã€‚"
#: src/settings_translation_file.cpp
msgid "Graphics"
@@ -3214,15 +3267,16 @@ msgstr "HUD表示切り替ãˆã‚­ãƒ¼"
#: src/settings_translation_file.cpp
msgid ""
-"Handling for deprecated lua api calls:\n"
+"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 ""
"廃止予定ã®Lua API呼ã³å‡ºã—ã®å‡¦ç†:\n"
-"- legacy: å¤ã„振る舞ã„を模倣ã™ã‚‹(試ã¿ã‚‹) (リリースã®æ—¢å®šå€¤)。\n"
-"- log: 廃止予定ã®å‘¼ã³å‡ºã—を模倣ã—ã¦ãƒãƒƒã‚¯ãƒˆãƒ¬ãƒ¼ã‚¹ã‚’記録 (デãƒãƒƒã‚°ã®æ—¢å®šå€¤)。\n"
-"- error: 廃止予定ã®å‘¼ã³å‡ºã—ã®ä½¿ç”¨ã‚’中止ã™ã‚‹ (Mod開発者ã«æŽ¨å¥¨)。"
+"- legacy: å¤ã„振る舞ã„を模倣ã™ã‚‹(試ã¿ã‚‹) (リリース版ã®æ—¢å®šå€¤)。\n"
+"- log: 廃止予定ã®å‘¼ã³å‡ºã—を模倣ã—ã¦ãƒãƒƒã‚¯ãƒˆãƒ¬ãƒ¼ã‚¹ã‚’記録 (デãƒãƒƒã‚°ç‰ˆã®æ—¢å®š"
+"値)。\n"
+"- error: 廃止予定ã®å‘¼ã³å‡ºã—ã®ä½¿ç”¨ã‚’中止ã™ã‚‹ (Mod開発者å‘ã‘ã«æŽ¨å¥¨)。"
#: src/settings_translation_file.cpp
msgid ""
@@ -3456,6 +3510,16 @@ msgstr "å·ã‚’作る深ã•ã€‚"
#: src/settings_translation_file.cpp
msgid ""
+"How fast liquid waves will move. Higher = faster.\n"
+"If negative, liquid waves will move backwards.\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+"液体波ã®ç§»å‹•é€Ÿåº¦ã€‚高ã„値=より速ã„。\n"
+"è² ã®å€¤ã®å ´åˆã€æ¶²ä½“æ³¢ã¯é€†æ–¹å‘ã«ç§»å‹•ã—ã¾ã™ã€‚\n"
+"æºã‚Œã‚‹æ¶²ä½“ を有効ã«ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚"
+
+#: 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 ""
@@ -3487,10 +3551,6 @@ msgid "IPv6 server"
msgstr "IPv6 サーãƒ"
#: src/settings_translation_file.cpp
-msgid "IPv6 support."
-msgstr "IPv6 サãƒãƒ¼ãƒˆã€‚"
-
-#: 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."
@@ -3702,6 +3762,14 @@ msgid "Invert vertical mouse movement."
msgstr "マウスã®ä¸Šä¸‹ã®å‹•ãã‚’å転ã•ã›ã¾ã™ã€‚"
#: src/settings_translation_file.cpp
+msgid "Italic font path"
+msgstr "斜体フォントã®ãƒ‘ス"
+
+#: src/settings_translation_file.cpp
+msgid "Italic monospace font path"
+msgstr "斜体ã®å›ºå®šå¹…フォントã®ãƒ‘ス"
+
+#: src/settings_translation_file.cpp
msgid "Item entity TTL"
msgstr "アイテムエンティティTTL"
@@ -4528,12 +4596,20 @@ msgid "Large cave depth"
msgstr "大ããªæ´žçªŸã®æ·±ã•"
#: src/settings_translation_file.cpp
-msgid "Large chat console key"
-msgstr "大型ãƒãƒ£ãƒƒãƒˆã‚³ãƒ³ã‚½ãƒ¼ãƒ«ã‚­ãƒ¼"
+msgid "Large cave maximum number"
+msgstr "大ããªæ´žçªŸã®æœ€å¤§æ•°"
+
+#: src/settings_translation_file.cpp
+msgid "Large cave minimum number"
+msgstr "大ããªæ´žçªŸã®æœ€å°æ•°"
+
+#: src/settings_translation_file.cpp
+msgid "Large cave proportion flooded"
+msgstr "大ããªæ´žçªŸã®æµ¸æ°´å‰²åˆ"
#: src/settings_translation_file.cpp
-msgid "Lava depth"
-msgstr "溶岩ã®æ·±ã•"
+msgid "Large chat console key"
+msgstr "大型ãƒãƒ£ãƒƒãƒˆã‚³ãƒ³ã‚½ãƒ¼ãƒ«ã‚­ãƒ¼"
#: src/settings_translation_file.cpp
msgid "Leaves style"
@@ -4563,6 +4639,14 @@ msgid ""
msgstr "サーãƒã®é–“éš”ã®é•·ã•ã¨ã‚ªãƒ–ジェクトãŒé€šå¸¸ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ä¸Šã§æ›´æ–°ã•ã‚Œã‚‹é–“隔。"
#: src/settings_translation_file.cpp
+msgid ""
+"Length of liquid waves.\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+"液体波ã®é•·ã•ã€‚\n"
+"æºã‚Œã‚‹æ¶²ä½“ を有効ã«ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚"
+
+#: src/settings_translation_file.cpp
msgid "Length of time between Active Block Modifier (ABM) execution cycles"
msgstr "アクティブブロックモディファイヤー(ABM)実行サイクル間ã®æ™‚é–“ã®é•·ã•"
@@ -4595,20 +4679,28 @@ msgstr ""
"- verbose"
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost"
-msgstr "光度曲線ミッドブースト"
+msgid "Light curve boost"
+msgstr "光度曲線ブースト"
+
+#: src/settings_translation_file.cpp
+msgid "Light curve boost center"
+msgstr "光度曲線ブーストã®ä¸­å¿ƒ"
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost center"
-msgstr "光度曲線ミッドブーストã®ä¸­å¿ƒ"
+msgid "Light curve boost spread"
+msgstr "光度曲線ブーストã®åºƒãŒã‚Š"
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost spread"
-msgstr "光度曲線ミッドブーストã®åºƒãŒã‚Š"
+msgid "Light curve gamma"
+msgstr "光度曲線ã®ã‚¬ãƒ³ãƒž"
#: src/settings_translation_file.cpp
-msgid "Lightness sharpness"
-msgstr "明るã•ã®é‹­ã•"
+msgid "Light curve high gradient"
+msgstr "光度曲線ã®é«˜å‹¾é…"
+
+#: src/settings_translation_file.cpp
+msgid "Light curve low gradient"
+msgstr "光度曲線ã®ä½Žå‹¾é…"
#: src/settings_translation_file.cpp
msgid "Limit of emerge queues on disk"
@@ -4723,37 +4815,37 @@ msgstr "マップジェãƒãƒ¬ãƒ¼ã‚¿ Carpathian ã«å›ºæœ‰ã®ãƒžãƒƒãƒ—生æˆå±žæ€§
#: 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."
+"Map generation attributes specific to Mapgen Flat.\n"
+"Occasional lakes and hills can be added to the flat world."
msgstr ""
-"マップジェãƒãƒ¬ãƒ¼ã‚¿ Valleys ã«å›ºæœ‰ã®ãƒžãƒƒãƒ—生æˆå±žæ€§ã€‚\n"
-"'altitude_chill': 高度ã¨ã¨ã‚‚ã«ç†±ã‚’減らã—ã¾ã™ã€‚\n"
-"'humid_rivers': å·ã®å‘¨è¾ºã®æ¹¿åº¦ã‚’上ã’ã¾ã™ã€‚\n"
-"'vary_river_depth': 有効ã«ãªã£ã¦ã„ã‚‹ã¨ä½Žæ¹¿åº¦ã¨é«˜ç†±ã«ã‚ˆã‚Šå·ã¯æµ…ããªã‚Šã€\n"
-"時ã«ã¯ä¹¾ã„ã¦ã—ã¾ã„ã¾ã™ã€‚\n"
-"'altitude_dry': 高度ã¨ã¨ã‚‚ã«æ¹¿åº¦ã‚’下ã’ã¾ã™ã€‚"
+"マップジェãƒãƒ¬ãƒ¼ã‚¿ flat ã«å›ºæœ‰ã®ãƒžãƒƒãƒ—生æˆå±žæ€§ã€‚\n"
+"時折ã€æ¹–や丘を平らãªãƒ¯ãƒ¼ãƒ«ãƒ‰ã«è¿½åŠ ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚"
#: src/settings_translation_file.cpp
msgid ""
-"Map generation attributes specific to Mapgen flat.\n"
+"Map generation attributes specific to Mapgen Fractal.\n"
"'terrain' enables the generation of non-fractal terrain:\n"
"ocean, islands and underground."
msgstr ""
"マップジェãƒãƒ¬ãƒ¼ã‚¿ fractal ã«å›ºæœ‰ã®ãƒžãƒƒãƒ—生æˆå±žæ€§ã€‚\n"
-"'terrain' ã¯éžãƒ•ãƒ©ã‚¯ã‚¿ãƒ«ãªåœ°å½¢ãŒã§ãるよã†ã«ã—ã¾ã™:\n"
+"'terrain' ã¯éžãƒ•ãƒ©ã‚¯ã‚¿ãƒ«ãªåœ°å½¢ã®ç”Ÿæˆã‚’å¯èƒ½ã«ã—ã¾ã™:\n"
"æµ·ã€å³¶ãã—ã¦åœ°ä¸‹ã€‚"
#: 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."
+"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 ""
-"マップジェãƒãƒ¬ãƒ¼ã‚¿ flat ã«å›ºæœ‰ã®ãƒžãƒƒãƒ—生æˆå±žæ€§ã€‚\n"
-"時折ã€æ¹–や丘を平らãªãƒ¯ãƒ¼ãƒ«ãƒ‰ã«è¿½åŠ ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚"
+"マップジェãƒãƒ¬ãƒ¼ã‚¿ Valleys ã«å›ºæœ‰ã®ãƒžãƒƒãƒ—生æˆå±žæ€§ã€‚\n"
+"'altitude_chill': 高度ã¨ã¨ã‚‚ã«ç†±ã‚’減らã—ã¾ã™ã€‚\n"
+"'humid_rivers': å·ã®å‘¨è¾ºã®æ¹¿åº¦ã‚’上ã’ã¾ã™ã€‚\n"
+"'vary_river_depth': 有効ã«ãªã£ã¦ã„ã‚‹ã¨ä½Žæ¹¿åº¦ã¨é«˜ç†±ã«ã‚ˆã‚Šå·ã¯æµ…ããªã‚Šã€\n"
+"時ã«ã¯ä¹¾ã„ã¦ã—ã¾ã„ã¾ã™ã€‚\n"
+"'altitude_dry': 高度ã¨ã¨ã‚‚ã«æ¹¿åº¦ã‚’下ã’ã¾ã™ã€‚"
#: src/settings_translation_file.cpp
msgid "Map generation attributes specific to Mapgen v5."
@@ -4908,8 +5000,16 @@ msgid "Maximum hotbar width"
msgstr "ホットãƒãƒ¼æœ€å¤§å¹…"
#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of large caves per mapchunk."
+msgstr "マップãƒãƒ£ãƒ³ã‚¯ã‚ãŸã‚Šã®å¤§ããªæ´žçªŸã®ä¹±æ•°ã®æœ€å¤§å€¤ã€‚"
+
+#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of small caves per mapchunk."
+msgstr "マップãƒãƒ£ãƒ³ã‚¯ã‚ãŸã‚Šã®å°ã•ãªæ´žçªŸã®ä¹±æ•°ã®æœ€å¤§å€¤ã€‚"
+
+#: src/settings_translation_file.cpp
msgid ""
-"Maximum liquid resistence. Controls deceleration when entering liquid at\n"
+"Maximum liquid resistance. Controls deceleration when entering liquid at\n"
"high speed."
msgstr "最大ã®æ¶²ä½“抵抗。高速ã§æ¶²ä½“ã«å…¥ã‚‹éš›ã®æ¸›é€Ÿã‚’制御ã—ã¾ã™ã€‚"
@@ -5046,6 +5146,14 @@ msgid "Minimap scan height"
msgstr "ミニマップã®ã‚¹ã‚­ãƒ£ãƒ³é«˜ã•"
#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of large caves per mapchunk."
+msgstr "マップãƒãƒ£ãƒ³ã‚¯ã‚ãŸã‚Šã®å¤§ããªæ´žçªŸã®ä¹±æ•°ã®æœ€å°å€¤ã€‚"
+
+#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of small caves per mapchunk."
+msgstr "マップãƒãƒ£ãƒ³ã‚¯ã‚ãŸã‚Šã®å°ã•ãªæ´žçªŸã®ä¹±æ•°ã®æœ€å°å€¤ã€‚"
+
+#: src/settings_translation_file.cpp
msgid "Minimum texture size"
msgstr "最å°ãƒ†ã‚¯ã‚¹ãƒãƒ£ã‚µã‚¤ã‚º"
@@ -5142,8 +5250,8 @@ msgid ""
msgstr "プレイヤーãŒå‚加ã—ãŸã¨ãã«ã‚µãƒ¼ãƒä¸€è¦§ã«è¡¨ç¤ºã•ã‚Œã‚‹ã‚µãƒ¼ãƒã®åå‰ã€‚"
#: src/settings_translation_file.cpp
-msgid "Near clipping plane"
-msgstr "クリッピングé¢ä»˜è¿‘"
+msgid "Near plane"
+msgstr "è¿‘ãã®é¢"
#: src/settings_translation_file.cpp
msgid "Network"
@@ -5248,6 +5356,16 @@ msgstr "ä¸é€æ˜Žãªæ¶²ä½“"
#: src/settings_translation_file.cpp
msgid ""
+"Opaqueness (alpha) of the shadow behind the default font, between 0 and 255."
+msgstr "既定ã®ãƒ•ã‚©ãƒ³ãƒˆã®å½±ã®ä¸é€æ˜Žåº¦ï¼ˆé€éŽï¼‰ã¯0ã‹ã‚‰255ã®é–“ã§ã™ã€‚"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Opaqueness (alpha) of the shadow behind the fallback font, between 0 and 255."
+msgstr "フォールãƒãƒƒã‚¯ãƒ•ã‚©ãƒ³ãƒˆã®å½±ã®ä¸é€æ˜Žåº¦ï¼ˆé€éŽï¼‰ã¯0ã‹ã‚‰255ã®é–“ã§ã™ã€‚"
+
+#: 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."
@@ -5288,8 +5406,20 @@ msgid "Parallax occlusion strength"
msgstr "視差é®è”½å¼·åº¦"
#: src/settings_translation_file.cpp
-msgid "Path to TrueTypeFont or bitmap."
-msgstr "TrueTypeフォントã¾ãŸã¯ãƒ“ットマップã¸ã®ãƒ‘ス。"
+msgid ""
+"Path of the fallback font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font will be used for certain languages or if the default font is "
+"unavailable."
+msgstr ""
+"フォールãƒãƒƒã‚¯ãƒ•ã‚©ãƒ³ãƒˆã®ãƒ‘ス。\n"
+"「フリータイプフォントã€ãŒæœ‰åŠ¹ãªå ´åˆï¼šTrueTypeフォントã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›"
+"ん。\n"
+"「フリータイプフォントã€ãŒç„¡åŠ¹ãªå ´åˆï¼šãƒ“ットマップã¾ãŸã¯XMLベクターフォント\n"
+"ã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。\n"
+"ã“ã®ãƒ•ã‚©ãƒ³ãƒˆã¯ç‰¹å®šã®è¨€èªžã§ä½¿ç”¨ã•ã‚Œã‚‹ã‹ã€è¦å®šã®ãƒ•ã‚©ãƒ³ãƒˆãŒä½¿ç”¨ã§ããªã„\n"
+"ã¨ãã«ä½¿ç”¨ã•ã‚Œã¾ã™ã€‚"
#: src/settings_translation_file.cpp
msgid "Path to save screenshots at."
@@ -5310,6 +5440,34 @@ msgstr ""
"検索ã•ã‚Œã¾ã™ã€‚"
#: src/settings_translation_file.cpp
+msgid ""
+"Path to the default font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"The fallback font will be used if the font cannot be loaded."
+msgstr ""
+"既定ã®ãƒ•ã‚©ãƒ³ãƒˆã®ãƒ‘ス。\n"
+"「フリータイプフォントã€ãŒæœ‰åŠ¹ãªå ´åˆï¼šTrueTypeフォントã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›"
+"ん。\n"
+"「フリータイプフォントã€ãŒç„¡åŠ¹ãªå ´åˆï¼šãƒ“ットマップã¾ãŸã¯XMLベクターフォント\n"
+"ã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。\n"
+"ã“ã®ãƒ•ã‚©ãƒ¼ãƒ«ãƒãƒƒã‚¯ãƒ•ã‚©ãƒ³ãƒˆã¯ãƒ•ã‚©ãƒ³ãƒˆãŒèª­ã¿è¾¼ã‚ãªã„ã¨ãã«ä½¿ç”¨ã•ã‚Œã¾ã™ã€‚"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Path to the monospace font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font is used for e.g. the console and profiler screen."
+msgstr ""
+"固定幅フォントã®ãƒ‘ス。\n"
+"「フリータイプフォントã€ãŒæœ‰åŠ¹ãªå ´åˆï¼šTrueTypeフォントã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›"
+"ん。\n"
+"「フリータイプフォントã€ãŒç„¡åŠ¹ãªå ´åˆï¼šãƒ“ットマップã¾ãŸã¯XMLベクターフォント\n"
+"ã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。\n"
+"ã“ã®ãƒ•ã‚©ãƒ³ãƒˆã¯ã‚³ãƒ³ã‚½ãƒ¼ãƒ«ã‚„観測記録画é¢ãªã©ã§ä½¿ç”¨ã•ã‚Œã¾ã™ã€‚"
+
+#: src/settings_translation_file.cpp
msgid "Pause on lost window focus"
msgstr "ウィンドウフォーカス喪失時ã«ä¸€æ™‚åœæ­¢"
@@ -5390,6 +5548,10 @@ msgid "Profiling"
msgstr "プロファイリング"
#: src/settings_translation_file.cpp
+msgid "Proportion of large caves that contain liquid."
+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 "
@@ -5415,6 +5577,10 @@ msgid "Recent Chat Messages"
msgstr "最近ã®ãƒãƒ£ãƒƒãƒˆãƒ¡ãƒƒã‚»ãƒ¼ã‚¸"
#: src/settings_translation_file.cpp
+msgid "Regular font path"
+msgstr "通常フォントã®ãƒ‘ス"
+
+#: src/settings_translation_file.cpp
msgid "Remote media"
msgstr "リモートメディア"
@@ -5626,24 +5792,24 @@ 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."
+"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 ""
"18種類ã®ãƒ•ãƒ©ã‚¯ã‚¿ãƒ«ã‚¿ã‚¤ãƒ—ã‹ã‚‰1ã¤ã‚’é¸æŠžã—ã¾ã™ã€‚\n"
"1 = 4D \"Roundy\" マンデルブロ集åˆã€‚\n"
@@ -5715,26 +5881,26 @@ msgstr "クライアントã‹ã‚‰é€ä¿¡ã•ã‚Œã‚‹ãƒãƒ£ãƒƒãƒˆãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã®æœ€
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving leaves.\n"
+"Set to true to enable waving leaves.\n"
"Requires shaders to be enabled."
msgstr ""
-"有効ã«ã™ã‚‹ã¨è‘‰ã‚’æºã‚‰ã›ã¾ã™ã€‚\n"
+"有効ã«ã™ã‚‹ã¨è‘‰ãŒæºã‚Œã¾ã™ã€‚\n"
"シェーダーãŒæœ‰åŠ¹ã§ã‚ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚"
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving plants.\n"
+"Set to true to enable waving liquids (like water).\n"
"Requires shaders to be enabled."
msgstr ""
-"有効ã«ã™ã‚‹ã¨è‰èŠ±ã‚’æºã‚‰ã›ã¾ã™ã€‚\n"
+"有効ã«ã™ã‚‹ã¨æ¶²ä½“ãŒæºã‚Œã¾ã™ï¼ˆæ°´ã®ã‚ˆã†ãªï¼‰ã€‚\n"
"シェーダーãŒæœ‰åŠ¹ã§ã‚ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚"
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving water.\n"
+"Set to true to enable waving plants.\n"
"Requires shaders to be enabled."
msgstr ""
-"有効ã«ã™ã‚‹ã¨æ°´ã‚’æºã‚‰ã›ã¾ã™ã€‚\n"
+"有効ã«ã™ã‚‹ã¨è‰èŠ±ãŒæºã‚Œã¾ã™ã€‚\n"
"シェーダーãŒæœ‰åŠ¹ã§ã‚ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚"
#: src/settings_translation_file.cpp
@@ -5753,8 +5919,20 @@ msgstr ""
"ã“ã‚Œã¯OpenGLビデオãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã§ã®ã¿æ©Ÿèƒ½ã—ã¾ã™ã€‚"
#: src/settings_translation_file.cpp
-msgid "Shadow limit"
-msgstr "å½±ã®åˆ¶é™"
+msgid ""
+"Shadow offset (in pixels) of the default font. If 0, then shadow will not be "
+"drawn."
+msgstr ""
+"既定ã®ãƒ•ã‚©ãƒ³ãƒˆã®å½±ã®ã‚ªãƒ•ã‚»ãƒƒãƒˆï¼ˆãƒ”クセルå˜ä½ï¼‰ã€‚ 0ã®å ´åˆã€å½±ã¯æç”»ã•ã‚Œã¾ã›"
+"ん。"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not "
+"be drawn."
+msgstr ""
+"フォールãƒãƒƒã‚¯ãƒ•ã‚©ãƒ³ãƒˆã®å½±ã®ã‚ªãƒ•ã‚»ãƒƒãƒˆï¼ˆãƒ”クセルå˜ä½ï¼‰ã€‚ \n"
+"0ã®å ´åˆã€å½±ã¯æç”»ã•ã‚Œã¾ã›ã‚“。"
#: src/settings_translation_file.cpp
msgid "Shape of the minimap. Enabled = round, disabled = square."
@@ -5807,6 +5985,14 @@ msgid "Slope and fill work together to modify the heights."
msgstr "傾斜ã¨å †ç©ç‰©ã¯é«˜ã•ã‚’変ãˆã‚‹ãŸã‚ã«é€£æºã—ã¾ã™ã€‚"
#: src/settings_translation_file.cpp
+msgid "Small cave maximum number"
+msgstr "å°ã•ãªæ´žçªŸã®æœ€å¤§æ•°"
+
+#: src/settings_translation_file.cpp
+msgid "Small cave minimum number"
+msgstr "å°ã•ãªæ´žçªŸã®æœ€å°æ•°"
+
+#: src/settings_translation_file.cpp
msgid "Small-scale humidity variation for blending biomes on borders."
msgstr "ãƒã‚¤ã‚ªãƒ¼ãƒ ãŒæ··åˆã—ã¦ã„る境界線上ã®å°è¦æ¨¡æ¹¿åº¦ã®å¤‰å‹•ã€‚"
@@ -5873,11 +6059,13 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Spread of light curve mid-boost.\n"
-"Standard deviation of the mid-boost gaussian."
+"Spread of light curve boost range.\n"
+"Controls the width of the range to be boosted.\n"
+"Standard deviation of the light curve boost Gaussian."
msgstr ""
-"光度曲線ミッドブーストã®åºƒãŒã‚Šã€‚\n"
-"ミッドブーストガウス分布ã®æ¨™æº–å差。"
+"光度曲線ブースト範囲ã®åºƒãŒã‚Šã€‚\n"
+"ブーストã™ã‚‹ç¯„囲ã®å¹…を制御ã—ã¾ã™ã€‚\n"
+"光度曲線ブーストガウス分布ã®æ¨™æº–å差。"
#: src/settings_translation_file.cpp
msgid "Static spawnpoint"
@@ -5900,8 +6088,14 @@ msgid "Strength of generated normalmaps."
msgstr "生æˆã•ã‚ŒãŸæ³•ç·šãƒžãƒƒãƒ—ã®å¼·ã•ã§ã™ã€‚"
#: src/settings_translation_file.cpp
-msgid "Strength of light curve mid-boost."
-msgstr "光度曲線ミッドブーストã®å¼·ã•ã€‚"
+msgid ""
+"Strength of light curve boost.\n"
+"The 3 'boost' parameters define a range of the light\n"
+"curve that is boosted in brightness."
+msgstr ""
+"光度曲線ブーストã®å¼·åº¦ã€‚\n"
+"3ã¤ã®ã€Œãƒ–ーストã€ãƒ‘ラメーターã¯ã€æ˜Žã‚‹ã•ã‚’ブーストã™ã‚‹\n"
+"光度曲線ã®ç¯„囲を定義ã—ã¾ã™ã€‚"
#: src/settings_translation_file.cpp
msgid "Strength of parallax."
@@ -6018,6 +6212,20 @@ msgid "The length in pixels it takes for touch screen interaction to start."
msgstr "タッãƒã‚¹ã‚¯ãƒªãƒ¼ãƒ³ã®æ“作ãŒå§‹ã¾ã‚‹ãƒ”クセルå˜ä½ã®è·é›¢ã€‚"
#: src/settings_translation_file.cpp
+msgid ""
+"The maximum height of the surface of waving liquids.\n"
+"4.0 = Wave height is two nodes.\n"
+"0.0 = Wave doesn't move at all.\n"
+"Default is 1.0 (1/2 node).\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+"æºã‚Œã‚‹æ¶²ä½“ã®è¡¨é¢ã®æœ€å¤§é«˜ã•ã€‚\n"
+"4.0 =波高ã¯2ノードã§ã™ã€‚\n"
+"0.0 =æ³¢ã¯ã¾ã£ãŸãå‹•ãã¾ã›ã‚“。\n"
+"既定ã¯1.0(1/2ノード)ã§ã™ã€‚\n"
+"æºã‚Œã‚‹æ¶²ä½“ を有効ã«ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚"
+
+#: src/settings_translation_file.cpp
msgid "The network interface that the server listens on."
msgstr "サーãƒãŒå¾…æ©Ÿã—ã¦ã„ã‚‹ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹ã€‚"
@@ -6121,10 +6329,6 @@ msgid "Third of 4 2D noises that together define hill/mountain range height."
msgstr "一緒ã«ä¸˜é™µ/山岳地帯ã®é«˜ã•ã‚’定義ã™ã‚‹2Dノイズ4ã¤ã®ã†ã¡ã®3番目ã§ã™ã€‚"
#: 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."
@@ -6185,10 +6389,10 @@ msgstr "トライリニアフィルタリング"
msgid ""
"True = 256\n"
"False = 128\n"
-"Useable to make minimap smoother on slower machines."
+"Usable to make minimap smoother on slower machines."
msgstr ""
-"有効 = 256\n"
-"無効 = 128\n"
+"True = 256\n"
+"False = 128\n"
"よりé…ã„マシンã§ãƒŸãƒ‹ãƒžãƒƒãƒ—を滑らã‹ã«ã™ã‚‹ãŸã‚ã«ä½¿ç”¨ã§ãã¾ã™ã€‚"
#: src/settings_translation_file.cpp
@@ -6196,11 +6400,6 @@ msgid "Trusted mods"
msgstr "ä¿¡é ¼ã™ã‚‹Mod"
#: 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。"
@@ -6293,10 +6492,6 @@ 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 "最大ã®å±±ã®é«˜ã•å¤‰å‹• (ノードå˜ä½)。"
@@ -6374,6 +6569,14 @@ msgstr "音é‡"
#: src/settings_translation_file.cpp
msgid ""
+"Volume of all sounds.\n"
+"Requires the sound system to be enabled."
+msgstr ""
+"ã™ã¹ã¦ã®éŸ³ã®éŸ³é‡ã€‚\n"
+"サウンド システムを有効ã«ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚"
+
+#: 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"
@@ -6415,24 +6618,24 @@ msgid "Waving leaves"
msgstr "æºã‚Œã‚‹è‘‰"
#: src/settings_translation_file.cpp
-msgid "Waving plants"
-msgstr "æºã‚Œã‚‹è‰èŠ±"
+msgid "Waving liquids"
+msgstr "æºã‚Œã‚‹æ¶²ä½“"
#: src/settings_translation_file.cpp
-msgid "Waving water"
-msgstr "æºã‚Œã‚‹æ°´"
+msgid "Waving liquids wave height"
+msgstr "æºã‚Œã‚‹æ¶²ä½“ã®æ³¢ã®é«˜ã•"
#: src/settings_translation_file.cpp
-msgid "Waving water wave height"
-msgstr "æºã‚Œã‚‹æ°´ã®æ³¢ã®é«˜ã•"
+msgid "Waving liquids wave speed"
+msgstr "æºã‚Œã‚‹æ¶²ä½“ã®æ³¢ã®é€Ÿåº¦"
#: src/settings_translation_file.cpp
-msgid "Waving water wave speed"
-msgstr "æºã‚Œã‚‹æ°´ã®æ³¢ã®é€Ÿåº¦"
+msgid "Waving liquids wavelength"
+msgstr "æºã‚Œã‚‹æ¶²ä½“ã®æ³¢é•·"
#: src/settings_translation_file.cpp
-msgid "Waving water wavelength"
-msgstr "æºã‚Œã‚‹æ°´ã®æ³¢é•·"
+msgid "Waving plants"
+msgstr "æºã‚Œã‚‹è‰èŠ±"
#: src/settings_translation_file.cpp
msgid ""
@@ -6482,10 +6685,14 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Whether FreeType fonts are used, requires FreeType support to be compiled in."
+"Whether FreeType fonts are used, requires FreeType support to be compiled "
+"in.\n"
+"If disabled, bitmap and XML vectors fonts are used instead."
msgstr ""
-"フリータイプフォントを使用ã™ã‚‹ã«ã¯ã€ãƒ•ãƒªãƒ¼ã‚¿ã‚¤ãƒ—をサãƒãƒ¼ãƒˆã—ã¦\n"
-"コンパイルã•ã‚Œã¦ã„ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚"
+"フリータイプフォントを使用ã™ã‚‹ã‹ã©ã†ã‹ã¯ã€ãƒ•ãƒªãƒ¼ã‚¿ã‚¤ãƒ—をサãƒãƒ¼ãƒˆã—ã¦\n"
+"コンパイルã•ã‚Œã¦ã„ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ \n"
+"無効ã«ã—ãŸå ´åˆã€ä»£ã‚ã‚Šã«ãƒ“ットマップãŠã‚ˆã³ XML ベクターフォントãŒä½¿ç”¨ã•ã‚Œã¾"
+"ã™ã€‚"
#: src/settings_translation_file.cpp
msgid "Whether node texture animations should be desynchronized per mapblock."
@@ -6521,6 +6728,18 @@ msgstr "å¯è¦–領域ã®ç«¯ã«éœ§ã‚’表示ã™ã‚‹ã‹ã©ã†ã‹ã®è¨­å®šã§ã™ã€‚"
#: src/settings_translation_file.cpp
msgid ""
+"Whether to mute sounds. You can unmute sounds at any time, unless the\n"
+"sound system is disabled (enable_sound=false).\n"
+"In-game, you can toggle the mute state with the mute key or by using the\n"
+"pause menu."
+msgstr ""
+"音をミュートã™ã‚‹ã‹ã©ã†ã‹ã€‚サウンドシステムãŒç„¡åŠ¹ã«ãªã£ã¦ã„ãªã„é™ã‚Š\n"
+"(enable_sound = false)ã€ã„ã¤ã§ã‚‚ミュートを解除ã§ãã¾ã™ã€‚\n"
+"ゲーム内ã§ã¯ãƒŸãƒ¥ãƒ¼ãƒˆã‚­ãƒ¼ã‚’使用ã™ã‚‹ã‹ãƒãƒ¼ã‚ºãƒ¡ãƒ‹ãƒ¥ãƒ¼ã‚’使用ã—ã¦ã€\n"
+"ミュート状態を切り替ãˆã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚"
+
+#: src/settings_translation_file.cpp
+msgid ""
"Whether to show the client debug info (has the same effect as hitting F5)."
msgstr ""
"クライアントã®ãƒ‡ãƒãƒƒã‚°æƒ…報を表示ã™ã‚‹ã‹ã©ã†ã‹ã®è¨­å®šã§ã™\n"
@@ -6606,10 +6825,6 @@ msgid "Y-level of cavern upper limit."
msgstr "大ããªæ´žçªŸã®ä¸Šé™Yレベル。"
#: src/settings_translation_file.cpp
-msgid "Y-level of floatland midpoint and lake surface."
-msgstr "æµ®éŠå¤§é™¸ã®ä¸­é–“点ã¨æ¹–é¢ã®Yレベル。"
-
-#: src/settings_translation_file.cpp
msgid "Y-level of higher terrain that creates cliffs."
msgstr "崖を作る高ã„地形ã®Yレベル。"
@@ -6622,10 +6837,6 @@ msgid "Y-level of seabed."
msgstr "海底ã®Yレベル。"
#: src/settings_translation_file.cpp
-msgid "Y-level to which floatland shadows extend."
-msgstr "æµ®éŠå¤§é™¸ã®å½±ãŒåºƒãŒã‚‹Yレベル。"
-
-#: src/settings_translation_file.cpp
msgid "cURL file download timeout"
msgstr "cURLファイルダウンロードタイムアウト"
@@ -6637,6 +6848,116 @@ msgstr "cURL並行処ç†åˆ¶é™"
msgid "cURL timeout"
msgstr "cURLタイムアウト"
+#~ 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"
+#~ "ã“ã®è¨­å®šã¯ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆå°‚用ã§ã‚ã‚Šã€ã‚µãƒ¼ãƒã§ã¯ç„¡è¦–ã•ã‚Œã¾ã™ã€‚"
+
+#~ msgid "Alters how mountain-type floatlands taper above and below midpoint."
+#~ msgstr "山型浮éŠå¤§é™¸ãŒä¸­é–“点ã®ä¸Šä¸‹ã§ã©ã®ã‚ˆã†ã«å…ˆç´°ããªã‚‹ã‹ã‚’変更ã—ã¾ã™ã€‚"
+
+#~ msgid "Center of light curve mid-boost."
+#~ msgstr "光度曲線ミッドブーストã®ä¸­å¿ƒã€‚"
+
+#~ msgid ""
+#~ "Controls the density of mountain-type floatlands.\n"
+#~ "Is a noise offset added to the 'mgv7_np_mountain' noise value."
+#~ msgstr ""
+#~ "山型浮éŠå¤§é™¸ã®å¯†åº¦ã‚’制御ã—ã¾ã™ã€‚\n"
+#~ "ノイズã®ã‚ªãƒ•ã‚»ãƒƒãƒˆã¯ã€'mgv7_np_mountain' ノイズ値ã«è¿½åŠ ã•ã‚Œã¾ã™ã€‚"
+
+#~ msgid "Controls width of tunnels, a smaller value creates wider tunnels."
+#~ msgstr "トンãƒãƒ«ã®å¹…を制御ã€å°ã•ã„æ–¹ã®å€¤ã»ã©åºƒã„トンãƒãƒ«ã‚’生æˆã—ã¾ã™ã€‚"
+
+#~ msgid "Darkness sharpness"
+#~ msgstr "æš—ã•ã®é‹­ã•"
+
+#~ msgid ""
+#~ "Defines areas of floatland smooth terrain.\n"
+#~ "Smooth floatlands occur when noise > 0."
+#~ msgstr ""
+#~ "æµ®éŠå¤§é™¸ã®æ»‘らã‹ãªåœ°å½¢ã®åœ°åŸŸã‚’定義ã—ã¾ã™ã€‚\n"
+#~ "ノイズ㌠0 より大ãã„ã¨ãã€æ»‘らã‹ãªæµ®éŠå¤§é™¸ã«ãªã‚Šã¾ã™ã€‚"
+
+#~ msgid ""
+#~ "Deprecated, define and locate cave liquids using biome definitions "
+#~ "instead.\n"
+#~ "Y of upper limit of lava in large caves."
+#~ msgstr ""
+#~ "廃止予定ã€ä»£ã‚ã‚Šã«ãƒã‚¤ã‚ªãƒ¼ãƒ å®šç¾©ã‚’使用ã—ã¦æ´žçªŸã®æ¶²ä½“を定義ãŠã‚ˆã³ç‰¹å®šã—ã¾"
+#~ "ã™ã€‚\n"
+#~ "大ããªæ´žçªŸå†…ã®æº¶å²©ã®Y高ã•ä¸Šé™ã€‚"
+
+#~ msgid "Enable VBO"
+#~ msgstr "VBOを有効化"
+
+#~ msgid "Enables filmic tone mapping"
+#~ msgstr "フィルム調トーンマッピング有効ã«ã™ã‚‹"
+
+#~ msgid "Floatland base height noise"
+#~ msgstr "æµ®éŠå¤§é™¸ã®åŸºæº–高ã•ãƒŽã‚¤ã‚º"
+
+#~ msgid "Floatland base noise"
+#~ msgstr "æµ®éŠå¤§é™¸ã®åŸºæº–ノイズ"
+
+#~ msgid "Floatland level"
+#~ msgstr "æµ®éŠå¤§é™¸ã®æ°´ä½"
+
+#~ msgid "Floatland mountain density"
+#~ msgstr "æµ®éŠå¤§é™¸ã®å±±ã®å¯†åº¦"
+
+#~ msgid "Floatland mountain exponent"
+#~ msgstr "æµ®éŠå¤§é™¸ã®å±±æŒ‡æ•°"
+
+#~ msgid "Floatland mountain height"
+#~ msgstr "æµ®éŠå¤§é™¸ã®å±±ã®é«˜ã•"
+
+#~ msgid "Font shadow alpha (opaqueness, between 0 and 255)."
+#~ msgstr "フォントã®å½±ã®é€éŽ (ä¸é€æ˜Žã€0~255ã®é–“)。"
+
+#~ msgid "Gamma"
+#~ msgstr "ガンマ"
+
+#~ msgid "IPv6 support."
+#~ msgstr "IPv6 サãƒãƒ¼ãƒˆã€‚"
+
+#~ msgid "Lava depth"
+#~ msgstr "溶岩ã®æ·±ã•"
+
+#~ msgid "Lightness sharpness"
+#~ msgstr "明るã•ã®é‹­ã•"
+
+#~ msgid "Path to TrueTypeFont or bitmap."
+#~ msgstr "TrueTypeフォントã¾ãŸã¯ãƒ“ットマップã¸ã®ãƒ‘ス。"
+
+#~ msgid "Shadow limit"
+#~ msgstr "å½±ã®åˆ¶é™"
+
+#~ msgid "Strength of light curve mid-boost."
+#~ msgstr "光度曲線ミッドブーストã®å¼·ã•ã€‚"
+
+#~ msgid "This font will be used for certain languages."
+#~ msgstr "ã“ã®ãƒ•ã‚©ãƒ³ãƒˆã¯ç‰¹å®šã®è¨€èªžã§ä½¿ç”¨ã•ã‚Œã¾ã™ã€‚"
+
+#~ msgid ""
+#~ "Typical maximum height, above and below midpoint, of floatland mountains."
+#~ msgstr "æµ®éŠå¤§é™¸ã®å±±ã®ä¸­é–“点ã®ä¸Šã¨ä¸‹ã®å…¸åž‹çš„ãªæœ€å¤§é«˜ã•ã€‚"
+
+#~ msgid "Variation of hill height and lake depth on floatland smooth terrain."
+#~ msgstr "æµ®éŠå¤§é™¸ã®æ»‘らã‹ãªåœ°å½¢ã«ãŠã‘る丘ã®é«˜ã•ã¨æ¹–ã®æ·±ã•ã®å¤‰å‹•ã€‚"
+
+#~ msgid "Waving water"
+#~ msgstr "æºã‚Œã‚‹æ°´"
+
+#~ msgid "Y-level of floatland midpoint and lake surface."
+#~ msgstr "æµ®éŠå¤§é™¸ã®ä¸­é–“点ã¨æ¹–é¢ã®Yレベル。"
+
+#~ msgid "Y-level to which floatland shadows extend."
+#~ msgstr "æµ®éŠå¤§é™¸ã®å½±ãŒåºƒãŒã‚‹Yレベル。"
+
#~ msgid "Projecting dungeons"
#~ msgstr "çªå‡ºã™ã‚‹ãƒ€ãƒ³ã‚¸ãƒ§ãƒ³"
diff --git a/po/ja_KS/minetest.po b/po/ja_KS/minetest.po
index 2eb3e2e93..e77b335a7 100644
--- a/po/ja_KS/minetest.po
+++ b/po/ja_KS/minetest.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Japanese (Kansai) (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-10-09 22:02+0200\n"
+"POT-Creation-Date: 2020-04-03 23:18+0200\n"
"PO-Revision-Date: 2020-01-11 18:26+0000\n"
"Last-Translator: rubenwardy <rubenwardy@gmail.com>\n"
"Language-Team: Japanese (Kansai) <https://hosted.weblate.org/projects/"
@@ -395,14 +395,25 @@ msgstr ""
msgid "Z spread"
msgstr ""
+#. ~ "absvalue" is a noise parameter flag.
+#. It is short for "absolute value".
+#. It can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "absvalue"
msgstr ""
+#. ~ "defaults" is a noise parameter flag.
+#. It describes the default processing options
+#. for noise settings in main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "defaults"
msgstr ""
+#. ~ "eased" is a noise parameter flag.
+#. It is used to make the map smoother and
+#. can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "eased"
msgstr ""
@@ -611,6 +622,7 @@ msgstr ""
msgid "Ping"
msgstr ""
+#. ~ PvP = Player versus Player
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "PvP enabled"
msgstr ""
@@ -855,6 +867,14 @@ msgstr ""
msgid "Provided world path doesn't exist: "
msgstr ""
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string. Put either "no" or "yes"
+#. into the translation field (literally).
+#. Choose "yes" if the language requires use of the fallback
+#. font, "no" otherwise.
+#. The fallback font is (normally) required for languages with
+#. non-Latin script, like Chinese.
+#. When in doubt, test your translation.
#: src/client/fontengine.cpp
msgid "needs_fallback_font"
msgstr "yes"
@@ -889,6 +909,7 @@ msgstr ""
msgid "- Public: "
msgstr ""
+#. ~ PvP = Player versus Player
#: src/client/game.cpp
msgid "- PvP: "
msgstr ""
@@ -1313,6 +1334,7 @@ msgstr ""
msgid "Left Windows"
msgstr ""
+#. ~ Key name, common on Windows keyboards
#: src/client/keycode.cpp
msgid "Menu"
msgstr ""
@@ -1405,6 +1427,7 @@ msgstr ""
msgid "Play"
msgstr ""
+#. ~ "Print screen" key
#: src/client/keycode.cpp
msgid "Print"
msgstr ""
@@ -1441,6 +1464,7 @@ msgstr ""
msgid "Scroll Lock"
msgstr ""
+#. ~ Key name
#: src/client/keycode.cpp
msgid "Select"
msgstr ""
@@ -1675,11 +1699,16 @@ msgstr ""
msgid "Sound Volume: "
msgstr ""
+#. ~ Imperative, as in "Enter/type in text".
+#. Don't forget the space.
#: src/gui/modalMenu.cpp
msgid "Enter "
msgstr ""
-#: src/network/clientpackethandler.cpp
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string which needs to contain the translation's
+#. language code (e.g. "de" for German).
+#: src/network/clientpackethandler.cpp src/script/lua_api/l_client.cpp
msgid "LANG_CODE"
msgstr "ja_KS"
@@ -1702,7 +1731,7 @@ msgid ""
"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"
+"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."
@@ -1865,18 +1894,16 @@ msgid ""
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."
+msgid ""
+"Alters the light curve by applying 'gamma correction' to it.\n"
+"Higher values make middle and lower light levels brighter.\n"
+"Value '1.0' leaves the light curve unaltered.\n"
+"This only has significant effect on daylight and artificial\n"
+"light, it has very little effect on natural night light."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2025,6 +2052,22 @@ msgid "Block send optimize distance"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Bold and italic font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bold and italic monospace font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bold font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bold monospace font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Build inside player"
msgstr ""
@@ -2038,8 +2081,8 @@ 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"
+"Camera 'near clipping plane' distance in nodes, between 0 and 0.25\n"
+"Only works on GLES platforms. 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 ""
@@ -2101,7 +2144,9 @@ msgid "Cavern upper limit"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Center of light curve mid-boost."
+msgid ""
+"Center of light curve boost range.\n"
+"Where 0.0 is minimum light level, 1.0 is maximum light level."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2296,12 +2341,9 @@ 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."
+"Controls width of tunnels, a smaller value creates wider tunnels.\n"
+"Value >= 10.0 completely disables generation of tunnels and avoids the\n"
+"intensive noise calculations."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2337,10 +2379,6 @@ msgid "Damage"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Darkness sharpness"
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Debug info toggle key"
msgstr ""
@@ -2357,7 +2395,7 @@ msgid "Dec. volume key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Decrease this to increase liquid resistence to movement."
+msgid "Decrease this to increase liquid resistance to movement."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2397,12 +2435,6 @@ msgid ""
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 ""
@@ -2479,12 +2511,6 @@ 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 ""
@@ -2558,12 +2584,14 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Enable Lua modding support on client.\n"
-"This support is experimental and API can change."
+"Enable IPv6 support (for both client and server).\n"
+"Required for IPv6 connections to work at all."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Enable VBO"
+msgid ""
+"Enable Lua modding support on client.\n"
+"This support is experimental and API can change."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2629,6 +2657,12 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Enable vertex buffer objects.\n"
+"This should greatly improve graphics performance."
+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 ""
@@ -2636,7 +2670,16 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Enable/disable running an IPv6 server.\n"
-"Ignored if bind_address is set."
+"Ignored if bind_address is set.\n"
+"Needs enable_ipv6 to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Enables Hable's 'Uncharted 2' filmic tone mapping.\n"
+"Simulates the tone curve of photographic film and how this approximates the\n"
+"appearance of high dynamic range images. Mid-range contrast is slightly\n"
+"enhanced, highlights and shadows are gradually compressed."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2656,10 +2699,6 @@ 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 ""
@@ -2676,6 +2715,14 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Enables the sound system.\n"
+"If disabled, this completely disables all sounds everywhere and the in-game\n"
+"sound controls will be non-functional.\n"
+"Changing this setting requires a restart."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Engine profiling data print interval"
msgstr ""
@@ -2706,7 +2753,7 @@ msgid "Fall bobbing factor"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Fallback font"
+msgid "Fallback font path"
msgstr ""
#: src/settings_translation_file.cpp
@@ -2799,30 +2846,6 @@ 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 ""
@@ -2843,7 +2866,11 @@ msgid "Fog toggle key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font path"
+msgid "Font bold by default"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font italic by default"
msgstr ""
#: src/settings_translation_file.cpp
@@ -2855,15 +2882,19 @@ msgid "Font shadow alpha"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font shadow alpha (opaqueness, between 0 and 255)."
+msgid "Font size"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font shadow offset, if 0 then shadow will not be drawn."
+msgid "Font size of the default font in point (pt)."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font size"
+msgid "Font size of the fallback font in point (pt)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font size of the monospace font in point (pt)."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2974,10 +3005,6 @@ msgid "GUI scaling filter txr2img"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gamma"
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Generate normalmaps"
msgstr ""
@@ -2993,11 +3020,15 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at maximum light level."
+msgid ""
+"Gradient of light curve at maximum light level.\n"
+"Controls the contrast of the highest light levels."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at minimum light level."
+msgid ""
+"Gradient of light curve at minimum light level.\n"
+"Controls the contrast of the lowest light levels."
msgstr ""
#: src/settings_translation_file.cpp
@@ -3030,7 +3061,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Handling for deprecated lua api calls:\n"
+"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)."
@@ -3257,6 +3288,13 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"How fast liquid waves will move. Higher = faster.\n"
+"If negative, liquid waves will move backwards.\n"
+"Requires waving liquids to be enabled."
+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 ""
@@ -3286,10 +3324,6 @@ 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."
@@ -3464,6 +3498,14 @@ msgid "Invert vertical mouse movement."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Italic font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Italic monospace font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Item entity TTL"
msgstr ""
@@ -4059,11 +4101,19 @@ msgid "Large cave depth"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Large chat console key"
+msgid "Large cave maximum number"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Lava depth"
+msgid "Large cave minimum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large cave proportion flooded"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large chat console key"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4090,6 +4140,12 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Length of liquid waves.\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Length of time between Active Block Modifier (ABM) execution cycles"
msgstr ""
@@ -4114,19 +4170,27 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost"
+msgid "Light curve boost"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost center"
+msgid "Light curve boost center"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost spread"
+msgid "Light curve boost spread"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Lightness sharpness"
+msgid "Light curve gamma"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve high gradient"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve low gradient"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4231,25 +4295,25 @@ 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."
+"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 flat.\n"
+"Map generation attributes specific to Mapgen Fractal.\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."
+"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
@@ -4399,8 +4463,16 @@ msgid "Maximum hotbar width"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of large caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
-"Maximum liquid resistence. Controls deceleration when entering liquid at\n"
+"Maximum liquid resistance. Controls deceleration when entering liquid at\n"
"high speed."
msgstr ""
@@ -4521,6 +4593,14 @@ msgid "Minimap scan height"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of large caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Minimum texture size"
msgstr ""
@@ -4607,7 +4687,7 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Near clipping plane"
+msgid "Near plane"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4694,6 +4774,16 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Opaqueness (alpha) of the shadow behind the default font, between 0 and 255."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Opaqueness (alpha) of the shadow behind the fallback font, between 0 and 255."
+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."
@@ -4732,7 +4822,12 @@ msgid "Parallax occlusion strength"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Path to TrueTypeFont or bitmap."
+msgid ""
+"Path of the fallback font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font will be used for certain languages or if the default font is "
+"unavailable."
msgstr ""
#: src/settings_translation_file.cpp
@@ -4750,6 +4845,22 @@ msgid "Path to texture directory. All textures are first searched from here."
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Path to the default font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"The fallback font will be used if the font cannot be loaded."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Path to the monospace font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font is used for e.g. the console and profiler screen."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Pause on lost window focus"
msgstr ""
@@ -4822,6 +4933,10 @@ msgid "Profiling"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Proportion of large caves that contain liquid."
+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 "
@@ -4845,6 +4960,10 @@ msgid "Recent Chat Messages"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Regular font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Remote media"
msgstr ""
@@ -5035,24 +5154,24 @@ 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."
+"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
@@ -5103,19 +5222,19 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving leaves.\n"
+"Set to true to enable waving leaves.\n"
"Requires shaders to be enabled."
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving plants.\n"
+"Set to true to enable waving liquids (like water).\n"
"Requires shaders to be enabled."
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving water.\n"
+"Set to true to enable waving plants.\n"
"Requires shaders to be enabled."
msgstr ""
@@ -5132,7 +5251,15 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Shadow limit"
+msgid ""
+"Shadow offset (in pixels) of the default font. If 0, then shadow will not be "
+"drawn."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not "
+"be drawn."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5177,6 +5304,14 @@ msgid "Slope and fill work together to modify the heights."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Small cave maximum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Small cave minimum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Small-scale humidity variation for blending biomes on borders."
msgstr ""
@@ -5236,8 +5371,9 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Spread of light curve mid-boost.\n"
-"Standard deviation of the mid-boost gaussian."
+"Spread of light curve boost range.\n"
+"Controls the width of the range to be boosted.\n"
+"Standard deviation of the light curve boost Gaussian."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5261,7 +5397,10 @@ msgid "Strength of generated normalmaps."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Strength of light curve mid-boost."
+msgid ""
+"Strength of light curve boost.\n"
+"The 3 'boost' parameters define a range of the light\n"
+"curve that is boosted in brightness."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5364,6 +5503,15 @@ msgid "The length in pixels it takes for touch screen interaction to start."
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"The maximum height of the surface of waving liquids.\n"
+"4.0 = Wave height is two nodes.\n"
+"0.0 = Wave doesn't move at all.\n"
+"Default is 1.0 (1/2 node).\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "The network interface that the server listens on."
msgstr ""
@@ -5444,10 +5592,6 @@ 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."
@@ -5501,7 +5645,7 @@ msgstr ""
msgid ""
"True = 256\n"
"False = 128\n"
-"Useable to make minimap smoother on slower machines."
+"Usable to make minimap smoother on slower machines."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5509,11 +5653,6 @@ 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 ""
@@ -5598,10 +5737,6 @@ 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 ""
@@ -5675,6 +5810,12 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Volume of all sounds.\n"
+"Requires the sound system to be enabled."
+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"
@@ -5711,23 +5852,23 @@ msgid "Waving leaves"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving plants"
+msgid "Waving liquids"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water"
+msgid "Waving liquids wave height"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water wave height"
+msgid "Waving liquids wave speed"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water wave speed"
+msgid "Waving liquids wavelength"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water wavelength"
+msgid "Waving plants"
msgstr ""
#: src/settings_translation_file.cpp
@@ -5760,7 +5901,9 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Whether FreeType fonts are used, requires FreeType support to be compiled in."
+"Whether FreeType fonts are used, requires FreeType support to be compiled "
+"in.\n"
+"If disabled, bitmap and XML vectors fonts are used instead."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5789,6 +5932,14 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Whether to mute sounds. You can unmute sounds at any time, unless the\n"
+"sound system is disabled (enable_sound=false).\n"
+"In-game, you can toggle the mute state with the mute key or by using the\n"
+"pause menu."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
"Whether to show the client debug info (has the same effect as hitting F5)."
msgstr ""
@@ -5858,10 +6009,6 @@ 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 ""
@@ -5874,10 +6021,6 @@ 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 ""
diff --git a/po/jbo/minetest.po b/po/jbo/minetest.po
index 496bb28b1..eea36c7fb 100644
--- a/po/jbo/minetest.po
+++ b/po/jbo/minetest.po
@@ -2,9 +2,9 @@ msgid ""
msgstr ""
"Project-Id-Version: Lojban (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"
+"POT-Creation-Date: 2020-04-03 23:18+0200\n"
+"PO-Revision-Date: 2020-03-15 18:36+0000\n"
+"Last-Translator: Robin Townsend <iantownsend@disroot.org>\n"
"Language-Team: Lojban <https://hosted.weblate.org/projects/minetest/minetest/"
"jbo/>\n"
"Language: jbo\n"
@@ -12,11 +12,11 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 3.9-dev\n"
+"X-Generator: Weblate 4.0-dev\n"
#: builtin/client/death_formspec.lua src/client/game.cpp
msgid "Respawn"
-msgstr "nu tolcanci"
+msgstr "tolcanci"
#: builtin/client/death_formspec.lua src/client/game.cpp
msgid "You died"
@@ -31,7 +31,7 @@ msgstr ""
#: builtin/fstk/ui.lua
msgid "An error occurred:"
-msgstr ".i la'e di'e nabmi"
+msgstr ".i da nabmi"
#: builtin/fstk/ui.lua
msgid "Main menu"
@@ -43,11 +43,11 @@ msgstr "je'e"
#: builtin/fstk/ui.lua
msgid "Reconnect"
-msgstr "nu samjo'e"
+msgstr "za'u re'u samjo'e"
#: builtin/fstk/ui.lua
msgid "The server has requested a reconnect:"
-msgstr ".i lo samse'u cu cpedu lo nu za'u re'u co'a samjo'e"
+msgstr ".i le samtcise'u cu cpedu pa nu za'u re'u co'a samjo'e"
#: builtin/mainmenu/common.lua src/client/game.cpp
msgid "Loading..."
@@ -89,27 +89,27 @@ msgstr ""
#: src/gui/guiConfirmRegistration.cpp src/gui/guiKeyChangeMenu.cpp
#: src/gui/guiPasswordChange.cpp
msgid "Cancel"
-msgstr "nu sisti"
+msgstr "sisti"
#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua
msgid "Dependencies:"
-msgstr "se nitcu"
+msgstr "jai se nitcu"
#: builtin/mainmenu/dlg_config_world.lua
msgid "Disable all"
-msgstr "nu ro co'e cu ganda"
+msgstr "ro co'e cu ganda"
#: builtin/mainmenu/dlg_config_world.lua
msgid "Disable modpack"
-msgstr "nu lo se samtcise'a bakfu cu ganda"
+msgstr "le se samtcise'a bakfu cu ganda"
#: builtin/mainmenu/dlg_config_world.lua
msgid "Enable all"
-msgstr "nu ro co'e cu katci"
+msgstr "ro co'e cu katci"
#: builtin/mainmenu/dlg_config_world.lua
msgid "Enable modpack"
-msgstr "nu lo se samtcise'a bakfu cu katci"
+msgstr "le se samtcise'a bakfu cu katci"
#: builtin/mainmenu/dlg_config_world.lua
msgid ""
@@ -128,7 +128,7 @@ msgstr "na'e se nitcu"
#: builtin/mainmenu/dlg_config_world.lua
msgid "No game description provided."
-msgstr ".i no da skicu be lo se kelci ku vlapoi"
+msgstr "to'i no da ve skicu le se kelci toi"
#: builtin/mainmenu/dlg_config_world.lua
#, fuzzy
@@ -137,7 +137,7 @@ msgstr ".i nitcu no da"
#: builtin/mainmenu/dlg_config_world.lua
msgid "No modpack description provided."
-msgstr ".i no da skicu be lo se samtcise'a ku vlapoi"
+msgstr "to'i no da ve skicu le se samtcise'a bakfu toi"
#: builtin/mainmenu/dlg_config_world.lua
#, fuzzy
@@ -151,7 +151,7 @@ msgstr "na'e se nitcu"
#: builtin/mainmenu/dlg_config_world.lua
#: builtin/mainmenu/dlg_settings_advanced.lua src/gui/guiKeyChangeMenu.cpp
msgid "Save"
-msgstr "nu vreji"
+msgstr "co'a vreji"
#: builtin/mainmenu/dlg_config_world.lua
msgid "World:"
@@ -163,23 +163,23 @@ msgstr "katci"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "All packages"
-msgstr "cmima lu'i ro bakfu"
+msgstr "se cmima ro bakfu"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "Back"
-msgstr "nu xruti"
+msgstr "xruti"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "Back to Main Menu"
-msgstr "nu xruti fi tu'a lo ralju liste"
+msgstr "xruti fi tu'a le ralju liste"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "Downloading and installing $1, please wait..."
-msgstr ".i ca'o kibycpa la'o zoi. $1 .zoi je cu samtcise'a ri .i .e'o denpa"
+msgstr ".i ca'o kibycpa la'o zoi. $1 .zoi je cu samtcise'a ri .i ko denpa"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "Failed to download $1"
-msgstr ".i da nabmi fi lo nu kibycpa la'o zoi. $1 .zoi"
+msgstr ".i da nabmi fi le nu kibycpa la'o zoi. $1 .zoi"
#: builtin/mainmenu/dlg_contentstore.lua
#: builtin/mainmenu/dlg_settings_advanced.lua
@@ -188,7 +188,7 @@ msgstr "se kelci"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "Install"
-msgstr "nu samtcise'a"
+msgstr "samtcise'a"
#: builtin/mainmenu/dlg_contentstore.lua
#: builtin/mainmenu/dlg_settings_advanced.lua
@@ -197,7 +197,7 @@ msgstr "se samtcise'a"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "No packages could be retrieved"
-msgstr ".i na kakne lo ka ce'u kibycpa su'o bakfu"
+msgstr ".i na kakne le ka kibycpa pa bakfu"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "No results"
@@ -206,15 +206,16 @@ 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 "nu sisku"
+msgstr "sisku"
#: builtin/mainmenu/dlg_contentstore.lua
+#, fuzzy
msgid "Texture packs"
msgstr "jvinu bakfu"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "Uninstall"
-msgstr "nu to'e samtcise'a"
+msgstr "to'e samtcise'a"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "Update"
@@ -222,17 +223,17 @@ msgstr ""
#: builtin/mainmenu/dlg_create_world.lua
msgid "A world named \"$1\" already exists"
-msgstr ".i pa munje xa'o cmene zoi zoi. $1 .zoi"
+msgstr ".i zoi zoi. $1 .zoi xa'o cmene pa munje"
#: builtin/mainmenu/dlg_create_world.lua
msgid "Create"
-msgstr "nu cupra"
+msgstr "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"
+".i ko kibycpa pa se kelci to mupli fa la .maintest. se kelci toi la'o zoi. "
+"minetest.net .zoi"
#: builtin/mainmenu/dlg_create_world.lua
msgid "Download one from minetest.net"
@@ -243,8 +244,9 @@ msgid "Game"
msgstr "se kelci"
#: builtin/mainmenu/dlg_create_world.lua src/settings_translation_file.cpp
+#, fuzzy
msgid "Mapgen"
-msgstr "te cupra lo munje"
+msgstr "te cupra le munje"
#: builtin/mainmenu/dlg_create_world.lua
msgid "No game selected"
@@ -252,16 +254,18 @@ msgstr ".i do cuxna no se kelci"
#: builtin/mainmenu/dlg_create_world.lua
#: builtin/mainmenu/dlg_settings_advanced.lua
+#, fuzzy
msgid "Seed"
msgstr "cunso jai krasi"
#: builtin/mainmenu/dlg_create_world.lua
+#, fuzzy
msgid "Warning: The minimal development test is meant for developers."
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 "cmene lo munje"
+msgstr "cmene le munje"
#: builtin/mainmenu/dlg_create_world.lua
msgid "You have no games installed."
@@ -269,13 +273,13 @@ 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 .au ju'o pei do vimcu la'o zoi. $1 .zoi"
+msgstr ".i xu do djica le nu 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 "nu vimcu"
+msgstr "vimcu"
#: builtin/mainmenu/dlg_delete_content.lua
msgid "pkgmgr: failed to delete \"$1\""
@@ -287,16 +291,15 @@ msgstr ""
#: builtin/mainmenu/dlg_delete_world.lua
msgid "Delete World \"$1\"?"
-msgstr ".i .au ju'o pei do vimcu la'o zoi. $1 .zoi"
+msgstr ".i xu do djica le nu vimcu la'o zoi. $1 .zoi noi munje"
#: builtin/mainmenu/dlg_rename_modpack.lua
-#, fuzzy
msgid "Accept"
-msgstr "fitytu'i"
+msgstr "mulno"
#: builtin/mainmenu/dlg_rename_modpack.lua
msgid "Rename Modpack:"
-msgstr "nu basti fi lo ka ce'u cmene lo se samtcise'a bakfu"
+msgstr "basti fi lo ka cmene le se samtcise'a bakfu"
#: builtin/mainmenu/dlg_rename_modpack.lua
msgid ""
@@ -306,7 +309,7 @@ msgstr ""
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "(No description of setting given)"
-msgstr ""
+msgstr "to'i no da ve skicu le te tcimi'e toi"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "2D Noise"
@@ -326,7 +329,7 @@ msgstr "ganda"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Edit"
-msgstr "nu bixygau"
+msgstr "binxo"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Enabled"
@@ -350,15 +353,15 @@ msgstr ""
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Please enter a valid integer."
-msgstr ""
+msgstr ".i ko samci'a da poi drani le ka lerpoi fi pa mulna'u"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Please enter a valid number."
-msgstr ".i ko samci'a pa namcu lerpoi poi drani"
+msgstr ".i ko samci'a da poi drani fi le ka lerpoi fi pa namcu"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Restore Default"
-msgstr "nu xruti fi lo zmiselcu'a"
+msgstr "xruti fi le zmiselcu'a"
#: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp
msgid "Scale"
@@ -366,11 +369,11 @@ msgstr ""
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Select directory"
-msgstr "nu cuxna pa datnyveimei"
+msgstr "cuxna fi lu'i le datnyveimei"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Select file"
-msgstr "nu cuxna pa datnyvei"
+msgstr "cuxna fi lu'i le datnyvei"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Show technical names"
@@ -378,11 +381,11 @@ msgstr ""
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "The value must be at least $1."
-msgstr ".i lo namcu cu zmadu .ei li $1"
+msgstr ".i sarcu fa le nu le namcu cu dubjavmau li $1"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "The value must not be larger than $1."
-msgstr ".i lo namcu cu mleca .ei li $1"
+msgstr ".i sarcu fa le nu le namcu na zmadu li $1"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "X"
@@ -408,21 +411,32 @@ msgstr ""
msgid "Z spread"
msgstr ""
+#. ~ "absvalue" is a noise parameter flag.
+#. It is short for "absolute value".
+#. It can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "absvalue"
msgstr ""
+#. ~ "defaults" is a noise parameter flag.
+#. It describes the default processing options
+#. for noise settings in main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "defaults"
msgstr ""
+#. ~ "eased" is a noise parameter flag.
+#. It is used to make the map smoother and
+#. can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "eased"
msgstr ""
#: builtin/mainmenu/pkgmgr.lua
msgid "$1 (Enabled)"
-msgstr "me la'o zoi. $1 .zoi noi katci"
+msgstr "$1 to'i katci toi"
#: builtin/mainmenu/pkgmgr.lua
msgid "$1 mods"
@@ -431,7 +445,8 @@ 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"
+".i da nabmi fi le nu setca la'o zoi. $1 .zoi lu'i ro se datnyveimei be la'o "
+"zoi. $2 .zoi"
#: builtin/mainmenu/pkgmgr.lua
msgid "Install Mod: Unable to find real mod name for: $1"
@@ -474,12 +489,14 @@ msgid "Browse online content"
msgstr ""
#: builtin/mainmenu/tab_content.lua
+#, fuzzy
msgid "Content"
-msgstr "se samtcise'a"
+msgstr "kakne le ka se samtcise'a"
#: builtin/mainmenu/tab_content.lua
+#, fuzzy
msgid "Disable Texture Pack"
-msgstr "nu lo jvinu bakfu cu ganda"
+msgstr "le jvinu bakfu cu ganda"
#: builtin/mainmenu/tab_content.lua
msgid "Information:"
@@ -487,23 +504,24 @@ msgstr "datni"
#: builtin/mainmenu/tab_content.lua
msgid "Installed Packages:"
-msgstr "ca'o mo'u se samtcise'a"
+msgstr "pu mo'u se samtcise'a"
#: builtin/mainmenu/tab_content.lua
+#, fuzzy
msgid "No dependencies."
msgstr ".i nitcu no da"
#: builtin/mainmenu/tab_content.lua
msgid "No package description available"
-msgstr "to'i no da skicu be lo bakfu ku vlapoi toi"
+msgstr "to'i no da ve skicu le bakfu toi"
#: builtin/mainmenu/tab_content.lua
msgid "Rename"
-msgstr "nu basti fi lo ka ce'u cmene"
+msgstr "basti fi le ka cmene"
#: builtin/mainmenu/tab_content.lua
msgid "Uninstall Package"
-msgstr ""
+msgstr "to'e samtcise'a le bakfu"
#: builtin/mainmenu/tab_content.lua
msgid "Use Texture Pack"
@@ -511,7 +529,7 @@ msgstr ""
#: builtin/mainmenu/tab_credits.lua
msgid "Active Contributors"
-msgstr ""
+msgstr "liste lu'i ro ca gunka"
#: builtin/mainmenu/tab_credits.lua
msgid "Core Developers"
@@ -519,11 +537,11 @@ msgstr ""
#: builtin/mainmenu/tab_credits.lua
msgid "Credits"
-msgstr "lo finti liste"
+msgstr "liste lu'i ro gunka"
#: builtin/mainmenu/tab_credits.lua
msgid "Previous Contributors"
-msgstr ""
+msgstr "liste lu'i ro pu je nai ca gunka"
#: builtin/mainmenu/tab_credits.lua
msgid "Previous Core Developers"
@@ -539,11 +557,11 @@ msgstr ""
#: builtin/mainmenu/tab_local.lua
msgid "Configure"
-msgstr ""
+msgstr "tcimi'e"
#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_simple_main.lua
msgid "Creative Mode"
-msgstr "le nu finti kelci"
+msgstr "finti se kelci"
#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_simple_main.lua
msgid "Enable Damage"
@@ -555,13 +573,12 @@ msgid "Host Game"
msgstr "cfari fa lo nu kelci"
#: builtin/mainmenu/tab_local.lua
-#, fuzzy
msgid "Host Server"
-msgstr "lo samtcise'u"
+msgstr "co'a samtcise'u"
#: builtin/mainmenu/tab_local.lua
msgid "Name/Password"
-msgstr "lo cmene .e lo lerpoijaspu"
+msgstr "cmene .i lerpoijaspu"
#: builtin/mainmenu/tab_local.lua
msgid "New"
@@ -569,42 +586,39 @@ msgstr "cnino"
#: builtin/mainmenu/tab_local.lua
msgid "No world created or selected!"
-msgstr ".i lo no munje cu puzi zbasu gi'a cuxna"
+msgstr ".i do no munje cu cupra ja cu cuxna"
#: builtin/mainmenu/tab_local.lua
-#, fuzzy
msgid "Play Game"
-msgstr "cfari fa lo nu kelci"
+msgstr "co'a kelci"
#: builtin/mainmenu/tab_local.lua
msgid "Port"
-msgstr "lo judrnporte"
+msgstr "judrnporte"
#: builtin/mainmenu/tab_local.lua
-#, fuzzy
msgid "Select World:"
-msgstr "cuxna lo munje"
+msgstr ".i ko cuxna fi lu'i le munje"
#: builtin/mainmenu/tab_local.lua
msgid "Server Port"
-msgstr "lo samtcise'u judrnporte"
+msgstr "judrnporte le samtcise'u"
#: builtin/mainmenu/tab_local.lua
msgid "Start Game"
-msgstr "nu co'a kelci"
+msgstr "co'a kelci"
#: builtin/mainmenu/tab_online.lua
-#, fuzzy
msgid "Address / Port"
-msgstr "lo samjudri jo'u judrnporte"
+msgstr "judri .i judrnporte"
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "Connect"
-msgstr "samjongau"
+msgstr "co'a samjo'e"
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "Creative mode"
-msgstr "le nu finti kelci"
+msgstr "finti se kelci"
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "Damage enabled"
@@ -612,25 +626,25 @@ msgstr ""
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "Del. Favorite"
-msgstr ""
+msgstr "co'u cmima lu'i ro nelci se tcita"
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "Favorite"
-msgstr ""
+msgstr "nelci se tcita"
#: builtin/mainmenu/tab_online.lua
msgid "Join Game"
-msgstr "nu co'a kelci kansa"
+msgstr "co'a kansa fi le ka kelci"
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
-#, fuzzy
msgid "Name / Password"
-msgstr "lo cmene .e lo lerpoijaspu"
+msgstr "cmene .i lerpoijaspu"
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "Ping"
-msgstr ""
+msgstr ".pin. temci"
+#. ~ PvP = Player versus Player
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "PvP enabled"
msgstr ""
@@ -654,7 +668,7 @@ msgstr ""
#: builtin/mainmenu/tab_settings.lua
msgid "All Settings"
-msgstr ""
+msgstr "se cmima ro te tcimi'e"
#: builtin/mainmenu/tab_settings.lua
msgid "Antialiasing:"
@@ -662,16 +676,15 @@ msgstr ""
#: builtin/mainmenu/tab_settings.lua
msgid "Are you sure to reset your singleplayer world?"
-msgstr ".i .au ju'o pei do xruti lo do nonselkansa munje"
+msgstr ".i xu do djica le nu xruti le do nonselkansa munje"
#: builtin/mainmenu/tab_settings.lua
msgid "Autosave Screen Size"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-#, fuzzy
msgid "Bilinear Filter"
-msgstr "lo puvyrelyli'iju'e"
+msgstr "puvyrelyli'iju'e"
#: builtin/mainmenu/tab_settings.lua
#, fuzzy
@@ -702,6 +715,7 @@ msgid "Mipmap"
msgstr "lo puvrmipmepi"
#: builtin/mainmenu/tab_settings.lua
+#, fuzzy
msgid "Mipmap + Aniso. Filter"
msgstr "lo puvrmipmepi .e lo puvytolmanfyju'e"
@@ -733,10 +747,12 @@ msgid "None"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
+#, fuzzy
msgid "Opaque Leaves"
msgstr "lo tolkli pezli"
#: builtin/mainmenu/tab_settings.lua
+#, fuzzy
msgid "Opaque Water"
msgstr "lo tolkli djacu"
@@ -751,7 +767,7 @@ msgstr "lo kantu"
#: builtin/mainmenu/tab_settings.lua
msgid "Reset singleplayer world"
-msgstr "kraga'igau le za'e pavykelci munje"
+msgstr "xruti le nonselkansa munje"
#: builtin/mainmenu/tab_settings.lua
msgid "Screen:"
@@ -759,17 +775,19 @@ msgstr ""
#: builtin/mainmenu/tab_settings.lua
msgid "Settings"
-msgstr ""
+msgstr "te tcimi'e"
#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp
msgid "Shaders"
-msgstr "lo ti'orkemsamtci"
+msgstr "ti'orkemsamtci"
#: builtin/mainmenu/tab_settings.lua
+#, fuzzy
msgid "Shaders (unavailable)"
-msgstr ""
+msgstr "ti'orkemsamtci to na kakne toi"
#: builtin/mainmenu/tab_settings.lua
+#, fuzzy
msgid "Simple Leaves"
msgstr "lo sampu pezli"
@@ -796,9 +814,8 @@ msgid "Touchthreshold: (px)"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-#, fuzzy
msgid "Trilinear Filter"
-msgstr "lo puvycibli'iju'e"
+msgstr "puvycibli'iju'e"
#: builtin/mainmenu/tab_settings.lua
#, fuzzy
@@ -825,11 +842,11 @@ msgstr ""
#: builtin/mainmenu/tab_simple_main.lua
msgid "Main"
-msgstr "lo ralju"
+msgstr "ralju"
#: builtin/mainmenu/tab_simple_main.lua
msgid "Start Singleplayer"
-msgstr ""
+msgstr "co'a nonselkansa kelci"
#: src/client/client.cpp
msgid "Connection timed out."
@@ -837,17 +854,20 @@ msgstr ""
#: src/client/client.cpp
msgid "Done!"
-msgstr ""
+msgstr ".i mulno"
#: src/client/client.cpp
+#, fuzzy
msgid "Initializing nodes"
msgstr ".i ca'o samymo'i lo me la'o gy.node.gy."
#: src/client/client.cpp
+#, fuzzy
msgid "Initializing nodes..."
msgstr ".i ca'o samymo'i lo me la'o gy.node.gy."
#: src/client/client.cpp
+#, fuzzy
msgid "Loading textures..."
msgstr ".i ca'o samymo'i le tengu datnyvei"
@@ -858,30 +878,34 @@ msgstr ""
#: src/client/clientlauncher.cpp
msgid "Connection error (timed out?)"
msgstr ""
+".i da nabmi fi le nu co'a jorne to la'a cu'i le temci cu dukse le ka clani "
+"toi"
#: src/client/clientlauncher.cpp
msgid "Could not find or load game \""
msgstr ""
+".i na cumki fa le nu le se kelci cu jai se facki je cu se samymo'i .i ky. du "
+"la'o zoi."
#: src/client/clientlauncher.cpp
msgid "Invalid gamespec."
-msgstr ""
+msgstr ".i le se kelci ve skicu vreji na drani"
#: src/client/clientlauncher.cpp
msgid "Main Menu"
-msgstr ""
+msgstr "ralju liste"
#: src/client/clientlauncher.cpp
msgid "No world selected and no address provided. Nothing to do."
-msgstr ""
+msgstr ".i do cuxna no munje .i do ciska no judri .i do zukte no da"
#: src/client/clientlauncher.cpp
msgid "Player name too long."
-msgstr ""
+msgstr ".i le plicme cu dukse le ka clani"
#: src/client/clientlauncher.cpp
msgid "Please choose a name!"
-msgstr ""
+msgstr ".i ko ckaji le ka da zo'u jdice le du'u da cmene"
#: src/client/clientlauncher.cpp
msgid "Provided password file failed to open: "
@@ -891,6 +915,14 @@ msgstr ""
msgid "Provided world path doesn't exist: "
msgstr ""
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string. Put either "no" or "yes"
+#. into the translation field (literally).
+#. Choose "yes" if the language requires use of the fallback
+#. font, "no" otherwise.
+#. The fallback font is (normally) required for languages with
+#. non-Latin script, like Chinese.
+#. When in doubt, test your translation.
#: src/client/fontengine.cpp
msgid "needs_fallback_font"
msgstr "no"
@@ -900,16 +932,16 @@ msgid ""
"\n"
"Check debug.txt for details."
msgstr ""
+"\n"
+".i sarcu fa le nu do cipcta la'o zoi. debug.txt .zoi kei tu'a le tcila"
#: src/client/game.cpp
-#, fuzzy
msgid "- Address: "
-msgstr "lo samjudri jo'u judrnporte"
+msgstr "- judri: "
#: src/client/game.cpp
-#, fuzzy
msgid "- Creative Mode: "
-msgstr "le nu finti kelci"
+msgstr "- finti se kelci: "
#: src/client/game.cpp
msgid "- Damage: "
@@ -920,23 +952,22 @@ msgid "- Mode: "
msgstr ""
#: src/client/game.cpp
-#, fuzzy
msgid "- Port: "
-msgstr "lo judrnporte"
+msgstr "- judrnporte: "
#: src/client/game.cpp
-#, fuzzy
msgid "- Public: "
-msgstr "gubni"
+msgstr "- gubni: "
+#. ~ PvP = Player versus Player
#: src/client/game.cpp
+#, fuzzy
msgid "- PvP: "
-msgstr ""
+msgstr "- kakne le ka simxu le ka xrani: "
#: src/client/game.cpp
-#, fuzzy
msgid "- Server Name: "
-msgstr "lo samtcise'u"
+msgstr "- cmene le samtcise'u: "
#: src/client/game.cpp
#, fuzzy
@@ -958,7 +989,7 @@ msgstr ""
#: src/client/game.cpp
msgid "Change Password"
-msgstr "gafygau lo lerpoijaspu"
+msgstr "basti fi le ka lerpoijaspu"
#: src/client/game.cpp
#, fuzzy
@@ -976,7 +1007,7 @@ msgstr ""
#: src/client/game.cpp
msgid "Connecting to server..."
-msgstr ".i ca'o troci lo za'i samjo'e lo samse'u"
+msgstr ".i ca'o samjo'e le samse'u"
#: src/client/game.cpp
msgid "Continue"
@@ -1003,11 +1034,11 @@ msgstr ""
#: src/client/game.cpp
msgid "Creating client..."
-msgstr ".i lo samtciselse'u cu se zbasu"
+msgstr ".i ca'o cupra le samtciselse'u"
#: src/client/game.cpp
msgid "Creating server..."
-msgstr ".i lo samtcise'u cu se zbasu"
+msgstr ".i ca'o cupra le samtcise'u"
#: src/client/game.cpp
msgid "Debug info and profiler graph hidden"
@@ -1047,11 +1078,11 @@ msgstr ""
#: src/client/game.cpp
msgid "Exit to Menu"
-msgstr ""
+msgstr "sisti tu'a le se kelci"
#: src/client/game.cpp
msgid "Exit to OS"
-msgstr "tolcfagau"
+msgstr "sisti tu'a le samtci"
#: src/client/game.cpp
msgid "Fast mode disabled"
@@ -1090,16 +1121,15 @@ msgstr "selpli"
#: src/client/game.cpp
msgid "Game info:"
-msgstr ""
+msgstr ".i datni le se kelci"
#: src/client/game.cpp
msgid "Game paused"
-msgstr ""
+msgstr ".i ca'o denpa fo le nu kelci"
#: src/client/game.cpp
-#, fuzzy
msgid "Hosting server"
-msgstr ".i lo samtcise'u cu se zbasu"
+msgstr ".i le samtci pe do cu samtcise'u"
#: src/client/game.cpp
#, fuzzy
@@ -1169,11 +1199,11 @@ msgstr ".i ca'o samymo'i tu'a lo me la'o gy.node.gy."
#: src/client/game.cpp
msgid "Off"
-msgstr ""
+msgstr "ganda"
#: src/client/game.cpp
msgid "On"
-msgstr ""
+msgstr "katci"
#: src/client/game.cpp
msgid "Pitch move mode disabled"
@@ -1189,19 +1219,19 @@ msgstr ""
#: src/client/game.cpp
msgid "Remote server"
-msgstr ""
+msgstr ".i da poi na du le samtci pe do cu samtcise'u"
#: src/client/game.cpp
msgid "Resolving address..."
-msgstr ".i ca'o troci lo nu facki lo samjudri"
+msgstr ".i ca'o sisku le ka se judri da kau"
#: src/client/game.cpp
msgid "Shutting down..."
-msgstr ""
+msgstr ".i ca'o sisti"
#: src/client/game.cpp
msgid "Singleplayer"
-msgstr "pa kelci"
+msgstr "nonselkansa"
#: src/client/game.cpp
msgid "Sound Volume"
@@ -1246,26 +1276,24 @@ msgid "Zoom currently disabled by game or mod"
msgstr ""
#: src/client/game.cpp src/gui/modalMenu.cpp
-#, fuzzy
msgid "ok"
msgstr "je'e"
#: src/client/gameui.cpp
-#, fuzzy
msgid "Chat hidden"
-msgstr "samta'a"
+msgstr ".i ca mipri le tavla .uidje"
#: src/client/gameui.cpp
msgid "Chat shown"
-msgstr ""
+msgstr ".i ca viska le tavla .uidje"
#: src/client/gameui.cpp
msgid "HUD hidden"
-msgstr ""
+msgstr ".i ca mipri le crakemsazycimde"
#: src/client/gameui.cpp
msgid "HUD shown"
-msgstr ""
+msgstr ".i ca viska le crakemsazycimde"
#: src/client/gameui.cpp
msgid "Profiler hidden"
@@ -1348,12 +1376,13 @@ msgid "Insert"
msgstr ""
#: src/client/keycode.cpp src/gui/guiKeyChangeMenu.cpp
+#, fuzzy
msgid "Left"
msgstr "za'i zu'e muvdu"
#: src/client/keycode.cpp
msgid "Left Button"
-msgstr "lo zulselpevysmacu"
+msgstr "zulselpevysmacu"
#: src/client/keycode.cpp
msgid "Left Control"
@@ -1371,13 +1400,14 @@ msgstr ""
msgid "Left Windows"
msgstr ""
+#. ~ Key name, common on Windows keyboards
#: src/client/keycode.cpp
msgid "Menu"
msgstr ""
#: src/client/keycode.cpp
msgid "Middle Button"
-msgstr "lo mijyselpevysmacu"
+msgstr "mijyselpevysmacu"
#: src/client/keycode.cpp
msgid "Num Lock"
@@ -1444,6 +1474,7 @@ msgid "Numpad 9"
msgstr ""
#: src/client/keycode.cpp
+#, fuzzy
msgid "OEM Clear"
msgstr "la'o gy.OEM Clear.gy."
@@ -1463,6 +1494,7 @@ msgstr ""
msgid "Play"
msgstr ""
+#. ~ "Print screen" key
#: src/client/keycode.cpp
msgid "Print"
msgstr ""
@@ -1472,12 +1504,13 @@ msgid "Return"
msgstr ""
#: src/client/keycode.cpp src/gui/guiKeyChangeMenu.cpp
+#, fuzzy
msgid "Right"
msgstr "za'i ri'u muvdu"
#: src/client/keycode.cpp
msgid "Right Button"
-msgstr "lo prityselpevysmacu"
+msgstr "prityselpevysmacu"
#: src/client/keycode.cpp
msgid "Right Control"
@@ -1499,6 +1532,7 @@ msgstr ""
msgid "Scroll Lock"
msgstr ""
+#. ~ Key name
#: src/client/keycode.cpp
msgid "Select"
msgstr ""
@@ -1528,10 +1562,12 @@ msgid "Up"
msgstr ""
#: src/client/keycode.cpp
+#, fuzzy
msgid "X Button 1"
msgstr "la'o gy.X Button 1.gy."
#: src/client/keycode.cpp
+#, fuzzy
msgid "X Button 2"
msgstr "la'o gy.X Button 2.gy."
@@ -1541,7 +1577,7 @@ msgstr ""
#: src/gui/guiConfirmRegistration.cpp src/gui/guiPasswordChange.cpp
msgid "Passwords do not match!"
-msgstr ".i lo lerpoijaspu na mintu"
+msgstr ".i lu'i le re lerpoijaspu na simxu le ka mintu"
#: src/gui/guiConfirmRegistration.cpp
msgid "Register and Join"
@@ -1575,6 +1611,7 @@ msgid "Automatic jumping"
msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
+#, fuzzy
msgid "Backward"
msgstr "za'i ti'a muvdu"
@@ -1585,7 +1622,7 @@ msgstr "gafygau lo lerpoijaspu"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Chat"
-msgstr "samta'a"
+msgstr "tavla"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Command"
@@ -1593,7 +1630,7 @@ msgstr "minde"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Console"
-msgstr ""
+msgstr "samtrotci"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Dec. range"
@@ -1608,10 +1645,12 @@ msgid "Double tap \"jump\" to toggle fly"
msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
+#, fuzzy
msgid "Drop"
msgstr "mu'e falcru"
#: src/gui/guiKeyChangeMenu.cpp
+#, fuzzy
msgid "Forward"
msgstr "za'i ca'u muvdu"
@@ -1625,11 +1664,11 @@ msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
msgid "Inventory"
-msgstr "lo dacti uidje"
+msgstr "sorcu"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Jump"
-msgstr "mu'e plipe"
+msgstr "plipe"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Key already in use"
@@ -1650,23 +1689,23 @@ msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
msgid "Next item"
-msgstr ""
+msgstr "se lamli'e fi lu'i le dacti"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Prev. item"
-msgstr ""
+msgstr "lamli'e fi lu'i le dacti"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Range select"
-msgstr "mu'e cuxna fi le'i se kuspe"
+msgstr "cuxna fi lu'i le se kuspe"
#: src/gui/guiKeyChangeMenu.cpp src/settings_translation_file.cpp
msgid "Screenshot"
-msgstr ""
+msgstr "vidnyxra"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Sneak"
-msgstr "za'i masno cadzu"
+msgstr "masno cadzu"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Special"
@@ -1683,10 +1722,12 @@ msgid "Toggle chat log"
msgstr "mu'e co'a jonai mo'u sutra"
#: src/gui/guiKeyChangeMenu.cpp
+#, fuzzy
msgid "Toggle fast"
msgstr "mu'e co'a jonai mo'u sutra"
#: src/gui/guiKeyChangeMenu.cpp
+#, fuzzy
msgid "Toggle fly"
msgstr "mu'e co'a jonai mo'u vofli"
@@ -1710,28 +1751,32 @@ msgid "Toggle pitchmove"
msgstr "mu'e co'a jonai mo'u sutra"
#: src/gui/guiKeyChangeMenu.cpp
+#, fuzzy
msgid "press key"
-msgstr "ko da'ergau le batke"
+msgstr ".i ko da'ergau pa batke"
#: src/gui/guiPasswordChange.cpp
msgid "Change"
-msgstr "gafygau"
+msgstr "basti"
#: src/gui/guiPasswordChange.cpp
+#, fuzzy
msgid "Confirm Password"
msgstr "le rapli lerpoijaspu"
#: src/gui/guiPasswordChange.cpp
+#, fuzzy
msgid "New Password"
msgstr "lo cnino lerpoijaspu"
#: src/gui/guiPasswordChange.cpp
+#, fuzzy
msgid "Old Password"
msgstr "lo slabu lerpoijaspu"
#: src/gui/guiVolumeChange.cpp
msgid "Exit"
-msgstr ""
+msgstr "sisti"
#: src/gui/guiVolumeChange.cpp
#, fuzzy
@@ -1739,14 +1784,20 @@ msgid "Muted"
msgstr "ko da'ergau le batke"
#: src/gui/guiVolumeChange.cpp
+#, fuzzy
msgid "Sound Volume: "
msgstr "lo ni sance "
+#. ~ Imperative, as in "Enter/type in text".
+#. Don't forget the space.
#: src/gui/modalMenu.cpp
msgid "Enter "
msgstr ""
-#: src/network/clientpackethandler.cpp
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string which needs to contain the translation's
+#. language code (e.g. "de" for German).
+#: src/network/clientpackethandler.cpp src/script/lua_api/l_client.cpp
msgid "LANG_CODE"
msgstr "jbo"
@@ -1769,7 +1820,7 @@ msgid ""
"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"
+"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."
@@ -1877,11 +1928,12 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "A message to be displayed to all clients when the server crashes."
-msgstr ""
+msgstr ".i benji le notci ro se samtcise'u ca ro nu le samtcise'u cu samfli"
#: src/settings_translation_file.cpp
msgid "A message to be displayed to all clients when the server shuts down."
msgstr ""
+".i benji le notci ro se samtcise'u ca ro nu le samtcise'u co'u samtcise'u"
#: src/settings_translation_file.cpp
msgid "ABM interval"
@@ -1933,18 +1985,16 @@ msgid ""
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."
+msgid ""
+"Alters the light curve by applying 'gamma correction' to it.\n"
+"Higher values make middle and lower light levels brighter.\n"
+"Value '1.0' leaves the light curve unaltered.\n"
+"This only has significant effect on daylight and artificial\n"
+"light, it has very little effect on natural night light."
msgstr ""
#: src/settings_translation_file.cpp
@@ -1973,7 +2023,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Announce server"
-msgstr ""
+msgstr "gubysku zo'e pe tu'a le samtcise'u"
#: src/settings_translation_file.cpp
msgid "Announce to this serverlist."
@@ -2003,7 +2053,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Ask to reconnect after crash"
-msgstr ""
+msgstr "krefu samjo'e te preti ba ro nu samfli"
#: src/settings_translation_file.cpp
msgid ""
@@ -2056,11 +2106,11 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Basic"
-msgstr ""
+msgstr "jicmu"
#: src/settings_translation_file.cpp
msgid "Basic privileges"
-msgstr ""
+msgstr "jicmu se curmi"
#: src/settings_translation_file.cpp
msgid "Beach noise"
@@ -2071,9 +2121,8 @@ msgid "Beach noise threshold"
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Bilinear filtering"
-msgstr "lo puvyrelyli'iju'e"
+msgstr "puvyrelyli'iju'e"
#: src/settings_translation_file.cpp
#, fuzzy
@@ -2097,6 +2146,22 @@ msgid "Block send optimize distance"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Bold and italic font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bold and italic monospace font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bold font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bold monospace font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Build inside player"
msgstr ""
@@ -2110,8 +2175,8 @@ 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"
+"Camera 'near clipping plane' distance in nodes, between 0 and 0.25\n"
+"Only works on GLES platforms. 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 ""
@@ -2173,7 +2238,9 @@ msgid "Cavern upper limit"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Center of light curve mid-boost."
+msgid ""
+"Center of light curve boost range.\n"
+"Where 0.0 is minimum light level, 1.0 is maximum light level."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2265,9 +2332,8 @@ msgid "Cloud radius"
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Clouds"
-msgstr "le bliku dilnu"
+msgstr "dilnu"
#: src/settings_translation_file.cpp
msgid "Clouds are a client side effect."
@@ -2280,7 +2346,7 @@ msgstr "lo ralju"
#: src/settings_translation_file.cpp
msgid "Colored fog"
-msgstr ""
+msgstr "le bumgapci cu skari"
#: src/settings_translation_file.cpp
msgid ""
@@ -2380,12 +2446,9 @@ 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."
+"Controls width of tunnels, a smaller value creates wider tunnels.\n"
+"Value >= 10.0 completely disables generation of tunnels and avoids the\n"
+"intensive noise calculations."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2393,9 +2456,8 @@ msgid "Crash message"
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Creative"
-msgstr "zbasu"
+msgstr "finti se kelci"
#: src/settings_translation_file.cpp
msgid "Crosshair alpha"
@@ -2422,10 +2484,6 @@ msgid "Damage"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Darkness sharpness"
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Debug info toggle key"
msgstr ""
@@ -2442,7 +2500,7 @@ msgid "Dec. volume key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Decrease this to increase liquid resistence to movement."
+msgid "Decrease this to increase liquid resistance to movement."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2464,9 +2522,8 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Default password"
-msgstr "lo cnino lerpoijaspu"
+msgstr "zmiselcu'a fi lu'i ro lerpoijaspu"
#: src/settings_translation_file.cpp
msgid "Default privileges"
@@ -2483,12 +2540,6 @@ msgid ""
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 ""
@@ -2565,12 +2616,6 @@ 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 ""
@@ -2646,14 +2691,15 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Enable Lua modding support on client.\n"
-"This support is experimental and API can change."
+"Enable IPv6 support (for both client and server).\n"
+"Required for IPv6 connections to work at all."
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
-msgid "Enable VBO"
-msgstr "selpli"
+msgid ""
+"Enable Lua modding support on client.\n"
+"This support is experimental and API can change."
+msgstr ""
#: src/settings_translation_file.cpp
msgid "Enable console window"
@@ -2718,6 +2764,12 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Enable vertex buffer objects.\n"
+"This should greatly improve graphics performance."
+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 ""
@@ -2725,7 +2777,16 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Enable/disable running an IPv6 server.\n"
-"Ignored if bind_address is set."
+"Ignored if bind_address is set.\n"
+"Needs enable_ipv6 to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Enables Hable's 'Uncharted 2' filmic tone mapping.\n"
+"Simulates the tone curve of photographic film and how this approximates the\n"
+"appearance of high dynamic range images. Mid-range contrast is slightly\n"
+"enhanced, highlights and shadows are gradually compressed."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2745,10 +2806,6 @@ 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 ""
@@ -2765,6 +2822,14 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Enables the sound system.\n"
+"If disabled, this completely disables all sounds everywhere and the in-game\n"
+"sound controls will be non-functional.\n"
+"Changing this setting requires a restart."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Engine profiling data print interval"
msgstr ""
@@ -2796,7 +2861,7 @@ msgstr ""
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Fallback font"
+msgid "Fallback font path"
msgstr "no"
#: src/settings_translation_file.cpp
@@ -2889,30 +2954,6 @@ 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 ""
@@ -2933,7 +2974,11 @@ msgid "Fog toggle key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font path"
+msgid "Font bold by default"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font italic by default"
msgstr ""
#: src/settings_translation_file.cpp
@@ -2945,15 +2990,19 @@ msgid "Font shadow alpha"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font shadow alpha (opaqueness, between 0 and 255)."
+msgid "Font size"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font shadow offset, if 0 then shadow will not be drawn."
+msgid "Font size of the default font in point (pt)."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font size"
+msgid "Font size of the fallback font in point (pt)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font size of the monospace font in point (pt)."
msgstr ""
#: src/settings_translation_file.cpp
@@ -3065,10 +3114,6 @@ msgid "GUI scaling filter txr2img"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gamma"
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Generate normalmaps"
msgstr ""
@@ -3084,11 +3129,15 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at maximum light level."
+msgid ""
+"Gradient of light curve at maximum light level.\n"
+"Controls the contrast of the highest light levels."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at minimum light level."
+msgid ""
+"Gradient of light curve at minimum light level.\n"
+"Controls the contrast of the lowest light levels."
msgstr ""
#: src/settings_translation_file.cpp
@@ -3121,7 +3170,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Handling for deprecated lua api calls:\n"
+"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)."
@@ -3348,6 +3397,13 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"How fast liquid waves will move. Higher = faster.\n"
+"If negative, liquid waves will move backwards.\n"
+"Requires waving liquids to be enabled."
+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 ""
@@ -3377,10 +3433,6 @@ 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."
@@ -3556,6 +3608,14 @@ msgid "Invert vertical mouse movement."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Italic font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Italic monospace font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Item entity TTL"
msgstr ""
@@ -4145,18 +4205,26 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Language"
-msgstr ""
+msgstr "bangu"
#: src/settings_translation_file.cpp
msgid "Large cave depth"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Large chat console key"
+msgid "Large cave maximum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large cave minimum number"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Lava depth"
+msgid "Large cave proportion flooded"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large chat console key"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4184,6 +4252,12 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Length of liquid waves.\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Length of time between Active Block Modifier (ABM) execution cycles"
msgstr ""
@@ -4208,19 +4282,27 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost"
+msgid "Light curve boost"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve boost center"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost center"
+msgid "Light curve boost spread"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost spread"
+msgid "Light curve gamma"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Lightness sharpness"
+msgid "Light curve high gradient"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve low gradient"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4327,25 +4409,25 @@ 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."
+"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 flat.\n"
+"Map generation attributes specific to Mapgen Fractal.\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."
+"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
@@ -4495,8 +4577,16 @@ msgid "Maximum hotbar width"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of large caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
-"Maximum liquid resistence. Controls deceleration when entering liquid at\n"
+"Maximum liquid resistance. Controls deceleration when entering liquid at\n"
"high speed."
msgstr ""
@@ -4617,6 +4707,14 @@ msgid "Minimap scan height"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of large caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Minimum texture size"
msgstr ""
@@ -4705,12 +4803,12 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Near clipping plane"
+msgid "Near plane"
msgstr ""
#: src/settings_translation_file.cpp
msgid "Network"
-msgstr ""
+msgstr "te samjo'e"
#: src/settings_translation_file.cpp
msgid ""
@@ -4792,6 +4890,16 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Opaqueness (alpha) of the shadow behind the default font, between 0 and 255."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Opaqueness (alpha) of the shadow behind the fallback font, between 0 and 255."
+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."
@@ -4830,7 +4938,12 @@ msgid "Parallax occlusion strength"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Path to TrueTypeFont or bitmap."
+msgid ""
+"Path of the fallback font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font will be used for certain languages or if the default font is "
+"unavailable."
msgstr ""
#: src/settings_translation_file.cpp
@@ -4848,6 +4961,22 @@ msgid "Path to texture directory. All textures are first searched from here."
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Path to the default font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"The fallback font will be used if the font cannot be loaded."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Path to the monospace font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font is used for e.g. the console and profiler screen."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Pause on lost window focus"
msgstr ""
@@ -4872,7 +5001,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Player name"
-msgstr ""
+msgstr "plicme"
#: src/settings_translation_file.cpp
msgid "Player transfer distance"
@@ -4921,6 +5050,10 @@ msgid "Profiling"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Proportion of large caves that contain liquid."
+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 "
@@ -4945,6 +5078,10 @@ msgid "Recent Chat Messages"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Regular font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Remote media"
msgstr ""
@@ -5136,24 +5273,24 @@ 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."
+"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
@@ -5162,29 +5299,24 @@ msgid "Server / Singleplayer"
msgstr "pa kelci"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Server URL"
-msgstr "lo samtcise'u"
+msgstr "veirjudri le samtcise'u"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Server address"
-msgstr "lo samtcise'u judrnporte"
+msgstr "judri le samtcise'u"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Server description"
-msgstr "lo samtcise'u judrnporte"
+msgstr "ve skicu le samtcise'u"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Server name"
-msgstr "lo samtcise'u"
+msgstr "cmene le samtcise'u"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Server port"
-msgstr "lo samtcise'u judrnporte"
+msgstr "judrnporte le samtcise'u"
#: src/settings_translation_file.cpp
msgid "Server side occlusion culling"
@@ -5211,26 +5343,25 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving leaves.\n"
+"Set to true to enable waving leaves.\n"
"Requires shaders to be enabled."
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving plants.\n"
+"Set to true to enable waving liquids (like water).\n"
"Requires shaders to be enabled."
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving water.\n"
+"Set to true to enable waving plants.\n"
"Requires shaders to be enabled."
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Shader path"
-msgstr "lo ti'orkemsamtci"
+msgstr "judri le ti'orkemsamtci"
#: src/settings_translation_file.cpp
msgid ""
@@ -5241,7 +5372,15 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Shadow limit"
+msgid ""
+"Shadow offset (in pixels) of the default font. If 0, then shadow will not be "
+"drawn."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not "
+"be drawn."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5286,6 +5425,14 @@ msgid "Slope and fill work together to modify the heights."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Small cave maximum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Small cave minimum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Small-scale humidity variation for blending biomes on borders."
msgstr ""
@@ -5349,8 +5496,9 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Spread of light curve mid-boost.\n"
-"Standard deviation of the mid-boost gaussian."
+"Spread of light curve boost range.\n"
+"Controls the width of the range to be boosted.\n"
+"Standard deviation of the light curve boost Gaussian."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5374,7 +5522,10 @@ msgid "Strength of generated normalmaps."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Strength of light curve mid-boost."
+msgid ""
+"Strength of light curve boost.\n"
+"The 3 'boost' parameters define a range of the light\n"
+"curve that is boosted in brightness."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5477,6 +5628,15 @@ msgid "The length in pixels it takes for touch screen interaction to start."
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"The maximum height of the surface of waving liquids.\n"
+"4.0 = Wave height is two nodes.\n"
+"0.0 = Wave doesn't move at all.\n"
+"Default is 1.0 (1/2 node).\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "The network interface that the server listens on."
msgstr ""
@@ -5557,10 +5717,6 @@ 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."
@@ -5615,7 +5771,7 @@ msgstr "lo puvycibli'iju'e"
msgid ""
"True = 256\n"
"False = 128\n"
-"Useable to make minimap smoother on slower machines."
+"Usable to make minimap smoother on slower machines."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5623,11 +5779,6 @@ 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 ""
@@ -5712,10 +5863,6 @@ 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 ""
@@ -5790,6 +5937,12 @@ msgstr "lo ni sance "
#: src/settings_translation_file.cpp
msgid ""
+"Volume of all sounds.\n"
+"Requires the sound system to be enabled."
+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"
@@ -5828,29 +5981,30 @@ msgid "Waving leaves"
msgstr "lo melbi pezli"
#: src/settings_translation_file.cpp
-msgid "Waving plants"
-msgstr ""
-
-#: src/settings_translation_file.cpp
-msgid "Waving water"
-msgstr ""
+#, fuzzy
+msgid "Waving liquids"
+msgstr ".i ca'o samymo'i lo me la'o gy.node.gy."
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wave height"
+msgid "Waving liquids wave height"
msgstr "lo melbi pezli"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wave speed"
+msgid "Waving liquids wave speed"
msgstr "lo melbi pezli"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wavelength"
+msgid "Waving liquids wavelength"
msgstr "lo melbi pezli"
#: src/settings_translation_file.cpp
+msgid "Waving plants"
+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"
@@ -5880,7 +6034,9 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Whether FreeType fonts are used, requires FreeType support to be compiled in."
+"Whether FreeType fonts are used, requires FreeType support to be compiled "
+"in.\n"
+"If disabled, bitmap and XML vectors fonts are used instead."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5909,6 +6065,14 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Whether to mute sounds. You can unmute sounds at any time, unless the\n"
+"sound system is disabled (enable_sound=false).\n"
+"In-game, you can toggle the mute state with the mute key or by using the\n"
+"pause menu."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
"Whether to show the client debug info (has the same effect as hitting F5)."
msgstr ""
@@ -5979,10 +6143,6 @@ 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 ""
@@ -5995,10 +6155,6 @@ 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 ""
@@ -6009,3 +6165,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "cURL timeout"
msgstr ""
+
+#, fuzzy
+#~ msgid "Enable VBO"
+#~ msgstr "selpli"
diff --git a/po/kk/minetest.po b/po/kk/minetest.po
index d86d6df91..ec85fafb6 100644
--- a/po/kk/minetest.po
+++ b/po/kk/minetest.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Kazakh (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-10-09 22:02+0200\n"
+"POT-Creation-Date: 2020-04-03 23:18+0200\n"
"PO-Revision-Date: 2020-01-11 18:26+0000\n"
"Last-Translator: rubenwardy <rubenwardy@gmail.com>\n"
"Language-Team: Kazakh <https://hosted.weblate.org/projects/minetest/minetest/"
@@ -395,14 +395,25 @@ msgstr ""
msgid "Z spread"
msgstr ""
+#. ~ "absvalue" is a noise parameter flag.
+#. It is short for "absolute value".
+#. It can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "absvalue"
msgstr ""
+#. ~ "defaults" is a noise parameter flag.
+#. It describes the default processing options
+#. for noise settings in main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "defaults"
msgstr ""
+#. ~ "eased" is a noise parameter flag.
+#. It is used to make the map smoother and
+#. can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "eased"
msgstr ""
@@ -611,6 +622,7 @@ msgstr ""
msgid "Ping"
msgstr ""
+#. ~ PvP = Player versus Player
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "PvP enabled"
msgstr ""
@@ -855,6 +867,14 @@ msgstr ""
msgid "Provided world path doesn't exist: "
msgstr ""
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string. Put either "no" or "yes"
+#. into the translation field (literally).
+#. Choose "yes" if the language requires use of the fallback
+#. font, "no" otherwise.
+#. The fallback font is (normally) required for languages with
+#. non-Latin script, like Chinese.
+#. When in doubt, test your translation.
#: src/client/fontengine.cpp
msgid "needs_fallback_font"
msgstr "yes"
@@ -889,6 +909,7 @@ msgstr ""
msgid "- Public: "
msgstr ""
+#. ~ PvP = Player versus Player
#: src/client/game.cpp
msgid "- PvP: "
msgstr ""
@@ -1313,6 +1334,7 @@ msgstr ""
msgid "Left Windows"
msgstr ""
+#. ~ Key name, common on Windows keyboards
#: src/client/keycode.cpp
msgid "Menu"
msgstr ""
@@ -1405,6 +1427,7 @@ msgstr ""
msgid "Play"
msgstr ""
+#. ~ "Print screen" key
#: src/client/keycode.cpp
msgid "Print"
msgstr ""
@@ -1441,6 +1464,7 @@ msgstr ""
msgid "Scroll Lock"
msgstr ""
+#. ~ Key name
#: src/client/keycode.cpp
msgid "Select"
msgstr ""
@@ -1675,11 +1699,16 @@ msgstr ""
msgid "Sound Volume: "
msgstr ""
+#. ~ Imperative, as in "Enter/type in text".
+#. Don't forget the space.
#: src/gui/modalMenu.cpp
msgid "Enter "
msgstr ""
-#: src/network/clientpackethandler.cpp
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string which needs to contain the translation's
+#. language code (e.g. "de" for German).
+#: src/network/clientpackethandler.cpp src/script/lua_api/l_client.cpp
msgid "LANG_CODE"
msgstr "kk"
@@ -1702,7 +1731,7 @@ msgid ""
"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"
+"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."
@@ -1865,18 +1894,16 @@ msgid ""
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."
+msgid ""
+"Alters the light curve by applying 'gamma correction' to it.\n"
+"Higher values make middle and lower light levels brighter.\n"
+"Value '1.0' leaves the light curve unaltered.\n"
+"This only has significant effect on daylight and artificial\n"
+"light, it has very little effect on natural night light."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2025,6 +2052,22 @@ msgid "Block send optimize distance"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Bold and italic font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bold and italic monospace font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bold font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bold monospace font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Build inside player"
msgstr ""
@@ -2038,8 +2081,8 @@ 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"
+"Camera 'near clipping plane' distance in nodes, between 0 and 0.25\n"
+"Only works on GLES platforms. 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 ""
@@ -2101,7 +2144,9 @@ msgid "Cavern upper limit"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Center of light curve mid-boost."
+msgid ""
+"Center of light curve boost range.\n"
+"Where 0.0 is minimum light level, 1.0 is maximum light level."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2296,12 +2341,9 @@ 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."
+"Controls width of tunnels, a smaller value creates wider tunnels.\n"
+"Value >= 10.0 completely disables generation of tunnels and avoids the\n"
+"intensive noise calculations."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2337,10 +2379,6 @@ msgid "Damage"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Darkness sharpness"
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Debug info toggle key"
msgstr ""
@@ -2357,7 +2395,7 @@ msgid "Dec. volume key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Decrease this to increase liquid resistence to movement."
+msgid "Decrease this to increase liquid resistance to movement."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2397,12 +2435,6 @@ msgid ""
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 ""
@@ -2479,12 +2511,6 @@ 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 ""
@@ -2558,12 +2584,14 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Enable Lua modding support on client.\n"
-"This support is experimental and API can change."
+"Enable IPv6 support (for both client and server).\n"
+"Required for IPv6 connections to work at all."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Enable VBO"
+msgid ""
+"Enable Lua modding support on client.\n"
+"This support is experimental and API can change."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2629,6 +2657,12 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Enable vertex buffer objects.\n"
+"This should greatly improve graphics performance."
+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 ""
@@ -2636,7 +2670,16 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Enable/disable running an IPv6 server.\n"
-"Ignored if bind_address is set."
+"Ignored if bind_address is set.\n"
+"Needs enable_ipv6 to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Enables Hable's 'Uncharted 2' filmic tone mapping.\n"
+"Simulates the tone curve of photographic film and how this approximates the\n"
+"appearance of high dynamic range images. Mid-range contrast is slightly\n"
+"enhanced, highlights and shadows are gradually compressed."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2656,10 +2699,6 @@ 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 ""
@@ -2676,6 +2715,14 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Enables the sound system.\n"
+"If disabled, this completely disables all sounds everywhere and the in-game\n"
+"sound controls will be non-functional.\n"
+"Changing this setting requires a restart."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Engine profiling data print interval"
msgstr ""
@@ -2706,7 +2753,7 @@ msgid "Fall bobbing factor"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Fallback font"
+msgid "Fallback font path"
msgstr ""
#: src/settings_translation_file.cpp
@@ -2799,30 +2846,6 @@ 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 ""
@@ -2843,7 +2866,11 @@ msgid "Fog toggle key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font path"
+msgid "Font bold by default"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font italic by default"
msgstr ""
#: src/settings_translation_file.cpp
@@ -2855,15 +2882,19 @@ msgid "Font shadow alpha"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font shadow alpha (opaqueness, between 0 and 255)."
+msgid "Font size"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font shadow offset, if 0 then shadow will not be drawn."
+msgid "Font size of the default font in point (pt)."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font size"
+msgid "Font size of the fallback font in point (pt)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font size of the monospace font in point (pt)."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2974,10 +3005,6 @@ msgid "GUI scaling filter txr2img"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gamma"
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Generate normalmaps"
msgstr ""
@@ -2993,11 +3020,15 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at maximum light level."
+msgid ""
+"Gradient of light curve at maximum light level.\n"
+"Controls the contrast of the highest light levels."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at minimum light level."
+msgid ""
+"Gradient of light curve at minimum light level.\n"
+"Controls the contrast of the lowest light levels."
msgstr ""
#: src/settings_translation_file.cpp
@@ -3030,7 +3061,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Handling for deprecated lua api calls:\n"
+"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)."
@@ -3257,6 +3288,13 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"How fast liquid waves will move. Higher = faster.\n"
+"If negative, liquid waves will move backwards.\n"
+"Requires waving liquids to be enabled."
+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 ""
@@ -3286,10 +3324,6 @@ 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."
@@ -3464,6 +3498,14 @@ msgid "Invert vertical mouse movement."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Italic font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Italic monospace font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Item entity TTL"
msgstr ""
@@ -4059,11 +4101,19 @@ msgid "Large cave depth"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Large chat console key"
+msgid "Large cave maximum number"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Lava depth"
+msgid "Large cave minimum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large cave proportion flooded"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large chat console key"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4090,6 +4140,12 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Length of liquid waves.\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Length of time between Active Block Modifier (ABM) execution cycles"
msgstr ""
@@ -4114,19 +4170,27 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost"
+msgid "Light curve boost"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost center"
+msgid "Light curve boost center"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost spread"
+msgid "Light curve boost spread"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Lightness sharpness"
+msgid "Light curve gamma"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve high gradient"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve low gradient"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4231,25 +4295,25 @@ 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."
+"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 flat.\n"
+"Map generation attributes specific to Mapgen Fractal.\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."
+"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
@@ -4399,8 +4463,16 @@ msgid "Maximum hotbar width"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of large caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
-"Maximum liquid resistence. Controls deceleration when entering liquid at\n"
+"Maximum liquid resistance. Controls deceleration when entering liquid at\n"
"high speed."
msgstr ""
@@ -4521,6 +4593,14 @@ msgid "Minimap scan height"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of large caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Minimum texture size"
msgstr ""
@@ -4607,7 +4687,7 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Near clipping plane"
+msgid "Near plane"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4694,6 +4774,16 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Opaqueness (alpha) of the shadow behind the default font, between 0 and 255."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Opaqueness (alpha) of the shadow behind the fallback font, between 0 and 255."
+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."
@@ -4732,7 +4822,12 @@ msgid "Parallax occlusion strength"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Path to TrueTypeFont or bitmap."
+msgid ""
+"Path of the fallback font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font will be used for certain languages or if the default font is "
+"unavailable."
msgstr ""
#: src/settings_translation_file.cpp
@@ -4750,6 +4845,22 @@ msgid "Path to texture directory. All textures are first searched from here."
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Path to the default font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"The fallback font will be used if the font cannot be loaded."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Path to the monospace font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font is used for e.g. the console and profiler screen."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Pause on lost window focus"
msgstr ""
@@ -4822,6 +4933,10 @@ msgid "Profiling"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Proportion of large caves that contain liquid."
+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 "
@@ -4845,6 +4960,10 @@ msgid "Recent Chat Messages"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Regular font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Remote media"
msgstr ""
@@ -5035,24 +5154,24 @@ 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."
+"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
@@ -5103,19 +5222,19 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving leaves.\n"
+"Set to true to enable waving leaves.\n"
"Requires shaders to be enabled."
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving plants.\n"
+"Set to true to enable waving liquids (like water).\n"
"Requires shaders to be enabled."
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving water.\n"
+"Set to true to enable waving plants.\n"
"Requires shaders to be enabled."
msgstr ""
@@ -5132,7 +5251,15 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Shadow limit"
+msgid ""
+"Shadow offset (in pixels) of the default font. If 0, then shadow will not be "
+"drawn."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not "
+"be drawn."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5177,6 +5304,14 @@ msgid "Slope and fill work together to modify the heights."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Small cave maximum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Small cave minimum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Small-scale humidity variation for blending biomes on borders."
msgstr ""
@@ -5236,8 +5371,9 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Spread of light curve mid-boost.\n"
-"Standard deviation of the mid-boost gaussian."
+"Spread of light curve boost range.\n"
+"Controls the width of the range to be boosted.\n"
+"Standard deviation of the light curve boost Gaussian."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5261,7 +5397,10 @@ msgid "Strength of generated normalmaps."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Strength of light curve mid-boost."
+msgid ""
+"Strength of light curve boost.\n"
+"The 3 'boost' parameters define a range of the light\n"
+"curve that is boosted in brightness."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5364,6 +5503,15 @@ msgid "The length in pixels it takes for touch screen interaction to start."
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"The maximum height of the surface of waving liquids.\n"
+"4.0 = Wave height is two nodes.\n"
+"0.0 = Wave doesn't move at all.\n"
+"Default is 1.0 (1/2 node).\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "The network interface that the server listens on."
msgstr ""
@@ -5444,10 +5592,6 @@ 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."
@@ -5501,7 +5645,7 @@ msgstr ""
msgid ""
"True = 256\n"
"False = 128\n"
-"Useable to make minimap smoother on slower machines."
+"Usable to make minimap smoother on slower machines."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5509,11 +5653,6 @@ 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 ""
@@ -5598,10 +5737,6 @@ 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 ""
@@ -5675,6 +5810,12 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Volume of all sounds.\n"
+"Requires the sound system to be enabled."
+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"
@@ -5711,23 +5852,23 @@ msgid "Waving leaves"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving plants"
+msgid "Waving liquids"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water"
+msgid "Waving liquids wave height"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water wave height"
+msgid "Waving liquids wave speed"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water wave speed"
+msgid "Waving liquids wavelength"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water wavelength"
+msgid "Waving plants"
msgstr ""
#: src/settings_translation_file.cpp
@@ -5760,7 +5901,9 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Whether FreeType fonts are used, requires FreeType support to be compiled in."
+"Whether FreeType fonts are used, requires FreeType support to be compiled "
+"in.\n"
+"If disabled, bitmap and XML vectors fonts are used instead."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5789,6 +5932,14 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Whether to mute sounds. You can unmute sounds at any time, unless the\n"
+"sound system is disabled (enable_sound=false).\n"
+"In-game, you can toggle the mute state with the mute key or by using the\n"
+"pause menu."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
"Whether to show the client debug info (has the same effect as hitting F5)."
msgstr ""
@@ -5858,10 +6009,6 @@ 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 ""
@@ -5874,10 +6021,6 @@ 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 ""
diff --git a/po/kn/minetest.po b/po/kn/minetest.po
index 6b8c4ec75..cf3d15ad7 100644
--- a/po/kn/minetest.po
+++ b/po/kn/minetest.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Kannada (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-10-09 22:02+0200\n"
+"POT-Creation-Date: 2020-04-03 23:18+0200\n"
"PO-Revision-Date: 2019-11-10 15:04+0000\n"
"Last-Translator: Krock <mk939@ymail.com>\n"
"Language-Team: Kannada <https://hosted.weblate.org/projects/minetest/"
@@ -408,14 +408,25 @@ msgstr ""
msgid "Z spread"
msgstr ""
+#. ~ "absvalue" is a noise parameter flag.
+#. It is short for "absolute value".
+#. It can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "absvalue"
msgstr ""
+#. ~ "defaults" is a noise parameter flag.
+#. It describes the default processing options
+#. for noise settings in main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "defaults"
msgstr ""
+#. ~ "eased" is a noise parameter flag.
+#. It is used to make the map smoother and
+#. can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "eased"
msgstr ""
@@ -624,6 +635,7 @@ msgstr ""
msgid "Ping"
msgstr ""
+#. ~ PvP = Player versus Player
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "PvP enabled"
msgstr ""
@@ -868,6 +880,14 @@ msgstr ""
msgid "Provided world path doesn't exist: "
msgstr ""
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string. Put either "no" or "yes"
+#. into the translation field (literally).
+#. Choose "yes" if the language requires use of the fallback
+#. font, "no" otherwise.
+#. The fallback font is (normally) required for languages with
+#. non-Latin script, like Chinese.
+#. When in doubt, test your translation.
#: src/client/fontengine.cpp
msgid "needs_fallback_font"
msgstr "yes"
@@ -902,6 +922,7 @@ msgstr ""
msgid "- Public: "
msgstr ""
+#. ~ PvP = Player versus Player
#: src/client/game.cpp
msgid "- PvP: "
msgstr ""
@@ -1326,6 +1347,7 @@ msgstr ""
msgid "Left Windows"
msgstr ""
+#. ~ Key name, common on Windows keyboards
#: src/client/keycode.cpp
msgid "Menu"
msgstr ""
@@ -1418,6 +1440,7 @@ msgstr ""
msgid "Play"
msgstr ""
+#. ~ "Print screen" key
#: src/client/keycode.cpp
msgid "Print"
msgstr ""
@@ -1454,6 +1477,7 @@ msgstr ""
msgid "Scroll Lock"
msgstr ""
+#. ~ Key name
#: src/client/keycode.cpp
msgid "Select"
msgstr ""
@@ -1688,11 +1712,16 @@ msgstr ""
msgid "Sound Volume: "
msgstr ""
+#. ~ Imperative, as in "Enter/type in text".
+#. Don't forget the space.
#: src/gui/modalMenu.cpp
msgid "Enter "
msgstr ""
-#: src/network/clientpackethandler.cpp
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string which needs to contain the translation's
+#. language code (e.g. "de" for German).
+#: src/network/clientpackethandler.cpp src/script/lua_api/l_client.cpp
msgid "LANG_CODE"
msgstr "kn"
@@ -1715,7 +1744,7 @@ msgid ""
"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"
+"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."
@@ -1878,18 +1907,16 @@ msgid ""
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."
+msgid ""
+"Alters the light curve by applying 'gamma correction' to it.\n"
+"Higher values make middle and lower light levels brighter.\n"
+"Value '1.0' leaves the light curve unaltered.\n"
+"This only has significant effect on daylight and artificial\n"
+"light, it has very little effect on natural night light."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2038,6 +2065,22 @@ msgid "Block send optimize distance"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Bold and italic font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bold and italic monospace font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bold font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bold monospace font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Build inside player"
msgstr ""
@@ -2051,8 +2094,8 @@ 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"
+"Camera 'near clipping plane' distance in nodes, between 0 and 0.25\n"
+"Only works on GLES platforms. 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 ""
@@ -2114,7 +2157,9 @@ msgid "Cavern upper limit"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Center of light curve mid-boost."
+msgid ""
+"Center of light curve boost range.\n"
+"Where 0.0 is minimum light level, 1.0 is maximum light level."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2309,12 +2354,9 @@ 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."
+"Controls width of tunnels, a smaller value creates wider tunnels.\n"
+"Value >= 10.0 completely disables generation of tunnels and avoids the\n"
+"intensive noise calculations."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2350,10 +2392,6 @@ msgid "Damage"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Darkness sharpness"
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Debug info toggle key"
msgstr ""
@@ -2370,7 +2408,7 @@ msgid "Dec. volume key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Decrease this to increase liquid resistence to movement."
+msgid "Decrease this to increase liquid resistance to movement."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2410,12 +2448,6 @@ msgid ""
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 ""
@@ -2492,12 +2524,6 @@ 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 ""
@@ -2571,12 +2597,14 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Enable Lua modding support on client.\n"
-"This support is experimental and API can change."
+"Enable IPv6 support (for both client and server).\n"
+"Required for IPv6 connections to work at all."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Enable VBO"
+msgid ""
+"Enable Lua modding support on client.\n"
+"This support is experimental and API can change."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2642,6 +2670,12 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Enable vertex buffer objects.\n"
+"This should greatly improve graphics performance."
+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 ""
@@ -2649,7 +2683,16 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Enable/disable running an IPv6 server.\n"
-"Ignored if bind_address is set."
+"Ignored if bind_address is set.\n"
+"Needs enable_ipv6 to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Enables Hable's 'Uncharted 2' filmic tone mapping.\n"
+"Simulates the tone curve of photographic film and how this approximates the\n"
+"appearance of high dynamic range images. Mid-range contrast is slightly\n"
+"enhanced, highlights and shadows are gradually compressed."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2669,10 +2712,6 @@ 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 ""
@@ -2689,6 +2728,14 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Enables the sound system.\n"
+"If disabled, this completely disables all sounds everywhere and the in-game\n"
+"sound controls will be non-functional.\n"
+"Changing this setting requires a restart."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Engine profiling data print interval"
msgstr ""
@@ -2719,7 +2766,7 @@ msgid "Fall bobbing factor"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Fallback font"
+msgid "Fallback font path"
msgstr ""
#: src/settings_translation_file.cpp
@@ -2812,30 +2859,6 @@ 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 ""
@@ -2856,7 +2879,11 @@ msgid "Fog toggle key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font path"
+msgid "Font bold by default"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font italic by default"
msgstr ""
#: src/settings_translation_file.cpp
@@ -2868,15 +2895,19 @@ msgid "Font shadow alpha"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font shadow alpha (opaqueness, between 0 and 255)."
+msgid "Font size"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font shadow offset, if 0 then shadow will not be drawn."
+msgid "Font size of the default font in point (pt)."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font size"
+msgid "Font size of the fallback font in point (pt)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font size of the monospace font in point (pt)."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2987,10 +3018,6 @@ msgid "GUI scaling filter txr2img"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gamma"
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Generate normalmaps"
msgstr ""
@@ -3006,11 +3033,15 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at maximum light level."
+msgid ""
+"Gradient of light curve at maximum light level.\n"
+"Controls the contrast of the highest light levels."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at minimum light level."
+msgid ""
+"Gradient of light curve at minimum light level.\n"
+"Controls the contrast of the lowest light levels."
msgstr ""
#: src/settings_translation_file.cpp
@@ -3043,7 +3074,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Handling for deprecated lua api calls:\n"
+"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)."
@@ -3270,6 +3301,13 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"How fast liquid waves will move. Higher = faster.\n"
+"If negative, liquid waves will move backwards.\n"
+"Requires waving liquids to be enabled."
+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 ""
@@ -3299,10 +3337,6 @@ 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."
@@ -3477,6 +3511,14 @@ msgid "Invert vertical mouse movement."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Italic font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Italic monospace font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Item entity TTL"
msgstr ""
@@ -4072,11 +4114,19 @@ msgid "Large cave depth"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Large chat console key"
+msgid "Large cave maximum number"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Lava depth"
+msgid "Large cave minimum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large cave proportion flooded"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large chat console key"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4103,6 +4153,12 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Length of liquid waves.\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Length of time between Active Block Modifier (ABM) execution cycles"
msgstr ""
@@ -4127,19 +4183,27 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost"
+msgid "Light curve boost"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost center"
+msgid "Light curve boost center"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost spread"
+msgid "Light curve boost spread"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Lightness sharpness"
+msgid "Light curve gamma"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve high gradient"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve low gradient"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4244,25 +4308,25 @@ 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."
+"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 flat.\n"
+"Map generation attributes specific to Mapgen Fractal.\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."
+"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
@@ -4412,8 +4476,16 @@ msgid "Maximum hotbar width"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of large caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
-"Maximum liquid resistence. Controls deceleration when entering liquid at\n"
+"Maximum liquid resistance. Controls deceleration when entering liquid at\n"
"high speed."
msgstr ""
@@ -4534,6 +4606,14 @@ msgid "Minimap scan height"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of large caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Minimum texture size"
msgstr ""
@@ -4620,7 +4700,7 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Near clipping plane"
+msgid "Near plane"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4707,6 +4787,16 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Opaqueness (alpha) of the shadow behind the default font, between 0 and 255."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Opaqueness (alpha) of the shadow behind the fallback font, between 0 and 255."
+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."
@@ -4745,7 +4835,12 @@ msgid "Parallax occlusion strength"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Path to TrueTypeFont or bitmap."
+msgid ""
+"Path of the fallback font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font will be used for certain languages or if the default font is "
+"unavailable."
msgstr ""
#: src/settings_translation_file.cpp
@@ -4763,6 +4858,22 @@ msgid "Path to texture directory. All textures are first searched from here."
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Path to the default font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"The fallback font will be used if the font cannot be loaded."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Path to the monospace font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font is used for e.g. the console and profiler screen."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Pause on lost window focus"
msgstr ""
@@ -4835,6 +4946,10 @@ msgid "Profiling"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Proportion of large caves that contain liquid."
+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 "
@@ -4858,6 +4973,10 @@ msgid "Recent Chat Messages"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Regular font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Remote media"
msgstr ""
@@ -5048,24 +5167,24 @@ 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."
+"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
@@ -5116,19 +5235,19 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving leaves.\n"
+"Set to true to enable waving leaves.\n"
"Requires shaders to be enabled."
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving plants.\n"
+"Set to true to enable waving liquids (like water).\n"
"Requires shaders to be enabled."
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving water.\n"
+"Set to true to enable waving plants.\n"
"Requires shaders to be enabled."
msgstr ""
@@ -5145,7 +5264,15 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Shadow limit"
+msgid ""
+"Shadow offset (in pixels) of the default font. If 0, then shadow will not be "
+"drawn."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not "
+"be drawn."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5190,6 +5317,14 @@ msgid "Slope and fill work together to modify the heights."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Small cave maximum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Small cave minimum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Small-scale humidity variation for blending biomes on borders."
msgstr ""
@@ -5249,8 +5384,9 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Spread of light curve mid-boost.\n"
-"Standard deviation of the mid-boost gaussian."
+"Spread of light curve boost range.\n"
+"Controls the width of the range to be boosted.\n"
+"Standard deviation of the light curve boost Gaussian."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5274,7 +5410,10 @@ msgid "Strength of generated normalmaps."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Strength of light curve mid-boost."
+msgid ""
+"Strength of light curve boost.\n"
+"The 3 'boost' parameters define a range of the light\n"
+"curve that is boosted in brightness."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5377,6 +5516,15 @@ msgid "The length in pixels it takes for touch screen interaction to start."
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"The maximum height of the surface of waving liquids.\n"
+"4.0 = Wave height is two nodes.\n"
+"0.0 = Wave doesn't move at all.\n"
+"Default is 1.0 (1/2 node).\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "The network interface that the server listens on."
msgstr ""
@@ -5457,10 +5605,6 @@ 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."
@@ -5514,7 +5658,7 @@ msgstr ""
msgid ""
"True = 256\n"
"False = 128\n"
-"Useable to make minimap smoother on slower machines."
+"Usable to make minimap smoother on slower machines."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5522,11 +5666,6 @@ 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 ""
@@ -5611,10 +5750,6 @@ 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 ""
@@ -5688,6 +5823,12 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Volume of all sounds.\n"
+"Requires the sound system to be enabled."
+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"
@@ -5724,23 +5865,23 @@ msgid "Waving leaves"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving plants"
+msgid "Waving liquids"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water"
+msgid "Waving liquids wave height"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water wave height"
+msgid "Waving liquids wave speed"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water wave speed"
+msgid "Waving liquids wavelength"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water wavelength"
+msgid "Waving plants"
msgstr ""
#: src/settings_translation_file.cpp
@@ -5773,7 +5914,9 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Whether FreeType fonts are used, requires FreeType support to be compiled in."
+"Whether FreeType fonts are used, requires FreeType support to be compiled "
+"in.\n"
+"If disabled, bitmap and XML vectors fonts are used instead."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5802,6 +5945,14 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Whether to mute sounds. You can unmute sounds at any time, unless the\n"
+"sound system is disabled (enable_sound=false).\n"
+"In-game, you can toggle the mute state with the mute key or by using the\n"
+"pause menu."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
"Whether to show the client debug info (has the same effect as hitting F5)."
msgstr ""
@@ -5871,10 +6022,6 @@ 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 ""
@@ -5887,10 +6034,6 @@ 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 ""
diff --git a/po/ko/minetest.po b/po/ko/minetest.po
index a530a0845..1887912cb 100644
--- a/po/ko/minetest.po
+++ b/po/ko/minetest.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Korean (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-10-09 22:02+0200\n"
+"POT-Creation-Date: 2020-04-03 23:18+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/"
@@ -423,15 +423,26 @@ msgstr ""
msgid "Z spread"
msgstr ""
+#. ~ "absvalue" is a noise parameter flag.
+#. It is short for "absolute value".
+#. It can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "absvalue"
msgstr ""
+#. ~ "defaults" is a noise parameter flag.
+#. It describes the default processing options
+#. for noise settings in main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
#, fuzzy
msgid "defaults"
msgstr "기본 게임"
+#. ~ "eased" is a noise parameter flag.
+#. It is used to make the map smoother and
+#. can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "eased"
msgstr ""
@@ -665,6 +676,7 @@ msgstr "ì´ë¦„/비밀번호"
msgid "Ping"
msgstr "í•‘"
+#. ~ PvP = Player versus Player
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "PvP enabled"
msgstr "PvP 가능"
@@ -915,6 +927,14 @@ msgstr ""
msgid "Provided world path doesn't exist: "
msgstr "월드 경로가 존재하지 않습니다: "
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string. Put either "no" or "yes"
+#. into the translation field (literally).
+#. Choose "yes" if the language requires use of the fallback
+#. font, "no" otherwise.
+#. The fallback font is (normally) required for languages with
+#. non-Latin script, like Chinese.
+#. When in doubt, test your translation.
#: src/client/fontengine.cpp
msgid "needs_fallback_font"
msgstr "yes"
@@ -953,6 +973,7 @@ msgstr "- í¬íŠ¸: "
msgid "- Public: "
msgstr "ì¼ë°˜"
+#. ~ PvP = Player versus Player
#: src/client/game.cpp
msgid "- PvP: "
msgstr "- PvP: "
@@ -1422,6 +1443,7 @@ msgstr "왼쪽 쉬프트"
msgid "Left Windows"
msgstr "왼쪽 창"
+#. ~ Key name, common on Windows keyboards
#: src/client/keycode.cpp
msgid "Menu"
msgstr "메뉴"
@@ -1516,6 +1538,7 @@ msgstr "ì¼ì‹œ 중지"
msgid "Play"
msgstr "시작"
+#. ~ "Print screen" key
#: src/client/keycode.cpp
#, fuzzy
msgid "Print"
@@ -1554,6 +1577,7 @@ msgstr "오른쪽 창"
msgid "Scroll Lock"
msgstr "스í¬ë¡¤ ë½"
+#. ~ Key name
#: src/client/keycode.cpp
msgid "Select"
msgstr "ì„ íƒ"
@@ -1802,11 +1826,16 @@ msgstr "ìŒì†Œê±°"
msgid "Sound Volume: "
msgstr "볼륨 조절: "
+#. ~ Imperative, as in "Enter/type in text".
+#. Don't forget the space.
#: src/gui/modalMenu.cpp
msgid "Enter "
msgstr "들어가기 "
-#: src/network/clientpackethandler.cpp
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string which needs to contain the translation's
+#. language code (e.g. "de" for German).
+#: src/network/clientpackethandler.cpp src/script/lua_api/l_client.cpp
msgid "LANG_CODE"
msgstr "ko"
@@ -1829,7 +1858,7 @@ msgid ""
"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"
+"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."
@@ -2006,18 +2035,16 @@ msgid ""
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."
+msgid ""
+"Alters the light curve by applying 'gamma correction' to it.\n"
+"Higher values make middle and lower light levels brighter.\n"
+"Value '1.0' leaves the light curve unaltered.\n"
+"This only has significant effect on daylight and artificial\n"
+"light, it has very little effect on natural night light."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2175,6 +2202,26 @@ msgid "Block send optimize distance"
msgstr "최대 ë¸”ë¡ ì „ì†¡ 거리"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Bold and italic font path"
+msgstr "ê³ ì • í­ ê¸€ê¼´ 경로"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Bold and italic monospace font path"
+msgstr "ê³ ì • í­ ê¸€ê¼´ 경로"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Bold font path"
+msgstr "글꼴 경로"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Bold monospace font path"
+msgstr "ê³ ì • í­ ê¸€ê¼´ 경로"
+
+#: src/settings_translation_file.cpp
msgid "Build inside player"
msgstr ""
@@ -2188,8 +2235,8 @@ 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"
+"Camera 'near clipping plane' distance in nodes, between 0 and 0.25\n"
+"Only works on GLES platforms. 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 ""
@@ -2257,7 +2304,9 @@ msgid "Cavern upper limit"
msgstr "ë™êµ´ 너비"
#: src/settings_translation_file.cpp
-msgid "Center of light curve mid-boost."
+msgid ""
+"Center of light curve boost range.\n"
+"Where 0.0 is minimum light level, 1.0 is maximum light level."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2463,15 +2512,12 @@ 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."
+"Controls width of tunnels, a smaller value creates wider tunnels.\n"
+"Value >= 10.0 completely disables generation of tunnels and avoids the\n"
+"intensive noise calculations."
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 "ì¶©ëŒ ë©”ì‹œì§€"
@@ -2504,10 +2550,6 @@ msgid "Damage"
msgstr "ë°ë¯¸ì§€"
#: src/settings_translation_file.cpp
-msgid "Darkness sharpness"
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Debug info toggle key"
msgstr "디버그 정보 토글 키"
@@ -2525,7 +2567,7 @@ msgid "Dec. volume key"
msgstr "볼륨 낮추기 키"
#: src/settings_translation_file.cpp
-msgid "Decrease this to increase liquid resistence to movement."
+msgid "Decrease this to increase liquid resistance to movement."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2568,12 +2610,6 @@ msgid ""
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 ""
@@ -2655,12 +2691,6 @@ 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 "í° ë™êµ´ì„ 발견할 수 있는 깊ì´."
@@ -2739,13 +2769,15 @@ msgstr "강 소리"
#: src/settings_translation_file.cpp
msgid ""
-"Enable Lua modding support on client.\n"
-"This support is experimental and API can change."
+"Enable IPv6 support (for both client and server).\n"
+"Required for IPv6 connections to work at all."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Enable VBO"
-msgstr "VBO ì ìš©"
+msgid ""
+"Enable Lua modding support on client.\n"
+"This support is experimental and API can change."
+msgstr ""
#: src/settings_translation_file.cpp
msgid "Enable console window"
@@ -2818,6 +2850,12 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Enable vertex buffer objects.\n"
+"This should greatly improve graphics performance."
+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 ""
@@ -2828,13 +2866,22 @@ msgstr ""
#, fuzzy
msgid ""
"Enable/disable running an IPv6 server.\n"
-"Ignored if bind_address is set."
+"Ignored if bind_address is set.\n"
+"Needs enable_ipv6 to be enabled."
msgstr ""
"IPv6 서버를 실행 활성화/비활성화. IPv6 서버는 IPv6 í´ë¼ì´ì–¸íŠ¸ 시스템 êµ¬ì„±ì— "
"ë”°ë¼ ì œí•œ ë  ìˆ˜ 있습니다.\n"
"만약 Bind_addressê°€ 설정 ëœ ê²½ìš° 무시 ë©ë‹ˆë‹¤."
#: src/settings_translation_file.cpp
+msgid ""
+"Enables Hable's 'Uncharted 2' filmic tone mapping.\n"
+"Simulates the tone curve of photographic film and how this approximates the\n"
+"appearance of high dynamic range images. Mid-range contrast is slightly\n"
+"enhanced, highlights and shadows are gradually compressed."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Enables animation of inventory items."
msgstr "ì¸ë²¤í† ë¦¬ ì•„ì´í…œì˜ 애니메ì´ì…˜ ì ìš©."
@@ -2854,10 +2901,6 @@ 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 "미니맵 ì ìš©."
@@ -2879,6 +2922,14 @@ msgstr ""
"ì‰ì´ë”를 활성화 해야 합니다."
#: src/settings_translation_file.cpp
+msgid ""
+"Enables the sound system.\n"
+"If disabled, this completely disables all sounds everywhere and the in-game\n"
+"sound controls will be non-functional.\n"
+"Changing this setting requires a restart."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Engine profiling data print interval"
msgstr "엔진 프로 파ì¼ë§ ë°ì´í„° 출력 간격"
@@ -2911,7 +2962,7 @@ msgstr "낙하 í”들림"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Fallback font"
+msgid "Fallback font path"
msgstr "yes"
#: src/settings_translation_file.cpp
@@ -3009,31 +3060,6 @@ 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 "Floatlandì˜ ë†’ì´"
-
-#: src/settings_translation_file.cpp
-msgid "Floatland mountain density"
-msgstr "Floatlandì˜ ì‚° 밀집ë„"
-
-#: src/settings_translation_file.cpp
-#, fuzzy
-msgid "Floatland mountain exponent"
-msgstr "Floatlandì˜ ì‚° 밀집ë„"
-
-#: src/settings_translation_file.cpp
-msgid "Floatland mountain height"
-msgstr "Floatlandì˜ ì‚° 높ì´"
-
-#: src/settings_translation_file.cpp
msgid "Fly key"
msgstr "비행 키"
@@ -3054,8 +3080,12 @@ msgid "Fog toggle key"
msgstr "안개 스위치"
#: src/settings_translation_file.cpp
-msgid "Font path"
-msgstr "글꼴 경로"
+msgid "Font bold by default"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font italic by default"
+msgstr ""
#: src/settings_translation_file.cpp
msgid "Font shadow"
@@ -3066,16 +3096,20 @@ msgid "Font shadow alpha"
msgstr "글꼴 ê·¸ë¦¼ìž íˆ¬ëª…ë„"
#: src/settings_translation_file.cpp
-msgid "Font shadow alpha (opaqueness, between 0 and 255)."
-msgstr "글꼴 ê·¸ë¦¼ìž íˆ¬ëª…ë„ (불투명 함, 0ê³¼ 255 사ì´)."
+msgid "Font size"
+msgstr "글꼴 í¬ê¸°"
#: src/settings_translation_file.cpp
-msgid "Font shadow offset, if 0 then shadow will not be drawn."
-msgstr "글꼴 ê·¸ë¦¼ìž ì˜¤í”„ì…‹, 만약 0 ì´ë©´ 그림ìžëŠ” 나타나지 ì•Šì„ ê²ƒìž…ë‹ˆë‹¤."
+msgid "Font size of the default font in point (pt)."
+msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font size"
-msgstr "글꼴 í¬ê¸°"
+msgid "Font size of the fallback font in point (pt)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font size of the monospace font in point (pt)."
+msgstr ""
#: src/settings_translation_file.cpp
msgid ""
@@ -3190,10 +3224,6 @@ 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 "Normalmaps ìƒì„±"
@@ -3209,11 +3239,15 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at maximum light level."
+msgid ""
+"Gradient of light curve at maximum light level.\n"
+"Controls the contrast of the highest light levels."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at minimum light level."
+msgid ""
+"Gradient of light curve at minimum light level.\n"
+"Controls the contrast of the lowest light levels."
msgstr ""
#: src/settings_translation_file.cpp
@@ -3249,7 +3283,7 @@ msgstr "HUD 토글 키"
#: src/settings_translation_file.cpp
msgid ""
-"Handling for deprecated lua api calls:\n"
+"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)."
@@ -3483,6 +3517,13 @@ msgstr "얼마나 ê°•ì„ ê¹Šê²Œ 만들건가요"
#: src/settings_translation_file.cpp
msgid ""
+"How fast liquid waves will move. Higher = faster.\n"
+"If negative, liquid waves will move backwards.\n"
+"Requires waving liquids to be enabled."
+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 ""
@@ -3513,10 +3554,6 @@ 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."
@@ -3697,6 +3734,16 @@ msgstr ""
#: src/settings_translation_file.cpp
#, fuzzy
+msgid "Italic font path"
+msgstr "ê³ ì • í­ ê¸€ê¼´ 경로"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Italic monospace font path"
+msgstr "ê³ ì • í­ ê¸€ê¼´ 경로"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Item entity TTL"
msgstr "ì•„ì´í…œì˜ TTL(Time To Live)"
@@ -4541,14 +4588,21 @@ msgid "Large cave depth"
msgstr "í° ë™êµ´ 깊ì´"
#: src/settings_translation_file.cpp
-#, fuzzy
-msgid "Large chat console key"
-msgstr "콘솔 키"
+msgid "Large cave maximum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large cave minimum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large cave proportion flooded"
+msgstr ""
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Lava depth"
-msgstr "í° ë™êµ´ 깊ì´"
+msgid "Large chat console key"
+msgstr "콘솔 키"
#: src/settings_translation_file.cpp
msgid "Leaves style"
@@ -4579,6 +4633,15 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid ""
+"Length of liquid waves.\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+"Trueë¡œ 설정하면 í”들리는 나뭇잎 효과가 ì ìš©ë©ë‹ˆë‹¤.\n"
+"ì‰ì´ë”를 활성화 해야 합니다."
+
+#: src/settings_translation_file.cpp
msgid "Length of time between Active Block Modifier (ABM) execution cycles"
msgstr ""
@@ -4603,19 +4666,27 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost"
+msgid "Light curve boost"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost center"
+msgid "Light curve boost center"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost spread"
+msgid "Light curve boost spread"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Lightness sharpness"
+msgid "Light curve gamma"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve high gradient"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve low gradient"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4723,25 +4794,25 @@ 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."
+"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 flat.\n"
+"Map generation attributes specific to Mapgen Fractal.\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."
+"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
@@ -4899,8 +4970,16 @@ msgid "Maximum hotbar width"
msgstr "최대 hotbar í­"
#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of large caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
-"Maximum liquid resistence. Controls deceleration when entering liquid at\n"
+"Maximum liquid resistance. Controls deceleration when entering liquid at\n"
"high speed."
msgstr ""
@@ -5028,6 +5107,14 @@ msgid "Minimap scan height"
msgstr "미니맵 스캔 높ì´"
#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of large caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
#, fuzzy
msgid "Minimum texture size"
msgstr "í•„í„° 최소 í…스처 í¬ê¸°"
@@ -5122,7 +5209,7 @@ msgid ""
msgstr "서버ì´ë¦„ì€ í”Œë ˆì´ì–´ê°€ 서버 ë¦¬ìŠ¤íŠ¸ì— ë“¤ì–´ê°ˆ ë•Œ 나타납니다."
#: src/settings_translation_file.cpp
-msgid "Near clipping plane"
+msgid "Near plane"
msgstr ""
#: src/settings_translation_file.cpp
@@ -5209,6 +5296,16 @@ msgstr "불투명한 액체"
#: src/settings_translation_file.cpp
msgid ""
+"Opaqueness (alpha) of the shadow behind the default font, between 0 and 255."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Opaqueness (alpha) of the shadow behind the fallback font, between 0 and 255."
+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."
@@ -5251,8 +5348,13 @@ msgid "Parallax occlusion strength"
msgstr "시차 êµí•© ê°•ë„"
#: src/settings_translation_file.cpp
-msgid "Path to TrueTypeFont or bitmap."
-msgstr "TrueTypeFont ë˜ëŠ” ë¹„íŠ¸ë§µì˜ ê²½ë¡œìž…ë‹ˆë‹¤."
+msgid ""
+"Path of the fallback font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font will be used for certain languages or if the default font is "
+"unavailable."
+msgstr ""
#: src/settings_translation_file.cpp
msgid "Path to save screenshots at."
@@ -5270,6 +5372,22 @@ msgid "Path to texture directory. All textures are first searched from here."
msgstr "í…스처 디렉터리 경로입니다. 모든 í…스처는 여기ì—ì„œ 먼저 검색 ë©ë‹ˆë‹¤."
#: src/settings_translation_file.cpp
+msgid ""
+"Path to the default font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"The fallback font will be used if the font cannot be loaded."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Path to the monospace font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font is used for e.g. the console and profiler screen."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Pause on lost window focus"
msgstr ""
@@ -5354,6 +5472,10 @@ msgid "Profiling"
msgstr "프로 파ì¼ë§"
#: src/settings_translation_file.cpp
+msgid "Proportion of large caves that contain liquid."
+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 "
@@ -5381,6 +5503,11 @@ msgid "Recent Chat Messages"
msgstr ""
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Regular font path"
+msgstr "보고서 경로"
+
+#: src/settings_translation_file.cpp
msgid "Remote media"
msgstr "ì›ê²© 미디어"
@@ -5588,24 +5715,24 @@ msgstr "ì„ íƒ ë°•ìŠ¤ 너비"
#, fuzzy
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."
+"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 ""
"9가지 ê³µì‹ì—ì„œ 18 ë„í˜•ì„ ì„ íƒí•˜ì„¸ìš”.\n"
"1 = 4 D \"Roundy\" 만ë¸ë¸Œë¡œíŠ¸ 집합.\n"
@@ -5676,28 +5803,31 @@ msgid "Set the maximum character length of a chat message sent by clients."
msgstr ""
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Set to true enables waving leaves.\n"
+"Set to true to enable waving leaves.\n"
"Requires shaders to be enabled."
msgstr ""
"Trueë¡œ 설정하면 í”들리는 나뭇잎 효과가 ì ìš©ë©ë‹ˆë‹¤.\n"
"ì‰ì´ë”를 활성화 해야 합니다."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Set to true enables waving plants.\n"
+"Set to true to enable waving liquids (like water).\n"
"Requires shaders to be enabled."
msgstr ""
-"Trueë¡œ 설정하면 í”들리는 ì‹ë¬¼ 효과가 ì ìš©ë©ë‹ˆë‹¤.\n"
-"ì‰ì´ë”를 활성화 해야 합니다."
+"Trueë¡œ 설정하면 물결효과가 ì ìš©ë©ë‹ˆë‹¤.\n"
+"ì‰ì´ë”를 활성화해야 합니다.."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Set to true enables waving water.\n"
+"Set to true to enable waving plants.\n"
"Requires shaders to be enabled."
msgstr ""
-"Trueë¡œ 설정하면 물결효과가 ì ìš©ë©ë‹ˆë‹¤.\n"
-"ì‰ì´ë”를 활성화해야 합니다.."
+"Trueë¡œ 설정하면 í”들리는 ì‹ë¬¼ 효과가 ì ìš©ë©ë‹ˆë‹¤.\n"
+"ì‰ì´ë”를 활성화 해야 합니다."
#: src/settings_translation_file.cpp
msgid "Shader path"
@@ -5716,8 +5846,18 @@ msgstr ""
"ì´ê²ƒì€ OpenGL video backendì—서만 ì§ë™í•©ë‹ˆë‹¤."
#: src/settings_translation_file.cpp
-msgid "Shadow limit"
-msgstr "ê·¸ë¦¼ìž ì œí•œ"
+#, fuzzy
+msgid ""
+"Shadow offset (in pixels) of the default font. If 0, then shadow will not be "
+"drawn."
+msgstr "글꼴 ê·¸ë¦¼ìž ì˜¤í”„ì…‹, 만약 0 ì´ë©´ 그림ìžëŠ” 나타나지 ì•Šì„ ê²ƒìž…ë‹ˆë‹¤."
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid ""
+"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not "
+"be drawn."
+msgstr "글꼴 ê·¸ë¦¼ìž ì˜¤í”„ì…‹, 만약 0 ì´ë©´ 그림ìžëŠ” 나타나지 ì•Šì„ ê²ƒìž…ë‹ˆë‹¤."
#: src/settings_translation_file.cpp
msgid "Shape of the minimap. Enabled = round, disabled = square."
@@ -5763,6 +5903,14 @@ msgid "Slope and fill work together to modify the heights."
msgstr "ë†’ì´ ìˆ˜ì •ì„ ìœ„í•´ 기울기와 채우기를 함께 작용합니다"
#: src/settings_translation_file.cpp
+msgid "Small cave maximum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Small cave minimum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Small-scale humidity variation for blending biomes on borders."
msgstr ""
@@ -5831,8 +5979,9 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Spread of light curve mid-boost.\n"
-"Standard deviation of the mid-boost gaussian."
+"Spread of light curve boost range.\n"
+"Controls the width of the range to be boosted.\n"
+"Standard deviation of the light curve boost Gaussian."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5857,7 +6006,10 @@ msgid "Strength of generated normalmaps."
msgstr "ìžë™ìœ¼ë¡œ ìƒì„±ë˜ëŠ” ë…¸ë©€ë§µì˜ ê°•ë„."
#: src/settings_translation_file.cpp
-msgid "Strength of light curve mid-boost."
+msgid ""
+"Strength of light curve boost.\n"
+"The 3 'boost' parameters define a range of the light\n"
+"curve that is boosted in brightness."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5966,6 +6118,15 @@ msgid "The length in pixels it takes for touch screen interaction to start."
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"The maximum height of the surface of waving liquids.\n"
+"4.0 = Wave height is two nodes.\n"
+"0.0 = Wave doesn't move at all.\n"
+"Default is 1.0 (1/2 node).\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "The network interface that the server listens on."
msgstr ""
@@ -6049,10 +6210,6 @@ 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
#, fuzzy
msgid ""
"Time in seconds for item entity (dropped items) to live.\n"
@@ -6113,10 +6270,11 @@ msgid "Trilinear filtering"
msgstr "삼중 선형 í•„í„°ë§"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
"True = 256\n"
"False = 128\n"
-"Useable to make minimap smoother on slower machines."
+"Usable to make minimap smoother on slower machines."
msgstr ""
"True = 256 \n"
"False = 128 \n"
@@ -6127,11 +6285,6 @@ 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입니다."
@@ -6225,10 +6378,6 @@ 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 ""
@@ -6306,6 +6455,15 @@ msgid "Volume"
msgstr "볼륨"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid ""
+"Volume of all sounds.\n"
+"Requires the sound system to be enabled."
+msgstr ""
+"시차 êµí•© 맵핑 ì ìš©.\n"
+"ì‰ì´ë”를 활성화 해야 합니다."
+
+#: 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"
@@ -6344,29 +6502,30 @@ msgid "Waving leaves"
msgstr "í”들리는 나뭇잎 효과"
#: src/settings_translation_file.cpp
-msgid "Waving plants"
-msgstr "í”들리는 ì‹ë¬¼ 효과"
-
-#: src/settings_translation_file.cpp
-msgid "Waving water"
-msgstr "물결 효과"
+#, fuzzy
+msgid "Waving liquids"
+msgstr "움ì§ì´ëŠ” Node"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wave height"
+msgid "Waving liquids wave height"
msgstr "물결 높ì´"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wave speed"
+msgid "Waving liquids wave speed"
msgstr "물결 ì†ë„"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wavelength"
+msgid "Waving liquids wavelength"
msgstr "물결 길ì´"
#: src/settings_translation_file.cpp
+msgid "Waving plants"
+msgstr "í”들리는 ì‹ë¬¼ 효과"
+
+#: src/settings_translation_file.cpp
#, fuzzy
msgid ""
"When gui_scaling_filter is true, all GUI images need to be\n"
@@ -6407,7 +6566,9 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Whether FreeType fonts are used, requires FreeType support to be compiled in."
+"Whether FreeType fonts are used, requires FreeType support to be compiled "
+"in.\n"
+"If disabled, bitmap and XML vectors fonts are used instead."
msgstr ""
#: src/settings_translation_file.cpp
@@ -6436,6 +6597,14 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Whether to mute sounds. You can unmute sounds at any time, unless the\n"
+"sound system is disabled (enable_sound=false).\n"
+"In-game, you can toggle the mute state with the mute key or by using the\n"
+"pause menu."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
"Whether to show the client debug info (has the same effect as hitting F5)."
msgstr ""
@@ -6513,10 +6682,6 @@ 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 ""
@@ -6529,10 +6694,6 @@ 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 ""
@@ -6544,6 +6705,47 @@ msgstr ""
msgid "cURL timeout"
msgstr ""
+#~ msgid "Controls width of tunnels, a smaller value creates wider tunnels."
+#~ msgstr "í„°ë„ ë„ˆë¹„ë¥¼ ì¡°ì ˆ, ìž‘ì€ ìˆ˜ì¹˜ëŠ” ë„“ì€ í„°ë„ì„ ë§Œë“­ë‹ˆë‹¤."
+
+#~ msgid "Enable VBO"
+#~ msgstr "VBO ì ìš©"
+
+#~ msgid "Floatland level"
+#~ msgstr "Floatlandì˜ ë†’ì´"
+
+#~ msgid "Floatland mountain density"
+#~ msgstr "Floatlandì˜ ì‚° 밀집ë„"
+
+#, fuzzy
+#~ msgid "Floatland mountain exponent"
+#~ msgstr "Floatlandì˜ ì‚° 밀집ë„"
+
+#~ msgid "Floatland mountain height"
+#~ msgstr "Floatlandì˜ ì‚° 높ì´"
+
+#~ msgid "Font shadow alpha (opaqueness, between 0 and 255)."
+#~ msgstr "글꼴 ê·¸ë¦¼ìž íˆ¬ëª…ë„ (불투명 함, 0ê³¼ 255 사ì´)."
+
+#~ msgid "Gamma"
+#~ msgstr "ê°ë§ˆ"
+
+#, fuzzy
+#~ msgid "Lava depth"
+#~ msgstr "í° ë™êµ´ 깊ì´"
+
+#~ msgid "Path to TrueTypeFont or bitmap."
+#~ msgstr "TrueTypeFont ë˜ëŠ” ë¹„íŠ¸ë§µì˜ ê²½ë¡œìž…ë‹ˆë‹¤."
+
+#~ msgid "Shadow limit"
+#~ msgstr "ê·¸ë¦¼ìž ì œí•œ"
+
+#~ msgid "This font will be used for certain languages."
+#~ msgstr "ì´ ê¸€ê¼´ì€ íŠ¹ì • ì–¸ì–´ì— ì‚¬ìš© ë©ë‹ˆë‹¤."
+
+#~ msgid "Waving water"
+#~ msgstr "물결 효과"
+
#~ msgid "Waving Water"
#~ msgstr "물결 효과"
diff --git a/po/ky/minetest.po b/po/ky/minetest.po
index 2f91441c1..98ec32412 100644
--- a/po/ky/minetest.po
+++ b/po/ky/minetest.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Kyrgyz (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-10-09 22:02+0200\n"
+"POT-Creation-Date: 2020-04-03 23:18+0200\n"
"PO-Revision-Date: 2019-11-10 15:04+0000\n"
"Last-Translator: Krock <mk939@ymail.com>\n"
"Language-Team: Kyrgyz <https://hosted.weblate.org/projects/minetest/minetest/"
@@ -413,14 +413,25 @@ msgstr ""
msgid "Z spread"
msgstr ""
+#. ~ "absvalue" is a noise parameter flag.
+#. It is short for "absolute value".
+#. It can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "absvalue"
msgstr ""
+#. ~ "defaults" is a noise parameter flag.
+#. It describes the default processing options
+#. for noise settings in main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "defaults"
msgstr ""
+#. ~ "eased" is a noise parameter flag.
+#. It is used to make the map smoother and
+#. can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "eased"
msgstr ""
@@ -648,6 +659,7 @@ msgstr "ÐÑ‚Ñ‹/ÑÑ‹Ñ€Ñөзү"
msgid "Ping"
msgstr ""
+#. ~ PvP = Player versus Player
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
#, fuzzy
msgid "PvP enabled"
@@ -924,6 +936,14 @@ msgstr ""
msgid "Provided world path doesn't exist: "
msgstr ""
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string. Put either "no" or "yes"
+#. into the translation field (literally).
+#. Choose "yes" if the language requires use of the fallback
+#. font, "no" otherwise.
+#. The fallback font is (normally) required for languages with
+#. non-Latin script, like Chinese.
+#. When in doubt, test your translation.
#: src/client/fontengine.cpp
msgid "needs_fallback_font"
msgstr "yes"
@@ -964,6 +984,7 @@ msgstr ""
msgid "- Public: "
msgstr "Жалпылык"
+#. ~ PvP = Player versus Player
#: src/client/game.cpp
msgid "- PvP: "
msgstr ""
@@ -1423,6 +1444,7 @@ msgstr "Сол Shift"
msgid "Left Windows"
msgstr "Сол Windows"
+#. ~ Key name, common on Windows keyboards
#: src/client/keycode.cpp
msgid "Menu"
msgstr "Меню"
@@ -1516,6 +1538,7 @@ msgstr "Пауза"
msgid "Play"
msgstr "Ойноо"
+#. ~ "Print screen" key
#: src/client/keycode.cpp
msgid "Print"
msgstr "БаÑма"
@@ -1552,6 +1575,7 @@ msgstr "Оң Windows"
msgid "Scroll Lock"
msgstr "Scroll Lock"
+#. ~ Key name
#: src/client/keycode.cpp
msgid "Select"
msgstr "Тандоо"
@@ -1798,11 +1822,16 @@ msgstr "баÑкычты баÑыңыз"
msgid "Sound Volume: "
msgstr "Үн көлөмү: "
+#. ~ Imperative, as in "Enter/type in text".
+#. Don't forget the space.
#: src/gui/modalMenu.cpp
msgid "Enter "
msgstr ""
-#: src/network/clientpackethandler.cpp
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string which needs to contain the translation's
+#. language code (e.g. "de" for German).
+#: src/network/clientpackethandler.cpp src/script/lua_api/l_client.cpp
msgid "LANG_CODE"
msgstr "ky"
@@ -1825,7 +1854,7 @@ msgid ""
"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"
+"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."
@@ -1989,18 +2018,16 @@ msgid ""
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."
+msgid ""
+"Alters the light curve by applying 'gamma correction' to it.\n"
+"Higher values make middle and lower light levels brighter.\n"
+"Value '1.0' leaves the light curve unaltered.\n"
+"This only has significant effect on daylight and artificial\n"
+"light, it has very little effect on natural night light."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2154,6 +2181,22 @@ msgid "Block send optimize distance"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Bold and italic font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bold and italic monospace font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bold font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bold monospace font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
#, fuzzy
msgid "Build inside player"
msgstr "Көп кишилик"
@@ -2169,8 +2212,8 @@ msgstr "Mip-текÑтуралоо"
#: 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"
+"Camera 'near clipping plane' distance in nodes, between 0 and 0.25\n"
+"Only works on GLES platforms. 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 ""
@@ -2232,7 +2275,9 @@ msgid "Cavern upper limit"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Center of light curve mid-boost."
+msgid ""
+"Center of light curve boost range.\n"
+"Where 0.0 is minimum light level, 1.0 is maximum light level."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2442,12 +2487,9 @@ 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."
+"Controls width of tunnels, a smaller value creates wider tunnels.\n"
+"Value >= 10.0 completely disables generation of tunnels and avoids the\n"
+"intensive noise calculations."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2485,10 +2527,6 @@ msgid "Damage"
msgstr "Убалды күйгүзүү"
#: src/settings_translation_file.cpp
-msgid "Darkness sharpness"
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Debug info toggle key"
msgstr ""
@@ -2505,7 +2543,7 @@ msgid "Dec. volume key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Decrease this to increase liquid resistence to movement."
+msgid "Decrease this to increase liquid resistance to movement."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2546,12 +2584,6 @@ msgid ""
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 ""
@@ -2628,12 +2660,6 @@ 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 ""
@@ -2709,14 +2735,15 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Enable Lua modding support on client.\n"
-"This support is experimental and API can change."
+"Enable IPv6 support (for both client and server).\n"
+"Required for IPv6 connections to work at all."
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
-msgid "Enable VBO"
-msgstr "Баарын күйгүзүү"
+msgid ""
+"Enable Lua modding support on client.\n"
+"This support is experimental and API can change."
+msgstr ""
#: src/settings_translation_file.cpp
msgid "Enable console window"
@@ -2781,6 +2808,12 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Enable vertex buffer objects.\n"
+"This should greatly improve graphics performance."
+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 ""
@@ -2788,7 +2821,16 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Enable/disable running an IPv6 server.\n"
-"Ignored if bind_address is set."
+"Ignored if bind_address is set.\n"
+"Needs enable_ipv6 to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Enables Hable's 'Uncharted 2' filmic tone mapping.\n"
+"Simulates the tone curve of photographic film and how this approximates the\n"
+"appearance of high dynamic range images. Mid-range contrast is slightly\n"
+"enhanced, highlights and shadows are gradually compressed."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2809,11 +2851,6 @@ msgstr ""
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Enables filmic tone mapping"
-msgstr "Убалды күйгүзүү"
-
-#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Enables minimap."
msgstr "Убалды күйгүзүү"
@@ -2830,6 +2867,14 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Enables the sound system.\n"
+"If disabled, this completely disables all sounds everywhere and the in-game\n"
+"sound controls will be non-functional.\n"
+"Changing this setting requires a restart."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Engine profiling data print interval"
msgstr ""
@@ -2860,7 +2905,7 @@ msgid "Fall bobbing factor"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Fallback font"
+msgid "Fallback font path"
msgstr ""
#: src/settings_translation_file.cpp
@@ -2954,30 +2999,6 @@ 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 ""
@@ -2998,7 +3019,11 @@ msgid "Fog toggle key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font path"
+msgid "Font bold by default"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font italic by default"
msgstr ""
#: src/settings_translation_file.cpp
@@ -3010,15 +3035,19 @@ msgid "Font shadow alpha"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font shadow alpha (opaqueness, between 0 and 255)."
+msgid "Font size"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font shadow offset, if 0 then shadow will not be drawn."
+msgid "Font size of the default font in point (pt)."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font size"
+msgid "Font size of the fallback font in point (pt)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font size of the monospace font in point (pt)."
msgstr ""
#: src/settings_translation_file.cpp
@@ -3130,10 +3159,6 @@ msgid "GUI scaling filter txr2img"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gamma"
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Generate normalmaps"
msgstr ""
@@ -3149,11 +3174,15 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at maximum light level."
+msgid ""
+"Gradient of light curve at maximum light level.\n"
+"Controls the contrast of the highest light levels."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at minimum light level."
+msgid ""
+"Gradient of light curve at minimum light level.\n"
+"Controls the contrast of the lowest light levels."
msgstr ""
#: src/settings_translation_file.cpp
@@ -3186,7 +3215,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Handling for deprecated lua api calls:\n"
+"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)."
@@ -3414,6 +3443,13 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"How fast liquid waves will move. Higher = faster.\n"
+"If negative, liquid waves will move backwards.\n"
+"Requires waving liquids to be enabled."
+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 ""
@@ -3443,10 +3479,6 @@ 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."
@@ -3624,6 +3656,14 @@ msgid "Invert vertical mouse movement."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Italic font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Italic monospace font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Item entity TTL"
msgstr ""
@@ -4220,15 +4260,23 @@ msgid "Large cave depth"
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
-msgid "Large chat console key"
-msgstr "КонÑоль"
+msgid "Large cave maximum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large cave minimum number"
+msgstr ""
#: src/settings_translation_file.cpp
-msgid "Lava depth"
+msgid "Large cave proportion flooded"
msgstr ""
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Large chat console key"
+msgstr "КонÑоль"
+
+#: src/settings_translation_file.cpp
msgid "Leaves style"
msgstr ""
@@ -4253,6 +4301,12 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Length of liquid waves.\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Length of time between Active Block Modifier (ABM) execution cycles"
msgstr ""
@@ -4277,19 +4331,27 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost"
+msgid "Light curve boost"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve boost center"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve boost spread"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost center"
+msgid "Light curve gamma"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost spread"
+msgid "Light curve high gradient"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Lightness sharpness"
+msgid "Light curve low gradient"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4396,25 +4458,25 @@ 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."
+"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 flat.\n"
+"Map generation attributes specific to Mapgen Fractal.\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."
+"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
@@ -4564,8 +4626,16 @@ msgid "Maximum hotbar width"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of large caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
-"Maximum liquid resistence. Controls deceleration when entering liquid at\n"
+"Maximum liquid resistance. Controls deceleration when entering liquid at\n"
"high speed."
msgstr ""
@@ -4687,6 +4757,14 @@ msgid "Minimap scan height"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of large caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Minimum texture size"
msgstr ""
@@ -4775,7 +4853,7 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Near clipping plane"
+msgid "Near plane"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4862,6 +4940,16 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Opaqueness (alpha) of the shadow behind the default font, between 0 and 255."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Opaqueness (alpha) of the shadow behind the fallback font, between 0 and 255."
+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."
@@ -4900,7 +4988,12 @@ msgid "Parallax occlusion strength"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Path to TrueTypeFont or bitmap."
+msgid ""
+"Path of the fallback font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font will be used for certain languages or if the default font is "
+"unavailable."
msgstr ""
#: src/settings_translation_file.cpp
@@ -4918,6 +5011,22 @@ msgid "Path to texture directory. All textures are first searched from here."
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Path to the default font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"The fallback font will be used if the font cannot be loaded."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Path to the monospace font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font is used for e.g. the console and profiler screen."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Pause on lost window focus"
msgstr ""
@@ -4991,6 +5100,10 @@ msgid "Profiling"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Proportion of large caves that contain liquid."
+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 "
@@ -5014,6 +5127,11 @@ msgid "Recent Chat Messages"
msgstr ""
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Regular font path"
+msgstr "Тандоо"
+
+#: src/settings_translation_file.cpp
msgid "Remote media"
msgstr ""
@@ -5209,24 +5327,24 @@ 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."
+"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
@@ -5280,19 +5398,19 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving leaves.\n"
+"Set to true to enable waving leaves.\n"
"Requires shaders to be enabled."
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving plants.\n"
+"Set to true to enable waving liquids (like water).\n"
"Requires shaders to be enabled."
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving water.\n"
+"Set to true to enable waving plants.\n"
"Requires shaders to be enabled."
msgstr ""
@@ -5310,7 +5428,15 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Shadow limit"
+msgid ""
+"Shadow offset (in pixels) of the default font. If 0, then shadow will not be "
+"drawn."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not "
+"be drawn."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5355,6 +5481,14 @@ msgid "Slope and fill work together to modify the heights."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Small cave maximum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Small cave minimum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Small-scale humidity variation for blending biomes on borders."
msgstr ""
@@ -5418,8 +5552,9 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Spread of light curve mid-boost.\n"
-"Standard deviation of the mid-boost gaussian."
+"Spread of light curve boost range.\n"
+"Controls the width of the range to be boosted.\n"
+"Standard deviation of the light curve boost Gaussian."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5443,7 +5578,10 @@ msgid "Strength of generated normalmaps."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Strength of light curve mid-boost."
+msgid ""
+"Strength of light curve boost.\n"
+"The 3 'boost' parameters define a range of the light\n"
+"curve that is boosted in brightness."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5546,6 +5684,15 @@ msgid "The length in pixels it takes for touch screen interaction to start."
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"The maximum height of the surface of waving liquids.\n"
+"4.0 = Wave height is two nodes.\n"
+"0.0 = Wave doesn't move at all.\n"
+"Default is 1.0 (1/2 node).\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "The network interface that the server listens on."
msgstr ""
@@ -5626,10 +5773,6 @@ 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."
@@ -5684,7 +5827,7 @@ msgstr "ҮчÑызык чыпкалооÑу"
msgid ""
"True = 256\n"
"False = 128\n"
-"Useable to make minimap smoother on slower machines."
+"Usable to make minimap smoother on slower machines."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5692,11 +5835,6 @@ 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 ""
@@ -5781,10 +5919,6 @@ 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 ""
@@ -5859,6 +5993,12 @@ msgstr "Үн көлөмү"
#: src/settings_translation_file.cpp
msgid ""
+"Volume of all sounds.\n"
+"Requires the sound system to be enabled."
+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"
@@ -5896,29 +6036,30 @@ msgid "Waving leaves"
msgstr "Кооз бактар"
#: src/settings_translation_file.cpp
-msgid "Waving plants"
-msgstr ""
-
-#: src/settings_translation_file.cpp
-msgid "Waving water"
-msgstr ""
+#, fuzzy
+msgid "Waving liquids"
+msgstr "Кооз бактар"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wave height"
+msgid "Waving liquids wave height"
msgstr "Кооз бактар"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wave speed"
+msgid "Waving liquids wave speed"
msgstr "Кооз бактар"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wavelength"
+msgid "Waving liquids wavelength"
msgstr "Кооз бактар"
#: src/settings_translation_file.cpp
+msgid "Waving plants"
+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"
@@ -5948,7 +6089,9 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Whether FreeType fonts are used, requires FreeType support to be compiled in."
+"Whether FreeType fonts are used, requires FreeType support to be compiled "
+"in.\n"
+"If disabled, bitmap and XML vectors fonts are used instead."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5977,6 +6120,14 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Whether to mute sounds. You can unmute sounds at any time, unless the\n"
+"sound system is disabled (enable_sound=false).\n"
+"In-game, you can toggle the mute state with the mute key or by using the\n"
+"pause menu."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
"Whether to show the client debug info (has the same effect as hitting F5)."
msgstr ""
@@ -6047,10 +6198,6 @@ 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 ""
@@ -6063,10 +6210,6 @@ 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 ""
@@ -6079,6 +6222,14 @@ msgid "cURL timeout"
msgstr ""
#, fuzzy
+#~ msgid "Enable VBO"
+#~ msgstr "Баарын күйгүзүү"
+
+#, fuzzy
+#~ msgid "Enables filmic tone mapping"
+#~ msgstr "Убалды күйгүзүү"
+
+#, fuzzy
#~ msgid "Select Package File:"
#~ msgstr "Дүйнөнү тандаңыз:"
diff --git a/po/lo/minetest.po b/po/lo/minetest.po
index cfa819a94..8eb422943 100644
--- a/po/lo/minetest.po
+++ b/po/lo/minetest.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Lao (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-10-09 22:02+0200\n"
+"POT-Creation-Date: 2020-04-03 23:18+0200\n"
"PO-Revision-Date: 2020-01-11 18:26+0000\n"
"Last-Translator: rubenwardy <rubenwardy@gmail.com>\n"
"Language-Team: Lao <https://hosted.weblate.org/projects/minetest/minetest/lo/"
@@ -395,14 +395,25 @@ msgstr ""
msgid "Z spread"
msgstr ""
+#. ~ "absvalue" is a noise parameter flag.
+#. It is short for "absolute value".
+#. It can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "absvalue"
msgstr ""
+#. ~ "defaults" is a noise parameter flag.
+#. It describes the default processing options
+#. for noise settings in main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "defaults"
msgstr ""
+#. ~ "eased" is a noise parameter flag.
+#. It is used to make the map smoother and
+#. can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "eased"
msgstr ""
@@ -611,6 +622,7 @@ msgstr ""
msgid "Ping"
msgstr ""
+#. ~ PvP = Player versus Player
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "PvP enabled"
msgstr ""
@@ -855,6 +867,14 @@ msgstr ""
msgid "Provided world path doesn't exist: "
msgstr ""
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string. Put either "no" or "yes"
+#. into the translation field (literally).
+#. Choose "yes" if the language requires use of the fallback
+#. font, "no" otherwise.
+#. The fallback font is (normally) required for languages with
+#. non-Latin script, like Chinese.
+#. When in doubt, test your translation.
#: src/client/fontengine.cpp
msgid "needs_fallback_font"
msgstr "yes"
@@ -889,6 +909,7 @@ msgstr ""
msgid "- Public: "
msgstr ""
+#. ~ PvP = Player versus Player
#: src/client/game.cpp
msgid "- PvP: "
msgstr ""
@@ -1313,6 +1334,7 @@ msgstr ""
msgid "Left Windows"
msgstr ""
+#. ~ Key name, common on Windows keyboards
#: src/client/keycode.cpp
msgid "Menu"
msgstr ""
@@ -1405,6 +1427,7 @@ msgstr ""
msgid "Play"
msgstr ""
+#. ~ "Print screen" key
#: src/client/keycode.cpp
msgid "Print"
msgstr ""
@@ -1441,6 +1464,7 @@ msgstr ""
msgid "Scroll Lock"
msgstr ""
+#. ~ Key name
#: src/client/keycode.cpp
msgid "Select"
msgstr ""
@@ -1675,11 +1699,16 @@ msgstr ""
msgid "Sound Volume: "
msgstr ""
+#. ~ Imperative, as in "Enter/type in text".
+#. Don't forget the space.
#: src/gui/modalMenu.cpp
msgid "Enter "
msgstr ""
-#: src/network/clientpackethandler.cpp
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string which needs to contain the translation's
+#. language code (e.g. "de" for German).
+#: src/network/clientpackethandler.cpp src/script/lua_api/l_client.cpp
msgid "LANG_CODE"
msgstr "lo"
@@ -1702,7 +1731,7 @@ msgid ""
"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"
+"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."
@@ -1865,18 +1894,16 @@ msgid ""
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."
+msgid ""
+"Alters the light curve by applying 'gamma correction' to it.\n"
+"Higher values make middle and lower light levels brighter.\n"
+"Value '1.0' leaves the light curve unaltered.\n"
+"This only has significant effect on daylight and artificial\n"
+"light, it has very little effect on natural night light."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2025,6 +2052,22 @@ msgid "Block send optimize distance"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Bold and italic font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bold and italic monospace font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bold font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bold monospace font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Build inside player"
msgstr ""
@@ -2038,8 +2081,8 @@ 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"
+"Camera 'near clipping plane' distance in nodes, between 0 and 0.25\n"
+"Only works on GLES platforms. 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 ""
@@ -2101,7 +2144,9 @@ msgid "Cavern upper limit"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Center of light curve mid-boost."
+msgid ""
+"Center of light curve boost range.\n"
+"Where 0.0 is minimum light level, 1.0 is maximum light level."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2296,12 +2341,9 @@ 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."
+"Controls width of tunnels, a smaller value creates wider tunnels.\n"
+"Value >= 10.0 completely disables generation of tunnels and avoids the\n"
+"intensive noise calculations."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2337,10 +2379,6 @@ msgid "Damage"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Darkness sharpness"
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Debug info toggle key"
msgstr ""
@@ -2357,7 +2395,7 @@ msgid "Dec. volume key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Decrease this to increase liquid resistence to movement."
+msgid "Decrease this to increase liquid resistance to movement."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2397,12 +2435,6 @@ msgid ""
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 ""
@@ -2479,12 +2511,6 @@ 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 ""
@@ -2558,12 +2584,14 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Enable Lua modding support on client.\n"
-"This support is experimental and API can change."
+"Enable IPv6 support (for both client and server).\n"
+"Required for IPv6 connections to work at all."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Enable VBO"
+msgid ""
+"Enable Lua modding support on client.\n"
+"This support is experimental and API can change."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2629,6 +2657,12 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Enable vertex buffer objects.\n"
+"This should greatly improve graphics performance."
+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 ""
@@ -2636,7 +2670,16 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Enable/disable running an IPv6 server.\n"
-"Ignored if bind_address is set."
+"Ignored if bind_address is set.\n"
+"Needs enable_ipv6 to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Enables Hable's 'Uncharted 2' filmic tone mapping.\n"
+"Simulates the tone curve of photographic film and how this approximates the\n"
+"appearance of high dynamic range images. Mid-range contrast is slightly\n"
+"enhanced, highlights and shadows are gradually compressed."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2656,10 +2699,6 @@ 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 ""
@@ -2676,6 +2715,14 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Enables the sound system.\n"
+"If disabled, this completely disables all sounds everywhere and the in-game\n"
+"sound controls will be non-functional.\n"
+"Changing this setting requires a restart."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Engine profiling data print interval"
msgstr ""
@@ -2706,7 +2753,7 @@ msgid "Fall bobbing factor"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Fallback font"
+msgid "Fallback font path"
msgstr ""
#: src/settings_translation_file.cpp
@@ -2799,30 +2846,6 @@ 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 ""
@@ -2843,7 +2866,11 @@ msgid "Fog toggle key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font path"
+msgid "Font bold by default"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font italic by default"
msgstr ""
#: src/settings_translation_file.cpp
@@ -2855,15 +2882,19 @@ msgid "Font shadow alpha"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font shadow alpha (opaqueness, between 0 and 255)."
+msgid "Font size"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font shadow offset, if 0 then shadow will not be drawn."
+msgid "Font size of the default font in point (pt)."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font size"
+msgid "Font size of the fallback font in point (pt)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font size of the monospace font in point (pt)."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2974,10 +3005,6 @@ msgid "GUI scaling filter txr2img"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gamma"
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Generate normalmaps"
msgstr ""
@@ -2993,11 +3020,15 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at maximum light level."
+msgid ""
+"Gradient of light curve at maximum light level.\n"
+"Controls the contrast of the highest light levels."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at minimum light level."
+msgid ""
+"Gradient of light curve at minimum light level.\n"
+"Controls the contrast of the lowest light levels."
msgstr ""
#: src/settings_translation_file.cpp
@@ -3030,7 +3061,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Handling for deprecated lua api calls:\n"
+"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)."
@@ -3257,6 +3288,13 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"How fast liquid waves will move. Higher = faster.\n"
+"If negative, liquid waves will move backwards.\n"
+"Requires waving liquids to be enabled."
+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 ""
@@ -3286,10 +3324,6 @@ 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."
@@ -3464,6 +3498,14 @@ msgid "Invert vertical mouse movement."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Italic font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Italic monospace font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Item entity TTL"
msgstr ""
@@ -4059,11 +4101,19 @@ msgid "Large cave depth"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Large chat console key"
+msgid "Large cave maximum number"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Lava depth"
+msgid "Large cave minimum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large cave proportion flooded"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large chat console key"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4090,6 +4140,12 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Length of liquid waves.\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Length of time between Active Block Modifier (ABM) execution cycles"
msgstr ""
@@ -4114,19 +4170,27 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost"
+msgid "Light curve boost"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost center"
+msgid "Light curve boost center"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost spread"
+msgid "Light curve boost spread"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Lightness sharpness"
+msgid "Light curve gamma"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve high gradient"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve low gradient"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4231,25 +4295,25 @@ 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."
+"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 flat.\n"
+"Map generation attributes specific to Mapgen Fractal.\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."
+"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
@@ -4399,8 +4463,16 @@ msgid "Maximum hotbar width"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of large caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
-"Maximum liquid resistence. Controls deceleration when entering liquid at\n"
+"Maximum liquid resistance. Controls deceleration when entering liquid at\n"
"high speed."
msgstr ""
@@ -4521,6 +4593,14 @@ msgid "Minimap scan height"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of large caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Minimum texture size"
msgstr ""
@@ -4607,7 +4687,7 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Near clipping plane"
+msgid "Near plane"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4694,6 +4774,16 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Opaqueness (alpha) of the shadow behind the default font, between 0 and 255."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Opaqueness (alpha) of the shadow behind the fallback font, between 0 and 255."
+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."
@@ -4732,7 +4822,12 @@ msgid "Parallax occlusion strength"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Path to TrueTypeFont or bitmap."
+msgid ""
+"Path of the fallback font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font will be used for certain languages or if the default font is "
+"unavailable."
msgstr ""
#: src/settings_translation_file.cpp
@@ -4750,6 +4845,22 @@ msgid "Path to texture directory. All textures are first searched from here."
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Path to the default font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"The fallback font will be used if the font cannot be loaded."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Path to the monospace font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font is used for e.g. the console and profiler screen."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Pause on lost window focus"
msgstr ""
@@ -4822,6 +4933,10 @@ msgid "Profiling"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Proportion of large caves that contain liquid."
+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 "
@@ -4845,6 +4960,10 @@ msgid "Recent Chat Messages"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Regular font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Remote media"
msgstr ""
@@ -5035,24 +5154,24 @@ 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."
+"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
@@ -5103,19 +5222,19 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving leaves.\n"
+"Set to true to enable waving leaves.\n"
"Requires shaders to be enabled."
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving plants.\n"
+"Set to true to enable waving liquids (like water).\n"
"Requires shaders to be enabled."
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving water.\n"
+"Set to true to enable waving plants.\n"
"Requires shaders to be enabled."
msgstr ""
@@ -5132,7 +5251,15 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Shadow limit"
+msgid ""
+"Shadow offset (in pixels) of the default font. If 0, then shadow will not be "
+"drawn."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not "
+"be drawn."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5177,6 +5304,14 @@ msgid "Slope and fill work together to modify the heights."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Small cave maximum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Small cave minimum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Small-scale humidity variation for blending biomes on borders."
msgstr ""
@@ -5236,8 +5371,9 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Spread of light curve mid-boost.\n"
-"Standard deviation of the mid-boost gaussian."
+"Spread of light curve boost range.\n"
+"Controls the width of the range to be boosted.\n"
+"Standard deviation of the light curve boost Gaussian."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5261,7 +5397,10 @@ msgid "Strength of generated normalmaps."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Strength of light curve mid-boost."
+msgid ""
+"Strength of light curve boost.\n"
+"The 3 'boost' parameters define a range of the light\n"
+"curve that is boosted in brightness."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5364,6 +5503,15 @@ msgid "The length in pixels it takes for touch screen interaction to start."
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"The maximum height of the surface of waving liquids.\n"
+"4.0 = Wave height is two nodes.\n"
+"0.0 = Wave doesn't move at all.\n"
+"Default is 1.0 (1/2 node).\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "The network interface that the server listens on."
msgstr ""
@@ -5444,10 +5592,6 @@ 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."
@@ -5501,7 +5645,7 @@ msgstr ""
msgid ""
"True = 256\n"
"False = 128\n"
-"Useable to make minimap smoother on slower machines."
+"Usable to make minimap smoother on slower machines."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5509,11 +5653,6 @@ 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 ""
@@ -5598,10 +5737,6 @@ 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 ""
@@ -5675,6 +5810,12 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Volume of all sounds.\n"
+"Requires the sound system to be enabled."
+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"
@@ -5711,23 +5852,23 @@ msgid "Waving leaves"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving plants"
+msgid "Waving liquids"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water"
+msgid "Waving liquids wave height"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water wave height"
+msgid "Waving liquids wave speed"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water wave speed"
+msgid "Waving liquids wavelength"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water wavelength"
+msgid "Waving plants"
msgstr ""
#: src/settings_translation_file.cpp
@@ -5760,7 +5901,9 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Whether FreeType fonts are used, requires FreeType support to be compiled in."
+"Whether FreeType fonts are used, requires FreeType support to be compiled "
+"in.\n"
+"If disabled, bitmap and XML vectors fonts are used instead."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5789,6 +5932,14 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Whether to mute sounds. You can unmute sounds at any time, unless the\n"
+"sound system is disabled (enable_sound=false).\n"
+"In-game, you can toggle the mute state with the mute key or by using the\n"
+"pause menu."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
"Whether to show the client debug info (has the same effect as hitting F5)."
msgstr ""
@@ -5858,10 +6009,6 @@ 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 ""
@@ -5874,10 +6021,6 @@ 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 ""
diff --git a/po/lt/minetest.po b/po/lt/minetest.po
index 85263e363..c907439bd 100644
--- a/po/lt/minetest.po
+++ b/po/lt/minetest.po
@@ -2,9 +2,9 @@ msgid ""
msgstr ""
"Project-Id-Version: Lithuanian (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-10-09 22:02+0200\n"
-"PO-Revision-Date: 2019-11-10 15:04+0000\n"
-"Last-Translator: Krock <mk939@ymail.com>\n"
+"POT-Creation-Date: 2020-04-03 23:18+0200\n"
+"PO-Revision-Date: 2020-02-22 19:27+0000\n"
+"Last-Translator: An0n3m0us <an0n3m0us@hotmail.com>\n"
"Language-Team: Lithuanian <https://hosted.weblate.org/projects/minetest/"
"minetest/lt/>\n"
"Language: lt\n"
@@ -14,7 +14,7 @@ msgstr ""
"Plural-Forms: nplurals=3; plural=(n % 10 == 1 && (n % 100 < 11 || n % 100 > "
"19)) ? 0 : ((n % 10 >= 2 && n % 10 <= 9 && (n % 100 < 11 || n % 100 > 19)) ? "
"1 : 2);\n"
-"X-Generator: Weblate 3.10-dev\n"
+"X-Generator: Weblate 4.0-dev\n"
#: builtin/client/death_formspec.lua src/client/game.cpp
msgid "Respawn"
@@ -426,15 +426,26 @@ msgstr ""
msgid "Z spread"
msgstr ""
+#. ~ "absvalue" is a noise parameter flag.
+#. It is short for "absolute value".
+#. It can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "absvalue"
msgstr ""
+#. ~ "defaults" is a noise parameter flag.
+#. It describes the default processing options
+#. for noise settings in main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
#, fuzzy
msgid "defaults"
msgstr "keisti žaidimą"
+#. ~ "eased" is a noise parameter flag.
+#. It is used to make the map smoother and
+#. can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "eased"
msgstr ""
@@ -676,6 +687,7 @@ msgstr "Vardas / Slaptažodis :"
msgid "Ping"
msgstr ""
+#. ~ PvP = Player versus Player
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "PvP enabled"
msgstr "PvP įjungtas"
@@ -933,9 +945,17 @@ msgstr ""
msgid "Provided world path doesn't exist: "
msgstr "Pateiktas pasaulio kelias neegzistuoja: "
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string. Put either "no" or "yes"
+#. into the translation field (literally).
+#. Choose "yes" if the language requires use of the fallback
+#. font, "no" otherwise.
+#. The fallback font is (normally) required for languages with
+#. non-Latin script, like Chinese.
+#. When in doubt, test your translation.
#: src/client/fontengine.cpp
msgid "needs_fallback_font"
-msgstr "yes"
+msgstr "no"
#: src/client/game.cpp
msgid ""
@@ -974,6 +994,7 @@ msgstr "Prievadas"
msgid "- Public: "
msgstr "Viešas"
+#. ~ PvP = Player versus Player
#: src/client/game.cpp
msgid "- PvP: "
msgstr ""
@@ -1445,6 +1466,7 @@ msgstr "Kairysis Shift"
msgid "Left Windows"
msgstr "Kairieji langai"
+#. ~ Key name, common on Windows keyboards
#: src/client/keycode.cpp
msgid "Menu"
msgstr "Meniu"
@@ -1538,6 +1560,7 @@ msgstr "Pause"
msgid "Play"
msgstr "Žaisti"
+#. ~ "Print screen" key
#: src/client/keycode.cpp
msgid "Print"
msgstr "Spausdinti"
@@ -1574,6 +1597,7 @@ msgstr "Dešinieji langai"
msgid "Scroll Lock"
msgstr "Scroll Lock"
+#. ~ Key name
#: src/client/keycode.cpp
msgid "Select"
msgstr "Pasirinkti"
@@ -1820,11 +1844,16 @@ msgstr "paspauskite klavišą"
msgid "Sound Volume: "
msgstr "Garso lygis: "
+#. ~ Imperative, as in "Enter/type in text".
+#. Don't forget the space.
#: src/gui/modalMenu.cpp
msgid "Enter "
msgstr "Įvesti"
-#: src/network/clientpackethandler.cpp
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string which needs to contain the translation's
+#. language code (e.g. "de" for German).
+#: src/network/clientpackethandler.cpp src/script/lua_api/l_client.cpp
msgid "LANG_CODE"
msgstr "lt"
@@ -1847,7 +1876,7 @@ msgid ""
"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"
+"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."
@@ -2011,18 +2040,16 @@ msgid ""
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."
+msgid ""
+"Alters the light curve by applying 'gamma correction' to it.\n"
+"Higher values make middle and lower light levels brighter.\n"
+"Value '1.0' leaves the light curve unaltered.\n"
+"This only has significant effect on daylight and artificial\n"
+"light, it has very little effect on natural night light."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2175,6 +2202,22 @@ msgid "Block send optimize distance"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Bold and italic font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bold and italic monospace font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bold font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bold monospace font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Build inside player"
msgstr ""
@@ -2188,8 +2231,8 @@ 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"
+"Camera 'near clipping plane' distance in nodes, between 0 and 0.25\n"
+"Only works on GLES platforms. 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 ""
@@ -2251,7 +2294,9 @@ msgid "Cavern upper limit"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Center of light curve mid-boost."
+msgid ""
+"Center of light curve boost range.\n"
+"Where 0.0 is minimum light level, 1.0 is maximum light level."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2461,12 +2506,9 @@ 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."
+"Controls width of tunnels, a smaller value creates wider tunnels.\n"
+"Value >= 10.0 completely disables generation of tunnels and avoids the\n"
+"intensive noise calculations."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2504,10 +2546,6 @@ msgid "Damage"
msgstr "Leisti sužeidimus"
#: src/settings_translation_file.cpp
-msgid "Darkness sharpness"
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Debug info toggle key"
msgstr ""
@@ -2524,7 +2562,7 @@ msgid "Dec. volume key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Decrease this to increase liquid resistence to movement."
+msgid "Decrease this to increase liquid resistance to movement."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2566,12 +2604,6 @@ msgid ""
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 ""
@@ -2648,12 +2680,6 @@ 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 ""
@@ -2728,14 +2754,15 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Enable Lua modding support on client.\n"
-"This support is experimental and API can change."
+"Enable IPv6 support (for both client and server).\n"
+"Required for IPv6 connections to work at all."
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
-msgid "Enable VBO"
-msgstr "Įjungti papildinį"
+msgid ""
+"Enable Lua modding support on client.\n"
+"This support is experimental and API can change."
+msgstr ""
#: src/settings_translation_file.cpp
msgid "Enable console window"
@@ -2802,6 +2829,12 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Enable vertex buffer objects.\n"
+"This should greatly improve graphics performance."
+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 ""
@@ -2809,7 +2842,16 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Enable/disable running an IPv6 server.\n"
-"Ignored if bind_address is set."
+"Ignored if bind_address is set.\n"
+"Needs enable_ipv6 to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Enables Hable's 'Uncharted 2' filmic tone mapping.\n"
+"Simulates the tone curve of photographic film and how this approximates the\n"
+"appearance of high dynamic range images. Mid-range contrast is slightly\n"
+"enhanced, highlights and shadows are gradually compressed."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2830,11 +2872,6 @@ msgstr ""
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Enables filmic tone mapping"
-msgstr "Leisti sužeidimus"
-
-#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Enables minimap."
msgstr "Leisti sužeidimus"
@@ -2851,6 +2888,14 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Enables the sound system.\n"
+"If disabled, this completely disables all sounds everywhere and the in-game\n"
+"sound controls will be non-functional.\n"
+"Changing this setting requires a restart."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Engine profiling data print interval"
msgstr ""
@@ -2881,7 +2926,7 @@ msgid "Fall bobbing factor"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Fallback font"
+msgid "Fallback font path"
msgstr ""
#: src/settings_translation_file.cpp
@@ -2974,30 +3019,6 @@ 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 ""
@@ -3018,7 +3039,11 @@ msgid "Fog toggle key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font path"
+msgid "Font bold by default"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font italic by default"
msgstr ""
#: src/settings_translation_file.cpp
@@ -3030,15 +3055,19 @@ msgid "Font shadow alpha"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font shadow alpha (opaqueness, between 0 and 255)."
+msgid "Font size"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font shadow offset, if 0 then shadow will not be drawn."
+msgid "Font size of the default font in point (pt)."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font size"
+msgid "Font size of the fallback font in point (pt)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font size of the monospace font in point (pt)."
msgstr ""
#: src/settings_translation_file.cpp
@@ -3150,10 +3179,6 @@ msgid "GUI scaling filter txr2img"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gamma"
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Generate normalmaps"
msgstr ""
@@ -3169,11 +3194,15 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at maximum light level."
+msgid ""
+"Gradient of light curve at maximum light level.\n"
+"Controls the contrast of the highest light levels."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at minimum light level."
+msgid ""
+"Gradient of light curve at minimum light level.\n"
+"Controls the contrast of the lowest light levels."
msgstr ""
#: src/settings_translation_file.cpp
@@ -3207,7 +3236,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Handling for deprecated lua api calls:\n"
+"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)."
@@ -3435,6 +3464,13 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"How fast liquid waves will move. Higher = faster.\n"
+"If negative, liquid waves will move backwards.\n"
+"Requires waving liquids to be enabled."
+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 ""
@@ -3464,10 +3500,6 @@ 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."
@@ -3645,6 +3677,14 @@ msgid "Invert vertical mouse movement."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Italic font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Italic monospace font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Item entity TTL"
msgstr ""
@@ -4241,15 +4281,23 @@ msgid "Large cave depth"
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
-msgid "Large chat console key"
-msgstr "Nustatyti klavišus"
+msgid "Large cave maximum number"
+msgstr ""
#: src/settings_translation_file.cpp
-msgid "Lava depth"
+msgid "Large cave minimum number"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Large cave proportion flooded"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Large chat console key"
+msgstr "Nustatyti klavišus"
+
+#: src/settings_translation_file.cpp
msgid "Leaves style"
msgstr ""
@@ -4274,6 +4322,12 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Length of liquid waves.\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Length of time between Active Block Modifier (ABM) execution cycles"
msgstr ""
@@ -4298,19 +4352,27 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost"
+msgid "Light curve boost"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve boost center"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost center"
+msgid "Light curve boost spread"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost spread"
+msgid "Light curve gamma"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Lightness sharpness"
+msgid "Light curve high gradient"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve low gradient"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4417,25 +4479,25 @@ 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."
+"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 flat.\n"
+"Map generation attributes specific to Mapgen Fractal.\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."
+"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
@@ -4594,8 +4656,16 @@ msgid "Maximum hotbar width"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of large caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
-"Maximum liquid resistence. Controls deceleration when entering liquid at\n"
+"Maximum liquid resistance. Controls deceleration when entering liquid at\n"
"high speed."
msgstr ""
@@ -4717,6 +4787,14 @@ msgid "Minimap scan height"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of large caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Minimum texture size"
msgstr ""
@@ -4804,7 +4882,7 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Near clipping plane"
+msgid "Near plane"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4891,6 +4969,16 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Opaqueness (alpha) of the shadow behind the default font, between 0 and 255."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Opaqueness (alpha) of the shadow behind the fallback font, between 0 and 255."
+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."
@@ -4930,7 +5018,12 @@ msgid "Parallax occlusion strength"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Path to TrueTypeFont or bitmap."
+msgid ""
+"Path of the fallback font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font will be used for certain languages or if the default font is "
+"unavailable."
msgstr ""
#: src/settings_translation_file.cpp
@@ -4948,6 +5041,22 @@ msgid "Path to texture directory. All textures are first searched from here."
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Path to the default font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"The fallback font will be used if the font cannot be loaded."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Path to the monospace font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font is used for e.g. the console and profiler screen."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Pause on lost window focus"
msgstr ""
@@ -5021,6 +5130,10 @@ msgid "Profiling"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Proportion of large caves that contain liquid."
+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 "
@@ -5044,6 +5157,10 @@ msgid "Recent Chat Messages"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Regular font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Remote media"
msgstr ""
@@ -5236,24 +5353,24 @@ 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."
+"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
@@ -5312,19 +5429,19 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving leaves.\n"
+"Set to true to enable waving leaves.\n"
"Requires shaders to be enabled."
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving plants.\n"
+"Set to true to enable waving liquids (like water).\n"
"Requires shaders to be enabled."
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving water.\n"
+"Set to true to enable waving plants.\n"
"Requires shaders to be enabled."
msgstr ""
@@ -5342,7 +5459,15 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Shadow limit"
+msgid ""
+"Shadow offset (in pixels) of the default font. If 0, then shadow will not be "
+"drawn."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not "
+"be drawn."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5387,6 +5512,14 @@ msgid "Slope and fill work together to modify the heights."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Small cave maximum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Small cave minimum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Small-scale humidity variation for blending biomes on borders."
msgstr ""
@@ -5450,8 +5583,9 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Spread of light curve mid-boost.\n"
-"Standard deviation of the mid-boost gaussian."
+"Spread of light curve boost range.\n"
+"Controls the width of the range to be boosted.\n"
+"Standard deviation of the light curve boost Gaussian."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5475,7 +5609,10 @@ msgid "Strength of generated normalmaps."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Strength of light curve mid-boost."
+msgid ""
+"Strength of light curve boost.\n"
+"The 3 'boost' parameters define a range of the light\n"
+"curve that is boosted in brightness."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5578,6 +5715,15 @@ msgid "The length in pixels it takes for touch screen interaction to start."
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"The maximum height of the surface of waving liquids.\n"
+"4.0 = Wave height is two nodes.\n"
+"0.0 = Wave doesn't move at all.\n"
+"Default is 1.0 (1/2 node).\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "The network interface that the server listens on."
msgstr ""
@@ -5658,10 +5804,6 @@ 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."
@@ -5715,7 +5857,7 @@ msgstr ""
msgid ""
"True = 256\n"
"False = 128\n"
-"Useable to make minimap smoother on slower machines."
+"Usable to make minimap smoother on slower machines."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5723,11 +5865,6 @@ 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 ""
@@ -5812,10 +5949,6 @@ 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 ""
@@ -5889,6 +6022,12 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Volume of all sounds.\n"
+"Requires the sound system to be enabled."
+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"
@@ -5925,28 +6064,30 @@ msgid "Waving leaves"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving plants"
-msgstr ""
-
-#: src/settings_translation_file.cpp
-msgid "Waving water"
-msgstr ""
+#, fuzzy
+msgid "Waving liquids"
+msgstr "Nepermatomi lapai"
#: src/settings_translation_file.cpp
-msgid "Waving water wave height"
-msgstr ""
+#, fuzzy
+msgid "Waving liquids wave height"
+msgstr "Nepermatomi lapai"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wave speed"
+msgid "Waving liquids wave speed"
msgstr "Nepermatomi lapai"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wavelength"
+msgid "Waving liquids wavelength"
msgstr "Nepermatomi lapai"
#: src/settings_translation_file.cpp
+msgid "Waving plants"
+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"
@@ -5976,7 +6117,9 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Whether FreeType fonts are used, requires FreeType support to be compiled in."
+"Whether FreeType fonts are used, requires FreeType support to be compiled "
+"in.\n"
+"If disabled, bitmap and XML vectors fonts are used instead."
msgstr ""
#: src/settings_translation_file.cpp
@@ -6005,6 +6148,14 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Whether to mute sounds. You can unmute sounds at any time, unless the\n"
+"sound system is disabled (enable_sound=false).\n"
+"In-game, you can toggle the mute state with the mute key or by using the\n"
+"pause menu."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
"Whether to show the client debug info (has the same effect as hitting F5)."
msgstr ""
@@ -6075,10 +6226,6 @@ 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 ""
@@ -6091,10 +6238,6 @@ 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 ""
@@ -6107,6 +6250,14 @@ msgid "cURL timeout"
msgstr ""
#, fuzzy
+#~ msgid "Enable VBO"
+#~ msgstr "Įjungti papildinį"
+
+#, fuzzy
+#~ msgid "Enables filmic tone mapping"
+#~ msgstr "Leisti sužeidimus"
+
+#, fuzzy
#~ msgid "Select Package File:"
#~ msgstr "Pasirinkite papildinio failÄ…:"
diff --git a/po/minetest.pot b/po/minetest.pot
index 0c1ee913c..7157641b0 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-10-09 22:02+0200\n"
+"POT-Creation-Date: 2020-04-03 23:18+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"
@@ -342,14 +342,25 @@ msgstr ""
msgid "Lacunarity"
msgstr ""
+#. ~ "defaults" is a noise parameter flag.
+#. It describes the default processing options
+#. for noise settings in main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "defaults"
msgstr ""
+#. ~ "eased" is a noise parameter flag.
+#. It is used to make the map smoother and
+#. can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "eased"
msgstr ""
+#. ~ "absvalue" is a noise parameter flag.
+#. It is short for "absolute value".
+#. It can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "absvalue"
msgstr ""
@@ -610,6 +621,7 @@ msgstr ""
msgid "Damage enabled"
msgstr ""
+#. ~ PvP = Player versus Player
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "PvP enabled"
msgstr ""
@@ -858,6 +870,14 @@ msgstr ""
msgid "Invalid gamespec."
msgstr ""
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string. Put either "no" or "yes"
+#. into the translation field (literally).
+#. Choose "yes" if the language requires use of the fallback
+#. font, "no" otherwise.
+#. The fallback font is (normally) required for languages with
+#. non-Latin script, like Chinese.
+#. When in doubt, test your translation.
#: src/client/fontengine.cpp
msgid "needs_fallback_font"
msgstr ""
@@ -1181,6 +1201,7 @@ msgstr ""
msgid "- Creative Mode: "
msgstr ""
+#. ~ PvP = Player versus Player
#: src/client/game.cpp
msgid "- PvP: "
msgstr ""
@@ -1268,6 +1289,7 @@ msgstr ""
msgid "Control"
msgstr ""
+#. ~ Key name, common on Windows keyboards
#: src/client/keycode.cpp
msgid "Menu"
msgstr ""
@@ -1316,10 +1338,12 @@ msgstr ""
msgid "Down"
msgstr ""
+#. ~ Key name
#: src/client/keycode.cpp
msgid "Select"
msgstr ""
+#. ~ "Print screen" key
#: src/client/keycode.cpp
msgid "Print"
msgstr ""
@@ -1678,11 +1702,16 @@ msgstr ""
msgid "Muted"
msgstr ""
+#. ~ Imperative, as in "Enter/type in text".
+#. Don't forget the space.
#: src/gui/modalMenu.cpp
msgid "Enter "
msgstr ""
-#: src/network/clientpackethandler.cpp
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string which needs to contain the translation's
+#. language code (e.g. "de" for German).
+#: src/network/clientpackethandler.cpp src/script/lua_api/l_client.cpp
msgid "LANG_CODE"
msgstr ""
@@ -2697,7 +2726,9 @@ msgid "VBO"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Enable VBO"
+msgid ""
+"Enable vertex buffer objects.\n"
+"This should greatly improve graphics performance."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2884,7 +2915,11 @@ msgid "Filmic tone mapping"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Enables filmic tone mapping"
+msgid ""
+"Enables Hable's 'Uncharted 2' filmic tone mapping.\n"
+"Simulates the tone curve of photographic film and how this approximates the\n"
+"appearance of high dynamic range images. Mid-range contrast is slightly\n"
+"enhanced, highlights and shadows are gradually compressed."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2984,25 +3019,47 @@ msgid "Waving Nodes"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water"
+msgid "Waving liquids"
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving water.\n"
+"Set to true to enable waving liquids (like water).\n"
"Requires shaders to be enabled."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water wave height"
+msgid "Waving liquids wave height"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"The maximum height of the surface of waving liquids.\n"
+"4.0 = Wave height is two nodes.\n"
+"0.0 = Wave doesn't move at all.\n"
+"Default is 1.0 (1/2 node).\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Waving liquids wavelength"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Length of liquid waves.\n"
+"Requires waving liquids to be enabled."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water wavelength"
+msgid "Waving liquids wave speed"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water wave speed"
+msgid ""
+"How fast liquid waves will move. Higher = faster.\n"
+"If negative, liquid waves will move backwards.\n"
+"Requires waving liquids to be enabled."
msgstr ""
#: src/settings_translation_file.cpp
@@ -3011,7 +3068,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving leaves.\n"
+"Set to true to enable waving leaves.\n"
"Requires shaders to be enabled."
msgstr ""
@@ -3021,7 +3078,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving plants.\n"
+"Set to true to enable waving plants.\n"
"Requires shaders to be enabled."
msgstr ""
@@ -3077,13 +3134,13 @@ msgid "View distance in nodes."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Near clipping plane"
+msgid "Near plane"
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Camera 'near clipping plane' distance in nodes, between 0 and 0.5.\n"
-"Most users will not need to change this.\n"
+"Camera 'near clipping plane' distance in nodes, between 0 and 0.25\n"
+"Only works on GLES platforms. 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 ""
@@ -3145,56 +3202,68 @@ msgid "Field of view in degrees."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gamma"
+msgid "Light curve gamma"
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Adjust the gamma encoding for the light tables. Higher numbers are "
-"brighter.\n"
-"This setting is for the client only and is ignored by the server."
+"Alters the light curve by applying 'gamma correction' to it.\n"
+"Higher values make middle and lower light levels brighter.\n"
+"Value '1.0' leaves the light curve unaltered.\n"
+"This only has significant effect on daylight and artificial\n"
+"light, it has very little effect on natural night light."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Darkness sharpness"
+msgid "Light curve low gradient"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at minimum light level."
+msgid ""
+"Gradient of light curve at minimum light level.\n"
+"Controls the contrast of the lowest light levels."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Lightness sharpness"
+msgid "Light curve high gradient"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at maximum light level."
+msgid ""
+"Gradient of light curve at maximum light level.\n"
+"Controls the contrast of the highest light levels."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost"
+msgid "Light curve boost"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Strength of light curve mid-boost."
+msgid ""
+"Strength of light curve boost.\n"
+"The 3 'boost' parameters define a range of the light\n"
+"curve that is boosted in brightness."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost center"
+msgid "Light curve boost center"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Center of light curve mid-boost."
+msgid ""
+"Center of light curve boost range.\n"
+"Where 0.0 is minimum light level, 1.0 is maximum light level."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost spread"
+msgid "Light curve boost spread"
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Spread of light curve mid-boost.\n"
-"Standard deviation of the mid-boost gaussian."
+"Spread of light curve boost range.\n"
+"Controls the width of the range to be boosted.\n"
+"Standard deviation of the light curve boost Gaussian."
msgstr ""
#: src/settings_translation_file.cpp
@@ -3443,7 +3512,7 @@ msgstr ""
msgid ""
"True = 256\n"
"False = 128\n"
-"Useable to make minimap smoother on slower machines."
+"Usable to make minimap smoother on slower machines."
msgstr ""
#: src/settings_translation_file.cpp
@@ -3593,15 +3662,36 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Whether FreeType fonts are used, requires FreeType support to be compiled in."
+"Whether FreeType fonts are used, requires FreeType support to be compiled "
+"in.\n"
+"If disabled, bitmap and XML vectors fonts are used instead."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font bold by default"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font italic by default"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font shadow"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Shadow offset (in pixels) of the default font. If 0, then shadow will not be "
+"drawn."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font path"
+msgid "Font shadow alpha"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Path to TrueTypeFont or bitmap."
+msgid ""
+"Opaqueness (alpha) of the shadow behind the default font, between 0 and 255."
msgstr ""
#: src/settings_translation_file.cpp
@@ -3609,23 +3699,31 @@ msgid "Font size"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font shadow"
+msgid "Font size of the default font in point (pt)."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font shadow offset, if 0 then shadow will not be drawn."
+msgid "Regular font path"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font shadow alpha"
+msgid ""
+"Path to the default font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"The fallback font will be used if the font cannot be loaded."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font shadow alpha (opaqueness, between 0 and 255)."
+msgid "Bold font path"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Monospace font path"
+msgid "Italic font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bold and italic font path"
msgstr ""
#: src/settings_translation_file.cpp
@@ -3633,11 +3731,31 @@ msgid "Monospace font size"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Fallback font"
+msgid "Font size of the monospace font in point (pt)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Monospace font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Path to the monospace font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font is used for e.g. the console and profiler screen."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bold monospace font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Italic monospace font path"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "This font will be used for certain languages."
+msgid "Bold and italic monospace font path"
msgstr ""
#: src/settings_translation_file.cpp
@@ -3645,14 +3763,42 @@ msgid "Fallback font size"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Font size of the fallback font in point (pt)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Fallback font shadow"
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not "
+"be drawn."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Fallback font shadow alpha"
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Opaqueness (alpha) of the shadow behind the fallback font, between 0 and 255."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fallback font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Path of the fallback font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font will be used for certain languages or if the default font is "
+"unavailable."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Screenshot folder"
msgstr ""
@@ -3705,14 +3851,36 @@ msgid "Sound"
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Enables the sound system.\n"
+"If disabled, this completely disables all sounds everywhere and the in-game\n"
+"sound controls will be non-functional.\n"
+"Changing this setting requires a restart."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Volume"
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Volume of all sounds.\n"
+"Requires the sound system to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Mute sound"
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Whether to mute sounds. You can unmute sounds at any time, unless the\n"
+"sound system is disabled (enable_sound=false).\n"
+"In-game, you can toggle the mute state with the mute key or by using the\n"
+"pause menu."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Client"
msgstr ""
@@ -3944,7 +4112,8 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Enable/disable running an IPv6 server.\n"
-"Ignored if bind_address is set."
+"Ignored if bind_address is set.\n"
+"Needs enable_ipv6 to be enabled."
msgstr ""
#: src/settings_translation_file.cpp
@@ -4367,7 +4536,7 @@ msgid "Liquid fluidity"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Decrease this to increase liquid resistence to movement."
+msgid "Decrease this to increase liquid resistance to movement."
msgstr ""
#: src/settings_translation_file.cpp
@@ -4376,7 +4545,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Maximum liquid resistence. Controls deceleration when entering liquid at\n"
+"Maximum liquid resistance. Controls deceleration when entering liquid at\n"
"high speed."
msgstr ""
@@ -4402,7 +4571,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Handling for deprecated lua api calls:\n"
+"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)."
@@ -4773,7 +4942,9 @@ msgid "IPv6"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "IPv6 support."
+msgid ""
+"Enable IPv6 support (for both client and server).\n"
+"Required for IPv6 connections to work at all."
msgstr ""
#: src/settings_translation_file.cpp
@@ -4952,7 +5123,10 @@ msgid "Cave width"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Controls width of tunnels, a smaller value creates wider tunnels."
+msgid ""
+"Controls width of tunnels, a smaller value creates wider tunnels.\n"
+"Value >= 10.0 completely disables generation of tunnels and avoids the\n"
+"intensive noise calculations."
msgstr ""
#: src/settings_translation_file.cpp
@@ -4964,13 +5138,43 @@ msgid "Y of upper limit of large caves."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Lava depth"
+msgid "Small cave minimum number"
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."
+msgid "Minimum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Small cave maximum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large cave minimum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of large caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large cave maximum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of large caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large cave proportion flooded"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Proportion of large caves that contain liquid."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5218,49 +5422,6 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Floatland mountain density"
-msgstr ""
-
-#: src/settings_translation_file.cpp
-msgid ""
-"Controls the density of mountain-type floatlands.\n"
-"Is a noise offset added to the 'mgv7_np_mountain' noise value."
-msgstr ""
-
-#: src/settings_translation_file.cpp
-msgid "Floatland mountain height"
-msgstr ""
-
-#: src/settings_translation_file.cpp
-msgid ""
-"Typical maximum height, above and below midpoint, of floatland mountains."
-msgstr ""
-
-#: src/settings_translation_file.cpp
-msgid "Floatland mountain exponent"
-msgstr ""
-
-#: src/settings_translation_file.cpp
-msgid "Alters how mountain-type floatlands taper above and below midpoint."
-msgstr ""
-
-#: src/settings_translation_file.cpp
-msgid "Floatland level"
-msgstr ""
-
-#: src/settings_translation_file.cpp
-msgid "Y-level of floatland midpoint and lake surface."
-msgstr ""
-
-#: src/settings_translation_file.cpp
-msgid "Shadow limit"
-msgstr ""
-
-#: src/settings_translation_file.cpp
-msgid "Y-level to which floatland shadows extend."
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Terrain alternative noise"
msgstr ""
@@ -5295,24 +5456,6 @@ msgid "Defines large-scale river channel structure."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Floatland base noise"
-msgstr ""
-
-#: src/settings_translation_file.cpp
-msgid ""
-"Defines areas of floatland smooth terrain.\n"
-"Smooth floatlands occur when noise > 0."
-msgstr ""
-
-#: src/settings_translation_file.cpp
-msgid "Floatland base height noise"
-msgstr ""
-
-#: src/settings_translation_file.cpp
-msgid "Variation of hill height and lake depth on floatland smooth terrain."
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Mountain noise"
msgstr ""
@@ -5480,7 +5623,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Map generation attributes specific to Mapgen flat.\n"
+"Map generation attributes specific to Mapgen Flat.\n"
"Occasional lakes and hills can be added to the flat world."
msgstr ""
@@ -5548,7 +5691,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Map generation attributes specific to Mapgen flat.\n"
+"Map generation attributes specific to Mapgen Fractal.\n"
"'terrain' enables the generation of non-fractal terrain:\n"
"ocean, islands and underground."
msgstr ""
@@ -5560,24 +5703,24 @@ 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."
+"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
@@ -5609,7 +5752,7 @@ msgid ""
"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"
+"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."
diff --git a/po/ms/minetest.po b/po/ms/minetest.po
index 1ff4ccec0..86b79c739 100644
--- a/po/ms/minetest.po
+++ b/po/ms/minetest.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Malay (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-10-09 22:02+0200\n"
-"PO-Revision-Date: 2019-10-31 06:03+0000\n"
+"POT-Creation-Date: 2020-04-03 23:18+0200\n"
+"PO-Revision-Date: 2020-02-18 06:32+0000\n"
"Last-Translator: Muhammad Nur Hidayat Yasuyoshi <mnh48mail@gmail.com>\n"
"Language-Team: Malay <https://hosted.weblate.org/projects/minetest/minetest/"
"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.10-dev\n"
+"X-Generator: Weblate 3.11\n"
#: builtin/client/death_formspec.lua src/client/game.cpp
msgid "Respawn"
@@ -402,14 +402,25 @@ msgstr "Z"
msgid "Z spread"
msgstr "Sebaran Z"
+#. ~ "absvalue" is a noise parameter flag.
+#. It is short for "absolute value".
+#. It can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "absvalue"
msgstr "Nilai mutlak"
+#. ~ "defaults" is a noise parameter flag.
+#. It describes the default processing options
+#. for noise settings in main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "defaults"
msgstr "lalai"
+#. ~ "eased" is a noise parameter flag.
+#. It is used to make the map smoother and
+#. can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "eased"
msgstr "tumpul"
@@ -618,6 +629,7 @@ msgstr "Nama / Kata laluan"
msgid "Ping"
msgstr "Ping"
+#. ~ PvP = Player versus Player
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "PvP enabled"
msgstr "Boleh Berlawan PvP"
@@ -863,6 +875,14 @@ msgstr "Fail kata laluan yang disediakan gagal dibuka: "
msgid "Provided world path doesn't exist: "
msgstr "Laluan dunia diberi tidak wujud: "
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string. Put either "no" or "yes"
+#. into the translation field (literally).
+#. Choose "yes" if the language requires use of the fallback
+#. font, "no" otherwise.
+#. The fallback font is (normally) required for languages with
+#. non-Latin script, like Chinese.
+#. When in doubt, test your translation.
#: src/client/fontengine.cpp
msgid "needs_fallback_font"
msgstr "no"
@@ -899,6 +919,7 @@ msgstr "- Port: "
msgid "- Public: "
msgstr "- Awam: "
+#. ~ PvP = Player versus Player
#: src/client/game.cpp
msgid "- PvP: "
msgstr "- PvP: "
@@ -1351,6 +1372,7 @@ msgstr "Shift Kiri"
msgid "Left Windows"
msgstr "Windows Kiri"
+#. ~ Key name, common on Windows keyboards
#: src/client/keycode.cpp
msgid "Menu"
msgstr "Menu"
@@ -1443,6 +1465,7 @@ msgstr "Pause"
msgid "Play"
msgstr "Mula Main"
+#. ~ "Print screen" key
#: src/client/keycode.cpp
msgid "Print"
msgstr "Cetak"
@@ -1479,6 +1502,7 @@ msgstr "Windows Kanan"
msgid "Scroll Lock"
msgstr "Scroll Lock"
+#. ~ Key name
#: src/client/keycode.cpp
msgid "Select"
msgstr "Pilih kekunci"
@@ -1720,11 +1744,16 @@ msgstr "Dibisukan"
msgid "Sound Volume: "
msgstr "Kekuatan Bunyi: "
+#. ~ Imperative, as in "Enter/type in text".
+#. Don't forget the space.
#: src/gui/modalMenu.cpp
msgid "Enter "
msgstr "Masuk "
-#: src/network/clientpackethandler.cpp
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string which needs to contain the translation's
+#. language code (e.g. "de" for German).
+#: src/network/clientpackethandler.cpp src/script/lua_api/l_client.cpp
msgid "LANG_CODE"
msgstr "ms"
@@ -1753,16 +1782,17 @@ msgid ""
"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"
+"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 ""
-"Ofset fraktal (X,Y,Z) dari pusat dunia dalam unit 'skala'.\n"
-"Digunakan untuk memindahkan titik yang diinginkan kepada (0, 0)\n"
-"untuk mencipta titik kelahiran yang sesuai, atau untuk membolehkan\n"
-"'zum masuk' pada titk yang diinginkan dengan menaikkan 'skala'.\n"
-"Nilai lalai disesuaikan untuk titik kelahiran sesuai untuk set mandelbrot\n"
+"(X,Y,Z) Ofset fraktal dari pusat dunia dalam unit 'skala'.\n"
+"Boleh guna untuk pindahkan titik yang diingini ke (0, 0)\n"
+"untuk cipta titik kelahiran yang sesuai, atau untuk\n"
+"membolehkan 'zum masuk' pada titik yang diinginkan\n"
+"dengan menaikkan 'skala'.\n"
+"Nilai lalai disesuaikan untuk titik kelahiran sesuai untuk set Mandelbrot\n"
"dengan parameter lalai, ia mungkin perlu diubah untuk situasi yang lain.\n"
"Julat kasarnya -2 sehingga 2. Darabkan dengan 'skala' untuk ofset dalam nod."
@@ -1854,7 +1884,8 @@ 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 "Hingar 3D yang menentukan jumlah kurungan bawah tanah per ketulan peta."
+msgstr ""
+"Hingar 3D yang menentukan jumlah kurungan bawah tanah per ketulan peta."
#: src/settings_translation_file.cpp
msgid ""
@@ -1951,23 +1982,22 @@ msgstr ""
"skrin 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 ""
-"Laraskan pengekodan gama untuk jadual cahaya. Nombor lebih tinggi lebih "
-"cerah.\n"
-"Tetapan ini hanya untuk klien dan diabaikan oleh pelayan permainan."
-
-#: src/settings_translation_file.cpp
msgid "Advanced"
msgstr "Tetapan mendalam"
#: src/settings_translation_file.cpp
-msgid "Alters how mountain-type floatlands taper above and below midpoint."
+msgid ""
+"Alters the light curve by applying 'gamma correction' to it.\n"
+"Higher values make middle and lower light levels brighter.\n"
+"Value '1.0' leaves the light curve unaltered.\n"
+"This only has significant effect on daylight and artificial\n"
+"light, it has very little effect on natural night light."
msgstr ""
-"Ubah cara tanah terapung jenis gunung menirus di atas dan bawah titik tengah."
+"Ubah lengkung cahaya dengan mengenakan 'pembetulan gama'.\n"
+"Nilai tinggi buatkan aras cahaya tengah dan rendah lebih terang.\n"
+"Nilai '1.0' akan biarkan lengkung cahaya asal tidak berubah.\n"
+"Tetapan ini hanya memberi kesan mendalam pada cahaya matahari\n"
+"dan cahaya buatan, kesannya pada cahaya malam amat rendah."
#: src/settings_translation_file.cpp
msgid "Altitude chill"
@@ -2126,6 +2156,22 @@ msgid "Block send optimize distance"
msgstr "Jarak optimum penghantaran blok"
#: src/settings_translation_file.cpp
+msgid "Bold and italic font path"
+msgstr "Laluan fon tebal dan italik"
+
+#: src/settings_translation_file.cpp
+msgid "Bold and italic monospace font path"
+msgstr "Laluan fon monospace tebal dan italik"
+
+#: src/settings_translation_file.cpp
+msgid "Bold font path"
+msgstr "Laluan fon tebal"
+
+#: src/settings_translation_file.cpp
+msgid "Bold monospace font path"
+msgstr "Laluan fon monospace tebal"
+
+#: src/settings_translation_file.cpp
msgid "Build inside player"
msgstr "Bina dalam sistem pemain"
@@ -2138,9 +2184,10 @@ msgid "Bumpmapping"
msgstr "Pemetaan timbul"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Camera 'near clipping plane' distance in nodes, between 0 and 0.5.\n"
-"Most users will not need to change this.\n"
+"Camera 'near clipping plane' distance in nodes, between 0 and 0.25\n"
+"Only works on GLES platforms. 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 ""
@@ -2206,8 +2253,12 @@ msgid "Cavern upper limit"
msgstr "Had atas jana gua"
#: src/settings_translation_file.cpp
-msgid "Center of light curve mid-boost."
-msgstr "Titik tengah tolakan-tengah lengkung cahaya."
+msgid ""
+"Center of light curve boost range.\n"
+"Where 0.0 is minimum light level, 1.0 is maximum light level."
+msgstr ""
+"Pertengahan julat tolakan lengkung cahaya.\n"
+"Di mana 0.0 ialah aras cahaya minimum, 1.0 ialah maksimum."
#: src/settings_translation_file.cpp
msgid ""
@@ -2428,16 +2479,13 @@ msgstr "Mengawal kecuraman/ketinggian bukit."
#: 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."
+"Controls width of tunnels, a smaller value creates wider tunnels.\n"
+"Value >= 10.0 completely disables generation of tunnels and avoids the\n"
+"intensive noise calculations."
msgstr ""
-"Mengawal ketumpatan rupa bumi tanah terapung bergunung.\n"
-"Nilainya ialah ofset yang menambah kepada nilai hingar 'mgv7_np_mountain'."
-
-#: src/settings_translation_file.cpp
-msgid "Controls width of tunnels, a smaller value creates wider tunnels."
-msgstr ""
-"Mengawal lebar terowong, nilai lebih kecil mencipta terowong lebih lebar."
+"Mengawal lebar terowong, nilai kecil mencipta terowong lebih luas.\n"
+"Nilai >= 10.0 melumpuhkan penjanaan terowong dan mengelakkan\n"
+"pengiraan hingar yang terlalu banyak."
#: src/settings_translation_file.cpp
msgid "Crash message"
@@ -2472,10 +2520,6 @@ msgid "Damage"
msgstr "Boleh cedera"
#: src/settings_translation_file.cpp
-msgid "Darkness sharpness"
-msgstr "Ketajaman kegelapan"
-
-#: src/settings_translation_file.cpp
msgid "Debug info toggle key"
msgstr "Kekunci togol maklumat nyahpepijat"
@@ -2492,7 +2536,7 @@ msgid "Dec. volume key"
msgstr "Kekunci perlahankan bunyi"
#: src/settings_translation_file.cpp
-msgid "Decrease this to increase liquid resistence to movement."
+msgid "Decrease this to increase liquid resistance to movement."
msgstr ""
"Kurangkan nilai untuk meningkatkan rintangan cecair terhadap pergerakan."
@@ -2537,14 +2581,6 @@ msgstr ""
"Hanya berkesan jika dikompil dengan pilihan cURL."
#: src/settings_translation_file.cpp
-msgid ""
-"Defines areas of floatland smooth terrain.\n"
-"Smooth floatlands occur when noise > 0."
-msgstr ""
-"Mentakrifkan kawasan rupa bumi lembut tanah terapung.\n"
-"Tanag terapung lembut berlaku apabila hingar > 0."
-
-#: src/settings_translation_file.cpp
msgid "Defines areas where trees have apples."
msgstr "Mentakrifkan kawasan di mana pokok mempunyai epal."
@@ -2629,15 +2665,6 @@ 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 ""
-"Tetapan terkecam, mentakrifkan dan menetapkan cecair gua menggunakan "
-"pentakrifan biom menggantikan cara asal.\n"
-"Had Y atasan lava di gua-gua besar."
-
-#: src/settings_translation_file.cpp
msgid "Depth below which you'll find giant caverns."
msgstr "Kedalaman di mana anda akan mula jumpa gua besar."
@@ -2718,6 +2745,14 @@ msgstr "Hingar kurungan bawah tanah"
#: src/settings_translation_file.cpp
msgid ""
+"Enable IPv6 support (for both client and server).\n"
+"Required for IPv6 connections to work at all."
+msgstr ""
+"Membolehkan sokongan IPv6 (untuk kedua-dua klien dan pelayan).\n"
+"Diperlukan sekiranya ingin menggunakan sambungan IPv6."
+
+#: src/settings_translation_file.cpp
+msgid ""
"Enable Lua modding support on client.\n"
"This support is experimental and API can change."
msgstr ""
@@ -2725,10 +2760,6 @@ msgstr ""
"Sokongan ini dalam ujikaji dan API boleh berubah."
#: src/settings_translation_file.cpp
-msgid "Enable VBO"
-msgstr "Membolehkan VBO"
-
-#: src/settings_translation_file.cpp
msgid "Enable console window"
msgstr "Membolehkan tetingkap konsol"
@@ -2805,6 +2836,14 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Enable vertex buffer objects.\n"
+"This should greatly improve graphics performance."
+msgstr ""
+"Membolehkan objek penimbal bucu.\n"
+"Ia patut meningkatkan prestasi grafik dengan banyak."
+
+#: 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 ""
@@ -2814,10 +2853,24 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Enable/disable running an IPv6 server.\n"
-"Ignored if bind_address is set."
+"Ignored if bind_address is set.\n"
+"Needs enable_ipv6 to be enabled."
msgstr ""
"Membolehkan/melumpuhkan penjalanan pelayan IPv6.\n"
-"Diabaikan jika bind_address (alamat ikatan) ditetapkan."
+"Diabaikan jika tetapan bind_address ditetapkan.\n"
+"Memerlukan tetapan enable_ipv6 dibolehkan."
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Enables Hable's 'Uncharted 2' filmic tone mapping.\n"
+"Simulates the tone curve of photographic film and how this approximates the\n"
+"appearance of high dynamic range images. Mid-range contrast is slightly\n"
+"enhanced, highlights and shadows are gradually compressed."
+msgstr ""
+"Membolehkan pemetaan tona sinematik 'Uncharted 2' oleh Hable.\n"
+"Menyelakukan lengkung tona filem fotografi dan cara ia menganggarkan\n"
+"penampilan imej jarak dinamik tinggi. Beza jelas pertengahan julat\n"
+"ditingkatkan sedikit, tonjolan dan bayangan dimampatkan secara beransur."
#: src/settings_translation_file.cpp
msgid "Enables animation of inventory items."
@@ -2840,10 +2893,6 @@ msgid "Enables caching of facedir rotated meshes."
msgstr "Membolehkan pengagregatan jejaring yang diputar di paksi Y (facedir)."
#: src/settings_translation_file.cpp
-msgid "Enables filmic tone mapping"
-msgstr "Membolehkan pemetaan tona sinematik"
-
-#: src/settings_translation_file.cpp
msgid "Enables minimap."
msgstr "Membolehkan peta mini."
@@ -2864,6 +2913,18 @@ msgstr ""
"Memerlukan pembayang untuk dibolehkan."
#: src/settings_translation_file.cpp
+msgid ""
+"Enables the sound system.\n"
+"If disabled, this completely disables all sounds everywhere and the in-game\n"
+"sound controls will be non-functional.\n"
+"Changing this setting requires a restart."
+msgstr ""
+"Membolehkan sistem bunyi.\n"
+"Jika dilumpuhkan, ia akan melumpuhkan kesemua bunyi di semua tempat\n"
+"dan kawalan bunyi dalam permainan tidak akan berfungsi.\n"
+"Pengubahan tetapan ini memerlukan permulaan semula."
+
+#: src/settings_translation_file.cpp
msgid "Engine profiling data print interval"
msgstr "Selang masa cetak data pemprofilan enjin"
@@ -2896,8 +2957,8 @@ msgid "Fall bobbing factor"
msgstr "Faktor apungan kejatuhan"
#: src/settings_translation_file.cpp
-msgid "Fallback font"
-msgstr "Fon berbalik"
+msgid "Fallback font path"
+msgstr "Laluan fon berbalik"
#: src/settings_translation_file.cpp
msgid "Fallback font shadow"
@@ -3000,30 +3061,6 @@ msgid "Fixed virtual joystick"
msgstr "Kayu bedik maya tetap"
#: src/settings_translation_file.cpp
-msgid "Floatland base height noise"
-msgstr "Hingar ketinggian asas tanah terapung"
-
-#: src/settings_translation_file.cpp
-msgid "Floatland base noise"
-msgstr "Hingar asas tanah terapung"
-
-#: src/settings_translation_file.cpp
-msgid "Floatland level"
-msgstr "Aras tanah terapung"
-
-#: src/settings_translation_file.cpp
-msgid "Floatland mountain density"
-msgstr "Ketumpatan gunung tanah terapung"
-
-#: src/settings_translation_file.cpp
-msgid "Floatland mountain exponent"
-msgstr "Eksponen gunung tanah terapung"
-
-#: src/settings_translation_file.cpp
-msgid "Floatland mountain height"
-msgstr "Ketinggian gunung tanah terapung"
-
-#: src/settings_translation_file.cpp
msgid "Fly key"
msgstr "Kekunci terbang"
@@ -3044,8 +3081,12 @@ msgid "Fog toggle key"
msgstr "Kekunci togol kabut"
#: src/settings_translation_file.cpp
-msgid "Font path"
-msgstr "Laluan fon"
+msgid "Font bold by default"
+msgstr "Fon tebal secara lalainya"
+
+#: src/settings_translation_file.cpp
+msgid "Font italic by default"
+msgstr "Fon italik secara lalainya"
#: src/settings_translation_file.cpp
msgid "Font shadow"
@@ -3056,16 +3097,20 @@ msgid "Font shadow alpha"
msgstr "Nilai alfa bayang fon"
#: src/settings_translation_file.cpp
-msgid "Font shadow alpha (opaqueness, between 0 and 255)."
-msgstr "Nilai alfa bayang fon (kelegapan, antara 0 dan 255)."
+msgid "Font size"
+msgstr "Saiz fon"
+
+#: src/settings_translation_file.cpp
+msgid "Font size of the default font in point (pt)."
+msgstr "Saiz fon bagi fon lalai dalan unit poin (pt)."
#: src/settings_translation_file.cpp
-msgid "Font shadow offset, if 0 then shadow will not be drawn."
-msgstr "Ofset bayang fon, jika 0 maka bayang tidak akan dilukis."
+msgid "Font size of the fallback font in point (pt)."
+msgstr "Saiz fon bagi fon berbalik dalam unit poin (pt)."
#: src/settings_translation_file.cpp
-msgid "Font size"
-msgstr "Saiz fon"
+msgid "Font size of the monospace font in point (pt)."
+msgstr "Saiz fon bagi fon monospace dalam unit poin (pt)."
#: src/settings_translation_file.cpp
msgid ""
@@ -3073,8 +3118,8 @@ msgid ""
"placeholders:\n"
"@name, @message, @timestamp (optional)"
msgstr ""
-"Format mesej sembang pemain. Rentetan berikut ialah pemegang tempat yang sah:"
-"\n"
+"Format mesej sembang pemain. Rentetan berikut ialah pemegang tempat yang "
+"sah:\n"
"@name (untuk nama), @message (untuk mesej), @timestamp (pilihan, untuk cop "
"masa)"
@@ -3194,10 +3239,6 @@ msgid "GUI scaling filter txr2img"
msgstr "Penapis skala GUI txr2img"
#: src/settings_translation_file.cpp
-msgid "Gamma"
-msgstr "Gama"
-
-#: src/settings_translation_file.cpp
msgid "Generate normalmaps"
msgstr "Jana peta normal"
@@ -3217,12 +3258,20 @@ msgstr ""
"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."
-msgstr "Kecerunan lengkung cahaya pada tahap cahaya maksimum."
+msgid ""
+"Gradient of light curve at maximum light level.\n"
+"Controls the contrast of the highest light levels."
+msgstr ""
+"Kecerunan lengkung cahaya pada tahap cahaya maksimum.\n"
+"Mengawal beza jelas tahap cahaya tertinggi."
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at minimum light level."
-msgstr "Kecerunan lengkung cahaya pada tahap cahaya minimum."
+msgid ""
+"Gradient of light curve at minimum light level.\n"
+"Controls the contrast of the lowest light levels."
+msgstr ""
+"Kecerunan lengkung cahaya pada tahap cahaya minimum.\n"
+"Mengawal beza jelas tahap cahaya terendah."
#: src/settings_translation_file.cpp
msgid "Graphics"
@@ -3254,17 +3303,17 @@ msgstr "Kekunci menogol HUD"
#: src/settings_translation_file.cpp
msgid ""
-"Handling for deprecated lua api calls:\n"
+"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 ""
"Cara pengendalian panggilan API Lua yang terkecam:\n"
-"- pusaka: (cuba untuk) meniru tingkah laku yang lama (lalai untuk "
-"keluaran).\n"
+"- legacy: (cuba untuk) meniru tingkah laku yang lama (lalai untuk "
+"terbitan).\n"
"- log: meniru dan menulis log runut balik kesemua panggilan terkecam "
"(lalai untuk nyahpepijat).\n"
-"- ralat: gugurkan penggunaan panggilan terkecam (dicadangkan untuk "
+"- error: gugurkan penggunaan panggilan terkecam (dicadangkan untuk "
"pembangun mods)."
#: src/settings_translation_file.cpp
@@ -3501,6 +3550,16 @@ msgstr "Kedalaman pembuatan sungai."
#: src/settings_translation_file.cpp
msgid ""
+"How fast liquid waves will move. Higher = faster.\n"
+"If negative, liquid waves will move backwards.\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+"Secepat mana gelora cecair akan bergerak. Nilai tinggi = lebih laju.\n"
+"Jika nilai negatif, gelora cecair akan bergerak ke belakang.\n"
+"Memerlukan tetapan cecair bergelora dibolehkan."
+
+#: 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 ""
@@ -3533,10 +3592,6 @@ msgid "IPv6 server"
msgstr "Pelayan IPv6"
#: src/settings_translation_file.cpp
-msgid "IPv6 support."
-msgstr "Sokongan IPv6."
-
-#: 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."
@@ -3757,6 +3812,14 @@ msgid "Invert vertical mouse movement."
msgstr "Menyongsangkan pergerakan tetikus menegak."
#: src/settings_translation_file.cpp
+msgid "Italic font path"
+msgstr "Laluan fon italik"
+
+#: src/settings_translation_file.cpp
+msgid "Italic monospace font path"
+msgstr "Laluan fon monospace italik"
+
+#: src/settings_translation_file.cpp
msgid "Item entity TTL"
msgstr "TTL entiti item"
@@ -4582,12 +4645,20 @@ msgid "Large cave depth"
msgstr "Kedalaman gua besar"
#: src/settings_translation_file.cpp
-msgid "Large chat console key"
-msgstr "Kekunci konsol sembang besar"
+msgid "Large cave maximum number"
+msgstr "Jumlah maksimum gua besar"
#: src/settings_translation_file.cpp
-msgid "Lava depth"
-msgstr "Kedalaman lava"
+msgid "Large cave minimum number"
+msgstr "Jumlah minimum gua besar"
+
+#: src/settings_translation_file.cpp
+msgid "Large cave proportion flooded"
+msgstr "Perkadaran gua besar dibanjiri"
+
+#: src/settings_translation_file.cpp
+msgid "Large chat console key"
+msgstr "Kekunci konsol sembang besar"
#: src/settings_translation_file.cpp
msgid "Leaves style"
@@ -4621,6 +4692,14 @@ msgstr ""
"dikemaskini menerusi rangkaian."
#: src/settings_translation_file.cpp
+msgid ""
+"Length of liquid waves.\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+"Panjang gelora cecair.\n"
+"Memerlukan tetapan cecair bergelora dibolehkan."
+
+#: src/settings_translation_file.cpp
msgid "Length of time between Active Block Modifier (ABM) execution cycles"
msgstr "Panjang masa di antara kitaran pelaksanaan Pengubah Blok Aktif (ABM)"
@@ -4653,20 +4732,28 @@ msgstr ""
"- berjela-jela"
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost"
-msgstr "Tolakan tengah lengkung cahaya"
+msgid "Light curve boost"
+msgstr "Tolakan lengkung cahaya"
+
+#: src/settings_translation_file.cpp
+msgid "Light curve boost center"
+msgstr "Titik tengah tolakan lengkung cahaya"
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost center"
-msgstr "Titik tengah tolakan tengah lengkung cahaya"
+msgid "Light curve boost spread"
+msgstr "Sebaran tolakan lengkung cahaya"
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost spread"
-msgstr "Sebaran tolakan tengah lengkung cahaya"
+msgid "Light curve gamma"
+msgstr "Gama lengkung cahaya"
#: src/settings_translation_file.cpp
-msgid "Lightness sharpness"
-msgstr "Ketajaman pencahayaan"
+msgid "Light curve high gradient"
+msgstr "Kecerunan tinggi lengkung cahaya"
+
+#: src/settings_translation_file.cpp
+msgid "Light curve low gradient"
+msgstr "Kecerunan rendah lengkung cahaya"
#: src/settings_translation_file.cpp
msgid "Limit of emerge queues on disk"
@@ -4785,37 +4872,37 @@ msgstr "Atribut penjanaan peta khusus untuk janapeta Carpathian."
#: 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."
+"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 Valleys.\n"
-"'altitude_chill': Mengurangkan suhu seiring ketinggian.\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."
+"Atribut penjanaan peta khusus untuk janapeta Flat.\n"
+"Kadang-kala tasik dan bukit boleh ditambah ke dunia rata."
#: src/settings_translation_file.cpp
msgid ""
-"Map generation attributes specific to Mapgen flat.\n"
+"Map generation attributes specific to Mapgen Fractal.\n"
"'terrain' enables the generation of non-fractal terrain:\n"
"ocean, islands and underground."
msgstr ""
-"Atribut penjanaan peta khusus untuk Janapeta flat.\n"
+"Atribut penjanaan peta khusus untuk Janapeta Fractal.\n"
"'terrain' membolehkan penjanaan rupa bumi bukan fraktal:\n"
"lautan, kepulauan dan unsur bawah tanah."
#: 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."
+"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 ""
-"Atribut penjanaan peta khusus untuk janapeta Flat.\n"
-"Kadang-kala tasik dan bukit boleh ditambah ke dunia rata."
+"Atribut penjanaan peta khusus untuk janapeta Valleys.\n"
+"'altitude_chill': Mengurangkan suhu seiring ketinggian.\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."
#: src/settings_translation_file.cpp
msgid "Map generation attributes specific to Mapgen v5."
@@ -4970,12 +5057,20 @@ msgid "Maximum hotbar width"
msgstr "Lebar hotbar maksima"
#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of large caves per mapchunk."
+msgstr "Had maksimum jumlah rawak gua besar per ketulan peta."
+
+#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of small caves per mapchunk."
+msgstr "Had maksimum jumlah rawak gua kecil per ketulan peta."
+
+#: src/settings_translation_file.cpp
msgid ""
-"Maximum liquid resistence. Controls deceleration when entering liquid at\n"
+"Maximum liquid resistance. Controls deceleration when entering liquid at\n"
"high speed."
msgstr ""
"Rintangan cecair maksimum. Mengawal nyahpecutan apabila memasuki\n"
-"cecair pada kelajuan maksimum."
+"cecair pada kelajuan tinggi."
#: src/settings_translation_file.cpp
msgid ""
@@ -5113,6 +5208,14 @@ msgid "Minimap scan height"
msgstr "Ketinggian imbasan peta mini"
#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of large caves per mapchunk."
+msgstr "Had minimum jumlah rawak gua besar per ketulan peta."
+
+#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of small caves per mapchunk."
+msgstr "Had minimum jumlah rawak gua kecil per ketulan peta."
+
+#: src/settings_translation_file.cpp
msgid "Minimum texture size"
msgstr "Saiz tekstur minimum"
@@ -5212,7 +5315,8 @@ msgstr ""
"senarai pelayan."
#: src/settings_translation_file.cpp
-msgid "Near clipping plane"
+#, fuzzy
+msgid "Near plane"
msgstr "Satah dekat ketipan"
#: src/settings_translation_file.cpp
@@ -5319,6 +5423,16 @@ msgstr "Cecair legap"
#: src/settings_translation_file.cpp
msgid ""
+"Opaqueness (alpha) of the shadow behind the default font, between 0 and 255."
+msgstr "Kelegapan (alfa) bayang belakang fon lalai, nilai antara 0 dan 255."
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Opaqueness (alpha) of the shadow behind the fallback font, between 0 and 255."
+msgstr "Kelegapan (alfa) bayang belakang fon berbalik, nilai antara 0 dan 255."
+
+#: 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."
@@ -5360,8 +5474,19 @@ msgid "Parallax occlusion strength"
msgstr "Kekuatan oklusi paralaks"
#: src/settings_translation_file.cpp
-msgid "Path to TrueTypeFont or bitmap."
-msgstr "Laluan ke fon TrueType atau peta bit."
+msgid ""
+"Path of the fallback font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font will be used for certain languages or if the default font is "
+"unavailable."
+msgstr ""
+"Laluan fon berbalik.\n"
+"Jika tetapan “freetype†dibolehkan: Ia mestilah fon TrueType.\n"
+"Jika tetapan “freetype†dilumpuhkan: Ia mestilah fon peta bit atau vektor "
+"XML.\n"
+"Fon ini akan digunakan bagi sesetengah bahasa atau jika fon lalai tidak "
+"tersedia."
#: src/settings_translation_file.cpp
msgid "Path to save screenshots at."
@@ -5380,6 +5505,32 @@ msgid "Path to texture directory. All textures are first searched from here."
msgstr "Laluan ke direktori tekstur. Semua tekstur dicari dari sini dahulu."
#: src/settings_translation_file.cpp
+msgid ""
+"Path to the default font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"The fallback font will be used if the font cannot be loaded."
+msgstr ""
+"Laluan fon lalai.\n"
+"Jika tetapan “freetype†dibolehkan: Ia mestilah fon TrueType.\n"
+"Jika tetapan “freetype†dilumpuhkan: Ia mestilah fon peta bit atau vektor "
+"XML.\n"
+"Fon berbalik akan digunakan sekiranya fon ini tidak dapat dimuatkan."
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Path to the monospace font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font is used for e.g. the console and profiler screen."
+msgstr ""
+"Laluan fon monospace.\n"
+"Jika tetapan “freetype†dibolehkan: Ia mestilah fon TrueType.\n"
+"Jika tetapan “freetype†dilumpuhkan: Ia mestilah fon peta bit atau vektor "
+"XML.\n"
+"Fon ini digunakan untuk unsur spt. konsol dan skrin pembukah."
+
+#: src/settings_translation_file.cpp
msgid "Pause on lost window focus"
msgstr "Jeda ketika hilang fokus tetingkap"
@@ -5466,6 +5617,10 @@ msgid "Profiling"
msgstr "Pemprofilan"
#: src/settings_translation_file.cpp
+msgid "Proportion of large caves that contain liquid."
+msgstr "Perkadaran gua besar yang mempunyai cecair."
+
+#: 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 "
@@ -5492,6 +5647,10 @@ msgid "Recent Chat Messages"
msgstr "Mesej Sembang Terkini"
#: src/settings_translation_file.cpp
+msgid "Regular font path"
+msgstr "Laluan fon biasa"
+
+#: src/settings_translation_file.cpp
msgid "Remote media"
msgstr "Media jarak jauh"
@@ -5707,44 +5866,44 @@ msgstr "Lebar kotak pemilihan"
#: 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."
+"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 ""
"Pilih salah satu daripada 18 jenis fraktal.\n"
-"1 = Set mandelbrot \"Bulatan\" 4D\n"
-"2 = Set julia \"Bulatan\" 4D.\n"
-"3 = Set mandelbrot \"Persegi\" 4D.\n"
-"4 = Set julia \"Persegi\" 4D.\n"
-"5 = Set mandelbrot \"Sepupu Mandy\" 4D.\n"
-"6 = Set julia \"Sepupu Mandy\" 4D.\n"
-"7 = Set mandelbrot \"Variasi\" 4D.\n"
-"8 = Set julia \"Variasi\" 4D.\n"
-"9 = Set mandelbrot \"Mandelbrot/Mandelbar\" 3D.\n"
-"10 = Set julia \"Mandelbrot/Mandelbar\" 3D.\n"
-"11 = Set mandelbrot \"Pokok Krismas\" 3D.\n"
-"12 = Set julia \"Pokok Krismas\" 3D.\n"
-"13 = Set mandelbrot \"Mandelbulb\" 3D.\n"
-"14 = Set julia \"Mandelbulb\" 3D.\n"
-"15 = Set mandelbrot \"Mandelbulb Kosinus\" 3D.\n"
-"16 = Set julia \"Mandelbulb Kosinus\" 3D.\n"
-"17 = Set mandelbrot \"Mandelbulb\" 4D.\n"
-"18 = Set julia \"Mandelbulb\" 4D."
+"1 = Set Mandelbrot \"Bulatan\" 4D\n"
+"2 = Set Julia \"Bulatan\" 4D.\n"
+"3 = Set Mandelbrot \"Persegi\" 4D.\n"
+"4 = Set Julia \"Persegi\" 4D.\n"
+"5 = Set Mandelbrot \"Sepupu Mandy\" 4D.\n"
+"6 = Set Julia \"Sepupu Mandy\" 4D.\n"
+"7 = Set Mandelbrot \"Variasi\" 4D.\n"
+"8 = Set Julia \"Variasi\" 4D.\n"
+"9 = Set Mandelbrot \"Mandelbrot/Mandelbar\" 3D.\n"
+"10 = Set Julia \"Mandelbrot/Mandelbar\" 3D.\n"
+"11 = Set Mandelbrot \"Pokok Krismas\" 3D.\n"
+"12 = Set Julia \"Pokok Krismas\" 3D.\n"
+"13 = Set Mandelbrot \"Mandelbulb\" 3D.\n"
+"14 = Set Julia \"Mandelbulb\" 3D.\n"
+"15 = Set Mandelbrot \"Mandelbulb Kosinus\" 3D.\n"
+"16 = Set Julia \"Mandelbulb Kosinus\" 3D.\n"
+"17 = Set Mandelbrot \"Mandelbulb\" 4D.\n"
+"18 = Set Julia \"Mandelbulb\" 4D."
#: src/settings_translation_file.cpp
msgid "Server / Singleplayer"
@@ -5796,7 +5955,7 @@ msgstr "Tetapkan panjang aksara maksimum mesej sembang dihantar oleh klien."
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving leaves.\n"
+"Set to true to enable waving leaves.\n"
"Requires shaders to be enabled."
msgstr ""
"Tetapkan kepada \"true\" untuk membolehkan daun bergoyang.\n"
@@ -5804,19 +5963,19 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving plants.\n"
+"Set to true to enable waving liquids (like water).\n"
"Requires shaders to be enabled."
msgstr ""
-"Tetapkan kepada \"true\" untuk membolehkan tumbuhan bergoyang.\n"
-"Memerlukan pembayang untuk dibolehkan."
+"Tetapkan ke \"true\" untuk membolehkan cecair bergelora (macam air).\n"
+"Memerlukan pembayang dibolehkan."
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving water.\n"
+"Set to true to enable waving plants.\n"
"Requires shaders to be enabled."
msgstr ""
-"Tetapkan ke \"true\" untuk membolehkan air bergelora.\n"
-"Memerlukan pembayang dibolehkan."
+"Tetapkan ke \"true\" untuk membolehkan tumbuhan bergoyang.\n"
+"Memerlukan pembayang untuk dibolehkan."
#: src/settings_translation_file.cpp
msgid "Shader path"
@@ -5834,8 +5993,20 @@ msgstr ""
"Namun ia hanya berfungsi dengan pembahagian belakang video OpenGL."
#: src/settings_translation_file.cpp
-msgid "Shadow limit"
-msgstr "Had bayang"
+msgid ""
+"Shadow offset (in pixels) of the default font. If 0, then shadow will not be "
+"drawn."
+msgstr ""
+"Ofset bayang fon lalai (dalam unit piksel). Jika 0, maka bayang tidak akan "
+"dilukis."
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not "
+"be drawn."
+msgstr ""
+"Ofset bayang fon berbalik (dalam unit piksel). Jika 0, maka bayang tidak "
+"akan dilukis."
#: src/settings_translation_file.cpp
msgid "Shape of the minimap. Enabled = round, disabled = square."
@@ -5890,6 +6061,14 @@ msgid "Slope and fill work together to modify the heights."
msgstr "Cerun dan pengisian bekerja bersama untuk mengubah ketinggian."
#: src/settings_translation_file.cpp
+msgid "Small cave maximum number"
+msgstr "Jumlah maksimum gua kecil"
+
+#: src/settings_translation_file.cpp
+msgid "Small cave minimum number"
+msgstr "Jumlah minimum gua kecil"
+
+#: src/settings_translation_file.cpp
msgid "Small-scale humidity variation for blending biomes on borders."
msgstr ""
"Variasi kelembapan berskala kecil untuk menyebatikan biom dekat sempadan."
@@ -5960,11 +6139,13 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Spread of light curve mid-boost.\n"
-"Standard deviation of the mid-boost gaussian."
+"Spread of light curve boost range.\n"
+"Controls the width of the range to be boosted.\n"
+"Standard deviation of the light curve boost Gaussian."
msgstr ""
-"Sebar tolakan tengah lengkung cahaya.\n"
-"Sisihan piawai Gauss tolakan tengah."
+"Sebar julat tolakan lengkung cahaya.\n"
+"Mengawal lebar julat untuk ditolak.\n"
+"Sisihan piawai Gauss tolakan lengkung cahaya."
#: src/settings_translation_file.cpp
msgid "Static spawnpoint"
@@ -5987,8 +6168,14 @@ msgid "Strength of generated normalmaps."
msgstr "Kekuatan peta normal yang dijana."
#: src/settings_translation_file.cpp
-msgid "Strength of light curve mid-boost."
-msgstr "Kekuatan tolakan tengah lengkung cahaya."
+msgid ""
+"Strength of light curve boost.\n"
+"The 3 'boost' parameters define a range of the light\n"
+"curve that is boosted in brightness."
+msgstr ""
+"Kekuatan tolakan lengkung cahaya.\n"
+"Tiga parameter 'tolakan' mentakrifkan julat lengkung\n"
+"cahaya yang ditolak dalam pencahayaan."
#: src/settings_translation_file.cpp
msgid "Strength of parallax."
@@ -6108,6 +6295,20 @@ msgid "The length in pixels it takes for touch screen interaction to start."
msgstr "Panjang dalam piksel untuk memulakan interaksi skrin sentuh."
#: src/settings_translation_file.cpp
+msgid ""
+"The maximum height of the surface of waving liquids.\n"
+"4.0 = Wave height is two nodes.\n"
+"0.0 = Wave doesn't move at all.\n"
+"Default is 1.0 (1/2 node).\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+"Tinggi maksimum permukaan cecair bergelora.\n"
+"4.0 = Tinggi gelora ialah dua nod.\n"
+"0.0 = Gelora tidak bergerak langsung.\n"
+"Nilai asalnya 1.0 (1/2 nod).\n"
+"Memerlukan tetapan cecair bergelora dibolehkan."
+
+#: src/settings_translation_file.cpp
msgid "The network interface that the server listens on."
msgstr "Antaramuka rangkaian yang pelayan permainan dengar."
@@ -6225,10 +6426,6 @@ msgstr ""
"Hingar 2D ketiga daripada empat yang mentakrifkan ketinggian bukit/gunung."
#: src/settings_translation_file.cpp
-msgid "This font will be used for certain languages."
-msgstr "Fon ini akan digunakan untuk sesetengah bahasa."
-
-#: src/settings_translation_file.cpp
msgid ""
"Time in seconds for item entity (dropped items) to live.\n"
"Setting it to -1 disables the feature."
@@ -6290,25 +6487,17 @@ msgstr "Penapisan trilinear"
msgid ""
"True = 256\n"
"False = 128\n"
-"Useable to make minimap smoother on slower machines."
+"Usable to make minimap smoother on slower machines."
msgstr ""
"True = 256\n"
"False = 128\n"
-"Boleh digunakan untuk membuatkan peta mini kelihatan lebih lembut pada mesin "
-"yang lebih perlahan."
+"Boleh digunakan untuk melancarkan peta mini pada mesin yang perlahan."
#: src/settings_translation_file.cpp
msgid "Trusted mods"
msgstr "Mods yang dipercayai"
#: src/settings_translation_file.cpp
-msgid ""
-"Typical maximum height, above and below midpoint, of floatland mountains."
-msgstr ""
-"Ketinggian maksimum biasa, di atas dan bawah titik tengah, untuk gunung "
-"tanah terapung."
-
-#: src/settings_translation_file.cpp
msgid "URL to the server list displayed in the Multiplayer Tab."
msgstr "URL kepada senarai pelayan yang dipaparkan dalam Tab Permainan Ramai."
@@ -6402,11 +6591,6 @@ msgid "Variation of biome filler depth."
msgstr "Variasi kedalaman pengisi biom."
#: src/settings_translation_file.cpp
-msgid "Variation of hill height and lake depth on floatland smooth terrain."
-msgstr ""
-"Variasi ketinggian bukit dan kedalaman tasik rupa bumi lembut tanah terapung."
-
-#: src/settings_translation_file.cpp
msgid "Variation of maximum mountain height (in nodes)."
msgstr "Variasi ketinggian maksimum gunung (dalam unit nod)."
@@ -6485,6 +6669,14 @@ msgstr "Kekuatan bunyi"
#: src/settings_translation_file.cpp
msgid ""
+"Volume of all sounds.\n"
+"Requires the sound system to be enabled."
+msgstr ""
+"Kekuatan semua bunyi.\n"
+"Memerlukan sistem bunyi dibolehkan."
+
+#: 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"
@@ -6528,24 +6720,24 @@ msgid "Waving leaves"
msgstr "Daun bergoyang"
#: src/settings_translation_file.cpp
-msgid "Waving plants"
-msgstr "Tumbuhan bergoyang"
+msgid "Waving liquids"
+msgstr "Cecair bergelora"
#: src/settings_translation_file.cpp
-msgid "Waving water"
-msgstr "Air bergelora"
+msgid "Waving liquids wave height"
+msgstr "Ketinggian ombak cecair bergelora"
#: src/settings_translation_file.cpp
-msgid "Waving water wave height"
-msgstr "Ketinggian ombak air bergelora"
+msgid "Waving liquids wave speed"
+msgstr "Kelajuan ombak cecair bergelora"
#: src/settings_translation_file.cpp
-msgid "Waving water wave speed"
-msgstr "Kelajuan ombak air bergelora"
+msgid "Waving liquids wavelength"
+msgstr "Panjang ombak cecair bergelora"
#: src/settings_translation_file.cpp
-msgid "Waving water wavelength"
-msgstr "Panjang ombak air bergelora"
+msgid "Waving plants"
+msgstr "Tumbuhan bergoyang"
#: src/settings_translation_file.cpp
msgid ""
@@ -6601,10 +6793,13 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Whether FreeType fonts are used, requires FreeType support to be compiled in."
+"Whether FreeType fonts are used, requires FreeType support to be compiled "
+"in.\n"
+"If disabled, bitmap and XML vectors fonts are used instead."
msgstr ""
-"Menetapkan sama ada fon FreeType digunakan, memerlukan sokongan Freetype "
-"dikompil bersama."
+"Menetapkan sama ada fon FreeType digunakan, memerlukan sokongan Freetype\n"
+"dikompil bersama. Jika dilumpuhkan, fon peta bit dan vektor XML akan "
+"digunakan."
#: src/settings_translation_file.cpp
msgid "Whether node texture animations should be desynchronized per mapblock."
@@ -6641,6 +6836,18 @@ msgstr "Sama ada hendak mengkabutkan penghujung kawasan yang kelihatan."
#: src/settings_translation_file.cpp
msgid ""
+"Whether to mute sounds. You can unmute sounds at any time, unless the\n"
+"sound system is disabled (enable_sound=false).\n"
+"In-game, you can toggle the mute state with the mute key or by using the\n"
+"pause menu."
+msgstr ""
+"Sama ada ingin membisukan bunyi. Anda boleh menyahbisu pada bila-bila\n"
+"masa, melainkan sistem bunyi dilumpuhkan (enable_sound=false).\n"
+"Dalam permainan, anda boleh menogol keadaan bisu menggunakan kekunci\n"
+"bisu atau menggunakan menu jeda."
+
+#: src/settings_translation_file.cpp
+msgid ""
"Whether to show the client debug info (has the same effect as hitting F5)."
msgstr ""
"Tetapkan sama ada hendak menunjukkan maklumat nyahpepijat (kesannya sama "
@@ -6725,10 +6932,6 @@ msgid "Y-level of cavern upper limit."
msgstr "Aras Y untuk had pengatas gua."
#: src/settings_translation_file.cpp
-msgid "Y-level of floatland midpoint and lake surface."
-msgstr "Aras Y untuk titik tengah tanah terapung dan permukaan tasik."
-
-#: src/settings_translation_file.cpp
msgid "Y-level of higher terrain that creates cliffs."
msgstr "Aras Y untuk rupa bumi lebih tinggi yang mencipta cenuram."
@@ -6741,10 +6944,6 @@ msgid "Y-level of seabed."
msgstr "Aras Y untuk dasar laut."
#: src/settings_translation_file.cpp
-msgid "Y-level to which floatland shadows extend."
-msgstr "Aras Y di mana bayang tanah terapung diperluaskan."
-
-#: src/settings_translation_file.cpp
msgid "cURL file download timeout"
msgstr "Had masa muat turun fail cURL"
@@ -6756,6 +6955,124 @@ msgstr "Had cURL selari"
msgid "cURL timeout"
msgstr "Had masa cURL"
+#~ 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 ""
+#~ "Laraskan pengekodan gama untuk jadual cahaya. Nombor lebih tinggi lebih "
+#~ "cerah.\n"
+#~ "Tetapan ini hanya untuk klien dan diabaikan oleh pelayan permainan."
+
+#~ msgid "Alters how mountain-type floatlands taper above and below midpoint."
+#~ msgstr ""
+#~ "Ubah cara tanah terapung jenis gunung menirus di atas dan bawah titik "
+#~ "tengah."
+
+#~ msgid "Center of light curve mid-boost."
+#~ msgstr "Titik tengah tolakan-tengah lengkung cahaya."
+
+#~ msgid ""
+#~ "Controls the density of mountain-type floatlands.\n"
+#~ "Is a noise offset added to the 'mgv7_np_mountain' noise value."
+#~ msgstr ""
+#~ "Mengawal ketumpatan rupa bumi tanah terapung bergunung.\n"
+#~ "Nilainya ialah ofset yang menambah kepada nilai hingar 'mgv7_np_mountain'."
+
+#~ msgid "Controls width of tunnels, a smaller value creates wider tunnels."
+#~ msgstr ""
+#~ "Mengawal lebar terowong, nilai lebih kecil mencipta terowong lebih lebar."
+
+#~ msgid "Darkness sharpness"
+#~ msgstr "Ketajaman kegelapan"
+
+#~ msgid ""
+#~ "Defines areas of floatland smooth terrain.\n"
+#~ "Smooth floatlands occur when noise > 0."
+#~ msgstr ""
+#~ "Mentakrifkan kawasan rupa bumi lembut tanah terapung.\n"
+#~ "Tanag terapung lembut berlaku apabila hingar > 0."
+
+#~ msgid ""
+#~ "Deprecated, define and locate cave liquids using biome definitions "
+#~ "instead.\n"
+#~ "Y of upper limit of lava in large caves."
+#~ msgstr ""
+#~ "Tetapan terkecam, mentakrifkan dan menetapkan cecair gua menggunakan "
+#~ "pentakrifan biom menggantikan cara asal.\n"
+#~ "Had Y atasan lava di gua-gua besar."
+
+#~ msgid "Enable VBO"
+#~ msgstr "Membolehkan VBO"
+
+#~ msgid "Enables filmic tone mapping"
+#~ msgstr "Membolehkan pemetaan tona sinematik"
+
+#~ msgid "Floatland base height noise"
+#~ msgstr "Hingar ketinggian asas tanah terapung"
+
+#~ msgid "Floatland base noise"
+#~ msgstr "Hingar asas tanah terapung"
+
+#~ msgid "Floatland level"
+#~ msgstr "Aras tanah terapung"
+
+#~ msgid "Floatland mountain density"
+#~ msgstr "Ketumpatan gunung tanah terapung"
+
+#~ msgid "Floatland mountain exponent"
+#~ msgstr "Eksponen gunung tanah terapung"
+
+#~ msgid "Floatland mountain height"
+#~ msgstr "Ketinggian gunung tanah terapung"
+
+#~ msgid "Font shadow alpha (opaqueness, between 0 and 255)."
+#~ msgstr "Nilai alfa bayang fon (kelegapan, antara 0 dan 255)."
+
+#~ msgid "Gamma"
+#~ msgstr "Gama"
+
+#~ msgid "IPv6 support."
+#~ msgstr "Sokongan IPv6."
+
+#~ msgid "Lava depth"
+#~ msgstr "Kedalaman lava"
+
+#~ msgid "Lightness sharpness"
+#~ msgstr "Ketajaman pencahayaan"
+
+#~ msgid "Path to TrueTypeFont or bitmap."
+#~ msgstr "Laluan ke fon TrueType atau peta bit."
+
+#~ msgid "Shadow limit"
+#~ msgstr "Had bayang"
+
+#~ msgid "Strength of light curve mid-boost."
+#~ msgstr "Kekuatan tolakan tengah lengkung cahaya."
+
+#~ msgid "This font will be used for certain languages."
+#~ msgstr "Fon ini akan digunakan untuk sesetengah bahasa."
+
+#~ msgid ""
+#~ "Typical maximum height, above and below midpoint, of floatland mountains."
+#~ msgstr ""
+#~ "Ketinggian maksimum biasa, di atas dan bawah titik tengah, untuk gunung "
+#~ "tanah terapung."
+
+#~ msgid "Variation of hill height and lake depth on floatland smooth terrain."
+#~ msgstr ""
+#~ "Variasi ketinggian bukit dan kedalaman tasik rupa bumi lembut tanah "
+#~ "terapung."
+
+#~ msgid "Waving water"
+#~ msgstr "Air bergelora"
+
+#~ msgid "Y-level of floatland midpoint and lake surface."
+#~ msgstr "Aras Y untuk titik tengah tanah terapung dan permukaan tasik."
+
+#~ msgid "Y-level to which floatland shadows extend."
+#~ msgstr "Aras Y di mana bayang tanah terapung diperluaskan."
+
#~ msgid "Projecting dungeons"
#~ msgstr "Kurungan bawah tanah melunjur"
diff --git a/po/my/minetest.po b/po/my/minetest.po
index f3d5db609..ae8d1a720 100644
--- a/po/my/minetest.po
+++ b/po/my/minetest.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Burmese (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-10-09 22:02+0200\n"
+"POT-Creation-Date: 2020-04-03 23:18+0200\n"
"PO-Revision-Date: 2020-01-11 18:26+0000\n"
"Last-Translator: rubenwardy <rubenwardy@gmail.com>\n"
"Language-Team: Burmese <https://hosted.weblate.org/projects/minetest/"
@@ -395,14 +395,25 @@ msgstr ""
msgid "Z spread"
msgstr ""
+#. ~ "absvalue" is a noise parameter flag.
+#. It is short for "absolute value".
+#. It can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "absvalue"
msgstr ""
+#. ~ "defaults" is a noise parameter flag.
+#. It describes the default processing options
+#. for noise settings in main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "defaults"
msgstr ""
+#. ~ "eased" is a noise parameter flag.
+#. It is used to make the map smoother and
+#. can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "eased"
msgstr ""
@@ -611,6 +622,7 @@ msgstr ""
msgid "Ping"
msgstr ""
+#. ~ PvP = Player versus Player
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "PvP enabled"
msgstr ""
@@ -855,6 +867,14 @@ msgstr ""
msgid "Provided world path doesn't exist: "
msgstr ""
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string. Put either "no" or "yes"
+#. into the translation field (literally).
+#. Choose "yes" if the language requires use of the fallback
+#. font, "no" otherwise.
+#. The fallback font is (normally) required for languages with
+#. non-Latin script, like Chinese.
+#. When in doubt, test your translation.
#: src/client/fontengine.cpp
msgid "needs_fallback_font"
msgstr "yes"
@@ -889,6 +909,7 @@ msgstr ""
msgid "- Public: "
msgstr ""
+#. ~ PvP = Player versus Player
#: src/client/game.cpp
msgid "- PvP: "
msgstr ""
@@ -1313,6 +1334,7 @@ msgstr ""
msgid "Left Windows"
msgstr ""
+#. ~ Key name, common on Windows keyboards
#: src/client/keycode.cpp
msgid "Menu"
msgstr ""
@@ -1405,6 +1427,7 @@ msgstr ""
msgid "Play"
msgstr ""
+#. ~ "Print screen" key
#: src/client/keycode.cpp
msgid "Print"
msgstr ""
@@ -1441,6 +1464,7 @@ msgstr ""
msgid "Scroll Lock"
msgstr ""
+#. ~ Key name
#: src/client/keycode.cpp
msgid "Select"
msgstr ""
@@ -1675,11 +1699,16 @@ msgstr ""
msgid "Sound Volume: "
msgstr ""
+#. ~ Imperative, as in "Enter/type in text".
+#. Don't forget the space.
#: src/gui/modalMenu.cpp
msgid "Enter "
msgstr ""
-#: src/network/clientpackethandler.cpp
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string which needs to contain the translation's
+#. language code (e.g. "de" for German).
+#: src/network/clientpackethandler.cpp src/script/lua_api/l_client.cpp
msgid "LANG_CODE"
msgstr "my"
@@ -1702,7 +1731,7 @@ msgid ""
"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"
+"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."
@@ -1865,18 +1894,16 @@ msgid ""
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."
+msgid ""
+"Alters the light curve by applying 'gamma correction' to it.\n"
+"Higher values make middle and lower light levels brighter.\n"
+"Value '1.0' leaves the light curve unaltered.\n"
+"This only has significant effect on daylight and artificial\n"
+"light, it has very little effect on natural night light."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2025,6 +2052,22 @@ msgid "Block send optimize distance"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Bold and italic font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bold and italic monospace font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bold font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bold monospace font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Build inside player"
msgstr ""
@@ -2038,8 +2081,8 @@ 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"
+"Camera 'near clipping plane' distance in nodes, between 0 and 0.25\n"
+"Only works on GLES platforms. 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 ""
@@ -2101,7 +2144,9 @@ msgid "Cavern upper limit"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Center of light curve mid-boost."
+msgid ""
+"Center of light curve boost range.\n"
+"Where 0.0 is minimum light level, 1.0 is maximum light level."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2296,12 +2341,9 @@ 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."
+"Controls width of tunnels, a smaller value creates wider tunnels.\n"
+"Value >= 10.0 completely disables generation of tunnels and avoids the\n"
+"intensive noise calculations."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2337,10 +2379,6 @@ msgid "Damage"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Darkness sharpness"
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Debug info toggle key"
msgstr ""
@@ -2357,7 +2395,7 @@ msgid "Dec. volume key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Decrease this to increase liquid resistence to movement."
+msgid "Decrease this to increase liquid resistance to movement."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2397,12 +2435,6 @@ msgid ""
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 ""
@@ -2479,12 +2511,6 @@ 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 ""
@@ -2558,12 +2584,14 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Enable Lua modding support on client.\n"
-"This support is experimental and API can change."
+"Enable IPv6 support (for both client and server).\n"
+"Required for IPv6 connections to work at all."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Enable VBO"
+msgid ""
+"Enable Lua modding support on client.\n"
+"This support is experimental and API can change."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2629,6 +2657,12 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Enable vertex buffer objects.\n"
+"This should greatly improve graphics performance."
+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 ""
@@ -2636,7 +2670,16 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Enable/disable running an IPv6 server.\n"
-"Ignored if bind_address is set."
+"Ignored if bind_address is set.\n"
+"Needs enable_ipv6 to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Enables Hable's 'Uncharted 2' filmic tone mapping.\n"
+"Simulates the tone curve of photographic film and how this approximates the\n"
+"appearance of high dynamic range images. Mid-range contrast is slightly\n"
+"enhanced, highlights and shadows are gradually compressed."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2656,10 +2699,6 @@ 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 ""
@@ -2676,6 +2715,14 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Enables the sound system.\n"
+"If disabled, this completely disables all sounds everywhere and the in-game\n"
+"sound controls will be non-functional.\n"
+"Changing this setting requires a restart."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Engine profiling data print interval"
msgstr ""
@@ -2706,7 +2753,7 @@ msgid "Fall bobbing factor"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Fallback font"
+msgid "Fallback font path"
msgstr ""
#: src/settings_translation_file.cpp
@@ -2799,30 +2846,6 @@ 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 ""
@@ -2843,7 +2866,11 @@ msgid "Fog toggle key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font path"
+msgid "Font bold by default"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font italic by default"
msgstr ""
#: src/settings_translation_file.cpp
@@ -2855,15 +2882,19 @@ msgid "Font shadow alpha"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font shadow alpha (opaqueness, between 0 and 255)."
+msgid "Font size"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font shadow offset, if 0 then shadow will not be drawn."
+msgid "Font size of the default font in point (pt)."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font size"
+msgid "Font size of the fallback font in point (pt)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font size of the monospace font in point (pt)."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2974,10 +3005,6 @@ msgid "GUI scaling filter txr2img"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gamma"
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Generate normalmaps"
msgstr ""
@@ -2993,11 +3020,15 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at maximum light level."
+msgid ""
+"Gradient of light curve at maximum light level.\n"
+"Controls the contrast of the highest light levels."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at minimum light level."
+msgid ""
+"Gradient of light curve at minimum light level.\n"
+"Controls the contrast of the lowest light levels."
msgstr ""
#: src/settings_translation_file.cpp
@@ -3030,7 +3061,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Handling for deprecated lua api calls:\n"
+"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)."
@@ -3257,6 +3288,13 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"How fast liquid waves will move. Higher = faster.\n"
+"If negative, liquid waves will move backwards.\n"
+"Requires waving liquids to be enabled."
+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 ""
@@ -3286,10 +3324,6 @@ 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."
@@ -3464,6 +3498,14 @@ msgid "Invert vertical mouse movement."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Italic font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Italic monospace font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Item entity TTL"
msgstr ""
@@ -4059,11 +4101,19 @@ msgid "Large cave depth"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Large chat console key"
+msgid "Large cave maximum number"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Lava depth"
+msgid "Large cave minimum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large cave proportion flooded"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large chat console key"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4090,6 +4140,12 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Length of liquid waves.\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Length of time between Active Block Modifier (ABM) execution cycles"
msgstr ""
@@ -4114,19 +4170,27 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost"
+msgid "Light curve boost"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost center"
+msgid "Light curve boost center"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost spread"
+msgid "Light curve boost spread"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Lightness sharpness"
+msgid "Light curve gamma"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve high gradient"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve low gradient"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4231,25 +4295,25 @@ 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."
+"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 flat.\n"
+"Map generation attributes specific to Mapgen Fractal.\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."
+"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
@@ -4399,8 +4463,16 @@ msgid "Maximum hotbar width"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of large caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
-"Maximum liquid resistence. Controls deceleration when entering liquid at\n"
+"Maximum liquid resistance. Controls deceleration when entering liquid at\n"
"high speed."
msgstr ""
@@ -4521,6 +4593,14 @@ msgid "Minimap scan height"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of large caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Minimum texture size"
msgstr ""
@@ -4607,7 +4687,7 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Near clipping plane"
+msgid "Near plane"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4694,6 +4774,16 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Opaqueness (alpha) of the shadow behind the default font, between 0 and 255."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Opaqueness (alpha) of the shadow behind the fallback font, between 0 and 255."
+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."
@@ -4732,7 +4822,12 @@ msgid "Parallax occlusion strength"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Path to TrueTypeFont or bitmap."
+msgid ""
+"Path of the fallback font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font will be used for certain languages or if the default font is "
+"unavailable."
msgstr ""
#: src/settings_translation_file.cpp
@@ -4750,6 +4845,22 @@ msgid "Path to texture directory. All textures are first searched from here."
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Path to the default font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"The fallback font will be used if the font cannot be loaded."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Path to the monospace font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font is used for e.g. the console and profiler screen."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Pause on lost window focus"
msgstr ""
@@ -4822,6 +4933,10 @@ msgid "Profiling"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Proportion of large caves that contain liquid."
+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 "
@@ -4845,6 +4960,10 @@ msgid "Recent Chat Messages"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Regular font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Remote media"
msgstr ""
@@ -5035,24 +5154,24 @@ 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."
+"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
@@ -5103,19 +5222,19 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving leaves.\n"
+"Set to true to enable waving leaves.\n"
"Requires shaders to be enabled."
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving plants.\n"
+"Set to true to enable waving liquids (like water).\n"
"Requires shaders to be enabled."
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving water.\n"
+"Set to true to enable waving plants.\n"
"Requires shaders to be enabled."
msgstr ""
@@ -5132,7 +5251,15 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Shadow limit"
+msgid ""
+"Shadow offset (in pixels) of the default font. If 0, then shadow will not be "
+"drawn."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not "
+"be drawn."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5177,6 +5304,14 @@ msgid "Slope and fill work together to modify the heights."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Small cave maximum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Small cave minimum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Small-scale humidity variation for blending biomes on borders."
msgstr ""
@@ -5236,8 +5371,9 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Spread of light curve mid-boost.\n"
-"Standard deviation of the mid-boost gaussian."
+"Spread of light curve boost range.\n"
+"Controls the width of the range to be boosted.\n"
+"Standard deviation of the light curve boost Gaussian."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5261,7 +5397,10 @@ msgid "Strength of generated normalmaps."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Strength of light curve mid-boost."
+msgid ""
+"Strength of light curve boost.\n"
+"The 3 'boost' parameters define a range of the light\n"
+"curve that is boosted in brightness."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5364,6 +5503,15 @@ msgid "The length in pixels it takes for touch screen interaction to start."
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"The maximum height of the surface of waving liquids.\n"
+"4.0 = Wave height is two nodes.\n"
+"0.0 = Wave doesn't move at all.\n"
+"Default is 1.0 (1/2 node).\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "The network interface that the server listens on."
msgstr ""
@@ -5444,10 +5592,6 @@ 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."
@@ -5501,7 +5645,7 @@ msgstr ""
msgid ""
"True = 256\n"
"False = 128\n"
-"Useable to make minimap smoother on slower machines."
+"Usable to make minimap smoother on slower machines."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5509,11 +5653,6 @@ 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 ""
@@ -5598,10 +5737,6 @@ 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 ""
@@ -5675,6 +5810,12 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Volume of all sounds.\n"
+"Requires the sound system to be enabled."
+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"
@@ -5711,23 +5852,23 @@ msgid "Waving leaves"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving plants"
+msgid "Waving liquids"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water"
+msgid "Waving liquids wave height"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water wave height"
+msgid "Waving liquids wave speed"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water wave speed"
+msgid "Waving liquids wavelength"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water wavelength"
+msgid "Waving plants"
msgstr ""
#: src/settings_translation_file.cpp
@@ -5760,7 +5901,9 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Whether FreeType fonts are used, requires FreeType support to be compiled in."
+"Whether FreeType fonts are used, requires FreeType support to be compiled "
+"in.\n"
+"If disabled, bitmap and XML vectors fonts are used instead."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5789,6 +5932,14 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Whether to mute sounds. You can unmute sounds at any time, unless the\n"
+"sound system is disabled (enable_sound=false).\n"
+"In-game, you can toggle the mute state with the mute key or by using the\n"
+"pause menu."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
"Whether to show the client debug info (has the same effect as hitting F5)."
msgstr ""
@@ -5858,10 +6009,6 @@ 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 ""
@@ -5874,10 +6021,6 @@ 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 ""
diff --git a/po/nb/minetest.po b/po/nb/minetest.po
index 78c4fc757..638afc5ff 100644
--- a/po/nb/minetest.po
+++ b/po/nb/minetest.po
@@ -2,9 +2,9 @@ msgid ""
msgstr ""
"Project-Id-Version: Norwegian Bokmål (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-10-09 22:02+0200\n"
-"PO-Revision-Date: 2019-12-11 13:36+0000\n"
-"Last-Translator: Petter Reinholdtsen <pere-weblate@hungry.com>\n"
+"POT-Creation-Date: 2020-04-03 23:18+0200\n"
+"PO-Revision-Date: 2020-03-31 10:14+0000\n"
+"Last-Translator: Liet Kynes <sissi90@gmail.com>\n"
"Language-Team: Norwegian Bokmål <https://hosted.weblate.org/projects/"
"minetest/minetest/nb_NO/>\n"
"Language: nb\n"
@@ -12,20 +12,19 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 3.10-dev\n"
+"X-Generator: Weblate 4.0-dev\n"
#: builtin/client/death_formspec.lua src/client/game.cpp
msgid "Respawn"
-msgstr "Respawn"
+msgstr "Gjenoppstå"
#: builtin/client/death_formspec.lua src/client/game.cpp
msgid "You died"
msgstr "Du døde"
#: builtin/fstk/ui.lua
-#, fuzzy
msgid "An error occurred in a Lua script:"
-msgstr "Det oppstod en feil i et Lua-skriptet, for eksempel i en mod:"
+msgstr "Det oppstod en feil i et Lua-skript:"
#: builtin/fstk/ui.lua
msgid "An error occurred:"
@@ -120,18 +119,16 @@ msgid "Mod:"
msgstr "Mod:"
#: builtin/mainmenu/dlg_config_world.lua
-#, fuzzy
msgid "No (optional) dependencies"
-msgstr "Valgfrie avhengigheter:"
+msgstr "Kan gjerne bruke"
#: 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."
+msgstr "Krever ingen andre modder"
#: builtin/mainmenu/dlg_config_world.lua
msgid "No modpack description provided."
@@ -343,7 +340,7 @@ msgstr "Forskyvning"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Persistance"
-msgstr "Utholdenhet"
+msgstr "Bestandighet"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Please enter a valid integer."
@@ -405,17 +402,28 @@ msgstr "Z"
msgid "Z spread"
msgstr "Z-spredning"
+#. ~ "absvalue" is a noise parameter flag.
+#. It is short for "absolute value".
+#. It can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "absvalue"
msgstr "Absoluttverdi"
+#. ~ "defaults" is a noise parameter flag.
+#. It describes the default processing options
+#. for noise settings in main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "defaults"
msgstr "Forvalg"
+#. ~ "eased" is a noise parameter flag.
+#. It is used to make the map smoother and
+#. can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "eased"
-msgstr "lettet"
+msgstr "myknet"
#: builtin/mainmenu/pkgmgr.lua
msgid "$1 (Enabled)"
@@ -621,9 +629,10 @@ msgstr "Navn / passord"
msgid "Ping"
msgstr "Latens"
+#. ~ PvP = Player versus Player
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "PvP enabled"
-msgstr "Spiller mot spiller aktivert"
+msgstr "Alle mot alle er på"
#: builtin/mainmenu/tab_settings.lua
msgid "2x"
@@ -663,7 +672,7 @@ msgstr "Bilineært filter"
#: builtin/mainmenu/tab_settings.lua
msgid "Bump Mapping"
-msgstr ""
+msgstr "Teksturtilføyning"
#: builtin/mainmenu/tab_settings.lua src/client/game.cpp
msgid "Change Keys"
@@ -683,11 +692,11 @@ msgstr "Generer normale kart"
#: builtin/mainmenu/tab_settings.lua
msgid "Mipmap"
-msgstr ""
+msgstr "Mipmap"
#: builtin/mainmenu/tab_settings.lua
msgid "Mipmap + Aniso. Filter"
-msgstr "Mipkart + Aniso. filter"
+msgstr "Mipmap + anisotropisk filter"
#: builtin/mainmenu/tab_settings.lua
msgid "No"
@@ -699,7 +708,7 @@ msgstr "Inget filter"
#: builtin/mainmenu/tab_settings.lua
msgid "No Mipmap"
-msgstr "Intet Mipkart"
+msgstr "Mangler mipmap"
#: builtin/mainmenu/tab_settings.lua
msgid "Node Highlighting"
@@ -747,7 +756,7 @@ msgstr "Skygger"
#: builtin/mainmenu/tab_settings.lua
msgid "Shaders (unavailable)"
-msgstr ""
+msgstr "Skyggelegging (ikke tilgjenglig)"
#: builtin/mainmenu/tab_settings.lua
msgid "Simple Leaves"
@@ -763,11 +772,11 @@ msgstr "Teksturering:"
#: builtin/mainmenu/tab_settings.lua
msgid "To enable shaders the OpenGL driver needs to be used."
-msgstr ""
+msgstr "For å skru på skyggeleging, må man bruke OpenGL-driveren."
#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp
msgid "Tone Mapping"
-msgstr ""
+msgstr "Nyanseoversettelse (tone mapping)"
#: builtin/mainmenu/tab_settings.lua
msgid "Touchthreshold: (px)"
@@ -782,9 +791,8 @@ msgid "Waving Leaves"
msgstr "Bølgende blader"
#: builtin/mainmenu/tab_settings.lua
-#, fuzzy
msgid "Waving Liquids"
-msgstr "Bølgende blader"
+msgstr "Skvulpende væsker"
#: builtin/mainmenu/tab_settings.lua
msgid "Waving Plants"
@@ -836,7 +844,7 @@ msgstr "Tilkoblingsfeil (tidsavbrudd?)"
#: src/client/clientlauncher.cpp
msgid "Could not find or load game \""
-msgstr "Kunne ikke finne eller laste spill \""
+msgstr "Klarte ikke finne eller laste inn spill «"
#: src/client/clientlauncher.cpp
msgid "Invalid gamespec."
@@ -866,6 +874,14 @@ msgstr "Passordfilen kunne ikke åpnes: "
msgid "Provided world path doesn't exist: "
msgstr "Angitt sti til verdenen finnes ikke: "
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string. Put either "no" or "yes"
+#. into the translation field (literally).
+#. Choose "yes" if the language requires use of the fallback
+#. font, "no" otherwise.
+#. The fallback font is (normally) required for languages with
+#. non-Latin script, like Chinese.
+#. When in doubt, test your translation.
#: src/client/fontengine.cpp
msgid "needs_fallback_font"
msgstr "no"
@@ -902,9 +918,10 @@ msgstr "- Port: "
msgid "- Public: "
msgstr "- Offentlig: "
+#. ~ PvP = Player versus Player
#: src/client/game.cpp
msgid "- PvP: "
-msgstr "- PvP: "
+msgstr "- Alle mot alle (PvP): "
#: src/client/game.cpp
msgid "- Server Name: "
@@ -993,11 +1010,11 @@ msgstr "Oppretter tjener…"
#: src/client/game.cpp
msgid "Debug info and profiler graph hidden"
-msgstr ""
+msgstr "Skjuler feilsøkingsinfo og profilgraf"
#: src/client/game.cpp
msgid "Debug info shown"
-msgstr ""
+msgstr "Viser feilsøkingsinfo"
#: src/client/game.cpp
msgid "Debug info, profiler graph, and wireframe hidden"
@@ -1018,6 +1035,18 @@ msgid ""
"- touch&drag, tap 2nd finger\n"
" --> place single item to slot\n"
msgstr ""
+"Standardstyring:\n"
+"Ved ingen synlig meny:\n"
+"- enkel berøring: knapp aktiveres\n"
+"- dobbel berøring: legg på plass/bruke\n"
+"- glidende berøring: se rundt deg\n"
+"Meny/beholdning synlig:\n"
+"- dobbel berøring (ute):\n"
+" -->lukk\n"
+"- berør stabel, berør spor:\n"
+" --> flytt stabel\n"
+"- berør&trekk, berør med den andre fingeren\n"
+" --> legg én enkelt gjenstand i spor\n"
#: src/client/game.cpp
msgid "Disabled unlimited viewing range"
@@ -1036,42 +1065,36 @@ msgid "Exit to OS"
msgstr "Avslutt til operativsystem"
#: src/client/game.cpp
-#, fuzzy
msgid "Fast mode disabled"
-msgstr "Deaktiver Alle"
+msgstr "Rask forflytning av"
#: src/client/game.cpp
-#, fuzzy
msgid "Fast mode enabled"
-msgstr "Skade aktivert"
+msgstr "Rask forflytning på"
#: src/client/game.cpp
msgid "Fast mode enabled (note: no 'fast' privilege)"
msgstr ""
#: src/client/game.cpp
-#, fuzzy
msgid "Fly mode disabled"
-msgstr "Deaktiver Alle"
+msgstr "Flymodus av"
#: src/client/game.cpp
-#, fuzzy
msgid "Fly mode enabled"
-msgstr "Skade aktivert"
+msgstr "Flymodus på"
#: src/client/game.cpp
msgid "Fly mode enabled (note: no 'fly' privilege)"
msgstr ""
#: src/client/game.cpp
-#, fuzzy
msgid "Fog disabled"
-msgstr "Deaktiver Alle"
+msgstr "TÃ¥ke av"
#: src/client/game.cpp
-#, fuzzy
msgid "Fog enabled"
-msgstr "aktivert"
+msgstr "Tåke på"
#: src/client/game.cpp
msgid "Game info:"
@@ -1107,7 +1130,7 @@ msgstr ""
#: src/client/game.cpp
msgid "Minimap hidden"
-msgstr ""
+msgstr "Skjuler minikart"
#: src/client/game.cpp
msgid "Minimap in radar mode, Zoom x1"
@@ -1138,9 +1161,8 @@ msgid "Noclip mode disabled"
msgstr ""
#: src/client/game.cpp
-#, fuzzy
msgid "Noclip mode enabled"
-msgstr "Skade aktivert"
+msgstr "Kan gå gjennom vegger"
#: src/client/game.cpp
msgid "Noclip mode enabled (note: no 'noclip' privilege)"
@@ -1148,7 +1170,7 @@ msgstr ""
#: src/client/game.cpp
msgid "Node definitions..."
-msgstr ""
+msgstr "Blokkdefinisjoner..."
#: src/client/game.cpp
msgid "Off"
@@ -1191,14 +1213,12 @@ msgid "Sound Volume"
msgstr "Lydstyrke"
#: src/client/game.cpp
-#, fuzzy
msgid "Sound muted"
-msgstr "Lydstyrke"
+msgstr "Lyd av"
#: src/client/game.cpp
-#, fuzzy
msgid "Sound unmuted"
-msgstr "Lydstyrke"
+msgstr "Lyd på"
#: src/client/game.cpp
#, c-format
@@ -1233,13 +1253,12 @@ msgid "ok"
msgstr "ok"
#: src/client/gameui.cpp
-#, fuzzy
msgid "Chat hidden"
-msgstr "Skydretast"
+msgstr "Chat skjult"
#: src/client/gameui.cpp
msgid "Chat shown"
-msgstr ""
+msgstr "Viser chat"
#: src/client/gameui.cpp
msgid "HUD hidden"
@@ -1263,9 +1282,8 @@ msgid "Apps"
msgstr "Programmer"
#: src/client/keycode.cpp
-#, fuzzy
msgid "Backspace"
-msgstr "Tilbake"
+msgstr "Tilbaketast"
#: src/client/keycode.cpp
msgid "Caps Lock"
@@ -1351,6 +1369,7 @@ msgstr "Venstre Shift"
msgid "Left Windows"
msgstr "Venstre Super"
+#. ~ Key name, common on Windows keyboards
#: src/client/keycode.cpp
msgid "Menu"
msgstr "Meny"
@@ -1425,15 +1444,15 @@ msgstr "Numpad 9"
#: src/client/keycode.cpp
msgid "OEM Clear"
-msgstr ""
+msgstr "Tøm 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"
@@ -1443,6 +1462,7 @@ msgstr "Pause"
msgid "Play"
msgstr "Spill"
+#. ~ "Print screen" key
#: src/client/keycode.cpp
msgid "Print"
msgstr "Skriv ut"
@@ -1479,6 +1499,7 @@ msgstr "Høyre Super"
msgid "Scroll Lock"
msgstr "Scroll Lock"
+#. ~ Key name
#: src/client/keycode.cpp
msgid "Select"
msgstr "Velg"
@@ -1536,6 +1557,11 @@ msgid ""
"Please retype your password and click 'Register and Join' to confirm account "
"creation, or click 'Cancel' to abort."
msgstr ""
+"Dette er første gang du kobler deg til serveren «\"%s».\n"
+"Om du fortsetter, vil det opprettes en ny konto med ditt navn og passord på "
+"denne serveren.\n"
+"Vennligst skriv inn et passord og klikk på «Registrer meg og bli med» for å "
+"bekrefte opprettelse av konto, eller klikk « Avbryt» for å avbryte."
#: src/gui/guiFormSpecMenu.cpp
msgid "Proceed"
@@ -1547,9 +1573,8 @@ msgid "\"Special\" = climb down"
msgstr "«bruk» = klatre ned"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Autoforward"
-msgstr "Framover"
+msgstr "Automatisk fremover"
#: src/gui/guiKeyChangeMenu.cpp src/settings_translation_file.cpp
msgid "Automatic jumping"
@@ -1560,13 +1585,12 @@ msgid "Backward"
msgstr "Tilbake"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Change camera"
-msgstr "Endre taster"
+msgstr "Endre visning"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Chat"
-msgstr "Sludre"
+msgstr "Chatte"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Command"
@@ -1578,7 +1602,7 @@ msgstr "Konsoll"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Dec. range"
-msgstr ""
+msgstr "Senk siktavstanden"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Dec. volume"
@@ -1598,7 +1622,7 @@ msgstr "Framover"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Inc. range"
-msgstr ""
+msgstr "Øk siktavstanden"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Inc. volume"
@@ -1632,11 +1656,11 @@ msgstr "Demp"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Next item"
-msgstr "Neste element"
+msgstr "Neste gjenstand"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Prev. item"
-msgstr "Forrige element"
+msgstr "Forrige gjenstand"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Range select"
@@ -1644,51 +1668,47 @@ msgstr "Velg rekkevidde"
#: src/gui/guiKeyChangeMenu.cpp src/settings_translation_file.cpp
msgid "Screenshot"
-msgstr "Skjermavbildning"
+msgstr "Skjermdump"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Sneak"
-msgstr "Snik"
+msgstr "Snike"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Special"
msgstr "Spesial"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Toggle HUD"
-msgstr ""
+msgstr "HUD (hurtigtilgang) av/på"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Toggle chat log"
-msgstr ""
+msgstr "Chattehistorikk av/på"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Toggle fast"
-msgstr ""
+msgstr "Rask forflytning av/på"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Toggle fly"
-msgstr ""
+msgstr "Flymodus av/på"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Toggle fog"
-msgstr "Farget tåke"
+msgstr "Tåke av/på"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Toggle minimap"
-msgstr "Aktiverer minikart."
+msgstr "Minikart av/på"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Toggle noclip"
-msgstr ""
+msgstr "Gjennomtrengelige blokker av/på"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Toggle pitchmove"
-msgstr "Farget tåke"
+msgstr "Pitchbevegelse (lateralaksevinkel) av/på"
#: src/gui/guiKeyChangeMenu.cpp
msgid "press key"
@@ -1715,19 +1735,23 @@ msgid "Exit"
msgstr "Avslutt"
#: src/gui/guiVolumeChange.cpp
-#, fuzzy
msgid "Muted"
-msgstr "Demp"
+msgstr "Av"
#: src/gui/guiVolumeChange.cpp
msgid "Sound Volume: "
msgstr "Lydstyrke: "
+#. ~ Imperative, as in "Enter/type in text".
+#. Don't forget the space.
#: src/gui/modalMenu.cpp
msgid "Enter "
msgstr "Enter "
-#: src/network/clientpackethandler.cpp
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string which needs to contain the translation's
+#. language code (e.g. "de" for German).
+#: src/network/clientpackethandler.cpp src/script/lua_api/l_client.cpp
msgid "LANG_CODE"
msgstr "nb"
@@ -1751,16 +1775,26 @@ msgstr ""
"utenfor hovedsirkelen."
#: 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"
"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"
+"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 ""
+"(X,Y,Z) offset of fractal from world center in units of 'scale'.\n"
+"Kan benyttes for å flytte et ønsket punkt til (0, 0) for å opprette et\n"
+"passende gjenoppstandelsespunkt, eller for å tillate 'zooming in' on a "
+"desired\n"
+"point ved å øke 'scale'.\n"
+"Standardverdien 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."
#: src/settings_translation_file.cpp
msgid ""
@@ -1772,6 +1806,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)-skalering for fraktal i blokker.\n"
+"Faktisk fraktalstørrelse blir to til tre ganger større.\n"
+"Man kan angi veldig store tall; fraktalen\n"
+"behøver ikke passe inn i verdenen.\n"
+"Øk disse tallene for å oppskalere på fraktalens detaljer.\n"
+"Standardverdien gir en form som er sammenpresset\n"
+"i høyden og egner seg til øy. Angi tre like tall for grunnformen."
#: src/settings_translation_file.cpp
msgid ""
@@ -1781,31 +1822,31 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "2D noise that controls the shape/size of ridged mountains."
-msgstr ""
+msgstr "2D-støytall som styrer form og størrelse på høydedrag."
#: src/settings_translation_file.cpp
msgid "2D noise that controls the shape/size of rolling hills."
-msgstr ""
+msgstr "2D-støytall som styrer form og størrelse på bakkelandskap."
#: src/settings_translation_file.cpp
msgid "2D noise that controls the shape/size of step mountains."
-msgstr ""
+msgstr "2D-støytall som styrer form og størrelse på trinnvise fjell."
#: src/settings_translation_file.cpp
msgid "2D noise that controls the size/occurrence of ridged mountain ranges."
-msgstr ""
+msgstr "2D-støytall som styrer fjellkjedestørrelse og -forekomst."
#: src/settings_translation_file.cpp
msgid "2D noise that controls the size/occurrence of rolling hills."
-msgstr ""
+msgstr "2D-støytall som styrer størrelse og forekomst av bakkelandskap."
#: src/settings_translation_file.cpp
msgid "2D noise that controls the size/occurrence of step mountain ranges."
-msgstr ""
+msgstr "2D-støytall som styrer størrelse og forekomst av trinnfjellkjeder."
#: src/settings_translation_file.cpp
msgid "2D noise that locates the river valleys and channels."
-msgstr ""
+msgstr "2D-støytall som plasserer elvedaler og elveleier."
#: src/settings_translation_file.cpp
msgid "3D clouds"
@@ -1817,29 +1858,32 @@ msgstr "3D-modus"
#: src/settings_translation_file.cpp
msgid "3D noise defining giant caverns."
-msgstr ""
+msgstr "3D-støytall som definerer kjempegrotter."
#: src/settings_translation_file.cpp
msgid ""
"3D noise defining mountain structure and height.\n"
"Also defines structure of floatland mountain terrain."
msgstr ""
+"3D-støytall som definerer fjellstruktur og -høyde.\n"
+"Definerer også fjellterrengstruktur på luftøyer."
#: src/settings_translation_file.cpp
msgid "3D noise defining structure of river canyon walls."
-msgstr ""
+msgstr "3D-støytall som definerer strukturen til sidene i en elvekløft."
#: src/settings_translation_file.cpp
msgid "3D noise defining terrain."
-msgstr ""
+msgstr "3D-støytall som definerer terrenget."
#: src/settings_translation_file.cpp
msgid "3D noise for mountain overhangs, cliffs, etc. Usually small variations."
msgstr ""
+"3D-støytall for fjelloverheng, klipper o. l. Vanligvis små variasjoner."
#: src/settings_translation_file.cpp
msgid "3D noise that determines number of dungeons per mapchunk."
-msgstr ""
+msgstr "3D-støytall som avgjør antall grotter per kartchunk."
#: src/settings_translation_file.cpp
msgid ""
@@ -1854,23 +1898,35 @@ msgid ""
"- pageflip: quadbuffer based 3d.\n"
"Note that the interlaced mode requires shaders to be enabled."
msgstr ""
+"3D-støtte.\n"
+"For øyeblikket støttes følgende alternativer:\n"
+"- none: Ingen 3D-utdata.\n"
+"- anaglyph: Cyan/magenta farge-3D.\n"
+"- interlaced: Skjermstøtte for partall/oddetall-linjebasert "
+"polarisering.\n"
+"- topbottom: Del skjermen i topp og bunn.\n"
+"- sidebyside: Del skjermen side om side.\n"
+"- crossview: Skjele-3d\n"
+"- pageflip: Quadbuffer-basert 3d.\n"
+"Vær klar over at interlace-modus krever at skyggelegging er påslått."
#: 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 ""
+"Velg genereringsfrø for en ny verden. La det stå tomt for et tilfeldig et.\n"
+"Blir erstattet når man oppretter en ny verden i hovedmenyen."
#: src/settings_translation_file.cpp
msgid "A message to be displayed to all clients when the server crashes."
-msgstr ""
+msgstr "Melding som vises til alle klienter når serveren krasjer."
#: src/settings_translation_file.cpp
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."
+msgstr "Melding som vises alle klienter når serveren slås av."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "ABM interval"
msgstr "ABM-intervall"
@@ -1884,11 +1940,11 @@ msgstr "Akselerasjon i luft"
#: src/settings_translation_file.cpp
msgid "Acceleration of gravity, in nodes per second per second."
-msgstr ""
+msgstr "Tyngdeakselerasjon, i blokker per sekund per sekund (b/s^2)."
#: src/settings_translation_file.cpp
msgid "Active Block Modifiers"
-msgstr ""
+msgstr "Aktive blokkendrere (ABM)"
#: src/settings_translation_file.cpp
#, fuzzy
@@ -1897,11 +1953,11 @@ msgstr "Aktiv blokkeringsrekkevidde"
#: src/settings_translation_file.cpp
msgid "Active block range"
-msgstr "Aktiv blokkeringsrekkevidde"
+msgstr "Rekkevidde for aktive blokker"
#: src/settings_translation_file.cpp
msgid "Active object send range"
-msgstr ""
+msgstr "Område for sending av aktive objekt"
#: src/settings_translation_file.cpp
msgid ""
@@ -1909,39 +1965,48 @@ msgid ""
"Leave this blank to start a local server.\n"
"Note that the address field in the main menu overrides this setting."
msgstr ""
+"Kobler til denne adressen.\n"
+"La det stå tomt for å starte en lokal server.\n"
+"Vær klar over at adressen i feltet i hovedmenyen overkjører denne "
+"innstillingen."
#: src/settings_translation_file.cpp
msgid "Adds particles when digging a node."
-msgstr "Legger til partikler når en node graves."
+msgstr "Legger på partikler når man graver ut en blokk."
#: 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 ""
+"Justér skjermens DPI-innstilling (ikke for X11/kun Android), f. eks. for 4k-"
+"skjermer."
#: src/settings_translation_file.cpp
msgid "Advanced"
msgstr "Avansert"
#: src/settings_translation_file.cpp
-msgid "Alters how mountain-type floatlands taper above and below midpoint."
+msgid ""
+"Alters the light curve by applying 'gamma correction' to it.\n"
+"Higher values make middle and lower light levels brighter.\n"
+"Value '1.0' leaves the light curve unaltered.\n"
+"This only has significant effect on daylight and artificial\n"
+"light, it has very little effect on natural night light."
msgstr ""
+"Endrer lyskurven ved å bruke gammakurven (gamma-korreksjon) .\n"
+"Høye verdier gjør middels og lave lysnivåer lysere.\n"
+"Verdien «1.0» gir ingen endring i lyskurven.\n"
+"Dette har reell betydning kun for dagslys og kunstig\n"
+"belysning - det har lite å si for naturlig nattelys."
#: src/settings_translation_file.cpp
msgid "Altitude chill"
-msgstr ""
+msgstr "Temperaturen synker med stigende høyde"
#: src/settings_translation_file.cpp
msgid "Always fly and fast"
-msgstr ""
+msgstr "Alltid flymodus og rask forflytning"
#: src/settings_translation_file.cpp
msgid "Ambient occlusion gamma"
@@ -1949,11 +2014,11 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Amount of messages a player may send per 10 seconds."
-msgstr ""
+msgstr "Antall meldinger en spiller kan sende hvert 10. sekund."
#: src/settings_translation_file.cpp
msgid "Amplifies the valleys."
-msgstr ""
+msgstr "Forsterker daler."
#: src/settings_translation_file.cpp
msgid "Anisotropic filtering"
@@ -1961,38 +2026,39 @@ msgstr "Antisotropisk filtrering"
#: src/settings_translation_file.cpp
msgid "Announce server"
-msgstr "Annonser tjener"
+msgstr "Offentliggjør server"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Announce to this serverlist."
-msgstr "Annonser tjener"
+msgstr "Offentliggjør for denne serverlisten."
#: src/settings_translation_file.cpp
msgid "Append item name"
-msgstr ""
+msgstr "Legg til elementnavn"
#: src/settings_translation_file.cpp
msgid "Append item name to tooltip."
-msgstr ""
+msgstr "Legg elementnavn til infoboble."
#: src/settings_translation_file.cpp
msgid "Apple trees noise"
-msgstr ""
+msgstr "Støytall for epletrær"
#: src/settings_translation_file.cpp
msgid "Arm inertia"
-msgstr ""
+msgstr "Treghet i armer"
#: src/settings_translation_file.cpp
msgid ""
"Arm inertia, gives a more realistic movement of\n"
"the arm when the camera moves."
msgstr ""
+"Å gi armene treghet fører til en mer virkelighetsnær\n"
+"bevegelse av armene når kameraet flytter seg."
#: src/settings_translation_file.cpp
msgid "Ask to reconnect after crash"
-msgstr "Spør om gjentilkobling etter kræsj"
+msgstr "Spør om å koble til igjen etter kræsj"
#: src/settings_translation_file.cpp
msgid ""
@@ -2008,20 +2074,26 @@ msgid ""
"optimization.\n"
"Stated in mapblocks (16 nodes)."
msgstr ""
+"På denne avstanden vil serveren utføre en kraftig optimalisering\n"
+"av hvilke blokker som sendes til klienten.\n"
+"En lav verdi kan potensielt føre til en kraftig forbedring i ytelsen, \n"
+"på bekostning av synlige gjengivelsesfeil (det kan skje at blokker ikke\n"
+"gjengis under vann og i huler, tidvis heller ikke på land).\n"
+"Angi denne verdien til høyere enn max_block_send_distance\n"
+"for å slå av denne optimaliseringen.\n"
+"Målenheten er «mapblocks» (en enhet på 16x16 blokker)."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Automatic forward key"
-msgstr "Tast for filmatisk tilstand"
+msgstr "Tast for automatisk fremoverbevegelse"
#: src/settings_translation_file.cpp
msgid "Automatically jump up single-node obstacles."
-msgstr ""
+msgstr "Hopp automatisk over hindringer med høyde på én blokk."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Automatically report to the serverlist."
-msgstr "Rapporter automatisk til tjenerlisten."
+msgstr "Rapporter automatisk til serverlisten."
#: src/settings_translation_file.cpp
msgid "Autosave screen size"
@@ -2029,7 +2101,7 @@ msgstr "Lagre skjermstørrelse automatisk"
#: src/settings_translation_file.cpp
msgid "Autoscaling mode"
-msgstr ""
+msgstr "Autoskaleringsmodus"
#: src/settings_translation_file.cpp
msgid "Backward key"
@@ -2037,25 +2109,23 @@ msgstr "Rettetast"
#: src/settings_translation_file.cpp
msgid "Base ground level"
-msgstr ""
+msgstr "Bakkens grunnivå"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Base terrain height."
-msgstr "Grunnleggende terrenghøyde"
+msgstr "Terrengets grunnhøyde."
#: src/settings_translation_file.cpp
msgid "Basic"
msgstr "Grunnleggende"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Basic privileges"
-msgstr "Grunnleggende priviliger"
+msgstr "Enkle rettigheter"
#: src/settings_translation_file.cpp
msgid "Beach noise"
-msgstr "Strandlyd"
+msgstr "Strandlys"
#: src/settings_translation_file.cpp
msgid "Beach noise threshold"
@@ -2071,7 +2141,7 @@ msgstr "Bindingsadresse"
#: src/settings_translation_file.cpp
msgid "Biome API temperature and humidity noise parameters"
-msgstr ""
+msgstr "Temperatur- og fuktighetsparametre for biotop-APIet"
#: src/settings_translation_file.cpp
msgid "Biome noise"
@@ -2083,7 +2153,23 @@ msgstr "Biter per piksel (dvs. fargedybde) i fullskjermsmodus."
#: src/settings_translation_file.cpp
msgid "Block send optimize distance"
-msgstr ""
+msgstr "Avstand for optimalizering av mapblocksending"
+
+#: src/settings_translation_file.cpp
+msgid "Bold and italic font path"
+msgstr "Filsti for fet og kursivert skrifttype"
+
+#: src/settings_translation_file.cpp
+msgid "Bold and italic monospace font path"
+msgstr "Filsti for fet og kursivert monospace skrifttype"
+
+#: src/settings_translation_file.cpp
+msgid "Bold font path"
+msgstr "Filsti for fet skrifttype"
+
+#: src/settings_translation_file.cpp
+msgid "Bold monospace font path"
+msgstr "Filsti for fet monospace skrifttype"
#: src/settings_translation_file.cpp
msgid "Build inside player"
@@ -2095,15 +2181,20 @@ msgstr "Innebygd"
#: src/settings_translation_file.cpp
msgid "Bumpmapping"
-msgstr ""
+msgstr "Teksturpåføring (bump mapping)"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Camera 'near clipping plane' distance in nodes, between 0 and 0.5.\n"
-"Most users will not need to change this.\n"
+"Camera 'near clipping plane' distance in nodes, between 0 and 0.25\n"
+"Only works on GLES platforms. Most users will not need to change this.\n"
"Increasing can reduce artifacting on weaker GPUs.\n"
"0.1 = Default, 0.25 = Good value for weaker tablets."
msgstr ""
+"Kamera 'near clipping plane' avstand i noder, mellom 0 og 0,5.\n"
+"Brukere flest vil ikke behøve å endre på dette.\n"
+"Økning av verdi vil kunne redusere artefakter fra svakere skjermkort.\n"
+"0.1 = standardverdi, 0.25 = grei verdi for svakere nettbrett."
#: src/settings_translation_file.cpp
msgid "Camera smoothing"
@@ -2115,7 +2206,7 @@ msgstr "Kamerautjevning i filmmodus"
#: src/settings_translation_file.cpp
msgid "Camera update toggle key"
-msgstr ""
+msgstr "Av/på-tast for visningsoppdatning"
#: src/settings_translation_file.cpp
msgid "Cave noise"
@@ -2150,7 +2241,6 @@ msgid "Cavern noise"
msgstr "Grottelyd"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Cavern taper"
msgstr "Grotteinnsnevring"
@@ -2159,13 +2249,16 @@ msgid "Cavern threshold"
msgstr "Grotteterskel"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Cavern upper limit"
-msgstr "Grottegrense"
+msgstr "Øvre grottegrense"
#: src/settings_translation_file.cpp
-msgid "Center of light curve mid-boost."
+msgid ""
+"Center of light curve boost range.\n"
+"Where 0.0 is minimum light level, 1.0 is maximum light level."
msgstr ""
+"Midtpunkt på lysforsterkningskurven,\n"
+"der 0.0 er minimumsnivået for lysstyrke mens 1.0 er maksimumsnivået."
#: src/settings_translation_file.cpp
msgid ""
@@ -2176,6 +2269,12 @@ msgid ""
"be\n"
"necessary for smaller screens."
msgstr ""
+"Endrer hovedmenyens brukergrensesnitt (UI):\n"
+"- Fullstendig: Flere enkeltspillerverdener, valg av spill, "
+"teksturpakkevalg, osv.\n"
+"- Enkel: Én enkeltspillerverden, ingen valg av spill eller teksturpakke. "
+"Kan være\n"
+"nødvendig på mindre skjermer."
#: src/settings_translation_file.cpp
msgid "Chat key"
@@ -2183,21 +2282,19 @@ msgstr "Skydretast"
#: src/settings_translation_file.cpp
msgid "Chat message count limit"
-msgstr ""
+msgstr "Maks antall meldinger i chatten"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Chat message format"
-msgstr "Kræsjmelding"
+msgstr "Chatmeldingsformat"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Chat message kick threshold"
-msgstr "Grotteterskel"
+msgstr "Terskel for utvisning fra chat"
#: src/settings_translation_file.cpp
msgid "Chat message max length"
-msgstr ""
+msgstr "Maksstørrelse på melding i chatten"
#: src/settings_translation_file.cpp
msgid "Chat toggle key"
@@ -2209,7 +2306,7 @@ msgstr "Sludrekommandoer"
#: src/settings_translation_file.cpp
msgid "Chunk size"
-msgstr ""
+msgstr "Chunk-størrelse"
#: src/settings_translation_file.cpp
msgid "Cinematic mode"
@@ -2221,7 +2318,7 @@ msgstr "Tast for filmatisk tilstand"
#: src/settings_translation_file.cpp
msgid "Clean transparent textures"
-msgstr ""
+msgstr "Rene, gjennomsiktige teksturer"
#: src/settings_translation_file.cpp
msgid "Client"
@@ -2233,15 +2330,15 @@ msgstr "Klient og tjener"
#: src/settings_translation_file.cpp
msgid "Client modding"
-msgstr ""
+msgstr "Brukermodding"
#: src/settings_translation_file.cpp
msgid "Client side modding restrictions"
-msgstr ""
+msgstr "Moddebegrensninger på brukers side"
#: src/settings_translation_file.cpp
msgid "Client side node lookup range restriction"
-msgstr ""
+msgstr "Omfangsbegrensning av blokkoppslag hos klienten"
#: src/settings_translation_file.cpp
msgid "Climbing speed"
@@ -2277,22 +2374,33 @@ msgid ""
"These flags are independent from Minetest versions,\n"
"so see a full list at https://content.minetest.net/help/content_flags/"
msgstr ""
+"Komma-atskilt liste med of flags to hide in the content repository.\n"
+"\"nonfree\" kan brukes til å skjule pakker som ikke kvalifiserer som \"fri "
+"programvare\"\n"
+"som definert av Free Software Foundation.\n"
+"Man kan også specify innholdsvurderinger.\n"
+"Disse flags are uavhengige av Minetest-versjoner,\n"
+"se fullstendig liste på 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 ""
+"Kommaatskilt liste over modder som er gitt tilgang til HTTP-APIer.\n"
+"Dette lar dem laste data opp og ned til internett."
#: 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 ""
+"Kommainndelt liste med klarerte modder som har tilgang til usikre\n"
+"funksjoner selv når moddsikkerhet er på (via request_insecure_environment())."
#: src/settings_translation_file.cpp
msgid "Command key"
-msgstr ""
+msgstr "Tast for chat og kommandoer"
#: src/settings_translation_file.cpp
msgid "Connect glass"
@@ -2308,7 +2416,7 @@ msgstr "Forbinder glass hvis støttet av knutepunkt."
#: src/settings_translation_file.cpp
msgid "Console alpha"
-msgstr ""
+msgstr "Konsolldekkevne (opasitet)"
#: src/settings_translation_file.cpp
msgid "Console color"
@@ -2320,41 +2428,43 @@ msgstr "Konsollhøyde"
#: src/settings_translation_file.cpp
msgid "ContentDB Flag Blacklist"
-msgstr ""
+msgstr "ContentDBs svarteliste"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "ContentDB URL"
-msgstr "Fortsett"
+msgstr "ContentDB-URL"
#: src/settings_translation_file.cpp
msgid "Continuous forward"
-msgstr ""
+msgstr "Kontinuerlig fremoverbevegelse"
#: 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 ""
+"Kontinuerlig fremoverbevegelse, slås av/på med tasten for automatisk "
+"fremover.\n"
+"Trykk på automatisk fremover-tasten igjen eller gå bakover for å slå av."
#: src/settings_translation_file.cpp
msgid "Controls"
msgstr "Kontroller"
#: 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 ""
-"Kontrollerer lengden på dag/natt -syklus.\n"
-"Eksempler: 72 = 20min, 360 = 4min, 1 = 24timer, 0 = dag/natt/hva det skal "
-"være, forblir uendret."
+"Styrer lengden på døgnet.\n"
+"Eksempler:\n"
+"1 = 24timer, 72 = 20min, 360 = 4min, 0 = dag/natt/hva det skal være, forblir "
+"uendret."
#: src/settings_translation_file.cpp
msgid "Controls sinking speed in liquid."
-msgstr ""
+msgstr "Bestemmer synkehastigheten i væsker."
#: src/settings_translation_file.cpp
msgid "Controls steepness/depth of lake depressions."
@@ -2366,12 +2476,9 @@ 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."
+"Controls width of tunnels, a smaller value creates wider tunnels.\n"
+"Value >= 10.0 completely disables generation of tunnels and avoids the\n"
+"intensive noise calculations."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2400,24 +2507,19 @@ msgstr "Trådkorsfarge (R, G, B)."
#: src/settings_translation_file.cpp
msgid "DPI"
-msgstr ""
+msgstr "DPI (skjermoppløsning)"
#: src/settings_translation_file.cpp
msgid "Damage"
msgstr "Skade"
#: src/settings_translation_file.cpp
-msgid "Darkness sharpness"
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Debug info toggle key"
-msgstr ""
+msgstr "Tast for å vise/skjule feilsøkingsinfo"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Debug log file size threshold"
-msgstr "Strandlydsterskel"
+msgstr "Størrelsesterskel for feilsøkingsloggfil"
#: src/settings_translation_file.cpp
msgid "Debug log level"
@@ -2428,12 +2530,12 @@ 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 ""
+msgid "Decrease this to increase liquid resistance to movement."
+msgstr "Reduksjon av denne verdien øker bevegelsesmotstanden i væsker."
#: src/settings_translation_file.cpp
msgid "Dedicated server step"
-msgstr ""
+msgstr "Serverens oppdateringsintervall (servertikk)"
#: src/settings_translation_file.cpp
msgid "Default acceleration"
@@ -2468,12 +2570,6 @@ msgid ""
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 "Definerer område der trær har epler."
@@ -2513,9 +2609,8 @@ 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."
+msgstr "Angir dybden på elveleier."
#: src/settings_translation_file.cpp
msgid "Defines the maximal player transfer distance in blocks (0 = unlimited)."
@@ -2526,9 +2621,8 @@ 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."
+msgstr "Angir bredden på elveleiet."
#: src/settings_translation_file.cpp
msgid "Defines tree areas and tree density."
@@ -2553,12 +2647,6 @@ 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
msgid "Depth below which you'll find giant caverns."
msgstr ""
@@ -2620,11 +2708,11 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Dungeon maximum Y"
-msgstr ""
+msgstr "Maksimum y-verdi for grotter"
#: src/settings_translation_file.cpp
msgid "Dungeon minimum Y"
-msgstr ""
+msgstr "Minimum y-verdi for grotter"
#: src/settings_translation_file.cpp
#, fuzzy
@@ -2633,13 +2721,15 @@ msgstr "Grottelyd"
#: src/settings_translation_file.cpp
msgid ""
-"Enable Lua modding support on client.\n"
-"This support is experimental and API can change."
+"Enable IPv6 support (for both client and server).\n"
+"Required for IPv6 connections to work at all."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Enable VBO"
-msgstr "Aktiver VBO"
+msgid ""
+"Enable Lua modding support on client.\n"
+"This support is experimental and API can change."
+msgstr ""
#: src/settings_translation_file.cpp
msgid "Enable console window"
@@ -2650,9 +2740,8 @@ msgid "Enable creative mode for new created maps."
msgstr "Skru på kreativt modusfor nye opprettede kart."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Enable joysticks"
-msgstr "Skru på spillstikker"
+msgstr "Bruk joystick"
#: src/settings_translation_file.cpp
msgid "Enable mod channels support."
@@ -2707,6 +2796,12 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Enable vertex buffer objects.\n"
+"This should greatly improve graphics performance."
+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 ""
@@ -2714,7 +2809,16 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Enable/disable running an IPv6 server.\n"
-"Ignored if bind_address is set."
+"Ignored if bind_address is set.\n"
+"Needs enable_ipv6 to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Enables Hable's 'Uncharted 2' filmic tone mapping.\n"
+"Simulates the tone curve of photographic film and how this approximates the\n"
+"appearance of high dynamic range images. Mid-range contrast is slightly\n"
+"enhanced, highlights and shadows are gradually compressed."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2734,10 +2838,6 @@ msgid "Enables caching of facedir rotated meshes."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Enables filmic tone mapping"
-msgstr "Aktiver filmatisk toneoversettelse"
-
-#: src/settings_translation_file.cpp
msgid "Enables minimap."
msgstr "Aktiverer minikart."
@@ -2754,6 +2854,14 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Enables the sound system.\n"
+"If disabled, this completely disables all sounds everywhere and the in-game\n"
+"sound controls will be non-functional.\n"
+"Changing this setting requires a restart."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Engine profiling data print interval"
msgstr ""
@@ -2784,8 +2892,8 @@ msgid "Fall bobbing factor"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Fallback font"
-msgstr "Tilbakefallsskrift"
+msgid "Fallback font path"
+msgstr "Filsti for reserveskrifttype"
#: src/settings_translation_file.cpp
msgid "Fallback font shadow"
@@ -2827,7 +2935,7 @@ msgstr "Synsfelt"
#: src/settings_translation_file.cpp
msgid "Field of view in degrees."
-msgstr "Synsfelt i grader"
+msgstr "Synsfelt i grader."
#: src/settings_translation_file.cpp
msgid ""
@@ -2835,11 +2943,12 @@ msgid ""
"the\n"
"Multiplayer Tab."
msgstr ""
+"Fil i klient/serverliste som inneholder yndlingsservere som vist\n"
+"i flerspillefanen."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Filler depth"
-msgstr "Elvedybde"
+msgstr "Fylldybde"
#: src/settings_translation_file.cpp
msgid "Filler depth noise"
@@ -2866,8 +2975,9 @@ msgid "First of 4 2D noises that together define hill/mountain range height."
msgstr ""
#: src/settings_translation_file.cpp
+#, fuzzy
msgid "First of two 3D noises that together define tunnels."
-msgstr ""
+msgstr "Det første av to 3D-støytall som sammen definerer tunneler."
#: src/settings_translation_file.cpp
msgid "Fixed map seed"
@@ -2878,30 +2988,6 @@ 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 "Flygingstast"
@@ -2914,17 +3000,20 @@ msgid "Fog"
msgstr "TÃ¥ke"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Fog start"
-msgstr "TÃ¥kestart"
+msgstr "TÃ¥kegrense"
#: src/settings_translation_file.cpp
msgid "Fog toggle key"
msgstr "TÃ¥kevekslingstast"
#: src/settings_translation_file.cpp
-msgid "Font path"
-msgstr "Skriftsti"
+msgid "Font bold by default"
+msgstr "Fet skrifttype som forvalg"
+
+#: src/settings_translation_file.cpp
+msgid "Font italic by default"
+msgstr "Kursiv skrifttype som forvalg"
#: src/settings_translation_file.cpp
msgid "Font shadow"
@@ -2935,16 +3024,20 @@ msgid "Font shadow alpha"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font shadow alpha (opaqueness, between 0 and 255)."
+msgid "Font size"
+msgstr "Skriftstørrelse"
+
+#: src/settings_translation_file.cpp
+msgid "Font size of the default font in point (pt)."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font shadow offset, if 0 then shadow will not be drawn."
+msgid "Font size of the fallback font in point (pt)."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font size"
-msgstr "Skriftstørrelse"
+msgid "Font size of the monospace font in point (pt)."
+msgstr ""
#: src/settings_translation_file.cpp
msgid ""
@@ -3006,9 +3099,8 @@ msgid "Fraction of the visible distance at which fog starts to be rendered"
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "FreeType fonts"
-msgstr "FreeType-skrifter"
+msgstr "FreeType-skrifttyper"
#: src/settings_translation_file.cpp
msgid ""
@@ -3055,10 +3147,6 @@ msgid "GUI scaling filter txr2img"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gamma"
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Generate normalmaps"
msgstr ""
@@ -3074,11 +3162,15 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at maximum light level."
+msgid ""
+"Gradient of light curve at maximum light level.\n"
+"Controls the contrast of the highest light levels."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at minimum light level."
+msgid ""
+"Gradient of light curve at minimum light level.\n"
+"Controls the contrast of the lowest light levels."
msgstr ""
#: src/settings_translation_file.cpp
@@ -3094,9 +3186,8 @@ msgid "Ground level"
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Ground noise"
-msgstr "Grottelyd"
+msgstr "Bakkestøy"
#: src/settings_translation_file.cpp
msgid "HTTP mods"
@@ -3112,7 +3203,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Handling for deprecated lua api calls:\n"
+"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)."
@@ -3153,35 +3244,31 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Hill steepness"
-msgstr ""
+msgstr "Bratthet for ås"
#: src/settings_translation_file.cpp
msgid "Hill threshold"
-msgstr ""
+msgstr "Terskel for ås"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hilliness1 noise"
-msgstr "Varmestøy"
+msgstr "Bakke støy 1"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hilliness2 noise"
-msgstr "Varmestøy"
+msgstr "Bakke støy 2"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hilliness3 noise"
-msgstr "Varmestøy"
+msgstr "Bakke støy 3"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hilliness4 noise"
-msgstr "Varmestøy"
+msgstr "Bakke støy 4"
#: src/settings_translation_file.cpp
msgid "Homepage of server, to be displayed in the serverlist."
-msgstr ""
+msgstr "Serverens hjemmeside, som vises i serverlisten."
#: src/settings_translation_file.cpp
msgid ""
@@ -3343,6 +3430,13 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"How fast liquid waves will move. Higher = faster.\n"
+"If negative, liquid waves will move backwards.\n"
+"Requires waving liquids to be enabled."
+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 ""
@@ -3372,10 +3466,6 @@ msgid "IPv6 server"
msgstr "IPv6-tjener"
#: src/settings_translation_file.cpp
-msgid "IPv6 support."
-msgstr "IPv6-støtte."
-
-#: 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."
@@ -3539,7 +3629,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Inventory key"
-msgstr ""
+msgstr "Tast for beholdning"
#: src/settings_translation_file.cpp
msgid "Invert mouse"
@@ -3547,6 +3637,15 @@ msgstr "Inverter mus"
#: src/settings_translation_file.cpp
msgid "Invert vertical mouse movement."
+msgstr "Inverter vertikale musebevegelser."
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Italic font path"
+msgstr "Skriftsti"
+
+#: src/settings_translation_file.cpp
+msgid "Italic monospace font path"
msgstr ""
#: src/settings_translation_file.cpp
@@ -3617,19 +3716,19 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Julia w"
-msgstr "Julia w"
+msgstr "Julia-w"
#: src/settings_translation_file.cpp
msgid "Julia x"
-msgstr "Julia x"
+msgstr "Julia-x"
#: src/settings_translation_file.cpp
msgid "Julia y"
-msgstr "Julia y"
+msgstr "Julia-y"
#: src/settings_translation_file.cpp
msgid "Julia z"
-msgstr "Julia z"
+msgstr "Julia-z"
#: src/settings_translation_file.cpp
msgid "Jump key"
@@ -4134,6 +4233,11 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
+"Sniketast.\n"
+"Brukes også for å gå ned på stiger og i vann dersom aux1_descends ikke "
+"brukes.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4298,28 +4402,40 @@ msgid "Large cave depth"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Large chat console key"
+msgid "Large cave maximum number"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Lava depth"
+msgid "Large cave minimum number"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Leaves style"
+msgid "Large cave proportion flooded"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large chat console key"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Leaves style"
+msgstr "Bladstil"
+
+#: 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 ""
+"Bladstil:\n"
+"- Stilig: alle sider synes\n"
+"- Enkel: kun yttersider synes, dersom special_tiles brukes\n"
+"- Tildekket: gjennomsiktighet er av"
#: src/settings_translation_file.cpp
msgid "Left key"
-msgstr ""
+msgstr "Venstretast"
#: src/settings_translation_file.cpp
msgid ""
@@ -4329,6 +4445,15 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid ""
+"Length of liquid waves.\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+"Aktiver for å slå på bølgende blader.\n"
+"Krever at dybdeskapere er aktivert."
+
+#: src/settings_translation_file.cpp
msgid "Length of time between Active Block Modifier (ABM) execution cycles"
msgstr ""
@@ -4353,19 +4478,27 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost"
+msgid "Light curve boost"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve boost center"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost center"
+msgid "Light curve boost spread"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost spread"
+msgid "Light curve gamma"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Lightness sharpness"
+msgid "Light curve high gradient"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve low gradient"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4442,7 +4575,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Main menu script"
-msgstr ""
+msgstr "Skript for hovedmeny"
#: src/settings_translation_file.cpp
#, fuzzy
@@ -4464,7 +4597,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Map directory"
-msgstr ""
+msgstr "Mappe for kart"
#: src/settings_translation_file.cpp
msgid "Map generation attributes specific to Mapgen Carpathian."
@@ -4472,25 +4605,25 @@ 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."
+"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 flat.\n"
+"Map generation attributes specific to Mapgen Fractal.\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."
+"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
@@ -4517,7 +4650,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Map save interval"
-msgstr ""
+msgstr "Lagringsintervall for kart"
#: src/settings_translation_file.cpp
msgid "Mapblock limit"
@@ -4631,11 +4764,11 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Maximum FPS"
-msgstr ""
+msgstr "Maks FPS («frames» - bilder per sekund)"
#: src/settings_translation_file.cpp
msgid "Maximum FPS when game is paused."
-msgstr ""
+msgstr "Maks FPS når spillet står i pause."
#: src/settings_translation_file.cpp
msgid "Maximum forceloaded blocks"
@@ -4646,8 +4779,16 @@ msgid "Maximum hotbar width"
msgstr "Størst mulige hurtigfeltsbredde"
#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of large caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
-"Maximum liquid resistence. Controls deceleration when entering liquid at\n"
+"Maximum liquid resistance. Controls deceleration when entering liquid at\n"
"high speed."
msgstr ""
@@ -4735,11 +4876,11 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Maximum users"
-msgstr ""
+msgstr "Maks antall brukere"
#: src/settings_translation_file.cpp
msgid "Menus"
-msgstr ""
+msgstr "Menyer"
#: src/settings_translation_file.cpp
msgid "Mesh cache"
@@ -4747,7 +4888,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Message of the day"
-msgstr ""
+msgstr "Dagens melding"
#: src/settings_translation_file.cpp
msgid "Message of the day displayed to players connecting."
@@ -4759,17 +4900,25 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Minimap"
-msgstr ""
+msgstr "Minikart"
#: src/settings_translation_file.cpp
msgid "Minimap key"
-msgstr ""
+msgstr "Tast for minikart"
#: src/settings_translation_file.cpp
msgid "Minimap scan height"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of large caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Minimum texture size"
msgstr ""
@@ -4787,11 +4936,11 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Monospace font path"
-msgstr ""
+msgstr "Filsti for monospace skrifttype"
#: src/settings_translation_file.cpp
msgid "Monospace font size"
-msgstr ""
+msgstr "Størrelse for monospace skrifttype"
#: src/settings_translation_file.cpp
msgid "Mountain height noise"
@@ -4811,7 +4960,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Mouse sensitivity"
-msgstr ""
+msgstr "Pekerfølsomhet"
#: src/settings_translation_file.cpp
msgid "Mouse sensitivity multiplier."
@@ -4856,7 +5005,7 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Near clipping plane"
+msgid "Near plane"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4943,6 +5092,16 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Opaqueness (alpha) of the shadow behind the default font, between 0 and 255."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Opaqueness (alpha) of the shadow behind the fallback font, between 0 and 255."
+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."
@@ -4981,12 +5140,17 @@ msgid "Parallax occlusion strength"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Path to TrueTypeFont or bitmap."
+msgid ""
+"Path of the fallback font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font will be used for certain languages or if the default font is "
+"unavailable."
msgstr ""
#: src/settings_translation_file.cpp
msgid "Path to save screenshots at."
-msgstr ""
+msgstr "Filsti til lagring av skjermdumper."
#: src/settings_translation_file.cpp
msgid ""
@@ -4999,12 +5163,28 @@ msgid "Path to texture directory. All textures are first searched from here."
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Path to the default font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"The fallback font will be used if the font cannot be loaded."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Path to the monospace font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font is used for e.g. the console and profiler screen."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Pause on lost window focus"
msgstr ""
#: src/settings_translation_file.cpp
msgid "Physics"
-msgstr ""
+msgstr "Fysikk"
#: src/settings_translation_file.cpp
#, fuzzy
@@ -5023,7 +5203,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Player name"
-msgstr ""
+msgstr "Spillernavn"
#: src/settings_translation_file.cpp
msgid "Player transfer distance"
@@ -5072,6 +5252,10 @@ msgid "Profiling"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Proportion of large caves that contain liquid."
+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 "
@@ -5088,19 +5272,24 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Range select key"
-msgstr ""
+msgstr "Tilfeldig inndata"
#: src/settings_translation_file.cpp
msgid "Recent Chat Messages"
msgstr ""
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Regular font path"
+msgstr "Skriftsti"
+
+#: src/settings_translation_file.cpp
msgid "Remote media"
msgstr ""
#: src/settings_translation_file.cpp
msgid "Remote port"
-msgstr ""
+msgstr "Eksterne media"
#: src/settings_translation_file.cpp
msgid ""
@@ -5110,7 +5299,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Replaces the default main menu with a custom one."
-msgstr ""
+msgstr "Ekstern port."
#: src/settings_translation_file.cpp
msgid "Report path"
@@ -5155,34 +5344,28 @@ msgid "Rightclick repetition interval"
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "River channel depth"
-msgstr "Elvedybde"
+msgstr "Elveleiedybde"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "River channel width"
-msgstr "Elvedybde"
+msgstr "Elveleiebredde"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "River depth"
msgstr "Elvedybde"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "River noise"
msgstr "Elvestøy"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "River size"
msgstr "Elvestørrelse"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "River valley width"
-msgstr "Elvedybde"
+msgstr "Bredde på elvedal"
#: src/settings_translation_file.cpp
msgid "Rollback recording"
@@ -5231,15 +5414,15 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Screen height"
-msgstr ""
+msgstr "Skjermhøyde"
#: src/settings_translation_file.cpp
msgid "Screen width"
-msgstr ""
+msgstr "Skjermbredde"
#: src/settings_translation_file.cpp
msgid "Screenshot folder"
-msgstr ""
+msgstr "Mappe for skjermdumper"
#: src/settings_translation_file.cpp
msgid "Screenshot format"
@@ -5270,112 +5453,120 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Security"
-msgstr ""
+msgstr "Sikkerhet"
#: src/settings_translation_file.cpp
msgid "See https://www.sqlite.org/pragma.html#pragma_synchronous"
-msgstr ""
+msgstr "Se https://www.sqlite.org/pragma.html#pragma_synchronous"
#: src/settings_translation_file.cpp
msgid "Selection box border color (R,G,B)."
-msgstr ""
+msgstr "Kantfarge på utvalgsfelt (R,G,B)."
#: src/settings_translation_file.cpp
msgid "Selection box color"
-msgstr ""
+msgstr "Farge på utvalgsfelt"
#: src/settings_translation_file.cpp
msgid "Selection box width"
-msgstr ""
+msgstr "Bredde på utvalgsfelt"
#: 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."
+"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 ""
+msgstr "Server/alene"
#: src/settings_translation_file.cpp
msgid "Server URL"
-msgstr ""
+msgstr "Server-URL"
#: src/settings_translation_file.cpp
msgid "Server address"
-msgstr ""
+msgstr "Serveradresse"
#: src/settings_translation_file.cpp
msgid "Server description"
-msgstr ""
+msgstr "Serverbeskrivelse"
#: src/settings_translation_file.cpp
msgid "Server name"
-msgstr ""
+msgstr "Servernavn"
#: src/settings_translation_file.cpp
msgid "Server port"
-msgstr ""
+msgstr "Serverport"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Server side occlusion culling"
-msgstr ""
+msgstr "Ikke-synlige blokker blir ikke sendt videre av serveren"
#: src/settings_translation_file.cpp
msgid "Serverlist URL"
-msgstr ""
+msgstr "Serverliste-URL"
#: src/settings_translation_file.cpp
msgid "Serverlist file"
-msgstr ""
+msgstr "Serverlistefil"
#: 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 ""
+"Angi språk. La stå tom for å bruke operativsystemets språk.\n"
+"Krever omstart etter endring."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Set the maximum character length of a chat message sent by clients."
-msgstr ""
+msgstr "Angi maksimalt antall tegn i chatmelding sendt av klienter."
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving leaves.\n"
+"Set to true to enable waving leaves.\n"
"Requires shaders to be enabled."
msgstr ""
-"Aktiver for å slå på bølgende blader.\n"
-"Krever at dybdeskapere er aktivert."
+"Angi som sann for å slå på bladrasling.\n"
+"Krever at skyggelegging er påslått."
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving plants.\n"
+"Set to true to enable waving liquids (like water).\n"
"Requires shaders to be enabled."
msgstr ""
+"Angi som sann for å slå på væskeskvulping (som vann).\n"
+"Krever at skyggelegging er påslått."
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving water.\n"
+"Set to true to enable waving plants.\n"
"Requires shaders to be enabled."
msgstr ""
+"Angi som sann for å slå på plantesvaiing.\n"
+"Krever at skyggelegging er aktivert."
#: src/settings_translation_file.cpp
msgid "Shader path"
@@ -5390,7 +5581,15 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Shadow limit"
+msgid ""
+"Shadow offset (in pixels) of the default font. If 0, then shadow will not be "
+"drawn."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not "
+"be drawn."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5399,7 +5598,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Show debug info"
-msgstr ""
+msgstr "Vis feilsøkingsinfo"
#: src/settings_translation_file.cpp
msgid "Show entity selection boxes"
@@ -5407,7 +5606,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Shutdown message"
-msgstr ""
+msgstr "Beskjed ved avslutning"
#: src/settings_translation_file.cpp
msgid ""
@@ -5435,6 +5634,14 @@ msgid "Slope and fill work together to modify the heights."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Small cave maximum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Small cave minimum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Small-scale humidity variation for blending biomes on borders."
msgstr ""
@@ -5462,7 +5669,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Sneak key"
-msgstr ""
+msgstr "Sniketast"
#: src/settings_translation_file.cpp
#, fuzzy
@@ -5475,16 +5682,15 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Sound"
-msgstr ""
+msgstr "Lyd"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Special key"
-msgstr "trykk tast"
+msgstr "Spesialtast"
#: src/settings_translation_file.cpp
msgid "Special key for climbing/descending"
-msgstr ""
+msgstr "Spesialtast for klatring/nedklatring"
#: src/settings_translation_file.cpp
msgid ""
@@ -5493,35 +5699,47 @@ msgid ""
"(obviously, remote_media should end with a slash).\n"
"Files that are not present will be fetched the usual way."
msgstr ""
+"Angir URL som klienten bruker for å hente media i stedet for å bruke UDP.\n"
+"$filename burde være tilgjenglig fra $remote_media$filename via cURL\n"
+"(remote_media bør selvfølgelig ende med skråstrek).\n"
+"Filer som ikke er til stede hentes på den vanlige måten."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Spread of light curve mid-boost.\n"
-"Standard deviation of the mid-boost gaussian."
+"Spread of light curve boost range.\n"
+"Controls the width of the range to be boosted.\n"
+"Standard deviation of the light curve boost Gaussian."
msgstr ""
+"Spread of light curve boost range.\n"
+"Styrer the width of the range to be boosted.\n"
+"Standardavvik for lyskurvens boost Gaussian."
#: src/settings_translation_file.cpp
msgid "Static spawnpoint"
-msgstr ""
+msgstr "Fast gjenoppstandelsespunkt"
#: src/settings_translation_file.cpp
msgid "Steepness noise"
-msgstr ""
+msgstr "Bratthetsstøy"
#: src/settings_translation_file.cpp
msgid "Step mountain size noise"
-msgstr ""
+msgstr "Bratt fjellside-støy"
#: src/settings_translation_file.cpp
msgid "Step mountain spread noise"
-msgstr ""
+msgstr "Spredningsstøy for bratt fjell"
#: src/settings_translation_file.cpp
msgid "Strength of generated normalmaps."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Strength of light curve mid-boost."
+msgid ""
+"Strength of light curve boost.\n"
+"The 3 'boost' parameters define a range of the light\n"
+"curve that is boosted in brightness."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5538,11 +5756,11 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Synchronous SQLite"
-msgstr ""
+msgstr "Synkron SQLite"
#: src/settings_translation_file.cpp
msgid "Temperature variation for biomes."
-msgstr ""
+msgstr "Temperaturvariasjon for biomer."
#: src/settings_translation_file.cpp
msgid "Terrain alternative noise"
@@ -5585,7 +5803,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Texture path"
-msgstr ""
+msgstr "Filsti for teksturer"
#: src/settings_translation_file.cpp
msgid ""
@@ -5625,6 +5843,20 @@ msgid "The length in pixels it takes for touch screen interaction to start."
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"The maximum height of the surface of waving liquids.\n"
+"4.0 = Wave height is two nodes.\n"
+"0.0 = Wave doesn't move at all.\n"
+"Default is 1.0 (1/2 node).\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+"Makshøyden for overflaten på væsker som skvulper.\n"
+"4,0 = Bølgehøyde er to blokker.\n"
+"0,0 = Bølger flytter seg ikke i det hele tatt.\n"
+"Forvalgt verdi er 1,0 (1/2 blokk).\n"
+"Krever at væskebølger er påslått."
+
+#: src/settings_translation_file.cpp
msgid "The network interface that the server listens on."
msgstr ""
@@ -5705,10 +5937,6 @@ 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."
@@ -5757,23 +5985,21 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Trilinear filtering"
-msgstr ""
+msgstr "Forsinkelse for infoboble"
#: src/settings_translation_file.cpp
msgid ""
"True = 256\n"
"False = 128\n"
-"Useable to make minimap smoother on slower machines."
+"Usable to make minimap smoother on slower machines."
msgstr ""
+"Sann = 256\n"
+"Usann = 128\n"
+"Kan gjøre at minikartet kjører lettere på trege maskiner."
#: 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 ""
+msgstr "Klarterte modder"
#: src/settings_translation_file.cpp
msgid "URL to the server list displayed in the Multiplayer Tab."
@@ -5806,11 +6032,11 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Use 3D cloud look instead of flat."
-msgstr ""
+msgstr "Bruk 3D-skyer i stedet for flate."
#: src/settings_translation_file.cpp
msgid "Use a cloud animation for the main menu background."
-msgstr ""
+msgstr "Bruk animerte skyer som bakgrunn for hovedmenyen."
#: src/settings_translation_file.cpp
msgid "Use anisotropic filtering when viewing at textures from an angle."
@@ -5860,10 +6086,6 @@ 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 ""
@@ -5901,7 +6123,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Video driver"
-msgstr ""
+msgstr "Videodriver"
#: src/settings_translation_file.cpp
msgid "View bobbing factor"
@@ -5933,7 +6155,15 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Volume"
+msgstr "Volum"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Volume of all sounds.\n"
+"Requires the sound system to be enabled."
msgstr ""
+"Volum på all lyd. \n"
+"Krever påslått lydsystem."
#: src/settings_translation_file.cpp
msgid ""
@@ -5950,7 +6180,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Walking speed"
-msgstr ""
+msgstr "Gangfart"
#: src/settings_translation_file.cpp
msgid "Walking, flying and climbing speed in fast mode, in nodes per second."
@@ -5958,7 +6188,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Water level"
-msgstr ""
+msgstr "Vannivå"
#: src/settings_translation_file.cpp
msgid "Water surface level of the world."
@@ -5966,36 +6196,37 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Waving Nodes"
-msgstr ""
+msgstr "Blokksvaiing"
#: src/settings_translation_file.cpp
msgid "Waving leaves"
-msgstr ""
+msgstr "Bladrasling"
#: src/settings_translation_file.cpp
-msgid "Waving plants"
-msgstr ""
-
-#: src/settings_translation_file.cpp
-msgid "Waving water"
-msgstr ""
+#, fuzzy
+msgid "Waving liquids"
+msgstr "Bølgende blader"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wave height"
+msgid "Waving liquids wave height"
msgstr "Bølgende vann"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wave speed"
+msgid "Waving liquids wave speed"
msgstr "Bølgende blader"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wavelength"
+msgid "Waving liquids wavelength"
msgstr "Bølgende vann"
#: src/settings_translation_file.cpp
+msgid "Waving plants"
+msgstr "Plantesvaiing"
+
+#: 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"
@@ -6025,7 +6256,9 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Whether FreeType fonts are used, requires FreeType support to be compiled in."
+"Whether FreeType fonts are used, requires FreeType support to be compiled "
+"in.\n"
+"If disabled, bitmap and XML vectors fonts are used instead."
msgstr ""
#: src/settings_translation_file.cpp
@@ -6054,6 +6287,14 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Whether to mute sounds. You can unmute sounds at any time, unless the\n"
+"sound system is disabled (enable_sound=false).\n"
+"In-game, you can toggle the mute state with the mute key or by using the\n"
+"pause menu."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
"Whether to show the client debug info (has the same effect as hitting F5)."
msgstr ""
@@ -6077,9 +6318,10 @@ msgid ""
"World directory (everything in the world is stored here).\n"
"Not needed if starting from the main menu."
msgstr ""
+"Mappe for verden (alt i verdenen lagres her).\n"
+"Trengs ikke hvis den opprettes fra hovedmenyen."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "World start time"
msgstr "Verdensstarttid"
@@ -6099,17 +6341,20 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Y of flat ground."
-msgstr ""
+msgstr "Y-koordinat for flatt land."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
"Y of mountain density gradient zero level. Used to shift mountains "
"vertically."
msgstr ""
+"Y for nullnivået for tetthetsgradient til fjell. Brukes for å forskyve fjell "
+"i høyden."
#: src/settings_translation_file.cpp
msgid "Y of upper limit of large caves."
-msgstr ""
+msgstr "Y-verdi for store grotters øvre grense."
#: src/settings_translation_file.cpp
msgid "Y-distance over which caverns expand to full size."
@@ -6117,19 +6362,15 @@ 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."
-msgstr ""
+msgstr "Y-nivå for gjennomsnittlig terrengoverflate."
#: 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 ""
+msgstr "Y-nivå for øvre grottegrense."
#: src/settings_translation_file.cpp
msgid "Y-level of higher terrain that creates cliffs."
-msgstr ""
+msgstr "Y-nivå for høytliggende terreng som fører til klipper."
#: src/settings_translation_file.cpp
msgid "Y-level of lower terrain and seabed."
@@ -6140,10 +6381,6 @@ msgid "Y-level of seabed."
msgstr "Y-nivå for havbunn."
#: src/settings_translation_file.cpp
-msgid "Y-level to which floatland shadows extend."
-msgstr "Hvilket Y-nivå som skyggen til luftøyer når."
-
-#: src/settings_translation_file.cpp
msgid "cURL file download timeout"
msgstr "Tidsutløp for filnedlasting med cURL"
@@ -6155,6 +6392,18 @@ msgstr "Maksimal parallellisering i cURL"
msgid "cURL timeout"
msgstr "cURL-tidsgrense"
+#~ msgid "Enable VBO"
+#~ msgstr "Aktiver VBO"
+
+#~ msgid "Enables filmic tone mapping"
+#~ msgstr "Aktiver filmatisk toneoversettelse"
+
+#~ msgid "IPv6 support."
+#~ msgstr "IPv6-støtte."
+
+#~ msgid "Y-level to which floatland shadows extend."
+#~ msgstr "Hvilket Y-nivå som skyggen til luftøyer når."
+
#~ msgid "Y of upper limit of lava in large caves."
#~ msgstr "Y-verdi for øvre grense for lava i store grotter."
diff --git a/po/nl/minetest.po b/po/nl/minetest.po
index a0ddd5723..1828e58d4 100644
--- a/po/nl/minetest.po
+++ b/po/nl/minetest.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Dutch (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-10-09 22:02+0200\n"
+"POT-Creation-Date: 2020-04-03 23:18+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/"
@@ -409,14 +409,25 @@ msgstr "Z"
msgid "Z spread"
msgstr "Z spreiding"
+#. ~ "absvalue" is a noise parameter flag.
+#. It is short for "absolute value".
+#. It can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "absvalue"
msgstr ""
+#. ~ "defaults" is a noise parameter flag.
+#. It describes the default processing options
+#. for noise settings in main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "defaults"
msgstr "Standaard"
+#. ~ "eased" is a noise parameter flag.
+#. It is used to make the map smoother and
+#. can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "eased"
msgstr "makkelijker"
@@ -639,6 +650,7 @@ msgstr "Naam / Wachtwoord"
msgid "Ping"
msgstr "Ping"
+#. ~ PvP = Player versus Player
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "PvP enabled"
msgstr "Spelergevechten aangeschakeld"
@@ -888,6 +900,14 @@ msgstr ""
msgid "Provided world path doesn't exist: "
msgstr "Het gespecificeerde wereld-pad bestaat niet: "
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string. Put either "no" or "yes"
+#. into the translation field (literally).
+#. Choose "yes" if the language requires use of the fallback
+#. font, "no" otherwise.
+#. The fallback font is (normally) required for languages with
+#. non-Latin script, like Chinese.
+#. When in doubt, test your translation.
#: src/client/fontengine.cpp
#, fuzzy
msgid "needs_fallback_font"
@@ -928,6 +948,7 @@ msgstr "- Poort: "
msgid "- Public: "
msgstr "- Publiek: "
+#. ~ PvP = Player versus Player
#: src/client/game.cpp
msgid "- PvP: "
msgstr "- PvP: "
@@ -1402,6 +1423,7 @@ msgstr "Linker Shift"
msgid "Left Windows"
msgstr "Linker Windowstoets"
+#. ~ Key name, common on Windows keyboards
#: src/client/keycode.cpp
msgid "Menu"
msgstr "Menu"
@@ -1496,6 +1518,7 @@ msgstr "Pauze"
msgid "Play"
msgstr "Spelen"
+#. ~ "Print screen" key
#: src/client/keycode.cpp
msgid "Print"
msgstr "Print"
@@ -1532,6 +1555,7 @@ msgstr "Rechter Windowstoets"
msgid "Scroll Lock"
msgstr "Scroll Lock"
+#. ~ Key name
#: src/client/keycode.cpp
msgid "Select"
msgstr "Selecteren"
@@ -1782,11 +1806,16 @@ msgstr "Dempen"
msgid "Sound Volume: "
msgstr "Geluidsvolume: "
+#. ~ Imperative, as in "Enter/type in text".
+#. Don't forget the space.
#: src/gui/modalMenu.cpp
msgid "Enter "
msgstr "Enter "
-#: src/network/clientpackethandler.cpp
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string which needs to contain the translation's
+#. language code (e.g. "de" for German).
+#: src/network/clientpackethandler.cpp src/script/lua_api/l_client.cpp
msgid "LANG_CODE"
msgstr "nl"
@@ -1810,7 +1839,7 @@ msgid ""
"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"
+"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."
@@ -2012,22 +2041,16 @@ msgstr ""
"Bijv. voor 4k schermen (niet voor X11 of Android)."
#: src/settings_translation_file.cpp
-#, fuzzy
-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 ""
-"Aangepaste gamma voor de licht-tabellen. Lagere waardes zijn helderder.\n"
-"Deze instelling wordt enkel gebruikt door de cliënt, en wordt genegeerd door "
-"de server."
-
-#: src/settings_translation_file.cpp
msgid "Advanced"
msgstr "Geavanceerd"
#: src/settings_translation_file.cpp
-msgid "Alters how mountain-type floatlands taper above and below midpoint."
+msgid ""
+"Alters the light curve by applying 'gamma correction' to it.\n"
+"Higher values make middle and lower light levels brighter.\n"
+"Value '1.0' leaves the light curve unaltered.\n"
+"This only has significant effect on daylight and artificial\n"
+"light, it has very little effect on natural night light."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2197,6 +2220,26 @@ msgid "Block send optimize distance"
msgstr "Maximale afstand voor te versturen blokken"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Bold and italic font path"
+msgstr "Vaste-breedte font pad"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Bold and italic monospace font path"
+msgstr "Vaste-breedte font pad"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Bold font path"
+msgstr "Font pad"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Bold monospace font path"
+msgstr "Vaste-breedte font pad"
+
+#: src/settings_translation_file.cpp
msgid "Build inside player"
msgstr "Bouwen op de plaats van de speler"
@@ -2210,8 +2253,8 @@ msgstr "Bumpmapping"
#: 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"
+"Camera 'near clipping plane' distance in nodes, between 0 and 0.25\n"
+"Only works on GLES platforms. 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 ""
@@ -2280,7 +2323,9 @@ msgid "Cavern upper limit"
msgstr "Grot breedte"
#: src/settings_translation_file.cpp
-msgid "Center of light curve mid-boost."
+msgid ""
+"Center of light curve boost range.\n"
+"Where 0.0 is minimum light level, 1.0 is maximum light level."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2495,18 +2540,11 @@ msgid "Controls steepness/height of hills."
msgstr "Bepaalt steilheid/hoogte van heuvels."
#: 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."
+"Controls width of tunnels, a smaller value creates wider tunnels.\n"
+"Value >= 10.0 completely disables generation of tunnels and avoids the\n"
+"intensive noise calculations."
msgstr ""
-"Bepaalt de dichtheid van drijvende bergen.\n"
-"Dit wordt bijgevoegd bij de 'np_mountain' ruis waarde."
-
-#: src/settings_translation_file.cpp
-msgid "Controls width of tunnels, a smaller value creates wider tunnels."
-msgstr ""
-"Bepaalt breedte van tunnels, een kleinere waarde maakt bredere tunnels."
#: src/settings_translation_file.cpp
msgid "Crash message"
@@ -2541,11 +2579,6 @@ msgid "Damage"
msgstr "Verwondingen"
#: src/settings_translation_file.cpp
-#, fuzzy
-msgid "Darkness sharpness"
-msgstr "Steilheid Van de meren"
-
-#: src/settings_translation_file.cpp
msgid "Debug info toggle key"
msgstr "Toets voor aan/uitzetten debug informatie"
@@ -2564,7 +2597,7 @@ msgid "Dec. volume key"
msgstr "Volume verlagen toets"
#: src/settings_translation_file.cpp
-msgid "Decrease this to increase liquid resistence to movement."
+msgid "Decrease this to increase liquid resistance to movement."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2608,14 +2641,6 @@ msgstr ""
"Wordt alleen gebruikt indien gecompileerd met cURL ingebouwd."
#: src/settings_translation_file.cpp
-msgid ""
-"Defines areas of floatland smooth terrain.\n"
-"Smooth floatlands occur when noise > 0."
-msgstr ""
-"Bepaalt gebieden van drijvend glijdend terrein.\n"
-"Drijvend glijdend terrein ontstaat wanneer ruis > 0."
-
-#: src/settings_translation_file.cpp
msgid "Defines areas where trees have apples."
msgstr "Bepaalt gebieden met appels in de bomen."
@@ -2709,12 +2734,6 @@ 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."
@@ -2797,6 +2816,12 @@ msgstr "Bergen ruis"
#: src/settings_translation_file.cpp
msgid ""
+"Enable IPv6 support (for both client and server).\n"
+"Required for IPv6 connections to work at all."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
"Enable Lua modding support on client.\n"
"This support is experimental and API can change."
msgstr ""
@@ -2804,10 +2829,6 @@ msgstr ""
"Deze ondersteuning is experimenteel en de API kan wijzigen."
#: src/settings_translation_file.cpp
-msgid "Enable VBO"
-msgstr "VBO aanzetten"
-
-#: src/settings_translation_file.cpp
msgid "Enable console window"
msgstr "Schakel het console venster in"
@@ -2884,6 +2905,12 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Enable vertex buffer objects.\n"
+"This should greatly improve graphics performance."
+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 ""
@@ -2897,13 +2924,22 @@ msgstr ""
#, fuzzy
msgid ""
"Enable/disable running an IPv6 server.\n"
-"Ignored if bind_address is set."
+"Ignored if bind_address is set.\n"
+"Needs enable_ipv6 to be enabled."
msgstr ""
"Schakel IPv6 in voor de server. Afhankelijk van de systeemconfiguratie\n"
"kan dit tot gevolg hebben dat enkel IPv6 cliënten verbinding kunnen maken\n"
"Deze instelling wordt genegeerd als een lokaal server-adres ingesteld is."
#: src/settings_translation_file.cpp
+msgid ""
+"Enables Hable's 'Uncharted 2' filmic tone mapping.\n"
+"Simulates the tone curve of photographic film and how this approximates the\n"
+"appearance of high dynamic range images. Mid-range contrast is slightly\n"
+"enhanced, highlights and shadows are gradually compressed."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Enables animation of inventory items."
msgstr "Schakelt animatie van inventaris items aan."
@@ -2924,10 +2960,6 @@ msgid "Enables caching of facedir rotated meshes."
msgstr "Schakelt caching van facedir geroteerde meshes."
#: src/settings_translation_file.cpp
-msgid "Enables filmic tone mapping"
-msgstr "Schakelt filmisch tone-mapping in"
-
-#: src/settings_translation_file.cpp
msgid "Enables minimap."
msgstr "Schakelt de mini-kaart in."
@@ -2948,6 +2980,14 @@ msgstr ""
"Dit vereist dat shaders ook aanstaan."
#: src/settings_translation_file.cpp
+msgid ""
+"Enables the sound system.\n"
+"If disabled, this completely disables all sounds everywhere and the in-game\n"
+"sound controls will be non-functional.\n"
+"Changing this setting requires a restart."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Engine profiling data print interval"
msgstr "Profilergegevens print interval"
@@ -2981,7 +3021,8 @@ msgid "Fall bobbing factor"
msgstr "Loopbeweging bij vallen"
#: src/settings_translation_file.cpp
-msgid "Fallback font"
+#, fuzzy
+msgid "Fallback font path"
msgstr "Terugval-font"
#: src/settings_translation_file.cpp
@@ -3090,32 +3131,6 @@ msgid "Fixed virtual joystick"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Floatland base height noise"
-msgstr "Drijvend land basis hoogte ruis"
-
-#: src/settings_translation_file.cpp
-msgid "Floatland base noise"
-msgstr "Drijvend land basis ruis"
-
-#: src/settings_translation_file.cpp
-#, fuzzy
-msgid "Floatland level"
-msgstr "Waterniveau"
-
-#: src/settings_translation_file.cpp
-msgid "Floatland mountain density"
-msgstr "Drijvend gebergte dichtheid"
-
-#: src/settings_translation_file.cpp
-#, fuzzy
-msgid "Floatland mountain exponent"
-msgstr "Drijvend gebergte dichtheid"
-
-#: src/settings_translation_file.cpp
-msgid "Floatland mountain height"
-msgstr "Drijvend gebergte hoogte"
-
-#: src/settings_translation_file.cpp
msgid "Fly key"
msgstr "Vliegen toets"
@@ -3137,8 +3152,12 @@ msgid "Fog toggle key"
msgstr "Mist aan/uitschakelen toets"
#: src/settings_translation_file.cpp
-msgid "Font path"
-msgstr "Font pad"
+msgid "Font bold by default"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font italic by default"
+msgstr ""
#: src/settings_translation_file.cpp
msgid "Font shadow"
@@ -3149,16 +3168,20 @@ msgid "Font shadow alpha"
msgstr "Fontschaduw alphawaarde"
#: src/settings_translation_file.cpp
-msgid "Font shadow alpha (opaqueness, between 0 and 255)."
-msgstr "Fontschaduw alphawaarde (ondoorzichtigheid, tussen 0 en 255)."
+msgid "Font size"
+msgstr "Lettergrootte"
#: src/settings_translation_file.cpp
-msgid "Font shadow offset, if 0 then shadow will not be drawn."
-msgstr "Fontschaduw afstand. Indien 0, dan wordt geen schaduw getekend."
+msgid "Font size of the default font in point (pt)."
+msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font size"
-msgstr "Lettergrootte"
+msgid "Font size of the fallback font in point (pt)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font size of the monospace font in point (pt)."
+msgstr ""
#: src/settings_translation_file.cpp
msgid ""
@@ -3280,11 +3303,6 @@ msgid "GUI scaling filter txr2img"
msgstr "GUI schalingsfilter: txr2img"
#: src/settings_translation_file.cpp
-#, fuzzy
-msgid "Gamma"
-msgstr "Gamma"
-
-#: src/settings_translation_file.cpp
msgid "Generate normalmaps"
msgstr "Genereer normaalmappen"
@@ -3309,11 +3327,15 @@ msgstr ""
"Zet \"no\" voor een vlag om hem expliciet uit te zetten."
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at maximum light level."
+msgid ""
+"Gradient of light curve at maximum light level.\n"
+"Controls the contrast of the highest light levels."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at minimum light level."
+msgid ""
+"Gradient of light curve at minimum light level.\n"
+"Controls the contrast of the lowest light levels."
msgstr ""
#: src/settings_translation_file.cpp
@@ -3348,8 +3370,9 @@ msgid "HUD toggle key"
msgstr "HUD aan/uitschakelen toets"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Handling for deprecated lua api calls:\n"
+"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)."
@@ -3632,6 +3655,13 @@ msgstr "Diepte van de rivieren"
#: src/settings_translation_file.cpp
msgid ""
+"How fast liquid waves will move. Higher = faster.\n"
+"If negative, liquid waves will move backwards.\n"
+"Requires waving liquids to be enabled."
+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 ""
@@ -3665,10 +3695,6 @@ msgid "IPv6 server"
msgstr "IPv6 server"
#: src/settings_translation_file.cpp
-msgid "IPv6 support."
-msgstr "IPv6 ondersteuning."
-
-#: 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."
@@ -3883,6 +3909,16 @@ msgid "Invert vertical mouse movement."
msgstr "Vertikale muisbeweging omkeren."
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Italic font path"
+msgstr "Vaste-breedte font pad"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Italic monospace font path"
+msgstr "Vaste-breedte font pad"
+
+#: src/settings_translation_file.cpp
msgid "Item entity TTL"
msgstr "Bestaansduur van objecten"
@@ -4750,14 +4786,21 @@ msgid "Large cave depth"
msgstr "Diepte van grote grotten"
#: src/settings_translation_file.cpp
-#, fuzzy
-msgid "Large chat console key"
-msgstr "Console-toets"
+msgid "Large cave maximum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large cave minimum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large cave proportion flooded"
+msgstr ""
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Lava depth"
-msgstr "Diepte van grote grotten"
+msgid "Large chat console key"
+msgstr "Console-toets"
#: src/settings_translation_file.cpp
msgid "Leaves style"
@@ -4792,6 +4835,15 @@ msgstr ""
#: src/settings_translation_file.cpp
#, fuzzy
+msgid ""
+"Length of liquid waves.\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+"Bewegende bladeren staan aan indien 'true'.Dit vereist dat 'shaders' ook "
+"aanstaan."
+
+#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Length of time between Active Block Modifier (ABM) execution cycles"
msgstr ""
"Tijdsinterval waarmee actieve blokken wijzigers (ABMs) geactiveerd worden"
@@ -4826,19 +4878,27 @@ msgstr ""
"- verbose (alles)"
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost"
+msgid "Light curve boost"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost center"
+msgid "Light curve boost center"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost spread"
+msgid "Light curve boost spread"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Lightness sharpness"
+msgid "Light curve gamma"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve high gradient"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve low gradient"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4960,21 +5020,10 @@ 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
#, fuzzy
msgid ""
-"Map generation attributes specific to Mapgen flat.\n"
-"'terrain' enables the generation of non-fractal terrain:\n"
-"ocean, islands and underground."
+"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"
"Verspreide meren en heuvels kunnen toegevoegd worden.\n"
@@ -4985,8 +5034,9 @@ msgstr ""
#: 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."
+"Map generation attributes specific to Mapgen Fractal.\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"
@@ -4995,6 +5045,16 @@ msgstr ""
"Zet \"no\" voor een vlag om hem expliciet uit te zetten."
#: 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 v5."
msgstr ""
@@ -5165,8 +5225,16 @@ msgid "Maximum hotbar width"
msgstr "Maximale breedte van de 'hotbar'"
#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of large caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
-"Maximum liquid resistence. Controls deceleration when entering liquid at\n"
+"Maximum liquid resistance. Controls deceleration when entering liquid at\n"
"high speed."
msgstr ""
@@ -5309,6 +5377,14 @@ msgid "Minimap scan height"
msgstr "Mini-kaart scan-hoogte"
#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of large caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
#, fuzzy
msgid "Minimum texture size"
msgstr "Minimale textuur-grootte voor filters"
@@ -5410,7 +5486,7 @@ msgstr ""
"inloggen."
#: src/settings_translation_file.cpp
-msgid "Near clipping plane"
+msgid "Near plane"
msgstr ""
#: src/settings_translation_file.cpp
@@ -5505,6 +5581,16 @@ msgstr "Ondoorschijnende vloeistoffen"
#: src/settings_translation_file.cpp
msgid ""
+"Opaqueness (alpha) of the shadow behind the default font, between 0 and 255."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Opaqueness (alpha) of the shadow behind the fallback font, between 0 and 255."
+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."
@@ -5545,8 +5631,13 @@ msgid "Parallax occlusion strength"
msgstr "Parallax occlusie sterkte"
#: src/settings_translation_file.cpp
-msgid "Path to TrueTypeFont or bitmap."
-msgstr "Pad van TrueType font of bitmap."
+msgid ""
+"Path of the fallback font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font will be used for certain languages or if the default font is "
+"unavailable."
+msgstr ""
#: src/settings_translation_file.cpp
msgid "Path to save screenshots at."
@@ -5566,6 +5657,22 @@ msgstr ""
"Pad van de texturen-map. Naar texturen wordt gezocht beginnend bij deze map."
#: src/settings_translation_file.cpp
+msgid ""
+"Path to the default font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"The fallback font will be used if the font cannot be loaded."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Path to the monospace font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font is used for e.g. the console and profiler screen."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Pause on lost window focus"
msgstr ""
@@ -5648,6 +5755,10 @@ msgid "Profiling"
msgstr "Profileren"
#: src/settings_translation_file.cpp
+msgid "Proportion of large caves that contain liquid."
+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 "
@@ -5674,6 +5785,11 @@ msgid "Recent Chat Messages"
msgstr ""
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Regular font path"
+msgstr "Rapport pad"
+
+#: src/settings_translation_file.cpp
msgid "Remote media"
msgstr "Externe media"
@@ -5887,24 +6003,24 @@ msgstr "Breedte van selectie-randen"
#, fuzzy
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."
+"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 ""
"Keuze uit 18 fractals op basis van 9 formules.\n"
"1 = 4D \"Roundy\" mandelbrot verzameling.\n"
@@ -5975,27 +6091,30 @@ msgid "Set the maximum character length of a chat message sent by clients."
msgstr ""
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Set to true enables waving leaves.\n"
+"Set to true to enable waving leaves.\n"
"Requires shaders to be enabled."
msgstr ""
"Bewegende bladeren staan aan indien 'true'.Dit vereist dat 'shaders' ook "
"aanstaan."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Set to true enables waving plants.\n"
+"Set to true to enable waving liquids (like water).\n"
"Requires shaders to be enabled."
msgstr ""
-"Bewegende planten staan aan indien 'true'Dit vereist dat 'shaders' ook "
-"aanstaan."
+"Golvend water staat aan indien 'true'Dit vereist dat 'shaders' ook aanstaan."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Set to true enables waving water.\n"
+"Set to true to enable waving plants.\n"
"Requires shaders to be enabled."
msgstr ""
-"Golvend water staat aan indien 'true'Dit vereist dat 'shaders' ook aanstaan."
+"Bewegende planten staan aan indien 'true'Dit vereist dat 'shaders' ook "
+"aanstaan."
#: src/settings_translation_file.cpp
msgid "Shader path"
@@ -6014,8 +6133,18 @@ msgstr ""
"Alleen mogelijk met OpenGL."
#: src/settings_translation_file.cpp
-msgid "Shadow limit"
-msgstr "Schaduw limiet"
+#, fuzzy
+msgid ""
+"Shadow offset (in pixels) of the default font. If 0, then shadow will not be "
+"drawn."
+msgstr "Fontschaduw afstand. Indien 0, dan wordt geen schaduw getekend."
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid ""
+"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not "
+"be drawn."
+msgstr "Fontschaduw afstand. Indien 0, dan wordt geen schaduw getekend."
#: src/settings_translation_file.cpp
msgid "Shape of the minimap. Enabled = round, disabled = square."
@@ -6064,6 +6193,14 @@ msgid "Slope and fill work together to modify the heights."
msgstr "Helling en vulling bepalen in combinatie de hoogte"
#: src/settings_translation_file.cpp
+msgid "Small cave maximum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Small cave minimum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Small-scale humidity variation for blending biomes on borders."
msgstr "Kleinschalig vochtigheidsvariatie voor de overgang van biomen."
@@ -6135,8 +6272,9 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Spread of light curve mid-boost.\n"
-"Standard deviation of the mid-boost gaussian."
+"Spread of light curve boost range.\n"
+"Controls the width of the range to be boosted.\n"
+"Standard deviation of the light curve boost Gaussian."
msgstr ""
#: src/settings_translation_file.cpp
@@ -6162,7 +6300,10 @@ msgid "Strength of generated normalmaps."
msgstr "Sterkte van de normal-maps."
#: src/settings_translation_file.cpp
-msgid "Strength of light curve mid-boost."
+msgid ""
+"Strength of light curve boost.\n"
+"The 3 'boost' parameters define a range of the light\n"
+"curve that is boosted in brightness."
msgstr ""
#: src/settings_translation_file.cpp
@@ -6282,6 +6423,15 @@ msgid "The length in pixels it takes for touch screen interaction to start."
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"The maximum height of the surface of waving liquids.\n"
+"4.0 = Wave height is two nodes.\n"
+"0.0 = Wave doesn't move at all.\n"
+"Default is 1.0 (1/2 node).\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "The network interface that the server listens on."
msgstr "Het netwerk-adres waar de server op verbindingen wacht."
@@ -6381,10 +6531,6 @@ msgid "Third of 4 2D noises that together define hill/mountain range height."
msgstr "Eerste van 2 3D geluiden voor tunnels."
#: src/settings_translation_file.cpp
-msgid "This font will be used for certain languages."
-msgstr "Dit font wordt gebruikt voor bepaalde talen."
-
-#: src/settings_translation_file.cpp
msgid ""
"Time in seconds for item entity (dropped items) to live.\n"
"Setting it to -1 disables the feature."
@@ -6444,10 +6590,11 @@ msgid "Trilinear filtering"
msgstr "Tri-Lineare Filtering"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
"True = 256\n"
"False = 128\n"
-"Useable to make minimap smoother on slower machines."
+"Usable to make minimap smoother on slower machines."
msgstr ""
"Aan = 256\n"
"Uit = 128\n"
@@ -6458,14 +6605,6 @@ msgid "Trusted mods"
msgstr "Vertrouwde mods"
#: src/settings_translation_file.cpp
-#, fuzzy
-msgid ""
-"Typical maximum height, above and below midpoint, of floatland mountains."
-msgstr ""
-"Typisch maximum hoogte, boven en onder het middelpunt van drijvend berg "
-"terrein."
-
-#: src/settings_translation_file.cpp
msgid "URL to the server list displayed in the Multiplayer Tab."
msgstr "URL voor de serverlijst in de multiplayer tab."
@@ -6562,11 +6701,6 @@ msgid "Variation of biome filler depth."
msgstr "Variatie van de biome vullingsdiepte."
#: src/settings_translation_file.cpp
-msgid "Variation of hill height and lake depth on floatland smooth terrain."
-msgstr ""
-"Variatie van de heuvel hoogte en vijver diepte op drijvend egaal terrein."
-
-#: src/settings_translation_file.cpp
msgid "Variation of maximum mountain height (in nodes)."
msgstr "Variatie van de maximum berg hoogte (in noden)."
@@ -6647,6 +6781,15 @@ msgstr "Geluidsniveau"
#: src/settings_translation_file.cpp
#, fuzzy
msgid ""
+"Volume of all sounds.\n"
+"Requires the sound system to be enabled."
+msgstr ""
+"Schakelt parallax occlusie mappen in.\n"
+"Dit vereist dat shaders ook aanstaan."
+
+#: 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"
"Alters the shape of the fractal.\n"
@@ -6687,29 +6830,30 @@ msgid "Waving leaves"
msgstr "Bewegende bladeren"
#: src/settings_translation_file.cpp
-msgid "Waving plants"
-msgstr "Bewegende planten"
-
-#: src/settings_translation_file.cpp
-msgid "Waving water"
-msgstr "Golvend water"
+#, fuzzy
+msgid "Waving liquids"
+msgstr "Bewegende nodes"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wave height"
+msgid "Waving liquids wave height"
msgstr "Golfhoogte van water"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wave speed"
+msgid "Waving liquids wave speed"
msgstr "Golfsnelheid van water"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wavelength"
+msgid "Waving liquids wavelength"
msgstr "Golflengte van water"
#: src/settings_translation_file.cpp
+msgid "Waving plants"
+msgstr "Bewegende planten"
+
+#: 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"
@@ -6761,7 +6905,9 @@ msgstr ""
#: src/settings_translation_file.cpp
#, fuzzy
msgid ""
-"Whether FreeType fonts are used, requires FreeType support to be compiled in."
+"Whether FreeType fonts are used, requires FreeType support to be compiled "
+"in.\n"
+"If disabled, bitmap and XML vectors fonts are used instead."
msgstr "Gebruik freetype fonts. Dit vereist dat freetype ingecompileerd is."
#: src/settings_translation_file.cpp
@@ -6795,6 +6941,14 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Whether to mute sounds. You can unmute sounds at any time, unless the\n"
+"sound system is disabled (enable_sound=false).\n"
+"In-game, you can toggle the mute state with the mute key or by using the\n"
+"pause menu."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
"Whether to show the client debug info (has the same effect as hitting F5)."
msgstr ""
"Laat debug informatie zien in de cliënt (heeft hetzelfde effect als de F5 "
@@ -6875,10 +7029,6 @@ msgid "Y-level of cavern upper limit."
msgstr "Y-niveau van hoogste limiet voor grotten."
#: src/settings_translation_file.cpp
-msgid "Y-level of floatland midpoint and lake surface."
-msgstr "Y-niveau van drijvend land middelpunt en vijver oppervlak."
-
-#: src/settings_translation_file.cpp
#, fuzzy
msgid "Y-level of higher terrain that creates cliffs."
msgstr "Y-niveau van lager terrein en vijver bodems."
@@ -6893,10 +7043,6 @@ msgid "Y-level of seabed."
msgstr "Y-niveau van zee bodem."
#: src/settings_translation_file.cpp
-msgid "Y-level to which floatland shadows extend."
-msgstr "Y-niveau tot waar de schaduw van drijvend land reikt."
-
-#: src/settings_translation_file.cpp
msgid "cURL file download timeout"
msgstr "timeout voor cURL download"
@@ -6908,6 +7054,108 @@ msgstr "Maximaal parallellisme in cURL"
msgid "cURL timeout"
msgstr "cURL timeout"
+#, fuzzy
+#~ 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 ""
+#~ "Aangepaste gamma voor de licht-tabellen. Lagere waardes zijn helderder.\n"
+#~ "Deze instelling wordt enkel gebruikt door de cliënt, en wordt genegeerd "
+#~ "door de server."
+
+#, fuzzy
+#~ msgid ""
+#~ "Controls the density of mountain-type floatlands.\n"
+#~ "Is a noise offset added to the 'mgv7_np_mountain' noise value."
+#~ msgstr ""
+#~ "Bepaalt de dichtheid van drijvende bergen.\n"
+#~ "Dit wordt bijgevoegd bij de 'np_mountain' ruis waarde."
+
+#~ msgid "Controls width of tunnels, a smaller value creates wider tunnels."
+#~ msgstr ""
+#~ "Bepaalt breedte van tunnels, een kleinere waarde maakt bredere tunnels."
+
+#, fuzzy
+#~ msgid "Darkness sharpness"
+#~ msgstr "Steilheid Van de meren"
+
+#~ msgid ""
+#~ "Defines areas of floatland smooth terrain.\n"
+#~ "Smooth floatlands occur when noise > 0."
+#~ msgstr ""
+#~ "Bepaalt gebieden van drijvend glijdend terrein.\n"
+#~ "Drijvend glijdend terrein ontstaat wanneer ruis > 0."
+
+#~ msgid "Enable VBO"
+#~ msgstr "VBO aanzetten"
+
+#~ msgid "Enables filmic tone mapping"
+#~ msgstr "Schakelt filmisch tone-mapping in"
+
+#~ msgid "Floatland base height noise"
+#~ msgstr "Drijvend land basis hoogte ruis"
+
+#~ msgid "Floatland base noise"
+#~ msgstr "Drijvend land basis ruis"
+
+#, fuzzy
+#~ msgid "Floatland level"
+#~ msgstr "Waterniveau"
+
+#~ msgid "Floatland mountain density"
+#~ msgstr "Drijvend gebergte dichtheid"
+
+#, fuzzy
+#~ msgid "Floatland mountain exponent"
+#~ msgstr "Drijvend gebergte dichtheid"
+
+#~ msgid "Floatland mountain height"
+#~ msgstr "Drijvend gebergte hoogte"
+
+#~ msgid "Font shadow alpha (opaqueness, between 0 and 255)."
+#~ msgstr "Fontschaduw alphawaarde (ondoorzichtigheid, tussen 0 en 255)."
+
+#, fuzzy
+#~ msgid "Gamma"
+#~ msgstr "Gamma"
+
+#~ msgid "IPv6 support."
+#~ msgstr "IPv6 ondersteuning."
+
+#, fuzzy
+#~ msgid "Lava depth"
+#~ msgstr "Diepte van grote grotten"
+
+#~ msgid "Path to TrueTypeFont or bitmap."
+#~ msgstr "Pad van TrueType font of bitmap."
+
+#~ msgid "Shadow limit"
+#~ msgstr "Schaduw limiet"
+
+#~ msgid "This font will be used for certain languages."
+#~ msgstr "Dit font wordt gebruikt voor bepaalde talen."
+
+#, fuzzy
+#~ msgid ""
+#~ "Typical maximum height, above and below midpoint, of floatland mountains."
+#~ msgstr ""
+#~ "Typisch maximum hoogte, boven en onder het middelpunt van drijvend berg "
+#~ "terrein."
+
+#~ msgid "Variation of hill height and lake depth on floatland smooth terrain."
+#~ msgstr ""
+#~ "Variatie van de heuvel hoogte en vijver diepte op drijvend egaal terrein."
+
+#~ msgid "Waving water"
+#~ msgstr "Golvend water"
+
+#~ msgid "Y-level of floatland midpoint and lake surface."
+#~ msgstr "Y-niveau van drijvend land middelpunt en vijver oppervlak."
+
+#~ msgid "Y-level to which floatland shadows extend."
+#~ msgstr "Y-niveau tot waar de schaduw van drijvend land reikt."
+
#~ msgid "Waving Water"
#~ msgstr "Golvend water"
diff --git a/po/nn/minetest.po b/po/nn/minetest.po
index 3bd237b2a..f2894f74d 100644
--- a/po/nn/minetest.po
+++ b/po/nn/minetest.po
@@ -2,9 +2,9 @@ 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: 2019-11-10 15:04+0000\n"
-"Last-Translator: Krock <mk939@ymail.com>\n"
+"POT-Creation-Date: 2020-04-03 23:18+0200\n"
+"PO-Revision-Date: 2020-03-31 10:14+0000\n"
+"Last-Translator: sfan5 <sfan5@live.de>\n"
"Language-Team: Norwegian Nynorsk <https://hosted.weblate.org/projects/"
"minetest/minetest/nn/>\n"
"Language: nn\n"
@@ -12,7 +12,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 3.10-dev\n"
+"X-Generator: Weblate 4.0-dev\n"
#: builtin/client/death_formspec.lua src/client/game.cpp
msgid "Respawn"
@@ -405,14 +405,25 @@ msgstr "Z"
msgid "Z spread"
msgstr "Z spreiing"
+#. ~ "absvalue" is a noise parameter flag.
+#. It is short for "absolute value".
+#. It can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "absvalue"
msgstr "Absolutt verdi"
+#. ~ "defaults" is a noise parameter flag.
+#. It describes the default processing options
+#. for noise settings in main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "defaults"
msgstr "Standard"
+#. ~ "eased" is a noise parameter flag.
+#. It is used to make the map smoother and
+#. can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "eased"
msgstr "letta"
@@ -625,6 +636,7 @@ msgstr "Namn/Passord"
msgid "Ping"
msgstr "Ping"
+#. ~ PvP = Player versus Player
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "PvP enabled"
msgstr "Spelar mot spelar aktivert"
@@ -870,9 +882,17 @@ msgstr "Passord dokumentet du ga går ikkje an å åpne: "
msgid "Provided world path doesn't exist: "
msgstr "Verds-ruta du ga finnes ikkje: "
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string. Put either "no" or "yes"
+#. into the translation field (literally).
+#. Choose "yes" if the language requires use of the fallback
+#. font, "no" otherwise.
+#. The fallback font is (normally) required for languages with
+#. non-Latin script, like Chinese.
+#. When in doubt, test your translation.
#: src/client/fontengine.cpp
msgid "needs_fallback_font"
-msgstr "yes"
+msgstr "no"
#: src/client/game.cpp
msgid ""
@@ -906,6 +926,7 @@ msgstr "- Port: "
msgid "- Public: "
msgstr "- Offentleg: "
+#. ~ PvP = Player versus Player
#: src/client/game.cpp
msgid "- PvP: "
msgstr "- Spelar mot spelar (PvP): "
@@ -1357,6 +1378,7 @@ msgstr "Venstre skift"
msgid "Left Windows"
msgstr "Venstre, meta knapp"
+#. ~ Key name, common on Windows keyboards
#: src/client/keycode.cpp
msgid "Menu"
msgstr "Meny"
@@ -1449,6 +1471,7 @@ msgstr "Pause"
msgid "Play"
msgstr "Spel"
+#. ~ "Print screen" key
#: src/client/keycode.cpp
msgid "Print"
msgstr "Skriv ut"
@@ -1485,6 +1508,7 @@ msgstr "Høgre, meta knapp"
msgid "Scroll Lock"
msgstr "Skrolle feste"
+#. ~ Key name
#: src/client/keycode.cpp
msgid "Select"
msgstr "Velj"
@@ -1727,11 +1751,16 @@ msgstr "MÃ¥lbindt"
msgid "Sound Volume: "
msgstr "Lydstyrke: "
+#. ~ Imperative, as in "Enter/type in text".
+#. Don't forget the space.
#: src/gui/modalMenu.cpp
msgid "Enter "
msgstr "GÃ¥ "
-#: src/network/clientpackethandler.cpp
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string which needs to contain the translation's
+#. language code (e.g. "de" for German).
+#: src/network/clientpackethandler.cpp src/script/lua_api/l_client.cpp
msgid "LANG_CODE"
msgstr "nn-NO"
@@ -1754,7 +1783,7 @@ msgid ""
"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"
+"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."
@@ -1917,18 +1946,16 @@ msgid ""
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."
+msgid ""
+"Alters the light curve by applying 'gamma correction' to it.\n"
+"Higher values make middle and lower light levels brighter.\n"
+"Value '1.0' leaves the light curve unaltered.\n"
+"This only has significant effect on daylight and artificial\n"
+"light, it has very little effect on natural night light."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2077,6 +2104,22 @@ msgid "Block send optimize distance"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Bold and italic font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bold and italic monospace font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bold font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bold monospace font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Build inside player"
msgstr "Bygg intern spelar"
@@ -2090,8 +2133,8 @@ 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"
+"Camera 'near clipping plane' distance in nodes, between 0 and 0.25\n"
+"Only works on GLES platforms. 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 ""
@@ -2153,7 +2196,9 @@ msgid "Cavern upper limit"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Center of light curve mid-boost."
+msgid ""
+"Center of light curve boost range.\n"
+"Where 0.0 is minimum light level, 1.0 is maximum light level."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2348,12 +2393,9 @@ 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."
+"Controls width of tunnels, a smaller value creates wider tunnels.\n"
+"Value >= 10.0 completely disables generation of tunnels and avoids the\n"
+"intensive noise calculations."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2389,10 +2431,6 @@ msgid "Damage"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Darkness sharpness"
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Debug info toggle key"
msgstr ""
@@ -2409,7 +2447,7 @@ msgid "Dec. volume key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Decrease this to increase liquid resistence to movement."
+msgid "Decrease this to increase liquid resistance to movement."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2449,12 +2487,6 @@ msgid ""
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 ""
@@ -2531,12 +2563,6 @@ 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 ""
@@ -2610,12 +2636,14 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Enable Lua modding support on client.\n"
-"This support is experimental and API can change."
+"Enable IPv6 support (for both client and server).\n"
+"Required for IPv6 connections to work at all."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Enable VBO"
+msgid ""
+"Enable Lua modding support on client.\n"
+"This support is experimental and API can change."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2681,6 +2709,12 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Enable vertex buffer objects.\n"
+"This should greatly improve graphics performance."
+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 ""
@@ -2688,7 +2722,16 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Enable/disable running an IPv6 server.\n"
-"Ignored if bind_address is set."
+"Ignored if bind_address is set.\n"
+"Needs enable_ipv6 to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Enables Hable's 'Uncharted 2' filmic tone mapping.\n"
+"Simulates the tone curve of photographic film and how this approximates the\n"
+"appearance of high dynamic range images. Mid-range contrast is slightly\n"
+"enhanced, highlights and shadows are gradually compressed."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2708,10 +2751,6 @@ 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 ""
@@ -2728,6 +2767,14 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Enables the sound system.\n"
+"If disabled, this completely disables all sounds everywhere and the in-game\n"
+"sound controls will be non-functional.\n"
+"Changing this setting requires a restart."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Engine profiling data print interval"
msgstr ""
@@ -2758,7 +2805,7 @@ msgid "Fall bobbing factor"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Fallback font"
+msgid "Fallback font path"
msgstr ""
#: src/settings_translation_file.cpp
@@ -2851,30 +2898,6 @@ 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 ""
@@ -2895,7 +2918,11 @@ msgid "Fog toggle key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font path"
+msgid "Font bold by default"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font italic by default"
msgstr ""
#: src/settings_translation_file.cpp
@@ -2907,15 +2934,19 @@ msgid "Font shadow alpha"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font shadow alpha (opaqueness, between 0 and 255)."
+msgid "Font size"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font shadow offset, if 0 then shadow will not be drawn."
+msgid "Font size of the default font in point (pt)."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font size"
+msgid "Font size of the fallback font in point (pt)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font size of the monospace font in point (pt)."
msgstr ""
#: src/settings_translation_file.cpp
@@ -3026,10 +3057,6 @@ msgid "GUI scaling filter txr2img"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gamma"
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Generate normalmaps"
msgstr ""
@@ -3045,11 +3072,15 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at maximum light level."
+msgid ""
+"Gradient of light curve at maximum light level.\n"
+"Controls the contrast of the highest light levels."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at minimum light level."
+msgid ""
+"Gradient of light curve at minimum light level.\n"
+"Controls the contrast of the lowest light levels."
msgstr ""
#: src/settings_translation_file.cpp
@@ -3082,7 +3113,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Handling for deprecated lua api calls:\n"
+"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)."
@@ -3309,6 +3340,13 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"How fast liquid waves will move. Higher = faster.\n"
+"If negative, liquid waves will move backwards.\n"
+"Requires waving liquids to be enabled."
+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 ""
@@ -3338,10 +3376,6 @@ 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."
@@ -3516,6 +3550,14 @@ msgid "Invert vertical mouse movement."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Italic font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Italic monospace font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Item entity TTL"
msgstr ""
@@ -4111,11 +4153,19 @@ msgid "Large cave depth"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Large chat console key"
+msgid "Large cave maximum number"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Lava depth"
+msgid "Large cave minimum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large cave proportion flooded"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large chat console key"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4142,6 +4192,12 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Length of liquid waves.\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Length of time between Active Block Modifier (ABM) execution cycles"
msgstr ""
@@ -4166,19 +4222,27 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost"
+msgid "Light curve boost"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve boost center"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve boost spread"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost center"
+msgid "Light curve gamma"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost spread"
+msgid "Light curve high gradient"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Lightness sharpness"
+msgid "Light curve low gradient"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4283,25 +4347,25 @@ 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."
+"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 flat.\n"
+"Map generation attributes specific to Mapgen Fractal.\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."
+"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
@@ -4451,8 +4515,16 @@ msgid "Maximum hotbar width"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of large caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
-"Maximum liquid resistence. Controls deceleration when entering liquid at\n"
+"Maximum liquid resistance. Controls deceleration when entering liquid at\n"
"high speed."
msgstr ""
@@ -4573,6 +4645,14 @@ msgid "Minimap scan height"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of large caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Minimum texture size"
msgstr ""
@@ -4659,7 +4739,7 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Near clipping plane"
+msgid "Near plane"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4746,6 +4826,16 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Opaqueness (alpha) of the shadow behind the default font, between 0 and 255."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Opaqueness (alpha) of the shadow behind the fallback font, between 0 and 255."
+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."
@@ -4784,7 +4874,12 @@ msgid "Parallax occlusion strength"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Path to TrueTypeFont or bitmap."
+msgid ""
+"Path of the fallback font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font will be used for certain languages or if the default font is "
+"unavailable."
msgstr ""
#: src/settings_translation_file.cpp
@@ -4802,6 +4897,22 @@ msgid "Path to texture directory. All textures are first searched from here."
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Path to the default font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"The fallback font will be used if the font cannot be loaded."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Path to the monospace font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font is used for e.g. the console and profiler screen."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Pause on lost window focus"
msgstr ""
@@ -4874,6 +4985,10 @@ msgid "Profiling"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Proportion of large caves that contain liquid."
+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 "
@@ -4897,6 +5012,10 @@ msgid "Recent Chat Messages"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Regular font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Remote media"
msgstr ""
@@ -5087,24 +5206,24 @@ 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."
+"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
@@ -5155,19 +5274,19 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving leaves.\n"
+"Set to true to enable waving leaves.\n"
"Requires shaders to be enabled."
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving plants.\n"
+"Set to true to enable waving liquids (like water).\n"
"Requires shaders to be enabled."
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving water.\n"
+"Set to true to enable waving plants.\n"
"Requires shaders to be enabled."
msgstr ""
@@ -5184,7 +5303,15 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Shadow limit"
+msgid ""
+"Shadow offset (in pixels) of the default font. If 0, then shadow will not be "
+"drawn."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not "
+"be drawn."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5229,6 +5356,14 @@ msgid "Slope and fill work together to modify the heights."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Small cave maximum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Small cave minimum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Small-scale humidity variation for blending biomes on borders."
msgstr ""
@@ -5288,8 +5423,9 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Spread of light curve mid-boost.\n"
-"Standard deviation of the mid-boost gaussian."
+"Spread of light curve boost range.\n"
+"Controls the width of the range to be boosted.\n"
+"Standard deviation of the light curve boost Gaussian."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5313,7 +5449,10 @@ msgid "Strength of generated normalmaps."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Strength of light curve mid-boost."
+msgid ""
+"Strength of light curve boost.\n"
+"The 3 'boost' parameters define a range of the light\n"
+"curve that is boosted in brightness."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5416,6 +5555,15 @@ msgid "The length in pixels it takes for touch screen interaction to start."
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"The maximum height of the surface of waving liquids.\n"
+"4.0 = Wave height is two nodes.\n"
+"0.0 = Wave doesn't move at all.\n"
+"Default is 1.0 (1/2 node).\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "The network interface that the server listens on."
msgstr ""
@@ -5496,10 +5644,6 @@ 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."
@@ -5553,7 +5697,7 @@ msgstr ""
msgid ""
"True = 256\n"
"False = 128\n"
-"Useable to make minimap smoother on slower machines."
+"Usable to make minimap smoother on slower machines."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5561,11 +5705,6 @@ 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 ""
@@ -5650,10 +5789,6 @@ 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 ""
@@ -5727,6 +5862,12 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Volume of all sounds.\n"
+"Requires the sound system to be enabled."
+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"
@@ -5763,29 +5904,30 @@ msgid "Waving leaves"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving plants"
-msgstr ""
-
-#: src/settings_translation_file.cpp
-msgid "Waving water"
-msgstr ""
+#, fuzzy
+msgid "Waving liquids"
+msgstr "Raslende lauv"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wave height"
+msgid "Waving liquids wave height"
msgstr "Bølgete vatn"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wave speed"
+msgid "Waving liquids wave speed"
msgstr "Raslende lauv"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wavelength"
+msgid "Waving liquids wavelength"
msgstr "Bølgete vatn"
#: src/settings_translation_file.cpp
+msgid "Waving plants"
+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"
@@ -5815,7 +5957,9 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Whether FreeType fonts are used, requires FreeType support to be compiled in."
+"Whether FreeType fonts are used, requires FreeType support to be compiled "
+"in.\n"
+"If disabled, bitmap and XML vectors fonts are used instead."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5844,6 +5988,14 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Whether to mute sounds. You can unmute sounds at any time, unless the\n"
+"sound system is disabled (enable_sound=false).\n"
+"In-game, you can toggle the mute state with the mute key or by using the\n"
+"pause menu."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
"Whether to show the client debug info (has the same effect as hitting F5)."
msgstr ""
@@ -5913,10 +6065,6 @@ 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 ""
@@ -5929,10 +6077,6 @@ 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 ""
diff --git a/po/pl/minetest.po b/po/pl/minetest.po
index c58933756..4448fa404 100644
--- a/po/pl/minetest.po
+++ b/po/pl/minetest.po
@@ -2,9 +2,9 @@ msgid ""
msgstr ""
"Project-Id-Version: Polish (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-10-09 22:02+0200\n"
-"PO-Revision-Date: 2019-11-04 17:03+0000\n"
-"Last-Translator: Mateusz Mendel <mendelm9@gmail.com>\n"
+"POT-Creation-Date: 2020-04-03 23:18+0200\n"
+"PO-Revision-Date: 2020-03-31 10:14+0000\n"
+"Last-Translator: sfan5 <sfan5@live.de>\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.10-dev\n"
+"X-Generator: Weblate 4.0-dev\n"
#: builtin/client/death_formspec.lua src/client/game.cpp
msgid "Respawn"
@@ -407,14 +407,25 @@ msgstr "Z"
msgid "Z spread"
msgstr "Rozrzut Z"
+#. ~ "absvalue" is a noise parameter flag.
+#. It is short for "absolute value".
+#. It can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "absvalue"
msgstr "wartość bezwzględna"
+#. ~ "defaults" is a noise parameter flag.
+#. It describes the default processing options
+#. for noise settings in main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "defaults"
msgstr "domyślne"
+#. ~ "eased" is a noise parameter flag.
+#. It is used to make the map smoother and
+#. can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "eased"
msgstr "wygładzony"
@@ -624,6 +635,7 @@ msgstr "Nazwa gracza / Hasło"
msgid "Ping"
msgstr "Ping"
+#. ~ PvP = Player versus Player
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "PvP enabled"
msgstr "PvP włączone"
@@ -869,9 +881,17 @@ msgstr "Nie udało się otworzyć dostarczonego pliku z hasłem "
msgid "Provided world path doesn't exist: "
msgstr "Podana ścieżka świata nie istnieje: "
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string. Put either "no" or "yes"
+#. into the translation field (literally).
+#. Choose "yes" if the language requires use of the fallback
+#. font, "no" otherwise.
+#. The fallback font is (normally) required for languages with
+#. non-Latin script, like Chinese.
+#. When in doubt, test your translation.
#: src/client/fontengine.cpp
msgid "needs_fallback_font"
-msgstr "yes"
+msgstr "no"
#: src/client/game.cpp
msgid ""
@@ -905,6 +925,7 @@ msgstr "- Port: "
msgid "- Public: "
msgstr "- Publiczne: "
+#. ~ PvP = Player versus Player
#: src/client/game.cpp
msgid "- PvP: "
msgstr "Gracz przeciwko graczowi: "
@@ -1355,6 +1376,7 @@ msgstr "Lewy Shift"
msgid "Left Windows"
msgstr "Lewy Windows"
+#. ~ Key name, common on Windows keyboards
#: src/client/keycode.cpp
msgid "Menu"
msgstr "Menu"
@@ -1447,6 +1469,7 @@ msgstr "Pause"
msgid "Play"
msgstr "Graj"
+#. ~ "Print screen" key
#: src/client/keycode.cpp
msgid "Print"
msgstr "Drukuj"
@@ -1483,6 +1506,7 @@ msgstr "Prawy Windows"
msgid "Scroll Lock"
msgstr "Scroll Lock"
+#. ~ Key name
#: src/client/keycode.cpp
msgid "Select"
msgstr "Wybierz"
@@ -1724,11 +1748,16 @@ msgstr "Wyciszony"
msgid "Sound Volume: "
msgstr "Głośność: "
+#. ~ Imperative, as in "Enter/type in text".
+#. Don't forget the space.
#: src/gui/modalMenu.cpp
msgid "Enter "
msgstr "Enter "
-#: src/network/clientpackethandler.cpp
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string which needs to contain the translation's
+#. language code (e.g. "de" for German).
+#: src/network/clientpackethandler.cpp src/script/lua_api/l_client.cpp
msgid "LANG_CODE"
msgstr "pl"
@@ -1752,12 +1781,13 @@ msgstr ""
"znajduje się poza głównym okręgiem."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
"(X,Y,Z) offset of fractal from world center in units of 'scale'.\n"
"Can be used to move a desired point to (0, 0) to create a\n"
"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"
+"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."
@@ -1964,24 +1994,17 @@ msgstr ""
"ekranów 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 ""
-"Ustaw kodowanie gamma dla tablic świateł. Wyższe wartości to większa "
-"jasność.\n"
-"To ustawienie jest tylko dla klientów, ignorowane przez serwer."
-
-#: src/settings_translation_file.cpp
msgid "Advanced"
msgstr "Zaawansowane"
#: src/settings_translation_file.cpp
-msgid "Alters how mountain-type floatlands taper above and below midpoint."
+msgid ""
+"Alters the light curve by applying 'gamma correction' to it.\n"
+"Higher values make middle and lower light levels brighter.\n"
+"Value '1.0' leaves the light curve unaltered.\n"
+"This only has significant effect on daylight and artificial\n"
+"light, it has very little effect on natural night light."
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
@@ -2146,6 +2169,26 @@ msgid "Block send optimize distance"
msgstr "Dystans optymalizacji wysyłanych bloków"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Bold and italic font path"
+msgstr "Ścieżka czcionki typu Monospace"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Bold and italic monospace font path"
+msgstr "Ścieżka czcionki typu Monospace"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Bold font path"
+msgstr "Ścieżka czcionki"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Bold monospace font path"
+msgstr "Ścieżka czcionki typu Monospace"
+
+#: src/settings_translation_file.cpp
msgid "Build inside player"
msgstr "Buduj w pozycji gracza"
@@ -2160,8 +2203,8 @@ msgstr "Mapowanie wypukłości"
#: 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"
+"Camera 'near clipping plane' distance in nodes, between 0 and 0.25\n"
+"Only works on GLES platforms. 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 ""
@@ -2229,8 +2272,10 @@ msgid "Cavern upper limit"
msgstr "Szerokość jaskini"
#: src/settings_translation_file.cpp
-msgid "Center of light curve mid-boost."
-msgstr "Centrum przyśpieszenia środkowego krzywej światła."
+msgid ""
+"Center of light curve boost range.\n"
+"Where 0.0 is minimum light level, 1.0 is maximum light level."
+msgstr ""
#: src/settings_translation_file.cpp
msgid ""
@@ -2448,15 +2493,10 @@ msgstr "Kontroluje stromość/wysokość gór."
#: 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."
+"Controls width of tunnels, a smaller value creates wider tunnels.\n"
+"Value >= 10.0 completely disables generation of tunnels and avoids the\n"
+"intensive noise calculations."
msgstr ""
-"Kontroluje gęstość wznoszącego się terenu górzystego.\n"
-"Jest to wartość dodana do wartość szumu 'np_mountain'."
-
-#: src/settings_translation_file.cpp
-msgid "Controls width of tunnels, a smaller value creates wider tunnels."
-msgstr "Kontroluje szerokość tuneli, mniejsze wartości tworzą szersze tunele."
#: src/settings_translation_file.cpp
msgid "Crash message"
@@ -2491,10 +2531,6 @@ msgid "Damage"
msgstr "Włącz obrażenia"
#: src/settings_translation_file.cpp
-msgid "Darkness sharpness"
-msgstr "Ostrość ciemności"
-
-#: src/settings_translation_file.cpp
msgid "Debug info toggle key"
msgstr "Klawisz przełączania informacji debugowania"
@@ -2513,7 +2549,7 @@ msgstr "Klawisz zmniejszania głośności"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Decrease this to increase liquid resistence to movement."
+msgid "Decrease this to increase liquid resistance to movement."
msgstr "Zmniejsz wartość, aby zwiększyć opór ruchu w cieczy."
#: src/settings_translation_file.cpp
@@ -2557,14 +2593,6 @@ msgstr ""
"Ma znaczenie tylko gdy skompilowane z cURL."
#: src/settings_translation_file.cpp
-msgid ""
-"Defines areas of floatland smooth terrain.\n"
-"Smooth floatlands occur when noise > 0."
-msgstr ""
-"Określa obszary wznoszącego się gładkiego terenu.\n"
-"Wygładzone powierzchnie pojawiają się gdy szum > 0."
-
-#: src/settings_translation_file.cpp
msgid "Defines areas where trees have apples."
msgstr "Określa obszary na których drzewa mają jabłka."
@@ -2654,12 +2682,6 @@ 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."
@@ -2739,6 +2761,12 @@ msgstr "Minimalna wartość Y lochu"
#: src/settings_translation_file.cpp
msgid ""
+"Enable IPv6 support (for both client and server).\n"
+"Required for IPv6 connections to work at all."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
"Enable Lua modding support on client.\n"
"This support is experimental and API can change."
msgstr ""
@@ -2746,10 +2774,6 @@ msgstr ""
"To wsparcie jest eksperymentalne i API może ulec zmianie."
#: src/settings_translation_file.cpp
-msgid "Enable VBO"
-msgstr "WÅ‚Ä…cz VBO"
-
-#: src/settings_translation_file.cpp
msgid "Enable console window"
msgstr "Odblokuj okno konsoli"
@@ -2824,6 +2848,12 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Enable vertex buffer objects.\n"
+"This should greatly improve graphics performance."
+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 ""
@@ -2834,13 +2864,22 @@ msgstr ""
#, fuzzy
msgid ""
"Enable/disable running an IPv6 server.\n"
-"Ignored if bind_address is set."
+"Ignored if bind_address is set.\n"
+"Needs enable_ipv6 to be enabled."
msgstr ""
"Przełącza pracę serwera w trybie IPv6. Serwer IPv6 może być ograniczony\n"
"tylko dla klientów IPv6, w zależności od konfiguracji systemu.\n"
"Ignorowane jeżeli bind_address jest ustawiony."
#: src/settings_translation_file.cpp
+msgid ""
+"Enables Hable's 'Uncharted 2' filmic tone mapping.\n"
+"Simulates the tone curve of photographic film and how this approximates the\n"
+"appearance of high dynamic range images. Mid-range contrast is slightly\n"
+"enhanced, highlights and shadows are gradually compressed."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Enables animation of inventory items."
msgstr "Włącz animację inwentarza przedmiotów."
@@ -2861,10 +2900,6 @@ msgid "Enables caching of facedir rotated meshes."
msgstr "Włącza cachowanie facedir obracanych meshów."
#: src/settings_translation_file.cpp
-msgid "Enables filmic tone mapping"
-msgstr "WÅ‚Ä…cz filmic tone mapping"
-
-#: src/settings_translation_file.cpp
msgid "Enables minimap."
msgstr "WÅ‚Ä…cz minimapÄ™."
@@ -2885,6 +2920,14 @@ msgstr ""
"Wymaga włączenia shaderów."
#: src/settings_translation_file.cpp
+msgid ""
+"Enables the sound system.\n"
+"If disabled, this completely disables all sounds everywhere and the in-game\n"
+"sound controls will be non-functional.\n"
+"Changing this setting requires a restart."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Engine profiling data print interval"
msgstr "Interwał wyświetlania danych profilowych"
@@ -2917,7 +2960,8 @@ msgid "Fall bobbing factor"
msgstr "Współczynnik spadku drgań"
#: src/settings_translation_file.cpp
-msgid "Fallback font"
+#, fuzzy
+msgid "Fallback font path"
msgstr "Zastępcza czcionka"
#: src/settings_translation_file.cpp
@@ -3022,31 +3066,6 @@ msgid "Fixed virtual joystick"
msgstr "Ustaw wirtualny joystick"
#: src/settings_translation_file.cpp
-msgid "Floatland base height noise"
-msgstr "Podstawowy szum wysokości wznoszącego się terenu"
-
-#: src/settings_translation_file.cpp
-msgid "Floatland base noise"
-msgstr "Podstawowy szum wznoszÄ…cego siÄ™ terenu"
-
-#: src/settings_translation_file.cpp
-msgid "Floatland level"
-msgstr "Poziom wznoszonego terenu"
-
-#: src/settings_translation_file.cpp
-msgid "Floatland mountain density"
-msgstr "Gęstość gór na latających wyspach"
-
-#: src/settings_translation_file.cpp
-#, fuzzy
-msgid "Floatland mountain exponent"
-msgstr "Gęstość gór na latających wyspach"
-
-#: src/settings_translation_file.cpp
-msgid "Floatland mountain height"
-msgstr "Wysokość gór latających wysp"
-
-#: src/settings_translation_file.cpp
msgid "Fly key"
msgstr "Klawisz latania"
@@ -3068,8 +3087,12 @@ msgid "Fog toggle key"
msgstr "Klawisz przełączania mgły"
#: src/settings_translation_file.cpp
-msgid "Font path"
-msgstr "Ścieżka czcionki"
+msgid "Font bold by default"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font italic by default"
+msgstr ""
#: src/settings_translation_file.cpp
msgid "Font shadow"
@@ -3080,16 +3103,20 @@ msgid "Font shadow alpha"
msgstr "Przeźroczystość cienia czcionki"
#: src/settings_translation_file.cpp
-msgid "Font shadow alpha (opaqueness, between 0 and 255)."
-msgstr "Kanał alfa cienia czcionki (nieprzeźroczystość, od 0 do 255)."
+msgid "Font size"
+msgstr "Rozmiar czcionki"
#: src/settings_translation_file.cpp
-msgid "Font shadow offset, if 0 then shadow will not be drawn."
-msgstr "Offset cienia czcionki, jeżeli 0 to cień nie będzie rysowany."
+msgid "Font size of the default font in point (pt)."
+msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font size"
-msgstr "Rozmiar czcionki"
+msgid "Font size of the fallback font in point (pt)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font size of the monospace font in point (pt)."
+msgstr ""
#: src/settings_translation_file.cpp
#, fuzzy
@@ -3214,10 +3241,6 @@ msgid "GUI scaling filter txr2img"
msgstr "Filtr skalowania GUI txr2img"
#: src/settings_translation_file.cpp
-msgid "Gamma"
-msgstr "Gamma"
-
-#: src/settings_translation_file.cpp
msgid "Generate normalmaps"
msgstr "Generuj mapy normalnych"
@@ -3241,11 +3264,17 @@ msgstr ""
"Flagi rozpoczynające się od \"no\" są stosowane aby jawnie ją wyłączyć."
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at maximum light level."
+#, fuzzy
+msgid ""
+"Gradient of light curve at maximum light level.\n"
+"Controls the contrast of the highest light levels."
msgstr "Gradient krzywej światła w maksymalnej pozycji."
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at minimum light level."
+#, fuzzy
+msgid ""
+"Gradient of light curve at minimum light level.\n"
+"Controls the contrast of the lowest light levels."
msgstr "Gradient krzywej światła w minimalnej pozycji."
#: src/settings_translation_file.cpp
@@ -3279,8 +3308,9 @@ msgid "HUD toggle key"
msgstr "Klawisz przełączania HUD"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Handling for deprecated lua api calls:\n"
+"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)."
@@ -3563,6 +3593,13 @@ msgstr "Jak głębokie robić rzeki"
#: src/settings_translation_file.cpp
msgid ""
+"How fast liquid waves will move. Higher = faster.\n"
+"If negative, liquid waves will move backwards.\n"
+"Requires waving liquids to be enabled."
+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 ""
@@ -3595,10 +3632,6 @@ msgid "IPv6 server"
msgstr "Serwer IPv6"
#: src/settings_translation_file.cpp
-msgid "IPv6 support."
-msgstr "Wsparcie IPv6."
-
-#: 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."
@@ -3808,6 +3841,16 @@ msgid "Invert vertical mouse movement."
msgstr "Odwróć pionowy ruch myszy."
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Italic font path"
+msgstr "Ścieżka czcionki typu Monospace"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Italic monospace font path"
+msgstr "Ścieżka czcionki typu Monospace"
+
+#: src/settings_translation_file.cpp
msgid "Item entity TTL"
msgstr "TTL przedmiotu"
@@ -4671,13 +4714,20 @@ msgid "Large cave depth"
msgstr "Głębia dużej jaskini"
#: src/settings_translation_file.cpp
-msgid "Large chat console key"
-msgstr "Klawisz wielkiej konsoli"
+msgid "Large cave maximum number"
+msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
-msgid "Lava depth"
-msgstr "Głębia dużej jaskini"
+msgid "Large cave minimum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large cave proportion flooded"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large chat console key"
+msgstr "Klawisz wielkiej konsoli"
#: src/settings_translation_file.cpp
msgid "Leaves style"
@@ -4711,6 +4761,15 @@ msgstr ""
#: src/settings_translation_file.cpp
#, fuzzy
+msgid ""
+"Length of liquid waves.\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+"Ustawienie wartości pozytywnej włącza drganie liści.\n"
+"Do włączenia wymagane są shadery."
+
+#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Length of time between Active Block Modifier (ABM) execution cycles"
msgstr "Długość czasu pomiędzy wykonywanymi cyklami ABM"
@@ -4745,21 +4804,34 @@ msgstr ""
"- verbose"
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost"
+#, fuzzy
+msgid "Light curve boost"
msgstr "Przyśpieszenie środkowe krzywej światła"
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost center"
+#, fuzzy
+msgid "Light curve boost center"
msgstr "Centrum środkowego przyśpieszenia krzywej światła"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Light curve mid boost spread"
+msgid "Light curve boost spread"
msgstr "Rozrzut przyśpieszenia środkowego krzywej światła"
#: src/settings_translation_file.cpp
-msgid "Lightness sharpness"
-msgstr "Ostrość naświetlenia"
+#, fuzzy
+msgid "Light curve gamma"
+msgstr "Przyśpieszenie środkowe krzywej światła"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Light curve high gradient"
+msgstr "Przyśpieszenie środkowe krzywej światła"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Light curve low gradient"
+msgstr "Centrum środkowego przyśpieszenia krzywej światła"
#: src/settings_translation_file.cpp
msgid "Limit of emerge queues on disk"
@@ -4879,19 +4951,21 @@ msgid "Map generation attributes specific to Mapgen Carpathian."
msgstr "Właściwości generowania mapy określające Mapgen Carpathian."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Map generation attributes specific to Mapgen 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."
+"Map generation attributes specific to Mapgen Flat.\n"
+"Occasional lakes and hills can be added to the flat world."
msgstr ""
+"Specyficzne cechy dla Mapgen płaskiego terenu.\n"
+"Do płaskiego świata mogą być dodane przypadkowe jeziora i wzgórza.\n"
+"Oznakowania nie będące określonymi w ciągu oznakowań nie są zmieniane z "
+"domyślnych.\n"
+"Oznakowania zaczynające się od 'no' używane są do ich blokowania."
#: src/settings_translation_file.cpp
#, fuzzy
msgid ""
-"Map generation attributes specific to Mapgen flat.\n"
+"Map generation attributes specific to Mapgen Fractal.\n"
"'terrain' enables the generation of non-fractal terrain:\n"
"ocean, islands and underground."
msgstr ""
@@ -4899,16 +4973,14 @@ msgstr ""
"\"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."
+"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 ""
-"Specyficzne cechy dla Mapgen płaskiego terenu.\n"
-"Do płaskiego świata mogą być dodane przypadkowe jeziora i wzgórza.\n"
-"Oznakowania nie będące określonymi w ciągu oznakowań nie są zmieniane z "
-"domyślnych.\n"
-"Oznakowania zaczynające się od 'no' używane są do ich blokowania."
#: src/settings_translation_file.cpp
#, fuzzy
@@ -5084,9 +5156,17 @@ msgid "Maximum hotbar width"
msgstr "Maksymalna długość hotbar"
#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of large caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
#, fuzzy
msgid ""
-"Maximum liquid resistence. Controls deceleration when entering liquid at\n"
+"Maximum liquid resistance. Controls deceleration when entering liquid at\n"
"high speed."
msgstr ""
"Maksymalny opór cieczy. Wpływa na spowolnienie przy wejściu w ciecz \n"
@@ -5227,6 +5307,15 @@ msgstr "Wysokość skanowania minimapy"
#: src/settings_translation_file.cpp
#, fuzzy
+msgid "Minimum limit of random number of large caves per mapchunk."
+msgstr "Szum 3D, który wpływa na liczbę lochów na jeden mapchunk."
+
+#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Minimum texture size"
msgstr "Minimalna wielkość tekstury dla filtrów"
@@ -5322,7 +5411,7 @@ msgstr ""
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Near clipping plane"
+msgid "Near plane"
msgstr "Najbliższy wymiar"
#: src/settings_translation_file.cpp
@@ -5416,6 +5505,16 @@ msgstr "Nieprzeźroczyste ciecze"
#: src/settings_translation_file.cpp
msgid ""
+"Opaqueness (alpha) of the shadow behind the default font, between 0 and 255."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Opaqueness (alpha) of the shadow behind the fallback font, between 0 and 255."
+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."
@@ -5457,8 +5556,13 @@ msgid "Parallax occlusion strength"
msgstr "Siła zamknięcia paralaksy"
#: src/settings_translation_file.cpp
-msgid "Path to TrueTypeFont or bitmap."
-msgstr "Ścieżka do pliku .ttf lub bitmapy."
+msgid ""
+"Path of the fallback font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font will be used for certain languages or if the default font is "
+"unavailable."
+msgstr ""
#: src/settings_translation_file.cpp
msgid "Path to save screenshots at."
@@ -5479,6 +5583,22 @@ msgstr ""
"wyszukiwane z tej lokalizacji."
#: src/settings_translation_file.cpp
+msgid ""
+"Path to the default font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"The fallback font will be used if the font cannot be loaded."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Path to the monospace font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font is used for e.g. the console and profiler screen."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Pause on lost window focus"
msgstr "Pauza, gdy okno jest nieaktywne"
@@ -5568,6 +5688,10 @@ msgid "Profiling"
msgstr "Profilowanie modyfikacji"
#: src/settings_translation_file.cpp
+msgid "Proportion of large caves that contain liquid."
+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 "
@@ -5594,6 +5718,11 @@ msgid "Recent Chat Messages"
msgstr "Najnowsze wiadomości czatu"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Regular font path"
+msgstr "Ścieżka raportu"
+
+#: src/settings_translation_file.cpp
msgid "Remote media"
msgstr "Zdalne media"
@@ -5804,26 +5933,27 @@ msgid "Selection box width"
msgstr "Długość zaznaczenia"
#: src/settings_translation_file.cpp
+#, fuzzy
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."
+"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 ""
"Wybór 18 fraktali z 9 formuł.\n"
"1 = 4D \"Roundy\" zbiór Mandelbrota .\n"
@@ -5895,27 +6025,30 @@ msgstr ""
"Ustaw maksymalny ciąg znaków wiadomości czatu wysyłanych przez klientów."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Set to true enables waving leaves.\n"
+"Set to true to enable waving leaves.\n"
"Requires shaders to be enabled."
msgstr ""
"Ustawienie wartości pozytywnej włącza drganie liści.\n"
"Do włączenia wymagane są shadery."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Set to true enables waving plants.\n"
+"Set to true to enable waving liquids (like water).\n"
"Requires shaders to be enabled."
msgstr ""
-"Ustawienie pozytywnej wartości włącza falowanie roślin.\n"
+"Ustawienie wartości pozytywnej włącza falowanie wody.\n"
"Wymaga shaderów."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Set to true enables waving water.\n"
+"Set to true to enable waving plants.\n"
"Requires shaders to be enabled."
msgstr ""
-"Ustawienie wartości pozytywnej włącza falowanie wody.\n"
+"Ustawienie pozytywnej wartości włącza falowanie roślin.\n"
"Wymaga shaderów."
#: src/settings_translation_file.cpp
@@ -5934,8 +6067,18 @@ msgstr ""
"Działa tylko na grafice OpenGL ."
#: src/settings_translation_file.cpp
-msgid "Shadow limit"
-msgstr "Limit cieni"
+#, fuzzy
+msgid ""
+"Shadow offset (in pixels) of the default font. If 0, then shadow will not be "
+"drawn."
+msgstr "Offset cienia czcionki, jeżeli 0 to cień nie będzie rysowany."
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid ""
+"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not "
+"be drawn."
+msgstr "Offset cienia czcionki, jeżeli 0 to cień nie będzie rysowany."
#: src/settings_translation_file.cpp
msgid "Shape of the minimap. Enabled = round, disabled = square."
@@ -5982,6 +6125,14 @@ 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
+msgid "Small cave maximum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Small cave minimum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Small-scale humidity variation for blending biomes on borders."
msgstr "Zmienność małej skali wilgotności mieszania biomów granicznych."
@@ -6054,8 +6205,9 @@ msgstr ""
#: src/settings_translation_file.cpp
#, fuzzy
msgid ""
-"Spread of light curve mid-boost.\n"
-"Standard deviation of the mid-boost gaussian."
+"Spread of light curve boost range.\n"
+"Controls the width of the range to be boosted.\n"
+"Standard deviation of the light curve boost Gaussian."
msgstr ""
"Rozrzut przyśpieszenia środkowego krzywej światła.\n"
"Standardowe zniekształcenie gaussowego przyśpieszenia środkowego."
@@ -6083,8 +6235,11 @@ msgid "Strength of generated normalmaps."
msgstr "Siła generowanych zwykłych map."
#: src/settings_translation_file.cpp
-msgid "Strength of light curve mid-boost."
-msgstr "Siłą przyśpieszenia środkowego krzywej światła."
+msgid ""
+"Strength of light curve boost.\n"
+"The 3 'boost' parameters define a range of the light\n"
+"curve that is boosted in brightness."
+msgstr ""
#: src/settings_translation_file.cpp
msgid "Strength of parallax."
@@ -6200,6 +6355,15 @@ msgstr ""
"Długość w pikselach wymagana do wejścia w interakcję z ekranem dotykowym."
#: src/settings_translation_file.cpp
+msgid ""
+"The maximum height of the surface of waving liquids.\n"
+"4.0 = Wave height is two nodes.\n"
+"0.0 = Wave doesn't move at all.\n"
+"Default is 1.0 (1/2 node).\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "The network interface that the server listens on."
msgstr "Interfejs sieciowy używany na serwerze."
@@ -6295,10 +6459,6 @@ msgstr ""
"górskich."
#: src/settings_translation_file.cpp
-msgid "This font will be used for certain languages."
-msgstr "Ta czcionka zostanie użyta w niektórych językach."
-
-#: src/settings_translation_file.cpp
msgid ""
"Time in seconds for item entity (dropped items) to live.\n"
"Setting it to -1 disables the feature."
@@ -6356,10 +6516,11 @@ msgid "Trilinear filtering"
msgstr "Filtrowanie trójliniowe"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
"True = 256\n"
"False = 128\n"
-"Useable to make minimap smoother on slower machines."
+"Usable to make minimap smoother on slower machines."
msgstr ""
"True= 256\n"
"False= 128\n"
@@ -6370,13 +6531,6 @@ msgid "Trusted mods"
msgstr "Zaufane mody"
#: src/settings_translation_file.cpp
-msgid ""
-"Typical maximum height, above and below midpoint, of floatland mountains."
-msgstr ""
-"Maksymalna, standardowa wysokość, powyżej lub poniżej średniego punktu "
-"górzystego terenu."
-
-#: src/settings_translation_file.cpp
msgid "URL to the server list displayed in the Multiplayer Tab."
msgstr "Adres URL wyświetlany na liście serwerów w Zakładce Gry Wieloosobowej."
@@ -6470,12 +6624,6 @@ msgid "Variation of biome filler depth."
msgstr "Zmienność głębokości wypełnienia biomu."
#: src/settings_translation_file.cpp
-msgid "Variation of hill height and lake depth on floatland smooth terrain."
-msgstr ""
-"Zmienność wysokości wzgórz oraz głębokości jezior na gładkim terenie "
-"wznoszÄ…cym siÄ™."
-
-#: src/settings_translation_file.cpp
msgid "Variation of maximum mountain height (in nodes)."
msgstr "Zmienność maksymalnej wysokość gór (podana w blokach)."
@@ -6556,6 +6704,15 @@ msgstr "Głośność"
#: src/settings_translation_file.cpp
#, fuzzy
msgid ""
+"Volume of all sounds.\n"
+"Requires the sound system to be enabled."
+msgstr ""
+"WÅ‚Ä…cza mapowanie paralaksy.\n"
+"Wymaga włączenia shaderów."
+
+#: 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"
"Alters the shape of the fractal.\n"
@@ -6600,29 +6757,30 @@ msgid "Waving leaves"
msgstr "Falujące liście"
#: src/settings_translation_file.cpp
-msgid "Waving plants"
-msgstr "Falujące rośliny"
-
-#: src/settings_translation_file.cpp
-msgid "Waving water"
-msgstr "FalujÄ…ca woda"
+#, fuzzy
+msgid "Waving liquids"
+msgstr "FalujÄ…ce bloki"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wave height"
+msgid "Waving liquids wave height"
msgstr "Wysokość fal wodnych"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wave speed"
+msgid "Waving liquids wave speed"
msgstr "Szybkość fal wodnych"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wavelength"
+msgid "Waving liquids wavelength"
msgstr "Długość fal wodnych"
#: src/settings_translation_file.cpp
+msgid "Waving plants"
+msgstr "Falujące rośliny"
+
+#: 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"
@@ -6674,7 +6832,9 @@ msgstr ""
#: src/settings_translation_file.cpp
#, fuzzy
msgid ""
-"Whether FreeType fonts are used, requires FreeType support to be compiled in."
+"Whether FreeType fonts are used, requires FreeType support to be compiled "
+"in.\n"
+"If disabled, bitmap and XML vectors fonts are used instead."
msgstr ""
"Kiedy tylko czcionki wolnego typu są używane wymagana jest ich kompilacja "
"wspierajÄ…ca takie czcionki."
@@ -6709,6 +6869,14 @@ msgstr "Określ brak widoczności mgły."
#: src/settings_translation_file.cpp
msgid ""
+"Whether to mute sounds. You can unmute sounds at any time, unless the\n"
+"sound system is disabled (enable_sound=false).\n"
+"In-game, you can toggle the mute state with the mute key or by using the\n"
+"pause menu."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
"Whether to show the client debug info (has the same effect as hitting F5)."
msgstr ""
"Wyświetlanie efektów debugowania klienta(klawisz F5 ma tą samą funkcję)."
@@ -6788,11 +6956,6 @@ msgid "Y-level of cavern upper limit."
msgstr "Limit wysokości jaskiń."
#: src/settings_translation_file.cpp
-msgid "Y-level of floatland midpoint and lake surface."
-msgstr ""
-"Wysokość średniego punktu wznoszącego się terenu oraz powierzchni jezior."
-
-#: src/settings_translation_file.cpp
msgid "Y-level of higher terrain that creates cliffs."
msgstr "Wysokość terenu górzystego tworzącego klify."
@@ -6805,10 +6968,6 @@ msgid "Y-level of seabed."
msgstr "Wysokość dna jezior."
#: src/settings_translation_file.cpp
-msgid "Y-level to which floatland shadows extend."
-msgstr "Wysokość do której rozciągają się cienie wznoszącego terenu."
-
-#: src/settings_translation_file.cpp
msgid "cURL file download timeout"
msgstr "cURL przekroczono limit pobierania pliku"
@@ -6820,6 +6979,118 @@ msgstr "Limit równoległy cURL"
msgid "cURL timeout"
msgstr "Limit czasu cURL"
+#~ 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 ""
+#~ "Ustaw kodowanie gamma dla tablic świateł. Wyższe wartości to większa "
+#~ "jasność.\n"
+#~ "To ustawienie jest tylko dla klientów, ignorowane przez serwer."
+
+#~ 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."
+
+#~ msgid "Center of light curve mid-boost."
+#~ msgstr "Centrum przyśpieszenia środkowego krzywej światła."
+
+#~ msgid ""
+#~ "Controls the density of mountain-type floatlands.\n"
+#~ "Is a noise offset added to the 'mgv7_np_mountain' noise value."
+#~ msgstr ""
+#~ "Kontroluje gęstość wznoszącego się terenu górzystego.\n"
+#~ "Jest to wartość dodana do wartość szumu 'np_mountain'."
+
+#~ msgid "Controls width of tunnels, a smaller value creates wider tunnels."
+#~ msgstr ""
+#~ "Kontroluje szerokość tuneli, mniejsze wartości tworzą szersze tunele."
+
+#~ msgid "Darkness sharpness"
+#~ msgstr "Ostrość ciemności"
+
+#~ msgid ""
+#~ "Defines areas of floatland smooth terrain.\n"
+#~ "Smooth floatlands occur when noise > 0."
+#~ msgstr ""
+#~ "Określa obszary wznoszącego się gładkiego terenu.\n"
+#~ "Wygładzone powierzchnie pojawiają się gdy szum > 0."
+
+#~ msgid "Enable VBO"
+#~ msgstr "WÅ‚Ä…cz VBO"
+
+#~ msgid "Enables filmic tone mapping"
+#~ msgstr "WÅ‚Ä…cz filmic tone mapping"
+
+#~ msgid "Floatland base height noise"
+#~ msgstr "Podstawowy szum wysokości wznoszącego się terenu"
+
+#~ msgid "Floatland base noise"
+#~ msgstr "Podstawowy szum wznoszÄ…cego siÄ™ terenu"
+
+#~ msgid "Floatland level"
+#~ msgstr "Poziom wznoszonego terenu"
+
+#~ msgid "Floatland mountain density"
+#~ msgstr "Gęstość gór na latających wyspach"
+
+#, fuzzy
+#~ msgid "Floatland mountain exponent"
+#~ msgstr "Gęstość gór na latających wyspach"
+
+#~ msgid "Floatland mountain height"
+#~ msgstr "Wysokość gór latających wysp"
+
+#~ msgid "Font shadow alpha (opaqueness, between 0 and 255)."
+#~ msgstr "Kanał alfa cienia czcionki (nieprzeźroczystość, od 0 do 255)."
+
+#~ msgid "Gamma"
+#~ msgstr "Gamma"
+
+#~ msgid "IPv6 support."
+#~ msgstr "Wsparcie IPv6."
+
+#, fuzzy
+#~ msgid "Lava depth"
+#~ msgstr "Głębia dużej jaskini"
+
+#~ msgid "Lightness sharpness"
+#~ msgstr "Ostrość naświetlenia"
+
+#~ msgid "Path to TrueTypeFont or bitmap."
+#~ msgstr "Ścieżka do pliku .ttf lub bitmapy."
+
+#~ msgid "Shadow limit"
+#~ msgstr "Limit cieni"
+
+#~ msgid "Strength of light curve mid-boost."
+#~ msgstr "Siłą przyśpieszenia środkowego krzywej światła."
+
+#~ msgid "This font will be used for certain languages."
+#~ msgstr "Ta czcionka zostanie użyta w niektórych językach."
+
+#~ msgid ""
+#~ "Typical maximum height, above and below midpoint, of floatland mountains."
+#~ msgstr ""
+#~ "Maksymalna, standardowa wysokość, powyżej lub poniżej średniego punktu "
+#~ "górzystego terenu."
+
+#~ msgid "Variation of hill height and lake depth on floatland smooth terrain."
+#~ msgstr ""
+#~ "Zmienność wysokości wzgórz oraz głębokości jezior na gładkim terenie "
+#~ "wznoszÄ…cym siÄ™."
+
+#~ msgid "Waving water"
+#~ msgstr "FalujÄ…ca woda"
+
+#~ msgid "Y-level of floatland midpoint and lake surface."
+#~ msgstr ""
+#~ "Wysokość średniego punktu wznoszącego się terenu oraz powierzchni jezior."
+
+#~ msgid "Y-level to which floatland shadows extend."
+#~ msgstr "Wysokość do której rozciągają się cienie wznoszącego terenu."
+
#~ msgid "Projecting dungeons"
#~ msgstr "Projekcja lochów"
diff --git a/po/pt/minetest.po b/po/pt/minetest.po
index 3a1c358f1..69f0e9912 100644
--- a/po/pt/minetest.po
+++ b/po/pt/minetest.po
@@ -2,9 +2,9 @@ msgid ""
msgstr ""
"Project-Id-Version: Portuguese (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-10-09 22:02+0200\n"
-"PO-Revision-Date: 2020-01-11 18:26+0000\n"
-"Last-Translator: rubenwardy <rubenwardy@gmail.com>\n"
+"POT-Creation-Date: 2020-04-03 23:18+0200\n"
+"PO-Revision-Date: 2020-03-31 10:14+0000\n"
+"Last-Translator: ssantos <ssantos@web.de>\n"
"Language-Team: Portuguese <https://hosted.weblate.org/projects/minetest/"
"minetest/pt/>\n"
"Language: pt\n"
@@ -12,7 +12,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
-"X-Generator: Weblate 3.10.1\n"
+"X-Generator: Weblate 4.0-dev\n"
#: builtin/client/death_formspec.lua src/client/game.cpp
msgid "Respawn"
@@ -402,14 +402,25 @@ msgstr "Z"
msgid "Z spread"
msgstr "amplitude Z"
+#. ~ "absvalue" is a noise parameter flag.
+#. It is short for "absolute value".
+#. It can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "absvalue"
msgstr "valor absoluto"
+#. ~ "defaults" is a noise parameter flag.
+#. It describes the default processing options
+#. for noise settings in main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "defaults"
msgstr "Padrões"
+#. ~ "eased" is a noise parameter flag.
+#. It is used to make the map smoother and
+#. can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "eased"
msgstr "amenizado"
@@ -621,6 +632,7 @@ msgstr "Nome / Palavra-passe"
msgid "Ping"
msgstr "Ping"
+#. ~ PvP = Player versus Player
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "PvP enabled"
msgstr "PvP ativado"
@@ -865,6 +877,14 @@ msgstr "Ficheiro de palavra-passe fornecido falhou em abrir : "
msgid "Provided world path doesn't exist: "
msgstr "O caminho fornecido do mundo não existe: "
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string. Put either "no" or "yes"
+#. into the translation field (literally).
+#. Choose "yes" if the language requires use of the fallback
+#. font, "no" otherwise.
+#. The fallback font is (normally) required for languages with
+#. non-Latin script, like Chinese.
+#. When in doubt, test your translation.
#: src/client/fontengine.cpp
msgid "needs_fallback_font"
msgstr "no"
@@ -901,6 +921,7 @@ msgstr "-Porta: "
msgid "- Public: "
msgstr "- Público: "
+#. ~ PvP = Player versus Player
#: src/client/game.cpp
msgid "- PvP: "
msgstr "- PvP: "
@@ -1364,6 +1385,7 @@ msgstr "Shift Esquerdo"
msgid "Left Windows"
msgstr "Tecla WINDOWS esquerda"
+#. ~ Key name, common on Windows keyboards
#: src/client/keycode.cpp
msgid "Menu"
msgstr "Menu"
@@ -1456,6 +1478,7 @@ msgstr "Pausa"
msgid "Play"
msgstr "Jogar"
+#. ~ "Print screen" key
#: src/client/keycode.cpp
msgid "Print"
msgstr "Tecla Print Screen"
@@ -1492,6 +1515,7 @@ msgstr "Tecla WINDOWS direita"
msgid "Scroll Lock"
msgstr "Scroll Lock"
+#. ~ Key name
#: src/client/keycode.cpp
msgid "Select"
msgstr "Seleccionar"
@@ -1732,11 +1756,16 @@ msgstr "Mutado"
msgid "Sound Volume: "
msgstr "Volume do som: "
+#. ~ Imperative, as in "Enter/type in text".
+#. Don't forget the space.
#: src/gui/modalMenu.cpp
msgid "Enter "
msgstr "Enter "
-#: src/network/clientpackethandler.cpp
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string which needs to contain the translation's
+#. language code (e.g. "de" for German).
+#: src/network/clientpackethandler.cpp src/script/lua_api/l_client.cpp
msgid "LANG_CODE"
msgstr "pt"
@@ -1765,18 +1794,19 @@ msgid ""
"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"
+"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 ""
-"(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."
+"(X,Y,Z) compensação de fractal do centro mundial em unidades de 'escala'.\n"
+"Pode ser usado para mover um ponto desejado para (0, 0) para criar um\n"
+"ponto de desova adequado ou para permitir o \"zoom in\" sobre um\n"
+"ponto por aumentar a \"escala\".\n"
+"O padrão é sintonizado para um ponto de desova adequado para Mandelbrot\n"
+"com parâmetros padrão, pode precisar ser alterado em outras\n"
+"situações.\n"
+"Gama aproximadamente -2 a 2. Multiplicar por 'escala' para compensar em nós."
#: src/settings_translation_file.cpp
msgid ""
@@ -1969,24 +1999,22 @@ msgstr ""
"para ecrãs 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 ""
-"Ajustar a gama de codificação para a tabela de claridade. Os números mais "
-"elevados são mais brilhantes.\n"
-"Esta configuração é somente para o cliente e é ignorada pelo servidor."
-
-#: src/settings_translation_file.cpp
msgid "Advanced"
msgstr "Avançado"
#: src/settings_translation_file.cpp
-msgid "Alters how mountain-type floatlands taper above and below midpoint."
+msgid ""
+"Alters the light curve by applying 'gamma correction' to it.\n"
+"Higher values make middle and lower light levels brighter.\n"
+"Value '1.0' leaves the light curve unaltered.\n"
+"This only has significant effect on daylight and artificial\n"
+"light, it has very little effect on natural night light."
msgstr ""
-"Altera como terras flutuantes montanhosas afunilam acima e abaixo do ponto "
-"médio."
+"Altera a curva da luz, aplicando-lhe a 'correção gama'.\n"
+"Valores altos tornam os níveis médios e inferiores de luz mais brilhantes.\n"
+"O valor '1.0' deixa a curva de luz inalterada.\n"
+"Isto só tem um efeito significativo sobre a luz do dia e a luz artificial,\n"
+"tem muito pouco efeito na luz natural da noite."
#: src/settings_translation_file.cpp
msgid "Altitude chill"
@@ -2144,6 +2172,22 @@ msgid "Block send optimize distance"
msgstr "Distância otimizada de envio de bloco"
#: src/settings_translation_file.cpp
+msgid "Bold and italic font path"
+msgstr "Caminho de fonte para negrito e itálico"
+
+#: src/settings_translation_file.cpp
+msgid "Bold and italic monospace font path"
+msgstr "Caminho de fonte monoespacial negrito e itálico"
+
+#: src/settings_translation_file.cpp
+msgid "Bold font path"
+msgstr "Caminho da fonte negrito"
+
+#: src/settings_translation_file.cpp
+msgid "Bold monospace font path"
+msgstr "Caminho de fonte monoespaçada"
+
+#: src/settings_translation_file.cpp
msgid "Build inside player"
msgstr "Construir com o jogador dentro do cubo"
@@ -2156,9 +2200,10 @@ msgid "Bumpmapping"
msgstr "Bump mapping"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Camera 'near clipping plane' distance in nodes, between 0 and 0.5.\n"
-"Most users will not need to change this.\n"
+"Camera 'near clipping plane' distance in nodes, between 0 and 0.25\n"
+"Only works on GLES platforms. 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 ""
@@ -2224,8 +2269,12 @@ msgid "Cavern upper limit"
msgstr "Limite do topo da caverna"
#: src/settings_translation_file.cpp
-msgid "Center of light curve mid-boost."
-msgstr "Centro do aumento da curva de luz."
+msgid ""
+"Center of light curve boost range.\n"
+"Where 0.0 is minimum light level, 1.0 is maximum light level."
+msgstr ""
+"Faixa de aumento do centro da curva de luz.\n"
+"0,0 é o nível mínimo de luz, 1,0 é o nível máximo de luz."
#: src/settings_translation_file.cpp
msgid ""
@@ -2444,15 +2493,13 @@ msgstr "Controla a inclinação/altura das colinas."
#: 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."
+"Controls width of tunnels, a smaller value creates wider tunnels.\n"
+"Value >= 10.0 completely disables generation of tunnels and avoids the\n"
+"intensive noise calculations."
msgstr ""
-"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."
-msgstr "Controla a largura dos túneis, um valor menor cria túneis maiores."
+"Controla a largura de túneis, um valor mais baixo cria túneis mais largos.\n"
+"Valores >= 10,0 desativam completamente a geração de túneis e evitam\n"
+"cálculos intensos de ruído."
#: src/settings_translation_file.cpp
msgid "Crash message"
@@ -2487,10 +2534,6 @@ msgid "Damage"
msgstr "Ativar dano"
#: src/settings_translation_file.cpp
-msgid "Darkness sharpness"
-msgstr "Nitidez da escuridão"
-
-#: src/settings_translation_file.cpp
msgid "Debug info toggle key"
msgstr "Tecla para alternar modo de depuração"
@@ -2507,7 +2550,8 @@ msgid "Dec. volume key"
msgstr "Tecla de dimin. de som"
#: src/settings_translation_file.cpp
-msgid "Decrease this to increase liquid resistence to movement."
+#, fuzzy
+msgid "Decrease this to increase liquid resistance to movement."
msgstr "Diminue isto para aumentar a resistência do líquido ao movimento."
#: src/settings_translation_file.cpp
@@ -2551,14 +2595,6 @@ msgstr ""
"Só tem efeito se compilado com cURL."
#: src/settings_translation_file.cpp
-msgid ""
-"Defines areas of floatland smooth terrain.\n"
-"Smooth floatlands occur when noise > 0."
-msgstr ""
-"Define áreas de terra flutuante em terreno suavizado.\n"
-"Terrenos suavizados ocorrem quando o ruído é menor que zero."
-
-#: src/settings_translation_file.cpp
msgid "Defines areas where trees have apples."
msgstr "Define áreas onde árvores têm maçãs."
@@ -2646,15 +2682,6 @@ msgid "Deprecated Lua API handling"
msgstr "Tratamento de API Lua obsoleto"
#: 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 ""
-"Depreciar, definir e localizar líquidos de cavernas usando definições de "
-"biomas.\n"
-"Y do limite superior de lava em grandes cavernas."
-
-#: src/settings_translation_file.cpp
msgid "Depth below which you'll find giant caverns."
msgstr "Profundidade em que você encontrará cavernas gigantes."
@@ -2732,6 +2759,14 @@ msgstr "Ruído de masmorra"
#: src/settings_translation_file.cpp
msgid ""
+"Enable IPv6 support (for both client and server).\n"
+"Required for IPv6 connections to work at all."
+msgstr ""
+"Ativar suporte de IPv6 (tanto para cliente como para servidor).\n"
+"Necessário para que conexões de IPv6 funcionem."
+
+#: src/settings_translation_file.cpp
+msgid ""
"Enable Lua modding support on client.\n"
"This support is experimental and API can change."
msgstr ""
@@ -2739,10 +2774,6 @@ msgstr ""
"Esse suporte é experimental e a API pode mudar."
#: src/settings_translation_file.cpp
-msgid "Enable VBO"
-msgstr "Ativar VBO"
-
-#: src/settings_translation_file.cpp
msgid "Enable console window"
msgstr "Habilitar janela de console"
@@ -2818,6 +2849,14 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Enable vertex buffer objects.\n"
+"This should greatly improve graphics performance."
+msgstr ""
+"Ativar os objectos buffer de vértice.\n"
+"Isto deve melhorar muito o desempenho gráfico."
+
+#: 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 ""
@@ -2825,14 +2864,30 @@ 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."
+"Ignored if bind_address is set.\n"
+"Needs enable_ipv6 to be enabled."
msgstr ""
"Habilitar/desabilitar a execução de um IPv6 do servidor. \n"
"Ignorado se bind_address estiver definido."
#: src/settings_translation_file.cpp
+msgid ""
+"Enables Hable's 'Uncharted 2' filmic tone mapping.\n"
+"Simulates the tone curve of photographic film and how this approximates the\n"
+"appearance of high dynamic range images. Mid-range contrast is slightly\n"
+"enhanced, highlights and shadows are gradually compressed."
+msgstr ""
+"Permite o mapeamento de tom de filme 'Uncharted 2' de Hable.\n"
+"Simula a curva de tonalidade do filme fotográfico e como esta se aproxima "
+"da\n"
+"aparência de imagens de alta gama dinâmica. O contraste de gama média é "
+"ligeiramente\n"
+"melhorada, os destaques e as sombras são gradualmente comprimidos."
+
+#: src/settings_translation_file.cpp
msgid "Enables animation of inventory items."
msgstr "Ativa animação de itens no inventário."
@@ -2853,10 +2908,6 @@ msgid "Enables caching of facedir rotated meshes."
msgstr "Ativar armazenamento em cache para os meshes das faces."
#: src/settings_translation_file.cpp
-msgid "Enables filmic tone mapping"
-msgstr "Ativa mapeamento de tons fílmico"
-
-#: src/settings_translation_file.cpp
msgid "Enables minimap."
msgstr "Ativa mini-mapa."
@@ -2877,6 +2928,18 @@ msgstr ""
"Requer sombreadores ativados."
#: src/settings_translation_file.cpp
+msgid ""
+"Enables the sound system.\n"
+"If disabled, this completely disables all sounds everywhere and the in-game\n"
+"sound controls will be non-functional.\n"
+"Changing this setting requires a restart."
+msgstr ""
+"Possibilita o sistema de som.\n"
+"Se desativado, desativa completamente todos os sons em todo o lado e \n"
+"os controles de som no jogo não funcionarão.\n"
+"A alteração desta configuração requer um reinício."
+
+#: src/settings_translation_file.cpp
msgid "Engine profiling data print interval"
msgstr "Intervalo de exibição dos dados das analizes do motor"
@@ -2909,7 +2972,8 @@ msgid "Fall bobbing factor"
msgstr "Cair balançando"
#: src/settings_translation_file.cpp
-msgid "Fallback font"
+#, fuzzy
+msgid "Fallback font path"
msgstr "Fonte alternativa"
#: src/settings_translation_file.cpp
@@ -3011,30 +3075,6 @@ msgid "Fixed virtual joystick"
msgstr "Joystick virtual fixo"
#: src/settings_translation_file.cpp
-msgid "Floatland base height noise"
-msgstr "Altura base de ruído de terra flutuante"
-
-#: src/settings_translation_file.cpp
-msgid "Floatland base noise"
-msgstr "Ruído base de terra flutuante"
-
-#: src/settings_translation_file.cpp
-msgid "Floatland level"
-msgstr "Nível de água"
-
-#: src/settings_translation_file.cpp
-msgid "Floatland mountain density"
-msgstr "Densidade da terra flutuante montanhosa"
-
-#: src/settings_translation_file.cpp
-msgid "Floatland mountain exponent"
-msgstr "Expoente de terras flutuantes montanhosas"
-
-#: src/settings_translation_file.cpp
-msgid "Floatland mountain height"
-msgstr "Altura da terra flutuante montanhosa"
-
-#: src/settings_translation_file.cpp
msgid "Fly key"
msgstr "Tecla de voar"
@@ -3055,8 +3095,12 @@ msgid "Fog toggle key"
msgstr "Tecla de ativar/desativar nevoeiro"
#: src/settings_translation_file.cpp
-msgid "Font path"
-msgstr "Caminho para ficheiro fonte"
+msgid "Font bold by default"
+msgstr "Fonte em negrito por predefinição"
+
+#: src/settings_translation_file.cpp
+msgid "Font italic by default"
+msgstr "Fonte em itálico por predefinição"
#: src/settings_translation_file.cpp
msgid "Font shadow"
@@ -3067,16 +3111,20 @@ msgid "Font shadow alpha"
msgstr "Opacidade da sombra da fonte"
#: src/settings_translation_file.cpp
-msgid "Font shadow alpha (opaqueness, between 0 and 255)."
-msgstr "Opacidade da sombra da fonte (entre 0 e 255)."
+msgid "Font size"
+msgstr "Tamanho da fonte"
#: src/settings_translation_file.cpp
-msgid "Font shadow offset, if 0 then shadow will not be drawn."
-msgstr "Fonte de compensador de sombra, se 0 então sombra não será desenhada."
+msgid "Font size of the default font in point (pt)."
+msgstr "Tamanho da fonte predefinida em pontos (pt)."
#: src/settings_translation_file.cpp
-msgid "Font size"
-msgstr "Tamanho da fonte"
+msgid "Font size of the fallback font in point (pt)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font size of the monospace font in point (pt)."
+msgstr ""
#: src/settings_translation_file.cpp
msgid ""
@@ -3198,10 +3246,6 @@ msgid "GUI scaling filter txr2img"
msgstr "Filtro txr2img de redimensionamento do interface gráfico"
#: src/settings_translation_file.cpp
-msgid "Gamma"
-msgstr "Gama"
-
-#: src/settings_translation_file.cpp
msgid "Generate normalmaps"
msgstr "Gerar mapa de normais"
@@ -3222,11 +3266,17 @@ msgstr ""
"todas as decorações."
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at maximum light level."
+#, fuzzy
+msgid ""
+"Gradient of light curve at maximum light level.\n"
+"Controls the contrast of the highest light levels."
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."
+#, fuzzy
+msgid ""
+"Gradient of light curve at minimum light level.\n"
+"Controls the contrast of the lowest light levels."
msgstr "Curva gradiente de iluminação no nível de luz mínimo."
#: src/settings_translation_file.cpp
@@ -3258,8 +3308,9 @@ msgid "HUD toggle key"
msgstr "Tecla de comutação HUD"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Handling for deprecated lua api calls:\n"
+"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)."
@@ -3502,6 +3553,13 @@ msgstr "Quão profundo serão os rios."
#: src/settings_translation_file.cpp
msgid ""
+"How fast liquid waves will move. Higher = faster.\n"
+"If negative, liquid waves will move backwards.\n"
+"Requires waving liquids to be enabled."
+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 ""
@@ -3534,10 +3592,6 @@ msgid "IPv6 server"
msgstr "Servidor IPv6"
#: src/settings_translation_file.cpp
-msgid "IPv6 support."
-msgstr "Suporte IPv6."
-
-#: 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."
@@ -3756,6 +3810,16 @@ msgid "Invert vertical mouse movement."
msgstr "Inverte o movimento vertical do rato."
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Italic font path"
+msgstr "Caminho de fonte monoespaçada"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Italic monospace font path"
+msgstr "Caminho de fonte monoespaçada"
+
+#: src/settings_translation_file.cpp
msgid "Item entity TTL"
msgstr "Tempo de vida de itens largados"
@@ -4582,12 +4646,20 @@ msgid "Large cave depth"
msgstr "Profundidade de cavernas grandes"
#: src/settings_translation_file.cpp
-msgid "Large chat console key"
-msgstr "Tecla da consola"
+msgid "Large cave maximum number"
+msgstr ""
#: src/settings_translation_file.cpp
-msgid "Lava depth"
-msgstr "Profundidade da lava"
+msgid "Large cave minimum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large cave proportion flooded"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large chat console key"
+msgstr "Tecla da consola"
#: src/settings_translation_file.cpp
msgid "Leaves style"
@@ -4619,6 +4691,15 @@ msgstr ""
"geralmente atualizados em rede."
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid ""
+"Length of liquid waves.\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+"Com o valor TRUE, folhas ondulantes são ativadas.\n"
+"Necessita de shaders para estar ativo."
+
+#: src/settings_translation_file.cpp
msgid "Length of time between Active Block Modifier (ABM) execution cycles"
msgstr "Período de tempo entre os ciclos de execução de ABMs"
@@ -4651,20 +4732,34 @@ msgstr ""
"- verbose"
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost"
+#, fuzzy
+msgid "Light curve boost"
msgstr "Aumento leve da curva de luz"
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost center"
+#, fuzzy
+msgid "Light curve boost center"
msgstr "Centro do aumento leve da curva de luz"
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost spread"
+#, fuzzy
+msgid "Light curve boost spread"
msgstr "Extensão do aumento leve da curva de luz"
#: src/settings_translation_file.cpp
-msgid "Lightness sharpness"
-msgstr "Nitidez da iluminação"
+#, fuzzy
+msgid "Light curve gamma"
+msgstr "Aumento leve da curva de luz"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Light curve high gradient"
+msgstr "Aumento leve da curva de luz"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Light curve low gradient"
+msgstr "Centro do aumento leve da curva de luz"
#: src/settings_translation_file.cpp
msgid "Limit of emerge queues on disk"
@@ -4781,24 +4876,18 @@ msgid "Map generation attributes specific to Mapgen Carpathian."
msgstr "Atributos de geração de mapa específicos ao gerador Carpathian."
#: src/settings_translation_file.cpp
+#, fuzzy
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."
+"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 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."
+"Atributos de geração de mapas específicos para o gerador de mundo plano.\n"
+"Lagos e colinas ocasionalmente podem ser adicionados ao mundo plano."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Map generation attributes specific to Mapgen flat.\n"
+"Map generation attributes specific to Mapgen Fractal.\n"
"'terrain' enables the generation of non-fractal terrain:\n"
"ocean, islands and underground."
msgstr ""
@@ -4808,11 +4897,19 @@ 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."
+"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 ""
-"Atributos de geração de mapas específicos para o gerador de mundo plano.\n"
-"Lagos e colinas ocasionalmente podem ser adicionados ao mundo plano."
+"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
msgid "Map generation attributes specific to Mapgen v5."
@@ -4970,8 +5067,17 @@ msgid "Maximum hotbar width"
msgstr "Largura máxima da hotbar"
#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of large caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Maximum liquid resistence. Controls deceleration when entering liquid at\n"
+"Maximum liquid resistance. Controls deceleration when entering liquid at\n"
"high speed."
msgstr ""
"Resistência máxima do líquido. Controla a desaceleração ao entrar no líquido "
@@ -5118,6 +5224,15 @@ msgid "Minimap scan height"
msgstr "Altura de varredura do mini-mapa"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Minimum limit of random number of large caves per mapchunk."
+msgstr "Ruído 3D que determina o número de masmorras por mapchunk."
+
+#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Minimum texture size"
msgstr "Tamanho mínimo da textura"
@@ -5216,7 +5331,8 @@ msgstr ""
"servidores."
#: src/settings_translation_file.cpp
-msgid "Near clipping plane"
+#, fuzzy
+msgid "Near plane"
msgstr "Plano de corte próximo"
#: src/settings_translation_file.cpp
@@ -5325,6 +5441,16 @@ msgstr "Líquidos Opacos"
#: src/settings_translation_file.cpp
msgid ""
+"Opaqueness (alpha) of the shadow behind the default font, between 0 and 255."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Opaqueness (alpha) of the shadow behind the fallback font, between 0 and 255."
+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."
@@ -5365,8 +5491,13 @@ msgid "Parallax occlusion strength"
msgstr "Força da oclusão paralaxe"
#: src/settings_translation_file.cpp
-msgid "Path to TrueTypeFont or bitmap."
-msgstr "Caminho para TrueTypeFont ou bitmap."
+msgid ""
+"Path of the fallback font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font will be used for certain languages or if the default font is "
+"unavailable."
+msgstr ""
#: src/settings_translation_file.cpp
msgid "Path to save screenshots at."
@@ -5387,6 +5518,22 @@ msgstr ""
"primeiro daqui."
#: src/settings_translation_file.cpp
+msgid ""
+"Path to the default font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"The fallback font will be used if the font cannot be loaded."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Path to the monospace font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font is used for e.g. the console and profiler screen."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Pause on lost window focus"
msgstr "Pausa quando o foco da janela é perdido"
@@ -5469,6 +5616,10 @@ msgid "Profiling"
msgstr "Analizando"
#: src/settings_translation_file.cpp
+msgid "Proportion of large caves that contain liquid."
+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 "
@@ -5494,6 +5645,11 @@ msgid "Recent Chat Messages"
msgstr "Mensagens de chat recentes"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Regular font path"
+msgstr "Diretório para logs"
+
+#: src/settings_translation_file.cpp
msgid "Remote media"
msgstr "Mídia remota"
@@ -5705,26 +5861,27 @@ 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"
-"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."
+"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 ""
"Escolha um dos 18 tipos de fractais.\n"
"1 = Conjunto de mandelbrot \"Roundy\" 4D.\n"
@@ -5797,28 +5954,31 @@ msgstr ""
"clientes."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Set to true enables waving leaves.\n"
+"Set to true to enable waving leaves.\n"
"Requires shaders to be enabled."
msgstr ""
"Com o valor TRUE, folhas ondulantes são ativadas.\n"
"Necessita de shaders para estar ativo."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Set to true enables waving plants.\n"
+"Set to true to enable waving liquids (like water).\n"
"Requires shaders to be enabled."
msgstr ""
-"Definido como true permite balanço de plantas.\n"
-"Requer sombreadores serem ativados."
+"Definido como true permite ondulação da água.\n"
+"Requer sombreadores seres ativados."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Set to true enables waving water.\n"
+"Set to true to enable waving plants.\n"
"Requires shaders to be enabled."
msgstr ""
-"Definido como true permite ondulação da água.\n"
-"Requer sombreadores seres ativados."
+"Definido como true permite balanço de plantas.\n"
+"Requer sombreadores serem ativados."
#: src/settings_translation_file.cpp
msgid "Shader path"
@@ -5836,8 +5996,18 @@ msgstr ""
"Só funcionam com o modo de vídeo OpenGL."
#: src/settings_translation_file.cpp
-msgid "Shadow limit"
-msgstr "Limite de mapblock"
+#, fuzzy
+msgid ""
+"Shadow offset (in pixels) of the default font. If 0, then shadow will not be "
+"drawn."
+msgstr "Fonte de compensador de sombra, se 0 então sombra não será desenhada."
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid ""
+"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not "
+"be drawn."
+msgstr "Fonte de compensador de sombra, se 0 então sombra não será desenhada."
#: src/settings_translation_file.cpp
msgid "Shape of the minimap. Enabled = round, disabled = square."
@@ -5889,6 +6059,14 @@ msgid "Slope and fill work together to modify the heights."
msgstr "Inclinação e preenchimento trabalham juntos para modificar as alturas."
#: src/settings_translation_file.cpp
+msgid "Small cave maximum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Small cave minimum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Small-scale humidity variation for blending biomes on borders."
msgstr ""
"Variação de umidade em pequena escala para misturar biomas nas fronteiras."
@@ -5957,9 +6135,11 @@ msgstr ""
"Arquivos que não estão presentes serão obtidos da maneira usual por UDP."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Spread of light curve mid-boost.\n"
-"Standard deviation of the mid-boost gaussian."
+"Spread of light curve boost range.\n"
+"Controls the width of the range to be boosted.\n"
+"Standard deviation of the light curve boost Gaussian."
msgstr ""
"Extensão do aumento médio da curva da luz.\n"
"Desvio padrão do aumento médio gaussiano."
@@ -5985,8 +6165,11 @@ msgid "Strength of generated normalmaps."
msgstr "Intensidade de normalmaps gerados."
#: src/settings_translation_file.cpp
-msgid "Strength of light curve mid-boost."
-msgstr "Força do aumento médio da curva de luz."
+msgid ""
+"Strength of light curve boost.\n"
+"The 3 'boost' parameters define a range of the light\n"
+"curve that is boosted in brightness."
+msgstr ""
#: src/settings_translation_file.cpp
msgid "Strength of parallax."
@@ -6106,6 +6289,15 @@ msgstr ""
"A largura em pixels necessária para interação de tela de toque começar."
#: src/settings_translation_file.cpp
+msgid ""
+"The maximum height of the surface of waving liquids.\n"
+"4.0 = Wave height is two nodes.\n"
+"0.0 = Wave doesn't move at all.\n"
+"Default is 1.0 (1/2 node).\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "The network interface that the server listens on."
msgstr "A interface de rede no qual o servidor escuta (aguarda conexão)."
@@ -6220,10 +6412,6 @@ 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."
-msgstr "Esta fonte será usada para determinados idiomas."
-
-#: src/settings_translation_file.cpp
msgid ""
"Time in seconds for item entity (dropped items) to live.\n"
"Setting it to -1 disables the feature."
@@ -6281,10 +6469,11 @@ msgid "Trilinear filtering"
msgstr "Filtro tri-linear"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
"True = 256\n"
"False = 128\n"
-"Useable to make minimap smoother on slower machines."
+"Usable to make minimap smoother on slower machines."
msgstr ""
"True = 256\n"
"False = 128\n"
@@ -6295,13 +6484,6 @@ msgid "Trusted mods"
msgstr "Modulos confiáveis"
#: src/settings_translation_file.cpp
-msgid ""
-"Typical maximum height, above and below midpoint, of floatland mountains."
-msgstr ""
-"Altura máxima típica, acima e abaixo do ponto médio, do terreno da montanha "
-"flutuante."
-
-#: src/settings_translation_file.cpp
msgid "URL to the server list displayed in the Multiplayer Tab."
msgstr "URL da lista de servidores exibida no separador multi-jogador."
@@ -6396,12 +6578,6 @@ msgid "Variation of biome filler depth."
msgstr "Variação da profundidade de preenchimento do bioma."
#: src/settings_translation_file.cpp
-msgid "Variation of hill height and lake depth on floatland smooth terrain."
-msgstr ""
-"Variação da altura da colina e profundidade do lago no terreno liso da Terra "
-"Flutuante."
-
-#: src/settings_translation_file.cpp
msgid "Variation of maximum mountain height (in nodes)."
msgstr "Variação da altura máxima da montanha (nos nós)."
@@ -6479,6 +6655,15 @@ msgid "Volume"
msgstr "Volume do som"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid ""
+"Volume of all sounds.\n"
+"Requires the sound system to be enabled."
+msgstr ""
+"Ativa mapeamento de oclusão de paralaxe.\n"
+"Requer sombreadores ativados."
+
+#: 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"
@@ -6521,26 +6706,30 @@ msgid "Waving leaves"
msgstr "Folhas ondulantes"
#: src/settings_translation_file.cpp
-msgid "Waving plants"
-msgstr "Balançar das Plantas"
-
-#: src/settings_translation_file.cpp
-msgid "Waving water"
-msgstr "Balançar das Ondas"
+#, fuzzy
+msgid "Waving liquids"
+msgstr "Líquidos ondulantes"
#: src/settings_translation_file.cpp
-msgid "Waving water wave height"
+#, fuzzy
+msgid "Waving liquids wave height"
msgstr "Altura da onda de água ondulante"
#: src/settings_translation_file.cpp
-msgid "Waving water wave speed"
+#, fuzzy
+msgid "Waving liquids wave speed"
msgstr "Velocidade da onda de água ondulante"
#: src/settings_translation_file.cpp
-msgid "Waving water wavelength"
+#, fuzzy
+msgid "Waving liquids wavelength"
msgstr "Comprimento de onda da água de ondulação"
#: src/settings_translation_file.cpp
+msgid "Waving plants"
+msgstr "Balançar das Plantas"
+
+#: 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"
@@ -6588,8 +6777,11 @@ msgstr ""
"texturas."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Whether FreeType fonts are used, requires FreeType support to be compiled in."
+"Whether FreeType fonts are used, requires FreeType support to be compiled "
+"in.\n"
+"If disabled, bitmap and XML vectors fonts are used instead."
msgstr ""
"Se forem utilizadas fontes freetype, requer suporte a freetype para ser "
"compilado."
@@ -6629,6 +6821,14 @@ msgstr "Se for usar névoa no fim da área visível."
#: src/settings_translation_file.cpp
msgid ""
+"Whether to mute sounds. You can unmute sounds at any time, unless the\n"
+"sound system is disabled (enable_sound=false).\n"
+"In-game, you can toggle the mute state with the mute key or by using the\n"
+"pause menu."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
"Whether to show the client debug info (has the same effect as hitting F5)."
msgstr ""
"Se deve mostrar ao cliente informação de depuração (tem o mesmo efeito que "
@@ -6714,11 +6914,6 @@ msgid "Y-level of cavern upper limit."
msgstr "Nível em Y do limite superior da caverna."
#: src/settings_translation_file.cpp
-msgid "Y-level of floatland midpoint and lake surface."
-msgstr ""
-"Nível em Y do ponto médio da montanha flutuante e da superfície do lago."
-
-#: src/settings_translation_file.cpp
msgid "Y-level of higher terrain that creates cliffs."
msgstr "Nível Y de terreno que cria penhascos."
@@ -6731,10 +6926,6 @@ msgid "Y-level of seabed."
msgstr "Nível Y do fundo do mar."
#: src/settings_translation_file.cpp
-msgid "Y-level to which floatland shadows extend."
-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 descarregamento de ficheiro via cURL"
@@ -6746,6 +6937,124 @@ msgstr "limite paralelo de cURL"
msgid "cURL timeout"
msgstr "Tempo limite de cURL"
+#~ 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 ""
+#~ "Ajustar a gama de codificação para a tabela de claridade. Os números mais "
+#~ "elevados são mais brilhantes.\n"
+#~ "Esta configuração é somente para o cliente e é ignorada pelo servidor."
+
+#~ 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."
+
+#~ msgid "Center of light curve mid-boost."
+#~ msgstr "Centro do aumento da curva de luz."
+
+#~ 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 'mgv7_np_mountain'."
+
+#~ msgid "Controls width of tunnels, a smaller value creates wider tunnels."
+#~ msgstr "Controla a largura dos túneis, um valor menor cria túneis maiores."
+
+#~ msgid "Darkness sharpness"
+#~ msgstr "Nitidez da escuridão"
+
+#~ msgid ""
+#~ "Defines areas of floatland smooth terrain.\n"
+#~ "Smooth floatlands occur when noise > 0."
+#~ msgstr ""
+#~ "Define áreas de terra flutuante em terreno suavizado.\n"
+#~ "Terrenos suavizados ocorrem quando o ruído é menor que zero."
+
+#~ msgid ""
+#~ "Deprecated, define and locate cave liquids using biome definitions "
+#~ "instead.\n"
+#~ "Y of upper limit of lava in large caves."
+#~ msgstr ""
+#~ "Depreciar, definir e localizar líquidos de cavernas usando definições de "
+#~ "biomas.\n"
+#~ "Y do limite superior de lava em grandes cavernas."
+
+#~ msgid "Enable VBO"
+#~ msgstr "Ativar VBO"
+
+#~ msgid "Enables filmic tone mapping"
+#~ msgstr "Ativa mapeamento de tons fílmico"
+
+#~ msgid "Floatland base height noise"
+#~ msgstr "Altura base de ruído de terra flutuante"
+
+#~ msgid "Floatland base noise"
+#~ msgstr "Ruído base de terra flutuante"
+
+#~ msgid "Floatland level"
+#~ msgstr "Nível de água"
+
+#~ msgid "Floatland mountain density"
+#~ msgstr "Densidade da terra flutuante montanhosa"
+
+#~ msgid "Floatland mountain exponent"
+#~ msgstr "Expoente de terras flutuantes montanhosas"
+
+#~ msgid "Floatland mountain height"
+#~ msgstr "Altura da terra flutuante montanhosa"
+
+#~ msgid "Font shadow alpha (opaqueness, between 0 and 255)."
+#~ msgstr "Opacidade da sombra da fonte (entre 0 e 255)."
+
+#~ msgid "Gamma"
+#~ msgstr "Gama"
+
+#~ msgid "IPv6 support."
+#~ msgstr "Suporte IPv6."
+
+#~ msgid "Lava depth"
+#~ msgstr "Profundidade da lava"
+
+#~ msgid "Lightness sharpness"
+#~ msgstr "Nitidez da iluminação"
+
+#~ msgid "Path to TrueTypeFont or bitmap."
+#~ msgstr "Caminho para TrueTypeFont ou bitmap."
+
+#~ msgid "Shadow limit"
+#~ msgstr "Limite de mapblock"
+
+#~ msgid "Strength of light curve mid-boost."
+#~ msgstr "Força do aumento médio da curva de luz."
+
+#~ msgid "This font will be used for certain languages."
+#~ msgstr "Esta fonte será usada para determinados idiomas."
+
+#~ msgid ""
+#~ "Typical maximum height, above and below midpoint, of floatland mountains."
+#~ msgstr ""
+#~ "Altura máxima típica, acima e abaixo do ponto médio, do terreno da "
+#~ "montanha flutuante."
+
+#~ msgid "Variation of hill height and lake depth on floatland smooth terrain."
+#~ msgstr ""
+#~ "Variação da altura da colina e profundidade do lago no terreno liso da "
+#~ "Terra Flutuante."
+
+#~ msgid "Waving water"
+#~ msgstr "Balançar das Ondas"
+
+#~ msgid "Y-level of floatland midpoint and lake surface."
+#~ msgstr ""
+#~ "Nível em Y do ponto médio da montanha flutuante e da superfície do lago."
+
+#~ msgid "Y-level to which floatland shadows extend."
+#~ msgstr "Nível Y para o qual as sombras de ilhas flutuantes se estendem."
+
#~ msgid "Projecting dungeons"
#~ msgstr "Projetando dungeons"
diff --git a/po/pt_BR/minetest.po b/po/pt_BR/minetest.po
index 28062c769..460c51886 100644
--- a/po/pt_BR/minetest.po
+++ b/po/pt_BR/minetest.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Portuguese (Brazil) (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-10-09 22:02+0200\n"
+"POT-Creation-Date: 2020-04-03 23:18+0200\n"
"PO-Revision-Date: 2019-12-11 13:36+0000\n"
"Last-Translator: ramon.venson <ramon.venson@gmail.com>\n"
"Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects/"
@@ -404,14 +404,25 @@ msgstr "Z"
msgid "Z spread"
msgstr "amplitude Z"
+#. ~ "absvalue" is a noise parameter flag.
+#. It is short for "absolute value".
+#. It can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "absvalue"
msgstr "valor absoluto"
+#. ~ "defaults" is a noise parameter flag.
+#. It describes the default processing options
+#. for noise settings in main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "defaults"
msgstr "Padrões"
+#. ~ "eased" is a noise parameter flag.
+#. It is used to make the map smoother and
+#. can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "eased"
msgstr "amenizado"
@@ -623,6 +634,7 @@ msgstr "Nome / Senha"
msgid "Ping"
msgstr "Ping"
+#. ~ PvP = Player versus Player
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "PvP enabled"
msgstr "PvP habilitado"
@@ -869,6 +881,14 @@ msgstr "Arquivo de senha fornecido falhou em abrir : "
msgid "Provided world path doesn't exist: "
msgstr "O caminho do mundo providenciado não existe. "
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string. Put either "no" or "yes"
+#. into the translation field (literally).
+#. Choose "yes" if the language requires use of the fallback
+#. font, "no" otherwise.
+#. The fallback font is (normally) required for languages with
+#. non-Latin script, like Chinese.
+#. When in doubt, test your translation.
#: src/client/fontengine.cpp
msgid "needs_fallback_font"
msgstr "no"
@@ -905,6 +925,7 @@ msgstr "-Porta: "
msgid "- Public: "
msgstr "- Público: "
+#. ~ PvP = Player versus Player
#: src/client/game.cpp
msgid "- PvP: "
msgstr "- PvP: "
@@ -1368,6 +1389,7 @@ msgstr "Shift esquerdo"
msgid "Left Windows"
msgstr "Windows esquerdo"
+#. ~ Key name, common on Windows keyboards
#: src/client/keycode.cpp
msgid "Menu"
msgstr "Menu"
@@ -1460,6 +1482,7 @@ msgstr "Pausar"
msgid "Play"
msgstr "Jogar"
+#. ~ "Print screen" key
#: src/client/keycode.cpp
msgid "Print"
msgstr "Print Screen"
@@ -1496,6 +1519,7 @@ msgstr "Windows direito"
msgid "Scroll Lock"
msgstr "Scroll Lock"
+#. ~ Key name
#: src/client/keycode.cpp
msgid "Select"
msgstr "Tecla Select"
@@ -1738,11 +1762,16 @@ msgstr "Mutado"
msgid "Sound Volume: "
msgstr "Volume do som: "
+#. ~ Imperative, as in "Enter/type in text".
+#. Don't forget the space.
#: src/gui/modalMenu.cpp
msgid "Enter "
msgstr "Entrar "
-#: src/network/clientpackethandler.cpp
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string which needs to contain the translation's
+#. language code (e.g. "de" for German).
+#: src/network/clientpackethandler.cpp src/script/lua_api/l_client.cpp
msgid "LANG_CODE"
msgstr "pt_BR"
@@ -1766,12 +1795,13 @@ msgstr ""
"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"
"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"
+"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."
@@ -1976,24 +2006,17 @@ msgstr ""
"quem não usa X11/Android) Ex para telas 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 ""
-"Ajustar a gama de codificação para a tabela de claridade. Os números mais "
-"elevados são mais brilhantes.\n"
-"Esta configuração é somente para o cliente e é ignorada pelo servidor."
-
-#: src/settings_translation_file.cpp
msgid "Advanced"
msgstr "Avançado"
#: src/settings_translation_file.cpp
-msgid "Alters how mountain-type floatlands taper above and below midpoint."
+msgid ""
+"Alters the light curve by applying 'gamma correction' to it.\n"
+"Higher values make middle and lower light levels brighter.\n"
+"Value '1.0' leaves the light curve unaltered.\n"
+"This only has significant effect on daylight and artificial\n"
+"light, it has very little effect on natural night light."
msgstr ""
-"Altera como terras flutuantes montanhosas afunilam acima e abaixo do ponto "
-"médio."
#: src/settings_translation_file.cpp
msgid "Altitude chill"
@@ -2153,6 +2176,26 @@ msgid "Block send optimize distance"
msgstr "Distância otimizada de envio de bloco"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Bold and italic font path"
+msgstr "Caminho de fonte monoespaçada"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Bold and italic monospace font path"
+msgstr "Caminho de fonte monoespaçada"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Bold font path"
+msgstr "Caminho da fonte"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Bold monospace font path"
+msgstr "Caminho de fonte monoespaçada"
+
+#: src/settings_translation_file.cpp
msgid "Build inside player"
msgstr "Construir com o jogador dentro do bloco"
@@ -2167,8 +2210,8 @@ msgstr "Bump mapping"
#: src/settings_translation_file.cpp
#, fuzzy
msgid ""
-"Camera 'near clipping plane' distance in nodes, between 0 and 0.5.\n"
-"Most users will not need to change this.\n"
+"Camera 'near clipping plane' distance in nodes, between 0 and 0.25\n"
+"Only works on GLES platforms. 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 ""
@@ -2234,8 +2277,10 @@ msgid "Cavern upper limit"
msgstr "Limite do topo da caverna"
#: src/settings_translation_file.cpp
-msgid "Center of light curve mid-boost."
-msgstr "Centro do aumento da curva de luz."
+msgid ""
+"Center of light curve boost range.\n"
+"Where 0.0 is minimum light level, 1.0 is maximum light level."
+msgstr ""
#: src/settings_translation_file.cpp
msgid ""
@@ -2454,15 +2499,10 @@ msgstr "Controla o esparsamento/altura das colinas."
#: 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."
+"Controls width of tunnels, a smaller value creates wider tunnels.\n"
+"Value >= 10.0 completely disables generation of tunnels and avoids the\n"
+"intensive noise calculations."
msgstr ""
-"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."
-msgstr "Controla a largura dos túneis, um valor menor cria túneis mais largos."
#: src/settings_translation_file.cpp
msgid "Crash message"
@@ -2497,10 +2537,6 @@ msgid "Damage"
msgstr "Dano"
#: src/settings_translation_file.cpp
-msgid "Darkness sharpness"
-msgstr "Nitidez da escuridão"
-
-#: src/settings_translation_file.cpp
msgid "Debug info toggle key"
msgstr "Tecla para alternar modo de Depuração"
@@ -2517,7 +2553,7 @@ msgid "Dec. volume key"
msgstr "Tecla de abaixar volume"
#: src/settings_translation_file.cpp
-msgid "Decrease this to increase liquid resistence to movement."
+msgid "Decrease this to increase liquid resistance to movement."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2561,14 +2597,6 @@ msgstr ""
"Só tem efeito se compilado com cURL."
#: src/settings_translation_file.cpp
-msgid ""
-"Defines areas of floatland smooth terrain.\n"
-"Smooth floatlands occur when noise > 0."
-msgstr ""
-"Define áreas de Ilha Flutuante em terreno suavizado.\n"
-"Terrenos suavizados ocorrem quando o ruído é menor que zero."
-
-#: src/settings_translation_file.cpp
msgid "Defines areas where trees have apples."
msgstr "Define áreas onde na árvores têm maçãs."
@@ -2658,12 +2686,6 @@ msgid "Deprecated Lua API handling"
msgstr "Tratamento de API Lua rejeitada"
#: 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 "Profundidade em que você encontrará cavernas gigantes."
@@ -2743,6 +2765,12 @@ msgstr "Y mínimo da dungeon"
#: src/settings_translation_file.cpp
msgid ""
+"Enable IPv6 support (for both client and server).\n"
+"Required for IPv6 connections to work at all."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
"Enable Lua modding support on client.\n"
"This support is experimental and API can change."
msgstr ""
@@ -2750,10 +2778,6 @@ msgstr ""
"Esse suporte é experimental e a API pode mudar."
#: src/settings_translation_file.cpp
-msgid "Enable VBO"
-msgstr "Habilitar VBO"
-
-#: src/settings_translation_file.cpp
msgid "Enable console window"
msgstr "Habilitar janela de console"
@@ -2829,6 +2853,12 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Enable vertex buffer objects.\n"
+"This should greatly improve graphics performance."
+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 ""
@@ -2836,14 +2866,24 @@ 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."
+"Ignored if bind_address is set.\n"
+"Needs enable_ipv6 to be enabled."
msgstr ""
"Habilitar/desabilitar a execução de um IPv6 do servidor. \n"
"Ignorado se bind_address estiver definido."
#: src/settings_translation_file.cpp
+msgid ""
+"Enables Hable's 'Uncharted 2' filmic tone mapping.\n"
+"Simulates the tone curve of photographic film and how this approximates the\n"
+"appearance of high dynamic range images. Mid-range contrast is slightly\n"
+"enhanced, highlights and shadows are gradually compressed."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Enables animation of inventory items."
msgstr "Habilita itens animados no inventário."
@@ -2864,10 +2904,6 @@ msgid "Enables caching of facedir rotated meshes."
msgstr "Ativar armazenamento em cache de direção de face girada das malhas."
#: src/settings_translation_file.cpp
-msgid "Enables filmic tone mapping"
-msgstr "Habilitar efeito \"filmic tone mapping\""
-
-#: src/settings_translation_file.cpp
msgid "Enables minimap."
msgstr "Habilitar minimapa."
@@ -2888,6 +2924,14 @@ msgstr ""
"Requer shaders a serem ativados."
#: src/settings_translation_file.cpp
+msgid ""
+"Enables the sound system.\n"
+"If disabled, this completely disables all sounds everywhere and the in-game\n"
+"sound controls will be non-functional.\n"
+"Changing this setting requires a restart."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Engine profiling data print interval"
msgstr "Intervalo de exibição dos dados das analizes do motor"
@@ -2920,7 +2964,8 @@ msgid "Fall bobbing factor"
msgstr "Fator de balanço em queda"
#: src/settings_translation_file.cpp
-msgid "Fallback font"
+#, fuzzy
+msgid "Fallback font path"
msgstr "Fonte Alternativa"
#: src/settings_translation_file.cpp
@@ -3022,30 +3067,6 @@ msgid "Fixed virtual joystick"
msgstr "Joystick virtual fixo"
#: src/settings_translation_file.cpp
-msgid "Floatland base height noise"
-msgstr "Altura base de ruído de Ilha Flutuante"
-
-#: src/settings_translation_file.cpp
-msgid "Floatland base noise"
-msgstr "Ruído base de Ilha Flutuante"
-
-#: src/settings_translation_file.cpp
-msgid "Floatland level"
-msgstr "Nível de água"
-
-#: src/settings_translation_file.cpp
-msgid "Floatland mountain density"
-msgstr "Densidade da Ilha Flutuante montanhosa"
-
-#: src/settings_translation_file.cpp
-msgid "Floatland mountain exponent"
-msgstr "Expoente de terras flutuantes montanhosas"
-
-#: src/settings_translation_file.cpp
-msgid "Floatland mountain height"
-msgstr "Altura da Ilha Flutuante montanhosa"
-
-#: src/settings_translation_file.cpp
msgid "Fly key"
msgstr "Tecla de voar"
@@ -3066,8 +3087,12 @@ msgid "Fog toggle key"
msgstr "Tecla de comutação de névoa"
#: src/settings_translation_file.cpp
-msgid "Font path"
-msgstr "Caminho da fonte"
+msgid "Font bold by default"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font italic by default"
+msgstr ""
#: src/settings_translation_file.cpp
msgid "Font shadow"
@@ -3078,16 +3103,20 @@ msgid "Font shadow alpha"
msgstr "Fonte alpha de sombra"
#: src/settings_translation_file.cpp
-msgid "Font shadow alpha (opaqueness, between 0 and 255)."
-msgstr "Fonte alpha de sombra (opacidade, entre 0 e 255)."
+msgid "Font size"
+msgstr "Tamanho da fonte"
+
+#: src/settings_translation_file.cpp
+msgid "Font size of the default font in point (pt)."
+msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font shadow offset, if 0 then shadow will not be drawn."
-msgstr "Fonte de compensador de sombra, se 0 então sombra não será desenhada."
+msgid "Font size of the fallback font in point (pt)."
+msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font size"
-msgstr "Tamanho da fonte"
+msgid "Font size of the monospace font in point (pt)."
+msgstr ""
#: src/settings_translation_file.cpp
msgid ""
@@ -3207,10 +3236,6 @@ msgid "GUI scaling filter txr2img"
msgstr "Filtro txr2img de escala da GUI"
#: src/settings_translation_file.cpp
-msgid "Gamma"
-msgstr "Gama"
-
-#: src/settings_translation_file.cpp
msgid "Generate normalmaps"
msgstr "Gerar mapa de normais"
@@ -3231,11 +3256,17 @@ msgstr ""
"todas as decorações."
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at maximum light level."
+#, fuzzy
+msgid ""
+"Gradient of light curve at maximum light level.\n"
+"Controls the contrast of the highest light levels."
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."
+#, fuzzy
+msgid ""
+"Gradient of light curve at minimum light level.\n"
+"Controls the contrast of the lowest light levels."
msgstr "Curva gradiente de iluminação no nível de luz mínimo."
#: src/settings_translation_file.cpp
@@ -3267,8 +3298,9 @@ msgid "HUD toggle key"
msgstr "Tecla de comutação HUD"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Handling for deprecated lua api calls:\n"
+"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)."
@@ -3507,6 +3539,13 @@ msgstr "Quão profundo serão os rios."
#: src/settings_translation_file.cpp
msgid ""
+"How fast liquid waves will move. Higher = faster.\n"
+"If negative, liquid waves will move backwards.\n"
+"Requires waving liquids to be enabled."
+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 ""
@@ -3538,10 +3577,6 @@ msgid "IPv6 server"
msgstr "Servidor de IPv6"
#: src/settings_translation_file.cpp
-msgid "IPv6 support."
-msgstr "Suporte a IPv6."
-
-#: 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."
@@ -3754,6 +3789,16 @@ msgid "Invert vertical mouse movement."
msgstr "Inverta o movimento vertical do mouse."
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Italic font path"
+msgstr "Caminho de fonte monoespaçada"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Italic monospace font path"
+msgstr "Caminho de fonte monoespaçada"
+
+#: src/settings_translation_file.cpp
msgid "Item entity TTL"
msgstr "Entidade item TTL"
@@ -4581,12 +4626,20 @@ msgid "Large cave depth"
msgstr "Profundidade de cavernas grandes"
#: src/settings_translation_file.cpp
-msgid "Large chat console key"
-msgstr "Tecla do console"
+msgid "Large cave maximum number"
+msgstr ""
#: src/settings_translation_file.cpp
-msgid "Lava depth"
-msgstr "Profundidade da lava"
+msgid "Large cave minimum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large cave proportion flooded"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large chat console key"
+msgstr "Tecla do console"
#: src/settings_translation_file.cpp
msgid "Leaves style"
@@ -4618,6 +4671,15 @@ msgstr ""
"geralmente atualizados em rede."
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid ""
+"Length of liquid waves.\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+"Definido como true habilita balanço folhas.\n"
+"Requer sombreadores serem ativados."
+
+#: src/settings_translation_file.cpp
msgid "Length of time between Active Block Modifier (ABM) execution cycles"
msgstr "Período de tempo entre os ciclos de execução de ABMs"
@@ -4650,20 +4712,34 @@ msgstr ""
"- verbose"
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost"
+#, fuzzy
+msgid "Light curve boost"
msgstr "Aumento leve da curva de luz"
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost center"
+#, fuzzy
+msgid "Light curve boost center"
msgstr "Centro do aumento leve da curva de luz"
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost spread"
+#, fuzzy
+msgid "Light curve boost spread"
msgstr "Extensão do aumento leve da curva de luz"
#: src/settings_translation_file.cpp
-msgid "Lightness sharpness"
-msgstr "Nitidez da iluminação"
+#, fuzzy
+msgid "Light curve gamma"
+msgstr "Aumento leve da curva de luz"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Light curve high gradient"
+msgstr "Aumento leve da curva de luz"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Light curve low gradient"
+msgstr "Centro do aumento leve da curva de luz"
#: src/settings_translation_file.cpp
msgid "Limit of emerge queues on disk"
@@ -4781,25 +4857,18 @@ msgid "Map generation attributes specific to Mapgen Carpathian."
msgstr "Atributos de geração de mapa específicos ao gerador Carpathian."
#: src/settings_translation_file.cpp
+#, fuzzy
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."
+"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 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."
+"Atributos de geração de mapas específicos para o gerador de mundo plano.\n"
+"Lagos e colinas ocasionalmente podem ser adicionados ao mundo plano."
#: src/settings_translation_file.cpp
#, fuzzy
msgid ""
-"Map generation attributes specific to Mapgen flat.\n"
+"Map generation attributes specific to Mapgen Fractal.\n"
"'terrain' enables the generation of non-fractal terrain:\n"
"ocean, islands and underground."
msgstr ""
@@ -4808,11 +4877,19 @@ 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."
+"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 ""
-"Atributos de geração de mapas específicos para o gerador de mundo plano.\n"
-"Lagos e colinas ocasionalmente podem ser adicionados ao mundo plano."
+"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
msgid "Map generation attributes specific to Mapgen v5."
@@ -4971,8 +5048,16 @@ msgid "Maximum hotbar width"
msgstr "Largura máxima da hotbar"
#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of large caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
-"Maximum liquid resistence. Controls deceleration when entering liquid at\n"
+"Maximum liquid resistance. Controls deceleration when entering liquid at\n"
"high speed."
msgstr ""
@@ -5116,6 +5201,15 @@ msgid "Minimap scan height"
msgstr "Altura de escaneamento do minimapa"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Minimum limit of random number of large caves per mapchunk."
+msgstr "Ruído 3D que determina o número de cavernas por pedaço de mapa."
+
+#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Minimum texture size"
msgstr "Tamanho mínimo da textura"
@@ -5218,7 +5312,7 @@ msgstr ""
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Near clipping plane"
+msgid "Near plane"
msgstr "plano próximo"
#: src/settings_translation_file.cpp
@@ -5323,6 +5417,16 @@ msgstr "Líquidos Opacos"
#: src/settings_translation_file.cpp
msgid ""
+"Opaqueness (alpha) of the shadow behind the default font, between 0 and 255."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Opaqueness (alpha) of the shadow behind the fallback font, between 0 and 255."
+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."
@@ -5363,8 +5467,13 @@ msgid "Parallax occlusion strength"
msgstr "Insinsidade de oclusão de paralaxe"
#: src/settings_translation_file.cpp
-msgid "Path to TrueTypeFont or bitmap."
-msgstr "Caminho para TrueTypeFont ou bitmap."
+msgid ""
+"Path of the fallback font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font will be used for certain languages or if the default font is "
+"unavailable."
+msgstr ""
#: src/settings_translation_file.cpp
msgid "Path to save screenshots at."
@@ -5385,6 +5494,22 @@ msgstr ""
"primeiro daqui."
#: src/settings_translation_file.cpp
+msgid ""
+"Path to the default font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"The fallback font will be used if the font cannot be loaded."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Path to the monospace font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font is used for e.g. the console and profiler screen."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Pause on lost window focus"
msgstr "Pausa quando o foco da janela é perdido"
@@ -5467,6 +5592,10 @@ msgid "Profiling"
msgstr "Analizando"
#: src/settings_translation_file.cpp
+msgid "Proportion of large caves that contain liquid."
+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 "
@@ -5493,6 +5622,11 @@ msgid "Recent Chat Messages"
msgstr "Mensagens de chat recentes"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Regular font path"
+msgstr "Diretorio de reporte"
+
+#: src/settings_translation_file.cpp
msgid "Remote media"
msgstr "Mídia remota"
@@ -5707,26 +5841,27 @@ 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"
-"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."
+"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 ""
"Escolha um dos 18 tipos de fractais.\n"
"1 = Conjunto de mandelbrot \"Roundy\" 4D.\n"
@@ -5799,28 +5934,31 @@ msgstr ""
"clientes."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Set to true enables waving leaves.\n"
+"Set to true to enable waving leaves.\n"
"Requires shaders to be enabled."
msgstr ""
"Definido como true habilita balanço folhas.\n"
"Requer sombreadores serem ativados."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Set to true enables waving plants.\n"
+"Set to true to enable waving liquids (like water).\n"
"Requires shaders to be enabled."
msgstr ""
-"Definido como true permite balanço de plantas.\n"
-"Requer sombreadores serem ativados."
+"Definido como true permite ondulação da água.\n"
+"Requer sombreadores seres ativados."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Set to true enables waving water.\n"
+"Set to true to enable waving plants.\n"
"Requires shaders to be enabled."
msgstr ""
-"Definido como true permite ondulação da água.\n"
-"Requer sombreadores seres ativados."
+"Definido como true permite balanço de plantas.\n"
+"Requer sombreadores serem ativados."
#: src/settings_translation_file.cpp
msgid "Shader path"
@@ -5838,8 +5976,18 @@ msgstr ""
"Só funcionam com o modo de vídeo OpenGL."
#: src/settings_translation_file.cpp
-msgid "Shadow limit"
-msgstr "Limite de mapblock"
+#, fuzzy
+msgid ""
+"Shadow offset (in pixels) of the default font. If 0, then shadow will not be "
+"drawn."
+msgstr "Fonte de compensador de sombra, se 0 então sombra não será desenhada."
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid ""
+"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not "
+"be drawn."
+msgstr "Fonte de compensador de sombra, se 0 então sombra não será desenhada."
#: src/settings_translation_file.cpp
msgid "Shape of the minimap. Enabled = round, disabled = square."
@@ -5891,6 +6039,14 @@ msgid "Slope and fill work together to modify the heights."
msgstr "Inclinação e preenchimento trabalham juntos para modificar as alturas."
#: src/settings_translation_file.cpp
+msgid "Small cave maximum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Small cave minimum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Small-scale humidity variation for blending biomes on borders."
msgstr ""
"Variação de umidade em pequena escala para misturar biomas nas fronteiras."
@@ -5959,9 +6115,11 @@ msgstr ""
"Arquivos que não estão presentes serão obtidos da maneira usual por UDP."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Spread of light curve mid-boost.\n"
-"Standard deviation of the mid-boost gaussian."
+"Spread of light curve boost range.\n"
+"Controls the width of the range to be boosted.\n"
+"Standard deviation of the light curve boost Gaussian."
msgstr ""
"Extensão do aumento médio da curva da luz.\n"
"Desvio padrão do aumento médio gaussiano."
@@ -5987,8 +6145,11 @@ msgid "Strength of generated normalmaps."
msgstr "Intensidade de normalmaps gerados."
#: src/settings_translation_file.cpp
-msgid "Strength of light curve mid-boost."
-msgstr "Força do aumento médio da curva de luz."
+msgid ""
+"Strength of light curve boost.\n"
+"The 3 'boost' parameters define a range of the light\n"
+"curve that is boosted in brightness."
+msgstr ""
#: src/settings_translation_file.cpp
msgid "Strength of parallax."
@@ -6108,6 +6269,15 @@ msgstr ""
"A largura em pixels necessária para interação de tela de toque começar."
#: src/settings_translation_file.cpp
+msgid ""
+"The maximum height of the surface of waving liquids.\n"
+"4.0 = Wave height is two nodes.\n"
+"0.0 = Wave doesn't move at all.\n"
+"Default is 1.0 (1/2 node).\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "The network interface that the server listens on."
msgstr "A interface de rede no qual o servidor escuta (aguarda conexão)."
@@ -6222,10 +6392,6 @@ 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."
-msgstr "Esta fonte será usada para determinados idiomas."
-
-#: src/settings_translation_file.cpp
msgid ""
"Time in seconds for item entity (dropped items) to live.\n"
"Setting it to -1 disables the feature."
@@ -6284,10 +6450,11 @@ msgid "Trilinear filtering"
msgstr "Filtragem tri-linear"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
"True = 256\n"
"False = 128\n"
-"Useable to make minimap smoother on slower machines."
+"Usable to make minimap smoother on slower machines."
msgstr ""
"True = 256\n"
"False = 128\n"
@@ -6298,13 +6465,6 @@ msgid "Trusted mods"
msgstr "Modulos confiáveis"
#: src/settings_translation_file.cpp
-msgid ""
-"Typical maximum height, above and below midpoint, of floatland mountains."
-msgstr ""
-"Altura máxima típica, acima e abaixo do ponto médio, do terreno da montanha "
-"flutuante."
-
-#: src/settings_translation_file.cpp
msgid "URL to the server list displayed in the Multiplayer Tab."
msgstr "URL para a lista de servidores exibida na guia Multiplayer."
@@ -6398,12 +6558,6 @@ msgid "Variation of biome filler depth."
msgstr "Variação da profundidade de preenchimento do bioma."
#: src/settings_translation_file.cpp
-msgid "Variation of hill height and lake depth on floatland smooth terrain."
-msgstr ""
-"Variação da altura da colina e profundidade do lago no terreno liso da Terra "
-"Flutuante."
-
-#: src/settings_translation_file.cpp
msgid "Variation of maximum mountain height (in nodes)."
msgstr "Variação da altura máxima da montanha (nos nós)."
@@ -6483,6 +6637,15 @@ msgid "Volume"
msgstr "Volume do som"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid ""
+"Volume of all sounds.\n"
+"Requires the sound system to be enabled."
+msgstr ""
+"Ativar mapeamento de oclusão de paralaxe.\n"
+"Requer shaders a serem ativados."
+
+#: 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"
@@ -6524,29 +6687,30 @@ msgid "Waving leaves"
msgstr "Balanço das árvores"
#: src/settings_translation_file.cpp
-msgid "Waving plants"
-msgstr "Balanço das plantas"
-
-#: src/settings_translation_file.cpp
-msgid "Waving water"
-msgstr "Balanço da água"
+#, fuzzy
+msgid "Waving liquids"
+msgstr "Nós que balancam"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wave height"
+msgid "Waving liquids wave height"
msgstr "Altura de balanço da água"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wave speed"
+msgid "Waving liquids wave speed"
msgstr "Velocidade de balanço da água"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wavelength"
+msgid "Waving liquids wavelength"
msgstr "Comprimento de balanço da água"
#: src/settings_translation_file.cpp
+msgid "Waving plants"
+msgstr "Balanço das plantas"
+
+#: 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"
@@ -6594,8 +6758,11 @@ msgstr ""
"texturas."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Whether FreeType fonts are used, requires FreeType support to be compiled in."
+"Whether FreeType fonts are used, requires FreeType support to be compiled "
+"in.\n"
+"If disabled, bitmap and XML vectors fonts are used instead."
msgstr ""
"Se forem utilizadas fontes freetype, requer suporte a freetype para ser "
"compilado."
@@ -6634,6 +6801,14 @@ msgstr "Se for usar névoa no fim da área visível."
#: src/settings_translation_file.cpp
msgid ""
+"Whether to mute sounds. You can unmute sounds at any time, unless the\n"
+"sound system is disabled (enable_sound=false).\n"
+"In-game, you can toggle the mute state with the mute key or by using the\n"
+"pause menu."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
"Whether to show the client debug info (has the same effect as hitting F5)."
msgstr ""
"Se deseja mostrar informação de depuração ao cliente (tem o mesmo efeito "
@@ -6719,11 +6894,6 @@ msgid "Y-level of cavern upper limit."
msgstr "Nível em Y do limite superior da caverna."
#: src/settings_translation_file.cpp
-msgid "Y-level of floatland midpoint and lake surface."
-msgstr ""
-"Nível em Y do ponto médio da montanha flutuante e da superfície do lago."
-
-#: src/settings_translation_file.cpp
msgid "Y-level of higher terrain that creates cliffs."
msgstr "Nível Y de terreno que cria penhascos."
@@ -6736,10 +6906,6 @@ msgid "Y-level of seabed."
msgstr "Nível Y do fundo do mar."
#: src/settings_translation_file.cpp
-msgid "Y-level to which floatland shadows extend."
-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"
@@ -6751,6 +6917,116 @@ msgstr "limite paralelo de cURL"
msgid "cURL timeout"
msgstr "Tempo limite de cURL"
+#~ 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 ""
+#~ "Ajustar a gama de codificação para a tabela de claridade. Os números mais "
+#~ "elevados são mais brilhantes.\n"
+#~ "Esta configuração é somente para o cliente e é ignorada pelo servidor."
+
+#~ 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."
+
+#~ msgid "Center of light curve mid-boost."
+#~ msgstr "Centro do aumento da curva de luz."
+
+#~ 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 'mgv7_np_mountain'."
+
+#~ msgid "Controls width of tunnels, a smaller value creates wider tunnels."
+#~ msgstr ""
+#~ "Controla a largura dos túneis, um valor menor cria túneis mais largos."
+
+#~ msgid "Darkness sharpness"
+#~ msgstr "Nitidez da escuridão"
+
+#~ msgid ""
+#~ "Defines areas of floatland smooth terrain.\n"
+#~ "Smooth floatlands occur when noise > 0."
+#~ msgstr ""
+#~ "Define áreas de Ilha Flutuante em terreno suavizado.\n"
+#~ "Terrenos suavizados ocorrem quando o ruído é menor que zero."
+
+#~ msgid "Enable VBO"
+#~ msgstr "Habilitar VBO"
+
+#~ msgid "Enables filmic tone mapping"
+#~ msgstr "Habilitar efeito \"filmic tone mapping\""
+
+#~ msgid "Floatland base height noise"
+#~ msgstr "Altura base de ruído de Ilha Flutuante"
+
+#~ msgid "Floatland base noise"
+#~ msgstr "Ruído base de Ilha Flutuante"
+
+#~ msgid "Floatland level"
+#~ msgstr "Nível de água"
+
+#~ msgid "Floatland mountain density"
+#~ msgstr "Densidade da Ilha Flutuante montanhosa"
+
+#~ msgid "Floatland mountain exponent"
+#~ msgstr "Expoente de terras flutuantes montanhosas"
+
+#~ msgid "Floatland mountain height"
+#~ msgstr "Altura da Ilha Flutuante montanhosa"
+
+#~ msgid "Font shadow alpha (opaqueness, between 0 and 255)."
+#~ msgstr "Fonte alpha de sombra (opacidade, entre 0 e 255)."
+
+#~ msgid "Gamma"
+#~ msgstr "Gama"
+
+#~ msgid "IPv6 support."
+#~ msgstr "Suporte a IPv6."
+
+#~ msgid "Lava depth"
+#~ msgstr "Profundidade da lava"
+
+#~ msgid "Lightness sharpness"
+#~ msgstr "Nitidez da iluminação"
+
+#~ msgid "Path to TrueTypeFont or bitmap."
+#~ msgstr "Caminho para TrueTypeFont ou bitmap."
+
+#~ msgid "Shadow limit"
+#~ msgstr "Limite de mapblock"
+
+#~ msgid "Strength of light curve mid-boost."
+#~ msgstr "Força do aumento médio da curva de luz."
+
+#~ msgid "This font will be used for certain languages."
+#~ msgstr "Esta fonte será usada para determinados idiomas."
+
+#~ msgid ""
+#~ "Typical maximum height, above and below midpoint, of floatland mountains."
+#~ msgstr ""
+#~ "Altura máxima típica, acima e abaixo do ponto médio, do terreno da "
+#~ "montanha flutuante."
+
+#~ msgid "Variation of hill height and lake depth on floatland smooth terrain."
+#~ msgstr ""
+#~ "Variação da altura da colina e profundidade do lago no terreno liso da "
+#~ "Terra Flutuante."
+
+#~ msgid "Waving water"
+#~ msgstr "Balanço da água"
+
+#~ msgid "Y-level of floatland midpoint and lake surface."
+#~ msgstr ""
+#~ "Nível em Y do ponto médio da montanha flutuante e da superfície do lago."
+
+#~ msgid "Y-level to which floatland shadows extend."
+#~ msgstr "Nível Y para o qual as sombras de ilhas flutuantes se estendem."
+
#~ msgid "Projecting dungeons"
#~ msgstr "Projetando dungeons"
diff --git a/po/ro/minetest.po b/po/ro/minetest.po
index 451ec610b..b3b4fd273 100644
--- a/po/ro/minetest.po
+++ b/po/ro/minetest.po
@@ -2,9 +2,9 @@ msgid ""
msgstr ""
"Project-Id-Version: Romanian (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"
+"POT-Creation-Date: 2020-04-03 23:18+0200\n"
+"PO-Revision-Date: 2020-03-14 10:32+0000\n"
+"Last-Translator: Gmail a - 2 - a Boxa <daniel.r.stancu@gmail.com>\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.9-dev\n"
+"X-Generator: Weblate 4.0-dev\n"
#: builtin/client/death_formspec.lua src/client/game.cpp
msgid "Respawn"
@@ -56,15 +56,15 @@ msgstr "Se încarcă..."
#: builtin/mainmenu/common.lua
msgid "Protocol version mismatch. "
-msgstr ""
+msgstr "Nepotrivire versiune protocol. "
#: builtin/mainmenu/common.lua
msgid "Server enforces protocol version $1. "
-msgstr ""
+msgstr "Serverul forteaza versiunea protocolului $1. "
#: builtin/mainmenu/common.lua
msgid "Server supports protocol versions between $1 and $2. "
-msgstr ""
+msgstr "Server-ul suporta versiunile protocolului intre $1 si $2. "
#: builtin/mainmenu/common.lua
msgid "Try reenabling public serverlist and check your internet connection."
@@ -74,7 +74,7 @@ msgstr ""
#: builtin/mainmenu/common.lua
msgid "We only support protocol version $1."
-msgstr ""
+msgstr "Suportam doar versiunea de protocol $1."
#: builtin/mainmenu/common.lua
msgid "We support protocol versions between version $1 and $2."
@@ -99,24 +99,24 @@ msgid "Disable all"
msgstr "Dezactivează toate"
#: builtin/mainmenu/dlg_config_world.lua
-#, fuzzy
msgid "Disable modpack"
-msgstr "Dezactivat"
+msgstr "Dezactiveaza pachet mod"
#: builtin/mainmenu/dlg_config_world.lua
msgid "Enable all"
msgstr "Activează tot"
#: builtin/mainmenu/dlg_config_world.lua
-#, fuzzy
msgid "Enable modpack"
-msgstr "Redenumiți Pachetul de moduri:"
+msgstr "Activeaza pachet mod"
#: 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 ""
+"Nu a reuÈ™it activarea modului „$ 1â€, deoarece conÈ›ine caractere "
+"neautorizate. Doar caracterele [a-z0-9_] sunt permise."
#: builtin/mainmenu/dlg_config_world.lua
msgid "Mod:"
@@ -124,7 +124,7 @@ msgstr "Mod:"
#: builtin/mainmenu/dlg_config_world.lua
msgid "No (optional) dependencies"
-msgstr ""
+msgstr "Nu există dependențe (opționale)"
#: builtin/mainmenu/dlg_config_world.lua
#, fuzzy
@@ -132,9 +132,8 @@ 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:"
+msgstr "Nu există dependențe dure"
#: builtin/mainmenu/dlg_config_world.lua
#, fuzzy
@@ -143,11 +142,11 @@ msgstr "Nici o descriere de mod disponibilă"
#: builtin/mainmenu/dlg_config_world.lua
msgid "No optional dependencies"
-msgstr ""
+msgstr "Nu există dependențe opționale"
#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua
msgid "Optional dependencies:"
-msgstr ""
+msgstr "Dependențe opționale:"
#: builtin/mainmenu/dlg_config_world.lua
#: builtin/mainmenu/dlg_settings_advanced.lua src/gui/guiKeyChangeMenu.cpp
@@ -164,7 +163,7 @@ msgstr "activat"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "All packages"
-msgstr ""
+msgstr "Toate pachetele"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "Back"
@@ -177,7 +176,7 @@ msgstr "Meniul Principal"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "Downloading and installing $1, please wait..."
-msgstr ""
+msgstr "Se descarca si se instaleaza $ 1, vă rugăm să așteptați ..."
#: builtin/mainmenu/dlg_contentstore.lua
#, fuzzy
@@ -200,11 +199,11 @@ msgstr "Moduri"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "No packages could be retrieved"
-msgstr ""
+msgstr "Nu s-au putut prelua pachete"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "No results"
-msgstr ""
+msgstr "Fara rezultate"
#: builtin/mainmenu/dlg_contentstore.lua
#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua
@@ -217,13 +216,12 @@ msgid "Texture packs"
msgstr "Pachete de textură"
#: builtin/mainmenu/dlg_contentstore.lua
-#, fuzzy
msgid "Uninstall"
-msgstr "Instalează"
+msgstr "Dezinstalare"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "Update"
-msgstr ""
+msgstr "Actualizare"
#: builtin/mainmenu/dlg_create_world.lua
msgid "A world named \"$1\" already exists"
@@ -235,11 +233,11 @@ msgstr "Creează"
#: builtin/mainmenu/dlg_create_world.lua
msgid "Download a game, such as Minetest Game, from minetest.net"
-msgstr ""
+msgstr "Descărcați un joc, cum ar fi Minetest Game, de pe minetest.net"
#: builtin/mainmenu/dlg_create_world.lua
msgid "Download one from minetest.net"
-msgstr ""
+msgstr "Descărcați unul de pe minetest.net"
#: builtin/mainmenu/dlg_create_world.lua src/settings_translation_file.cpp
msgid "Game"
@@ -250,18 +248,18 @@ msgid "Mapgen"
msgstr "Mapgen"
#: builtin/mainmenu/dlg_create_world.lua
-#, fuzzy
msgid "No game selected"
-msgstr "Selectare distanță"
+msgstr "Nici un joc selectat"
#: builtin/mainmenu/dlg_create_world.lua
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Seed"
-msgstr ""
+msgstr "Seminţe"
#: builtin/mainmenu/dlg_create_world.lua
msgid "Warning: The minimal development test is meant for developers."
msgstr ""
+"Avertisment: Testul de dezvoltare minimă este destinat dezvoltatorilor."
#: builtin/mainmenu/dlg_create_world.lua
msgid "World name"
@@ -269,7 +267,7 @@ msgstr "Numele lumii"
#: builtin/mainmenu/dlg_create_world.lua
msgid "You have no games installed."
-msgstr ""
+msgstr "Nu aveți jocuri instalate."
#: builtin/mainmenu/dlg_delete_content.lua
msgid "Are you sure you want to delete \"$1\"?"
@@ -287,9 +285,8 @@ msgid "pkgmgr: failed to delete \"$1\""
msgstr "Modmgr: Eroare la ștergerea \"$1\""
#: builtin/mainmenu/dlg_delete_content.lua
-#, fuzzy
msgid "pkgmgr: invalid path \"$1\""
-msgstr "Modmgr: Pacht de mod invalid \"$1\""
+msgstr "Pkgmgr: calea nevalidă '$ 1'"
#: builtin/mainmenu/dlg_delete_world.lua
msgid "Delete World \"$1\"?"
@@ -308,14 +305,16 @@ msgid ""
"This modpack has an explicit name given in its modpack.conf which will "
"override any renaming here."
msgstr ""
+"Acest modpack are un nume explicit dat în modpack.conf, care va înlocui "
+"orice redenumire aici."
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "(No description of setting given)"
-msgstr ""
+msgstr "(Nicio descriere a setării date)"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "2D Noise"
-msgstr ""
+msgstr "2D Zgomot"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "< Back to Settings page"
@@ -323,7 +322,7 @@ msgstr "< Înapoi la pagina de setări"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Browse"
-msgstr ""
+msgstr "Navighează"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Disabled"
@@ -339,11 +338,11 @@ msgstr "Activat"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Lacunarity"
-msgstr ""
+msgstr "Lacunarity"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Octaves"
-msgstr ""
+msgstr "Octava"
#: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp
msgid "Offset"
@@ -351,15 +350,15 @@ msgstr ""
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Persistance"
-msgstr ""
+msgstr "Persistență"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Please enter a valid integer."
-msgstr ""
+msgstr "Vă rugăm să introduceți un număr întreg valid."
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Please enter a valid number."
-msgstr ""
+msgstr "Vă rugăm să introduceți un număr valid."
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Restore Default"
@@ -367,29 +366,27 @@ msgstr "Restabilește valori implicite"
#: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp
msgid "Scale"
-msgstr ""
+msgstr "Scală"
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "Select directory"
-msgstr "Selectează Fișierul Modului:"
+msgstr "Selectează directorul"
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "Select file"
-msgstr "Selectează Fișierul Modului:"
+msgstr "Selectează fila"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Show technical names"
-msgstr ""
+msgstr "Afișați numele tehnice"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "The value must be at least $1."
-msgstr ""
+msgstr "Valoarea trebuie să fie de cel puțin $ 1."
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "The value must not be larger than $1."
-msgstr ""
+msgstr "Valoarea nu trebuie să fie mai mare de $1."
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "X"
@@ -397,7 +394,7 @@ msgstr ""
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "X spread"
-msgstr ""
+msgstr "X răspândit"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Y"
@@ -405,7 +402,7 @@ msgstr ""
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Y spread"
-msgstr ""
+msgstr "Y răspândit"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Z"
@@ -413,30 +410,38 @@ msgstr ""
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Z spread"
-msgstr ""
+msgstr "Z răspândit"
+#. ~ "absvalue" is a noise parameter flag.
+#. It is short for "absolute value".
+#. It can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "absvalue"
msgstr ""
+#. ~ "defaults" is a noise parameter flag.
+#. It describes the default processing options
+#. for noise settings in main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "defaults"
-msgstr "modifică jocul"
+msgstr "implicite"
+#. ~ "eased" is a noise parameter flag.
+#. It is used to make the map smoother and
+#. can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "eased"
-msgstr ""
+msgstr "uÅŸura"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "$1 (Enabled)"
-msgstr "Activat"
+msgstr "$1 (Activat)"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "$1 mods"
-msgstr "Configurează"
+msgstr "$1 moduri"
#: builtin/mainmenu/pkgmgr.lua
msgid "Failed to install $1 to $2"
@@ -455,11 +460,8 @@ msgstr ""
"mod $1"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Install: Unsupported file type \"$1\" or broken archive"
-msgstr ""
-"\n"
-"Instalare Mod: tip de fișier neacceptat \"$1\""
+msgstr "Instalare: tipul de fișier neacceptat „$ 1†sau arhiva ruptă"
#: builtin/mainmenu/pkgmgr.lua
#, fuzzy
@@ -665,6 +667,7 @@ msgstr "Nume / Parolă"
msgid "Ping"
msgstr ""
+#. ~ PvP = Player versus Player
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "PvP enabled"
msgstr "PvP activat"
@@ -925,6 +928,14 @@ msgstr ""
msgid "Provided world path doesn't exist: "
msgstr ""
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string. Put either "no" or "yes"
+#. into the translation field (literally).
+#. Choose "yes" if the language requires use of the fallback
+#. font, "no" otherwise.
+#. The fallback font is (normally) required for languages with
+#. non-Latin script, like Chinese.
+#. When in doubt, test your translation.
#: src/client/fontengine.cpp
msgid "needs_fallback_font"
msgstr "no"
@@ -965,6 +976,7 @@ msgstr ""
msgid "- Public: "
msgstr "Public"
+#. ~ PvP = Player versus Player
#: src/client/game.cpp
msgid "- PvP: "
msgstr ""
@@ -1117,14 +1129,12 @@ msgid "Fast mode enabled (note: no 'fast' privilege)"
msgstr ""
#: src/client/game.cpp
-#, fuzzy
msgid "Fly mode disabled"
-msgstr "Dezactivează MP"
+msgstr "Modul zburat dezactivat"
#: src/client/game.cpp
-#, fuzzy
msgid "Fly mode enabled"
-msgstr "Daune activate"
+msgstr "Modul zburat activat"
#: src/client/game.cpp
msgid "Fly mode enabled (note: no 'fly' privilege)"
@@ -1427,6 +1437,7 @@ msgstr "Shift Stânga"
msgid "Left Windows"
msgstr "Windows Stânga"
+#. ~ Key name, common on Windows keyboards
#: src/client/keycode.cpp
msgid "Menu"
msgstr "Meniu"
@@ -1520,6 +1531,7 @@ msgstr "Pauză"
msgid "Play"
msgstr "Joacă"
+#. ~ "Print screen" key
#: src/client/keycode.cpp
msgid "Print"
msgstr "Print"
@@ -1556,6 +1568,7 @@ msgstr "Windows Dreapta"
msgid "Scroll Lock"
msgstr "Scroll Lock"
+#. ~ Key name
#: src/client/keycode.cpp
msgid "Select"
msgstr "Selectează"
@@ -1804,11 +1817,16 @@ msgstr "apasă o tastă"
msgid "Sound Volume: "
msgstr "Volum sunet: "
+#. ~ Imperative, as in "Enter/type in text".
+#. Don't forget the space.
#: src/gui/modalMenu.cpp
msgid "Enter "
msgstr ""
-#: src/network/clientpackethandler.cpp
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string which needs to contain the translation's
+#. language code (e.g. "de" for German).
+#: src/network/clientpackethandler.cpp src/script/lua_api/l_client.cpp
msgid "LANG_CODE"
msgstr "ro"
@@ -1831,7 +1849,7 @@ msgid ""
"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"
+"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."
@@ -1995,18 +2013,16 @@ msgid ""
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."
+msgid ""
+"Alters the light curve by applying 'gamma correction' to it.\n"
+"Higher values make middle and lower light levels brighter.\n"
+"Value '1.0' leaves the light curve unaltered.\n"
+"This only has significant effect on daylight and artificial\n"
+"light, it has very little effect on natural night light."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2161,6 +2177,22 @@ msgid "Block send optimize distance"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Bold and italic font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bold and italic monospace font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bold font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bold monospace font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Build inside player"
msgstr ""
@@ -2175,8 +2207,8 @@ msgstr "Mip Mapping"
#: 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"
+"Camera 'near clipping plane' distance in nodes, between 0 and 0.25\n"
+"Only works on GLES platforms. 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 ""
@@ -2239,7 +2271,9 @@ msgid "Cavern upper limit"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Center of light curve mid-boost."
+msgid ""
+"Center of light curve boost range.\n"
+"Where 0.0 is minimum light level, 1.0 is maximum light level."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2445,12 +2479,9 @@ 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."
+"Controls width of tunnels, a smaller value creates wider tunnels.\n"
+"Value >= 10.0 completely disables generation of tunnels and avoids the\n"
+"intensive noise calculations."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2488,11 +2519,6 @@ msgid "Damage"
msgstr "Activează Daune"
#: src/settings_translation_file.cpp
-#, fuzzy
-msgid "Darkness sharpness"
-msgstr "Mapgen"
-
-#: src/settings_translation_file.cpp
msgid "Debug info toggle key"
msgstr ""
@@ -2509,7 +2535,7 @@ msgid "Dec. volume key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Decrease this to increase liquid resistence to movement."
+msgid "Decrease this to increase liquid resistance to movement."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2551,12 +2577,6 @@ msgid ""
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 ""
@@ -2633,12 +2653,6 @@ 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 ""
@@ -2717,14 +2731,15 @@ msgstr "Mapgen"
#: src/settings_translation_file.cpp
msgid ""
-"Enable Lua modding support on client.\n"
-"This support is experimental and API can change."
+"Enable IPv6 support (for both client and server).\n"
+"Required for IPv6 connections to work at all."
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
-msgid "Enable VBO"
-msgstr "Activează MP"
+msgid ""
+"Enable Lua modding support on client.\n"
+"This support is experimental and API can change."
+msgstr ""
#: src/settings_translation_file.cpp
msgid "Enable console window"
@@ -2791,6 +2806,12 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Enable vertex buffer objects.\n"
+"This should greatly improve graphics performance."
+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 ""
@@ -2798,7 +2819,16 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Enable/disable running an IPv6 server.\n"
-"Ignored if bind_address is set."
+"Ignored if bind_address is set.\n"
+"Needs enable_ipv6 to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Enables Hable's 'Uncharted 2' filmic tone mapping.\n"
+"Simulates the tone curve of photographic film and how this approximates the\n"
+"appearance of high dynamic range images. Mid-range contrast is slightly\n"
+"enhanced, highlights and shadows are gradually compressed."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2819,11 +2849,6 @@ msgstr ""
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Enables filmic tone mapping"
-msgstr "Activează Daune"
-
-#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Enables minimap."
msgstr "Activează Daune"
@@ -2840,6 +2865,14 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Enables the sound system.\n"
+"If disabled, this completely disables all sounds everywhere and the in-game\n"
+"sound controls will be non-functional.\n"
+"Changing this setting requires a restart."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Engine profiling data print interval"
msgstr ""
@@ -2871,7 +2904,7 @@ msgstr ""
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Fallback font"
+msgid "Fallback font path"
msgstr "lipsă_tip_font"
#: src/settings_translation_file.cpp
@@ -2965,30 +2998,6 @@ 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 ""
@@ -3009,7 +3018,11 @@ msgid "Fog toggle key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font path"
+msgid "Font bold by default"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font italic by default"
msgstr ""
#: src/settings_translation_file.cpp
@@ -3021,15 +3034,19 @@ msgid "Font shadow alpha"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font shadow alpha (opaqueness, between 0 and 255)."
+msgid "Font size"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font shadow offset, if 0 then shadow will not be drawn."
+msgid "Font size of the default font in point (pt)."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font size"
+msgid "Font size of the fallback font in point (pt)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font size of the monospace font in point (pt)."
msgstr ""
#: src/settings_translation_file.cpp
@@ -3141,10 +3158,6 @@ msgid "GUI scaling filter txr2img"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gamma"
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Generate normalmaps"
msgstr ""
@@ -3160,11 +3173,15 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at maximum light level."
+msgid ""
+"Gradient of light curve at maximum light level.\n"
+"Controls the contrast of the highest light levels."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at minimum light level."
+msgid ""
+"Gradient of light curve at minimum light level.\n"
+"Controls the contrast of the lowest light levels."
msgstr ""
#: src/settings_translation_file.cpp
@@ -3200,7 +3217,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Handling for deprecated lua api calls:\n"
+"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)."
@@ -3430,6 +3447,13 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"How fast liquid waves will move. Higher = faster.\n"
+"If negative, liquid waves will move backwards.\n"
+"Requires waving liquids to be enabled."
+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 ""
@@ -3459,10 +3483,6 @@ 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."
@@ -3640,6 +3660,14 @@ msgid "Invert vertical mouse movement."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Italic font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Italic monospace font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Item entity TTL"
msgstr ""
@@ -4238,15 +4266,23 @@ msgid "Large cave depth"
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
-msgid "Large chat console key"
-msgstr "Consloă"
+msgid "Large cave maximum number"
+msgstr ""
#: src/settings_translation_file.cpp
-msgid "Lava depth"
+msgid "Large cave minimum number"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Large cave proportion flooded"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Large chat console key"
+msgstr "Consloă"
+
+#: src/settings_translation_file.cpp
msgid "Leaves style"
msgstr ""
@@ -4271,6 +4307,12 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Length of liquid waves.\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Length of time between Active Block Modifier (ABM) execution cycles"
msgstr ""
@@ -4295,19 +4337,27 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost"
+msgid "Light curve boost"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve boost center"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve boost spread"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost center"
+msgid "Light curve gamma"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost spread"
+msgid "Light curve high gradient"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Lightness sharpness"
+msgid "Light curve low gradient"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4414,25 +4464,25 @@ 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."
+"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 flat.\n"
+"Map generation attributes specific to Mapgen Fractal.\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."
+"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
@@ -4599,8 +4649,16 @@ msgid "Maximum hotbar width"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of large caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
-"Maximum liquid resistence. Controls deceleration when entering liquid at\n"
+"Maximum liquid resistance. Controls deceleration when entering liquid at\n"
"high speed."
msgstr ""
@@ -4722,6 +4780,14 @@ msgid "Minimap scan height"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of large caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Minimum texture size"
msgstr ""
@@ -4810,7 +4876,7 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Near clipping plane"
+msgid "Near plane"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4897,6 +4963,16 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Opaqueness (alpha) of the shadow behind the default font, between 0 and 255."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Opaqueness (alpha) of the shadow behind the fallback font, between 0 and 255."
+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."
@@ -4935,7 +5011,12 @@ msgid "Parallax occlusion strength"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Path to TrueTypeFont or bitmap."
+msgid ""
+"Path of the fallback font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font will be used for certain languages or if the default font is "
+"unavailable."
msgstr ""
#: src/settings_translation_file.cpp
@@ -4953,6 +5034,22 @@ msgid "Path to texture directory. All textures are first searched from here."
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Path to the default font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"The fallback font will be used if the font cannot be loaded."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Path to the monospace font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font is used for e.g. the console and profiler screen."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Pause on lost window focus"
msgstr ""
@@ -5026,6 +5123,10 @@ msgid "Profiling"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Proportion of large caves that contain liquid."
+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 "
@@ -5050,6 +5151,11 @@ msgid "Recent Chat Messages"
msgstr ""
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Regular font path"
+msgstr "Selectează"
+
+#: src/settings_translation_file.cpp
msgid "Remote media"
msgstr ""
@@ -5245,24 +5351,24 @@ 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."
+"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
@@ -5321,19 +5427,19 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving leaves.\n"
+"Set to true to enable waving leaves.\n"
"Requires shaders to be enabled."
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving plants.\n"
+"Set to true to enable waving liquids (like water).\n"
"Requires shaders to be enabled."
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving water.\n"
+"Set to true to enable waving plants.\n"
"Requires shaders to be enabled."
msgstr ""
@@ -5351,7 +5457,15 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Shadow limit"
+msgid ""
+"Shadow offset (in pixels) of the default font. If 0, then shadow will not be "
+"drawn."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not "
+"be drawn."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5396,6 +5510,14 @@ msgid "Slope and fill work together to modify the heights."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Small cave maximum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Small cave minimum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Small-scale humidity variation for blending biomes on borders."
msgstr ""
@@ -5459,8 +5581,9 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Spread of light curve mid-boost.\n"
-"Standard deviation of the mid-boost gaussian."
+"Spread of light curve boost range.\n"
+"Controls the width of the range to be boosted.\n"
+"Standard deviation of the light curve boost Gaussian."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5484,7 +5607,10 @@ msgid "Strength of generated normalmaps."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Strength of light curve mid-boost."
+msgid ""
+"Strength of light curve boost.\n"
+"The 3 'boost' parameters define a range of the light\n"
+"curve that is boosted in brightness."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5588,6 +5714,15 @@ msgid "The length in pixels it takes for touch screen interaction to start."
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"The maximum height of the surface of waving liquids.\n"
+"4.0 = Wave height is two nodes.\n"
+"0.0 = Wave doesn't move at all.\n"
+"Default is 1.0 (1/2 node).\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "The network interface that the server listens on."
msgstr ""
@@ -5668,10 +5803,6 @@ 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."
@@ -5727,7 +5858,7 @@ msgstr "Filtrare Triliniară"
msgid ""
"True = 256\n"
"False = 128\n"
-"Useable to make minimap smoother on slower machines."
+"Usable to make minimap smoother on slower machines."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5735,11 +5866,6 @@ 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 ""
@@ -5824,10 +5950,6 @@ 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 ""
@@ -5902,6 +6024,12 @@ msgstr "Volum Sunet"
#: src/settings_translation_file.cpp
msgid ""
+"Volume of all sounds.\n"
+"Requires the sound system to be enabled."
+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"
@@ -5939,29 +6067,30 @@ msgid "Waving leaves"
msgstr "Copaci fantezici"
#: src/settings_translation_file.cpp
-msgid "Waving plants"
-msgstr ""
-
-#: src/settings_translation_file.cpp
-msgid "Waving water"
-msgstr ""
+#, fuzzy
+msgid "Waving liquids"
+msgstr "Frunze legănătoare"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wave height"
+msgid "Waving liquids wave height"
msgstr "Apă ondulatoare"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wave speed"
+msgid "Waving liquids wave speed"
msgstr "Frunze legănătoare"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wavelength"
+msgid "Waving liquids wavelength"
msgstr "Apă ondulatoare"
#: src/settings_translation_file.cpp
+msgid "Waving plants"
+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"
@@ -5991,7 +6120,9 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Whether FreeType fonts are used, requires FreeType support to be compiled in."
+"Whether FreeType fonts are used, requires FreeType support to be compiled "
+"in.\n"
+"If disabled, bitmap and XML vectors fonts are used instead."
msgstr ""
#: src/settings_translation_file.cpp
@@ -6020,6 +6151,14 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Whether to mute sounds. You can unmute sounds at any time, unless the\n"
+"sound system is disabled (enable_sound=false).\n"
+"In-game, you can toggle the mute state with the mute key or by using the\n"
+"pause menu."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
"Whether to show the client debug info (has the same effect as hitting F5)."
msgstr ""
@@ -6090,10 +6229,6 @@ 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 ""
@@ -6106,10 +6241,6 @@ 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 ""
@@ -6122,6 +6253,18 @@ msgid "cURL timeout"
msgstr ""
#, fuzzy
+#~ msgid "Darkness sharpness"
+#~ msgstr "Mapgen"
+
+#, fuzzy
+#~ msgid "Enable VBO"
+#~ msgstr "Activează MP"
+
+#, fuzzy
+#~ msgid "Enables filmic tone mapping"
+#~ msgstr "Activează Daune"
+
+#, fuzzy
#~ msgid "Select Package File:"
#~ msgstr "Selectează Fișierul Modului:"
diff --git a/po/ru/minetest.po b/po/ru/minetest.po
index ef5bbfdbc..e89a8ebe1 100644
--- a/po/ru/minetest.po
+++ b/po/ru/minetest.po
@@ -2,18 +2,18 @@ msgid ""
msgstr ""
"Project-Id-Version: Russian (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-10-09 22:02+0200\n"
-"PO-Revision-Date: 2019-12-05 07:05+0000\n"
-"Last-Translator: Andrei Stepanov <adem4ik@gmail.com>\n"
+"POT-Creation-Date: 2020-04-03 23:18+0200\n"
+"PO-Revision-Date: 2020-04-02 14:09+0000\n"
+"Last-Translator: Tiller Luna <t.luna@protonmail.com>\n"
"Language-Team: Russian <https://hosted.weblate.org/projects/minetest/"
"minetest/ru/>\n"
"Language: ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<="
-"4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Generator: Weblate 3.10-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 4.0-dev\n"
#: builtin/client/death_formspec.lua src/client/game.cpp
msgid "Respawn"
@@ -25,7 +25,7 @@ msgstr "Вы умерли"
#: builtin/fstk/ui.lua
msgid "An error occurred in a Lua script:"
-msgstr "Обнаружена ошибка в Ñкрипте Lua:"
+msgstr "Произошла ошибка в Ñкрипте Lua:"
#: builtin/fstk/ui.lua
msgid "An error occurred:"
@@ -96,7 +96,7 @@ msgstr "Отключить вÑе"
#: builtin/mainmenu/dlg_config_world.lua
msgid "Disable modpack"
-msgstr "Отключить пакет"
+msgstr "Отключить пакет модов"
#: builtin/mainmenu/dlg_config_world.lua
msgid "Enable all"
@@ -104,7 +104,7 @@ msgstr "Включить вÑе"
#: builtin/mainmenu/dlg_config_world.lua
msgid "Enable modpack"
-msgstr "Включить пакет"
+msgstr "Включить пакет модов"
#: builtin/mainmenu/dlg_config_world.lua
msgid ""
@@ -120,7 +120,7 @@ msgstr "Мод:"
#: builtin/mainmenu/dlg_config_world.lua
msgid "No (optional) dependencies"
-msgstr "Ðет необÑзательных завиÑимоÑтей"
+msgstr "Ðет (необÑзательных) завиÑимоÑтей"
#: builtin/mainmenu/dlg_config_world.lua
msgid "No game description provided."
@@ -152,6 +152,7 @@ msgid "World:"
msgstr "Мир:"
#: builtin/mainmenu/dlg_config_world.lua
+#, fuzzy
msgid "enabled"
msgstr "включить"
@@ -293,6 +294,7 @@ msgid "Rename Modpack:"
msgstr "Переименовать пакет модов:"
#: builtin/mainmenu/dlg_rename_modpack.lua
+#, fuzzy
msgid ""
"This modpack has an explicit name given in its modpack.conf which will "
"override any renaming here."
@@ -353,6 +355,7 @@ msgid "Please enter a valid number."
msgstr "ПожалуйÑта, введите допуÑтимое чиÑло."
#: builtin/mainmenu/dlg_settings_advanced.lua
+#, fuzzy
msgid "Restore Default"
msgstr "СброÑить значение"
@@ -404,14 +407,25 @@ msgstr "Z"
msgid "Z spread"
msgstr "Ð Ð°Ð·Ð±Ñ€Ð¾Ñ Ð¿Ð¾ Z"
+#. ~ "absvalue" is a noise parameter flag.
+#. It is short for "absolute value".
+#. It can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "absvalue"
msgstr "абÑÐ¾Ð»ÑŽÑ‚Ð½Ð°Ñ Ð²ÐµÐ»Ð¸Ñ‡Ð¸Ð½Ð°"
+#. ~ "defaults" is a noise parameter flag.
+#. It describes the default processing options
+#. for noise settings in main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "defaults"
msgstr "Ñтандартные"
+#. ~ "eased" is a noise parameter flag.
+#. It is used to make the map smoother and
+#. can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "eased"
msgstr "облегчённый"
@@ -425,6 +439,7 @@ msgid "$1 mods"
msgstr "$1 модов"
#: builtin/mainmenu/pkgmgr.lua
+#, fuzzy
msgid "Failed to install $1 to $2"
msgstr "Ðевозможно уÑтановить $1 в $2"
@@ -558,7 +573,7 @@ msgstr "ЗапуÑтить Ñервер"
#: builtin/mainmenu/tab_local.lua
msgid "Name/Password"
-msgstr "Ð˜Ð¼Ñ / Пароль"
+msgstr "ИмÑ/Пароль"
#: builtin/mainmenu/tab_local.lua
msgid "New"
@@ -626,6 +641,7 @@ msgstr "Ð˜Ð¼Ñ / Пароль"
msgid "Ping"
msgstr "Пинг"
+#. ~ PvP = Player versus Player
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "PvP enabled"
msgstr "PvP разрешён"
@@ -836,7 +852,7 @@ msgstr "Сборка шейдеров..."
#: src/client/clientlauncher.cpp
msgid "Connection error (timed out?)"
-msgstr "Ошибка ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ (таймаут?)"
+msgstr "Ошибка ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ (тайм-аут?)"
#: src/client/clientlauncher.cpp
msgid "Could not find or load game \""
@@ -870,6 +886,14 @@ msgstr "Ðе удалоÑÑŒ открыть указанный файл Ñ Ð¿Ð°Ñ€
msgid "Provided world path doesn't exist: "
msgstr "По Ñтому пути мира нет: "
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string. Put either "no" or "yes"
+#. into the translation field (literally).
+#. Choose "yes" if the language requires use of the fallback
+#. font, "no" otherwise.
+#. The fallback font is (normally) required for languages with
+#. non-Latin script, like Chinese.
+#. When in doubt, test your translation.
#: src/client/fontengine.cpp
msgid "needs_fallback_font"
msgstr "no"
@@ -906,6 +930,7 @@ msgstr "- Порт: "
msgid "- Public: "
msgstr "- ПубличноÑÑ‚ÑŒ: "
+#. ~ PvP = Player versus Player
#: src/client/game.cpp
msgid "- PvP: "
msgstr "- PvP: "
@@ -1114,7 +1139,7 @@ msgstr "МиБ/Ñ"
#: src/client/game.cpp
msgid "Minimap currently disabled by game or mod"
-msgstr "Миникарта в наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ð¾Ñ‚ÐºÐ»ÑŽÑ‡ÐµÐ½Ð° игрой или модом"
+msgstr "Миникарта ÑÐµÐ¹Ñ‡Ð°Ñ Ð¾Ñ‚ÐºÐ»ÑŽÑ‡ÐµÐ½Ð° игрой или модом"
#: src/client/game.cpp
msgid "Minimap hidden"
@@ -1357,6 +1382,7 @@ msgstr "Левый Shift"
msgid "Left Windows"
msgstr "Левый Win"
+#. ~ Key name, common on Windows keyboards
#: src/client/keycode.cpp
msgid "Menu"
msgstr "Menu"
@@ -1449,6 +1475,7 @@ msgstr "Пауза"
msgid "Play"
msgstr "Играть"
+#. ~ "Print screen" key
#: src/client/keycode.cpp
msgid "Print"
msgstr "Print"
@@ -1485,6 +1512,7 @@ msgstr "Правый Win"
msgid "Scroll Lock"
msgstr "Scroll Lock"
+#. ~ Key name
#: src/client/keycode.cpp
msgid "Select"
msgstr "Выбор"
@@ -1628,8 +1656,8 @@ msgstr "Клавиша уже иÑпользуетÑÑ"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Keybindings. (If this menu screws up, remove stuff from minetest.conf)"
msgstr ""
-"ПривÑзки клавиш. (ЕÑли Ñто меню ÑломаетÑÑ, удалите наÑтройки из "
-"minetest.conf)"
+"ПривÑзки клавиш. (ЕÑли Ñто меню ÑломаетÑÑ, удалите наÑтройки из minetest."
+"conf)"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Local command"
@@ -1727,11 +1755,16 @@ msgstr "Заглушить"
msgid "Sound Volume: "
msgstr "ГромкоÑÑ‚ÑŒ звука: "
+#. ~ Imperative, as in "Enter/type in text".
+#. Don't forget the space.
#: src/gui/modalMenu.cpp
msgid "Enter "
msgstr "Введите "
-#: src/network/clientpackethandler.cpp
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string which needs to contain the translation's
+#. language code (e.g. "de" for German).
+#: src/network/clientpackethandler.cpp src/script/lua_api/l_client.cpp
msgid "LANG_CODE"
msgstr "ru"
@@ -1755,12 +1788,13 @@ msgstr ""
"когда будет находитьÑÑ Ð·Ð° пределами оÑновного колеÑа."
#: 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"
"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"
+"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."
@@ -1962,21 +1996,17 @@ msgstr ""
"только Ð´Ð»Ñ 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 "УправлÑет Ñужением оÑтровов горного типа ниже Ñредней точки."
+msgid ""
+"Alters the light curve by applying 'gamma correction' to it.\n"
+"Higher values make middle and lower light levels brighter.\n"
+"Value '1.0' leaves the light curve unaltered.\n"
+"This only has significant effect on daylight and artificial\n"
+"light, it has very little effect on natural night light."
+msgstr ""
#: src/settings_translation_file.cpp
msgid "Altitude chill"
@@ -2134,6 +2164,26 @@ msgid "Block send optimize distance"
msgstr "Оптимизированное раÑÑтоÑние отправки блока"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Bold and italic font path"
+msgstr "Путь к моноширинному шрифту"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Bold and italic monospace font path"
+msgstr "Путь к моноширинному шрифту"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Bold font path"
+msgstr "Путь к шрифту"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Bold monospace font path"
+msgstr "Путь к моноширинному шрифту"
+
+#: src/settings_translation_file.cpp
msgid "Build inside player"
msgstr "Разрешить Ñтавить блоки на меÑте игрока"
@@ -2146,9 +2196,10 @@ msgid "Bumpmapping"
msgstr "Бампмаппинг"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Camera 'near clipping plane' distance in nodes, between 0 and 0.5.\n"
-"Most users will not need to change this.\n"
+"Camera 'near clipping plane' distance in nodes, between 0 and 0.25\n"
+"Only works on GLES platforms. 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 ""
@@ -2215,8 +2266,10 @@ msgid "Cavern upper limit"
msgstr "Верхнее ограничение пещер"
#: src/settings_translation_file.cpp
-msgid "Center of light curve mid-boost."
-msgstr "Центр Ñреднего подъёма кривой Ñвета."
+msgid ""
+"Center of light curve boost range.\n"
+"Where 0.0 is minimum light level, 1.0 is maximum light level."
+msgstr ""
#: src/settings_translation_file.cpp
msgid ""
@@ -2432,16 +2485,10 @@ 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 ""
-"Контролирует плотноÑÑ‚ÑŒ горной меÑтноÑти парÑщих оÑтровов.\n"
-"ЯвлÑетÑÑ Ñмещением, добавлÑемым к значению шума 'mgv7_np_mountain'."
-
-#: src/settings_translation_file.cpp
-msgid "Controls width of tunnels, a smaller value creates wider tunnels."
+"Controls width of tunnels, a smaller value creates wider tunnels.\n"
+"Value >= 10.0 completely disables generation of tunnels and avoids the\n"
+"intensive noise calculations."
msgstr ""
-"Контролирует ширину тоннелей. Меньшие Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ñоздают более широкие тоннели."
#: src/settings_translation_file.cpp
msgid "Crash message"
@@ -2476,10 +2523,6 @@ msgid "Damage"
msgstr "Урон"
#: src/settings_translation_file.cpp
-msgid "Darkness sharpness"
-msgstr "РезкоÑÑ‚ÑŒ темноты"
-
-#: src/settings_translation_file.cpp
msgid "Debug info toggle key"
msgstr "Клавиша Ð¿ÐµÑ€ÐµÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð¿Ð¾ÐºÐ°Ð·Ð° отладочной информации"
@@ -2496,7 +2539,8 @@ msgid "Dec. volume key"
msgstr "Клавиша ÑƒÐ¼ÐµÐ½ÑŒÑˆÐµÐ½Ð¸Ñ Ð³Ñ€Ð¾Ð¼ÐºÐ¾Ñти"
#: src/settings_translation_file.cpp
-msgid "Decrease this to increase liquid resistence to movement."
+#, fuzzy
+msgid "Decrease this to increase liquid resistance to movement."
msgstr "Уменьшите значение, чтобы увеличить Ñопротивление жидкоÑти движению."
#: src/settings_translation_file.cpp
@@ -2540,14 +2584,6 @@ msgstr ""
"Работает только на Ñборках Ñ cURL."
#: src/settings_translation_file.cpp
-msgid ""
-"Defines areas of floatland smooth terrain.\n"
-"Smooth floatlands occur when noise > 0."
-msgstr ""
-"ОпределÑет облаÑти гладкой поверхноÑти на парÑщих оÑтровах.\n"
-"Гладкие парÑщие оÑтрова поÑвлÑÑŽÑ‚ÑÑ, когда шум больше нолÑ."
-
-#: src/settings_translation_file.cpp
msgid "Defines areas where trees have apples."
msgstr "ОпределÑет облаÑти, где у деревьев еÑÑ‚ÑŒ Ñблоки."
@@ -2635,15 +2671,6 @@ 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 ""
-"УÑтарело, определÑет и раÑполагает жидкоÑти в пещерах Ñ Ð¸Ñпользованием "
-"определений биома.\n"
-"Y верхней границы лавы в больших пещерах."
-
-#: src/settings_translation_file.cpp
msgid "Depth below which you'll find giant caverns."
msgstr "Глубина, ниже которой вÑтречаютÑÑ Ð³Ð¸Ð³Ð°Ð½Ñ‚Ñкие пещеры."
@@ -2721,6 +2748,12 @@ msgstr "Шум подземельÑ"
#: src/settings_translation_file.cpp
msgid ""
+"Enable IPv6 support (for both client and server).\n"
+"Required for IPv6 connections to work at all."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
"Enable Lua modding support on client.\n"
"This support is experimental and API can change."
msgstr ""
@@ -2728,10 +2761,6 @@ msgstr ""
"Эта поддержка ÑвлÑетÑÑ ÑкÑпериментальной и API может изменитьÑÑ."
#: src/settings_translation_file.cpp
-msgid "Enable VBO"
-msgstr "Включить объекты буфера вершин (VBO)"
-
-#: src/settings_translation_file.cpp
msgid "Enable console window"
msgstr "Включить окно конÑоли"
@@ -2808,6 +2837,12 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Enable vertex buffer objects.\n"
+"This should greatly improve graphics performance."
+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 ""
@@ -2815,14 +2850,24 @@ msgstr ""
"Ðапример: 0 отключает покачивание, 1.0 Ð´Ð»Ñ Ð¾Ð±Ñ‹Ñ‡Ð½Ð¾Ð³Ð¾, 2.0 Ð´Ð»Ñ Ð´Ð²Ð¾Ð¹Ð½Ð¾Ð³Ð¾."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
"Enable/disable running an IPv6 server.\n"
-"Ignored if bind_address is set."
+"Ignored if bind_address is set.\n"
+"Needs enable_ipv6 to be enabled."
msgstr ""
"Включить/отключить запуÑк IPv6-Ñервера.\n"
"ИгнорируетÑÑ, еÑли задан «bind_address»."
#: src/settings_translation_file.cpp
+msgid ""
+"Enables Hable's 'Uncharted 2' filmic tone mapping.\n"
+"Simulates the tone curve of photographic film and how this approximates the\n"
+"appearance of high dynamic range images. Mid-range contrast is slightly\n"
+"enhanced, highlights and shadows are gradually compressed."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Enables animation of inventory items."
msgstr "Включить анимацию предметов в инвентаре."
@@ -2842,10 +2887,6 @@ 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 "Включить мини-карту."
@@ -2866,6 +2907,14 @@ msgstr ""
"Требует, чтобы шейдеры были включены."
#: src/settings_translation_file.cpp
+msgid ""
+"Enables the sound system.\n"
+"If disabled, this completely disables all sounds everywhere and the in-game\n"
+"sound controls will be non-functional.\n"
+"Changing this setting requires a restart."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Engine profiling data print interval"
msgstr "Интервал печати данных Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð²Ð¸Ð¶ÐºÐ°"
@@ -2898,7 +2947,8 @@ msgid "Fall bobbing factor"
msgstr "КоÑффициент Ð¿Ð¾ÐºÐ°Ñ‡Ð¸Ð²Ð°Ð½Ð¸Ñ Ð¿Ñ€Ð¸ падении"
#: src/settings_translation_file.cpp
-msgid "Fallback font"
+#, fuzzy
+msgid "Fallback font path"
msgstr "Резервный шрифт"
#: src/settings_translation_file.cpp
@@ -2999,30 +3049,6 @@ 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 "Клавиша полёта"
@@ -3043,8 +3069,12 @@ msgid "Fog toggle key"
msgstr "Клавиша Ð¿ÐµÑ€ÐµÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ñ‚ÑƒÐ¼Ð°Ð½Ð°"
#: src/settings_translation_file.cpp
-msgid "Font path"
-msgstr "Путь к шрифту"
+msgid "Font bold by default"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font italic by default"
+msgstr ""
#: src/settings_translation_file.cpp
msgid "Font shadow"
@@ -3055,16 +3085,20 @@ msgid "Font shadow alpha"
msgstr "ПрозрачноÑÑ‚ÑŒ тени шрифта"
#: src/settings_translation_file.cpp
-msgid "Font shadow alpha (opaqueness, between 0 and 255)."
-msgstr "ПрозрачноÑÑ‚ÑŒ тени шрифта (непрозрачноÑÑ‚ÑŒ от 0 до 255)."
+msgid "Font size"
+msgstr "Размер шрифта"
#: src/settings_translation_file.cpp
-msgid "Font shadow offset, if 0 then shadow will not be drawn."
-msgstr "Смещение тени шрифта. ЕÑли указан 0, то тень не будет показана."
+msgid "Font size of the default font in point (pt)."
+msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font size"
-msgstr "Размер шрифта"
+msgid "Font size of the fallback font in point (pt)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font size of the monospace font in point (pt)."
+msgstr ""
#: src/settings_translation_file.cpp
msgid ""
@@ -3186,10 +3220,6 @@ msgid "GUI scaling filter txr2img"
msgstr "Фильтр txr2img Ð´Ð»Ñ Ð¼Ð°ÑÑˆÑ‚Ð°Ð±Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñа"
#: src/settings_translation_file.cpp
-msgid "Gamma"
-msgstr "Гамма"
-
-#: src/settings_translation_file.cpp
msgid "Generate normalmaps"
msgstr "Генерировать карты нормалей"
@@ -3209,11 +3239,17 @@ msgstr ""
"контролирует вÑе декорации."
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at maximum light level."
+#, fuzzy
+msgid ""
+"Gradient of light curve at maximum light level.\n"
+"Controls the contrast of the highest light levels."
msgstr "Градиент кривой Ñвета на макÑимальном уровне оÑвещённоÑти."
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at minimum light level."
+#, fuzzy
+msgid ""
+"Gradient of light curve at minimum light level.\n"
+"Controls the contrast of the lowest light levels."
msgstr "Градиент кривой Ñвета на минимальном уровне оÑвещённоÑти."
#: src/settings_translation_file.cpp
@@ -3245,8 +3281,9 @@ msgid "HUD toggle key"
msgstr "Клавиша Ð¿ÐµÑ€ÐµÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð¸Ð³Ñ€Ð¾Ð²Ð¾Ð³Ð¾ интерфейÑа"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Handling for deprecated lua api calls:\n"
+"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)."
@@ -3490,6 +3527,13 @@ msgstr "Как глубоко делать реки."
#: src/settings_translation_file.cpp
msgid ""
+"How fast liquid waves will move. Higher = faster.\n"
+"If negative, liquid waves will move backwards.\n"
+"Requires waving liquids to be enabled."
+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 ""
@@ -3521,10 +3565,6 @@ msgid "IPv6 server"
msgstr "IPv6-Ñервер"
#: src/settings_translation_file.cpp
-msgid "IPv6 support."
-msgstr "Поддержка IPv6."
-
-#: 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."
@@ -3731,6 +3771,16 @@ msgid "Invert vertical mouse movement."
msgstr "Инвертировать мышь по вертикали."
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Italic font path"
+msgstr "Путь к моноширинному шрифту"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Italic monospace font path"
+msgstr "Путь к моноширинному шрифту"
+
+#: src/settings_translation_file.cpp
msgid "Item entity TTL"
msgstr "Ð’Ñ€ÐµÐ¼Ñ Ð¶Ð¸Ð·Ð½Ð¸ выброшенной вещи"
@@ -3847,8 +3897,8 @@ msgid ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
"Клавиша ÑƒÐ¼ÐµÐ½ÑŒÑˆÐµÐ½Ð¸Ñ Ð·Ð¾Ð½Ñ‹ видимоÑти.\n"
-"См. http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
+"См. http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -3867,8 +3917,8 @@ msgid ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
"Клавиша, чтобы выброÑить выбранный предмет.\n"
-"См. http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
+"См. http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -3877,8 +3927,8 @@ msgid ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
"Клавиша ÑƒÐ²ÐµÐ»Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð·Ð¾Ð½Ñ‹ видимоÑти.\n"
-"См. http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
+"См. http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -3897,8 +3947,8 @@ msgid ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
"Клавиша прыжка.\n"
-"См. http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
+"См. http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -3919,8 +3969,8 @@ msgid ""
msgstr ""
"Клавиша Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ Ð½Ð°Ð·Ð°Ð´.\n"
"При активации также отключает автобег.\n"
-"См. http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
+"См. http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -3929,8 +3979,8 @@ msgid ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
"Клавиша Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ Ð²Ð¿ÐµÑ€Ñ‘Ð´.\n"
-"См. http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
+"См. http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -3939,8 +3989,8 @@ msgid ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
"Клавиша Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ Ð²Ð»ÐµÐ²Ð¾.\n"
-"См. http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
+"См. http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -3949,8 +3999,8 @@ msgid ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
"Клавиша Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ Ð²Ð¿Ñ€Ð°Ð²Ð¾.\n"
-"См. http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
+"См. http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -3969,8 +4019,8 @@ msgid ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
"Клавиша Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ Ð¾ÐºÐ½Ð° чата Ð´Ð»Ñ Ð²Ð²Ð¾Ð´Ð° команды.\n"
-"См. http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
+"См. http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -3989,8 +4039,8 @@ msgid ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
"Клавиша Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ Ð¾ÐºÐ½Ð° чата.\n"
-"См. http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
+"См. http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -3999,8 +4049,8 @@ msgid ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
"Клавиша Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ Ð¸Ð½Ð²ÐµÐ½Ñ‚Ð°Ñ€Ñ.\n"
-"См. http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
+"См. http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4009,8 +4059,8 @@ msgid ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
"Клавиша выбора предмета 11 на горÑчей панели.\n"
-"См. http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
+"См. http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4019,8 +4069,8 @@ msgid ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
"Клавиша выбора предмета 12 на горÑчей панели.\n"
-"См. http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
+"См. http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4029,8 +4079,8 @@ msgid ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
"Клавиша выбора предмета 13 на горÑчей панели.\n"
-"См. http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
+"См. http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4039,8 +4089,8 @@ msgid ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
"Клавиша выбора предмета 14 на горÑчей панели.\n"
-"См. http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
+"См. http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4049,8 +4099,8 @@ msgid ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
"Клавиша выбора предмета 15 на горÑчей панели.\n"
-"См. http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
+"См. http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4059,8 +4109,8 @@ msgid ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
"Клавиша выбора предмета 16 на горÑчей панели.\n"
-"См. http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
+"См. http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4069,8 +4119,8 @@ msgid ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
"Клавиша выбора предмета 17 на горÑчей панели.\n"
-"См. http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
+"См. http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4079,8 +4129,8 @@ msgid ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
"Клавиша выбора предмета 18 на горÑчей панели.\n"
-"См. http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
+"См. http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4089,8 +4139,8 @@ msgid ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
"Клавиша выбора предмета 19 на горÑчей панели.\n"
-"См. http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
+"См. http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4099,8 +4149,8 @@ msgid ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
"Клавиша выбора предмета 20 на горÑчей панели.\n"
-"См. http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
+"См. http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4109,8 +4159,8 @@ msgid ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
"Клавиша выбора предмета 21 на горÑчей панели.\n"
-"См. http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
+"См. http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4119,8 +4169,8 @@ msgid ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
"Клавиша выбора предмета 22 на горÑчей панели.\n"
-"См. http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
+"См. http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4129,8 +4179,8 @@ msgid ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
"Клавиша выбора предмета 23 на горÑчей панели.\n"
-"См. http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
+"См. http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4139,8 +4189,8 @@ msgid ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
"Клавиша выбора предмета 24 на горÑчей панели.\n"
-"См. http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
+"См. http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4149,8 +4199,8 @@ msgid ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
"Клавиша выбора предмета 25 на горÑчей панели.\n"
-"См. http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
+"См. http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4159,8 +4209,8 @@ msgid ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
"Клавиша выбора предмета 26 на горÑчей панели.\n"
-"См. http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
+"См. http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4169,8 +4219,8 @@ msgid ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
"Клавиша выбора предмета 27 на горÑчей панели.\n"
-"См. http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
+"См. http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4179,8 +4229,8 @@ msgid ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
"Клавиша выбора предмета 28 на горÑчей панели.\n"
-"См. http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
+"См. http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4189,8 +4239,8 @@ msgid ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
"Клавиша выбора предмета 29 на горÑчей панели.\n"
-"См. http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
+"См. http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4199,8 +4249,8 @@ msgid ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
"Клавиша выбора предмета 30 на горÑчей панели.\n"
-"См. http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
+"См. http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4209,8 +4259,8 @@ msgid ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
"Клавиша выбора предмета 31 на горÑчей панели.\n"
-"См. http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
+"См. http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4219,8 +4269,8 @@ msgid ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
"Клавиша выбора предмета 32 на горÑчей панели.\n"
-"См. http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
+"См. http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4229,8 +4279,8 @@ msgid ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
"Клавиша выбора предмета 8 на горÑчей панели.\n"
-"См. http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
+"См. http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4239,8 +4289,8 @@ msgid ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
"Клавиша выбора предмета 5 на горÑчей панели.\n"
-"См. http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
+"См. http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4249,8 +4299,8 @@ msgid ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
"Клавиша выбора предмета 1 на горÑчей панели.\n"
-"См. http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
+"См. http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4259,8 +4309,8 @@ msgid ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
"Клавиша выбора предмета 4 на горÑчей панели.\n"
-"См. http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
+"См. http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4269,8 +4319,8 @@ msgid ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
"Клавиша выбора Ñледующего предмета на горÑчей панели.\n"
-"См. http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
+"См. http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4279,8 +4329,8 @@ msgid ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
"Клавиша выбора предмета 9 на горÑчей панели.\n"
-"См. http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
+"См. http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4289,8 +4339,8 @@ msgid ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
"Клавиша выбора предыдущего предмета на горÑчей панели.\n"
-"См. http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
+"См. http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4299,8 +4349,8 @@ msgid ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
"Клавиша выбора предмета 2 на горÑчей панели.\n"
-"См. http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
+"См. http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4309,8 +4359,8 @@ msgid ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
"Клавиша выбора предмета 7 на горÑчей панели.\n"
-"См. http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
+"См. http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4319,8 +4369,8 @@ msgid ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
"Клавиша выбора предмета 6 на горÑчей панели.\n"
-"См. http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
+"См. http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4329,8 +4379,8 @@ msgid ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
"Клавиша выбора предмета 10 на горÑчей панели.\n"
-"См. http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
+"См. http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4339,8 +4389,8 @@ msgid ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
"Клавиша выбора предмета 3 на горÑчей панели.\n"
-"См. http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
+"См. http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4353,8 +4403,8 @@ msgstr ""
"Клавиша, чтобы краÑÑ‚ÑŒÑÑ.\n"
"Также иÑпользуетÑÑ Ð´Ð»Ñ ÑпуÑка и Ð¿Ð¾Ð³Ñ€ÑƒÐ¶ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð´ воду, еÑли параметр "
"aux1_descends отключён.\n"
-"См. http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
+"См. http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4363,8 +4413,8 @@ msgid ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
"Клавиша Ð¿ÐµÑ€ÐµÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð²Ð¸Ð´Ð° от первого или от третьего лица.\n"
-"См. http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
+"См. http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4373,8 +4423,8 @@ msgid ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
"Клавиша ÑнÑÑ‚Ð¸Ñ Ñкриншота.\n"
-"См. http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
+"См. http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4383,8 +4433,8 @@ msgid ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
"Клавиша Ð¿ÐµÑ€ÐµÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð°Ð²Ñ‚Ð¾Ð±ÐµÐ³Ð°.\n"
-"См. http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
+"См. http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4393,8 +4443,8 @@ msgid ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
"Клавиша Ð¿ÐµÑ€ÐµÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ ÐºÐ¸Ð½ÐµÐ¼Ð°Ñ‚Ð¾Ð³Ñ€Ð°Ñ„Ð¸Ñ‡ÐµÑкого режима.\n"
-"См. http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
+"См. http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4403,8 +4453,8 @@ msgid ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
"Клавиша Ð¿ÐµÑ€ÐµÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð¼Ð¸Ð½Ð¸ÐºÐ°Ñ€Ñ‚Ñ‹.\n"
-"См. http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
+"См. http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4413,8 +4463,8 @@ msgid ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
"Клавиша Ð¿ÐµÑ€ÐµÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ð° быÑтрого перемещениÑ.\n"
-"См. http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
+"См. http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4423,8 +4473,8 @@ msgid ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
"Клавиша Ð¿ÐµÑ€ÐµÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ð° полёта.\n"
-"См. http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
+"См. http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4433,8 +4483,8 @@ msgid ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
"Клавиша Ð¿ÐµÑ€ÐµÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ð° Ð¿Ñ€Ð¾Ñ…Ð¾Ð¶Ð´ÐµÐ½Ð¸Ñ Ñквозь Ñтены.\n"
-"См. http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
+"См. http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4443,8 +4493,8 @@ msgid ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
"Клавиша Ð¿ÐµÑ€ÐµÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ð° движение вниз/вверх по направлению взглÑда.\n"
-"См. http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
+"См. http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4463,8 +4513,8 @@ msgid ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
"Клавиша Ð¿ÐµÑ€ÐµÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ñ‡Ð°Ñ‚Ð°.\n"
-"См. http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
+"См. http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4473,8 +4523,8 @@ msgid ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
"Клавиша Ð¿ÐµÑ€ÐµÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð¾Ñ‚Ð»Ð°Ð´Ð¾Ñ‡Ð½Ð¾Ð¹ информации.\n"
-"См. http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
+"См. http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4483,8 +4533,8 @@ msgid ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
"Клавиша Ð¿ÐµÑ€ÐµÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ñ‚ÑƒÐ¼Ð°Ð½Ð°.\n"
-"См. http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
+"См. http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4493,8 +4543,8 @@ msgid ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
"Клавиша Ð¿ÐµÑ€ÐµÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð¸Ð³Ñ€Ð¾Ð²Ð¾Ð³Ð¾ интерфейÑа.\n"
-"См. http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
+"См. http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4524,8 +4574,8 @@ msgid ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
"Клавиша Ð¾Ñ‚ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð·Ð¾Ð½Ñ‹ видимоÑти.\n"
-"См. http://irrlicht.sourceforge.net/docu/"
-"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"
+"См. http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4541,7 +4591,7 @@ msgstr ""
msgid "Kick players who sent more than X messages per 10 seconds."
msgstr ""
"ЕÑли клиент отправит в чат Ñтолько Ñообщений в течении 10 Ñекунд, то будет "
-"отключен от Ñервера."
+"отключён от Ñервера."
#: src/settings_translation_file.cpp
msgid "Lake steepness"
@@ -4560,12 +4610,20 @@ msgid "Large cave depth"
msgstr "Глубина больших пещер"
#: src/settings_translation_file.cpp
-msgid "Large chat console key"
-msgstr "Кнопка вызова конÑоли"
+msgid "Large cave maximum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large cave minimum number"
+msgstr ""
#: src/settings_translation_file.cpp
-msgid "Lava depth"
-msgstr "Глубина лавы"
+msgid "Large cave proportion flooded"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large chat console key"
+msgstr "Кнопка вызова конÑоли"
#: src/settings_translation_file.cpp
msgid "Leaves style"
@@ -4598,6 +4656,15 @@ msgstr ""
"обновлÑÑŽÑ‚ÑÑ Ð¿Ð¾ Ñети."
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid ""
+"Length of liquid waves.\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+"УÑтановка в true включает покачивание лиÑтвы.\n"
+"Требует, чтобы шейдеры были включены."
+
+#: src/settings_translation_file.cpp
msgid "Length of time between Active Block Modifier (ABM) execution cycles"
msgstr "Ð’Ñ€ÐµÐ¼Ñ Ð¼ÐµÐ¶Ð´Ñƒ циклами Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð´Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð¾Ð² активных блоков (ABM)"
@@ -4630,20 +4697,34 @@ msgstr ""
"- verbose (подробноÑти)"
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost"
+#, fuzzy
+msgid "Light curve boost"
msgstr "Средний подъём кривой Ñвета"
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost center"
+#, fuzzy
+msgid "Light curve boost center"
msgstr "Центр Ñреднего подъёма кривой Ñвета"
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost spread"
+#, fuzzy
+msgid "Light curve boost spread"
msgstr "РаÑпроÑтранение Ñреднего роÑта кривой Ñвета"
#: src/settings_translation_file.cpp
-msgid "Lightness sharpness"
-msgstr "РезкоÑÑ‚ÑŒ оÑвещённоÑти"
+#, fuzzy
+msgid "Light curve gamma"
+msgstr "Средний подъём кривой Ñвета"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Light curve high gradient"
+msgstr "Средний подъём кривой Ñвета"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Light curve low gradient"
+msgstr "Центр Ñреднего подъёма кривой Ñвета"
#: src/settings_translation_file.cpp
msgid "Limit of emerge queues on disk"
@@ -4761,24 +4842,18 @@ msgid "Map generation attributes specific to Mapgen Carpathian."
msgstr "Ðтрибуты генерации карт Ð´Ð»Ñ Mapgen Carpathian."
#: src/settings_translation_file.cpp
+#, fuzzy
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."
+"Map generation attributes specific to Mapgen Flat.\n"
+"Occasional lakes and hills can be added to the flat world."
msgstr ""
-"Ðтрибуты генерации карты Ð´Ð»Ñ Ð³ÐµÐ½ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ð° долин.\n"
-"«altitude_chill»: уменьшает теплоту Ñ Ñ€Ð¾Ñтом выÑоты.\n"
-"«humid_rivers»: увеличивает влажноÑÑ‚ÑŒ по обе Ñтороны рек.\n"
-"«vary_river_depth»: еÑли включено, то Ð½Ð¸Ð·ÐºÐ°Ñ Ð²Ð»Ð°Ð¶Ð½Ð¾ÑÑ‚ÑŒ и выÑокаÑ\n"
-"температура влиÑÑŽÑ‚ на уровень воды в реках.\n"
-"«altitude_dry»: уменьшает влажноÑÑ‚ÑŒ Ñ Ñ€Ð¾Ñтом выÑоты."
+"Ðтрибуты генерации Ð´Ð»Ñ ÐºÐ°Ñ€Ñ‚Ð¾Ð³ÐµÐ½ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ð° плоÑкоÑти.\n"
+"Иногда озера и холмы могут добавлÑÑ‚ÑŒÑÑ Ð² плоÑкий мир."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Map generation attributes specific to Mapgen flat.\n"
+"Map generation attributes specific to Mapgen Fractal.\n"
"'terrain' enables the generation of non-fractal terrain:\n"
"ocean, islands and underground."
msgstr ""
@@ -4788,11 +4863,19 @@ 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."
+"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 ""
-"Ðтрибуты генерации Ð´Ð»Ñ ÐºÐ°Ñ€Ñ‚Ð¾Ð³ÐµÐ½ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ð° плоÑкоÑти.\n"
-"Иногда озера и холмы могут добавлÑÑ‚ÑŒÑÑ Ð² плоÑкий мир."
+"Ðтрибуты генерации карты Ð´Ð»Ñ Ð³ÐµÐ½ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ð° долин.\n"
+"«altitude_chill»: уменьшает теплоту Ñ Ñ€Ð¾Ñтом выÑоты.\n"
+"«humid_rivers»: увеличивает влажноÑÑ‚ÑŒ по обе Ñтороны рек.\n"
+"«vary_river_depth»: еÑли включено, то Ð½Ð¸Ð·ÐºÐ°Ñ Ð²Ð»Ð°Ð¶Ð½Ð¾ÑÑ‚ÑŒ и выÑокаÑ\n"
+"температура влиÑÑŽÑ‚ на уровень воды в реках.\n"
+"«altitude_dry»: уменьшает влажноÑÑ‚ÑŒ Ñ Ñ€Ð¾Ñтом выÑоты."
#: src/settings_translation_file.cpp
msgid "Map generation attributes specific to Mapgen v5."
@@ -4840,7 +4923,7 @@ msgstr "Размер кÑша блоков карты в генераторе м
#: src/settings_translation_file.cpp
msgid "Mapblock unload timeout"
-msgstr "Таймаут выгрузки блоков"
+msgstr "Тайм-аут выгрузки блоков"
#: src/settings_translation_file.cpp
msgid "Mapgen Carpathian"
@@ -4947,8 +5030,17 @@ msgid "Maximum hotbar width"
msgstr "МакÑÐ¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ ÑˆÐ¸Ñ€Ð¸Ð½Ð° горÑчей панели"
#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of large caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Maximum liquid resistence. Controls deceleration when entering liquid at\n"
+"Maximum liquid resistance. Controls deceleration when entering liquid at\n"
"high speed."
msgstr ""
"МакÑимальное Ñопротивление жидкоÑти. Контролирует замедление\n"
@@ -5092,6 +5184,15 @@ msgid "Minimap scan height"
msgstr "Ð’Ñ‹Ñота ÑÐºÐ°Ð½Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¼Ð¸Ð½Ð¸ÐºÐ°Ñ€Ñ‚Ñ‹"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Minimum limit of random number of large caves per mapchunk."
+msgstr "3D-шум, определÑющий количеÑтво подземелий в куÑке карты."
+
+#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Minimum texture size"
msgstr "Минимальный размер текÑтуры"
@@ -5188,7 +5289,8 @@ msgid ""
msgstr "Ð˜Ð¼Ñ Ñервера, отображаемое при входе и в ÑпиÑке Ñерверов."
#: src/settings_translation_file.cpp
-msgid "Near clipping plane"
+#, fuzzy
+msgid "Near plane"
msgstr "Ð‘Ð»Ð¸Ð·ÐºÐ°Ñ Ð¿Ð»Ð¾ÑкоÑÑ‚ÑŒ отÑечениÑ"
#: src/settings_translation_file.cpp
@@ -5266,8 +5368,8 @@ msgstr ""
"- Указывает количеÑтво потоков, минимально — 1.\n"
"Ð’ÐИМÐÐИЕ: Увеличение чиÑла потоков улучшает быÑтродейÑтвие движка\n"
"картогенератора, но может Ñнижать производительноÑÑ‚ÑŒ игры, Ð¼ÐµÑˆÐ°Ñ Ð´Ñ€ÑƒÐ³Ð¸Ð¼\n"
-"процеÑÑам, оÑобенно в одиночной игре и при запуÑке кода Lua в «on_generated»."
-"\n"
+"процеÑÑам, оÑобенно в одиночной игре и при запуÑке кода Lua в "
+"«on_generated».\n"
"Ð”Ð»Ñ Ð±Ð¾Ð»ÑŒÑˆÐ¸Ð½Ñтва пользователей наилучшим значением может быть «1»."
#: src/settings_translation_file.cpp
@@ -5296,6 +5398,16 @@ msgstr "Ðепрозрачные жидкоÑти"
#: src/settings_translation_file.cpp
msgid ""
+"Opaqueness (alpha) of the shadow behind the default font, between 0 and 255."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Opaqueness (alpha) of the shadow behind the fallback font, between 0 and 255."
+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."
@@ -5336,8 +5448,13 @@ msgid "Parallax occlusion strength"
msgstr "Сила параллакÑа"
#: src/settings_translation_file.cpp
-msgid "Path to TrueTypeFont or bitmap."
-msgstr "Путь к шрифту TrueType или картинке Ñо шрифтом."
+msgid ""
+"Path of the fallback font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font will be used for certain languages or if the default font is "
+"unavailable."
+msgstr ""
#: src/settings_translation_file.cpp
msgid "Path to save screenshots at."
@@ -5357,6 +5474,22 @@ msgstr ""
"Путь до каталога Ñ Ñ‚ÐµÐºÑтурами. Ð’Ñе текÑтуры в первую очередь берутÑÑ Ð¾Ñ‚ Ñюда."
#: src/settings_translation_file.cpp
+msgid ""
+"Path to the default font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"The fallback font will be used if the font cannot be loaded."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Path to the monospace font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font is used for e.g. the console and profiler screen."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Pause on lost window focus"
msgstr "Пауза при потере фокуÑа"
@@ -5441,6 +5574,10 @@ msgid "Profiling"
msgstr "Профилирование"
#: src/settings_translation_file.cpp
+msgid "Proportion of large caves that contain liquid."
+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 "
@@ -5466,6 +5603,11 @@ msgid "Recent Chat Messages"
msgstr "Ðедавние ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ñ‡Ð°Ñ‚Ð°"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Regular font path"
+msgstr "Путь Ð´Ð»Ñ ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð¾Ñ‚Ñ‡Ñ‘Ñ‚Ð¾Ð²"
+
+#: src/settings_translation_file.cpp
msgid "Remote media"
msgstr "Удалённый медиаÑервер"
@@ -5677,26 +5819,27 @@ msgid "Selection box width"
msgstr "Толщина рамки выделениÑ"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
"Selects one of 18 fractal types.\n"
-"1 = 4D \"Roundy\" mandelbrot set.\n"
-"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."
+"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 ""
"Выбирает один из 18 типов фракталов.\n"
"1 = 4D \"Круглое\" множеÑтво Мандельброта.\n"
@@ -5769,27 +5912,30 @@ msgstr ""
"в чат."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Set to true enables waving leaves.\n"
+"Set to true to enable waving leaves.\n"
"Requires shaders to be enabled."
msgstr ""
"УÑтановка в true включает покачивание лиÑтвы.\n"
"Требует, чтобы шейдеры были включены."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Set to true enables waving plants.\n"
+"Set to true to enable waving liquids (like water).\n"
"Requires shaders to be enabled."
msgstr ""
-"УÑтановка в true включает покачивание раÑтений.\n"
+"УÑтановка в true включает волны на воде.\n"
"Требует, чтобы шейдеры были включены."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Set to true enables waving water.\n"
+"Set to true to enable waving plants.\n"
"Requires shaders to be enabled."
msgstr ""
-"УÑтановка в true включает волны на воде.\n"
+"УÑтановка в true включает покачивание раÑтений.\n"
"Требует, чтобы шейдеры были включены."
#: src/settings_translation_file.cpp
@@ -5808,8 +5954,18 @@ msgstr ""
"Работают только Ñ Ð²Ð¸Ð´ÐµÐ¾-бÑкендом OpenGL."
#: src/settings_translation_file.cpp
-msgid "Shadow limit"
-msgstr "Лимит теней"
+#, fuzzy
+msgid ""
+"Shadow offset (in pixels) of the default font. If 0, then shadow will not be "
+"drawn."
+msgstr "Смещение тени шрифта. ЕÑли указан 0, то тень не будет показана."
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid ""
+"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not "
+"be drawn."
+msgstr "Смещение тени шрифта. ЕÑли указан 0, то тень не будет показана."
#: src/settings_translation_file.cpp
msgid "Shape of the minimap. Enabled = round, disabled = square."
@@ -5865,6 +6021,14 @@ msgid "Slope and fill work together to modify the heights."
msgstr "Склон и заполнение работают ÑовмеÑтно Ð´Ð»Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð²Ñ‹Ñот."
#: src/settings_translation_file.cpp
+msgid "Small cave maximum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Small cave minimum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Small-scale humidity variation for blending biomes on borders."
msgstr "Мелкие вариации влажноÑти Ð´Ð»Ñ ÑÐ¼ÐµÑˆÐ¸Ð²Ð°Ð½Ð¸Ñ Ð±Ð¸Ð¾Ð¼Ð¾Ð² на границах."
@@ -5932,9 +6096,11 @@ msgstr ""
"Файлы, которых не будет, будут Ñкачены обычным путём."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Spread of light curve mid-boost.\n"
-"Standard deviation of the mid-boost gaussian."
+"Spread of light curve boost range.\n"
+"Controls the width of the range to be boosted.\n"
+"Standard deviation of the light curve boost Gaussian."
msgstr ""
"РаÑпроÑтранение Ñреднего подъёма кривой Ñвета.\n"
"Стандартное отклонение Ñреднего подъёма по ГауÑÑу."
@@ -5960,8 +6126,11 @@ msgid "Strength of generated normalmaps."
msgstr "Сила Ñгенерированных карт нормалей."
#: src/settings_translation_file.cpp
-msgid "Strength of light curve mid-boost."
-msgstr "Сила Ñреднего подъёма кривой Ñвета."
+msgid ""
+"Strength of light curve boost.\n"
+"The 3 'boost' parameters define a range of the light\n"
+"curve that is boosted in brightness."
+msgstr ""
#: src/settings_translation_file.cpp
msgid "Strength of parallax."
@@ -6083,6 +6252,15 @@ msgstr ""
"Ñкраном."
#: src/settings_translation_file.cpp
+msgid ""
+"The maximum height of the surface of waving liquids.\n"
+"4.0 = Wave height is two nodes.\n"
+"0.0 = Wave doesn't move at all.\n"
+"Default is 1.0 (1/2 node).\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "The network interface that the server listens on."
msgstr "Сетевой интерфейÑ, который Ñлушает Ñервер."
@@ -6194,10 +6372,6 @@ 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."
@@ -6257,10 +6431,11 @@ msgid "Trilinear filtering"
msgstr "Ð¢Ñ€Ð¸Ð»Ð¸Ð½ÐµÐ¹Ð½Ð°Ñ Ñ„Ð¸Ð»ÑŒÑ‚Ñ€Ð°Ñ†Ð¸Ñ"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
"True = 256\n"
"False = 128\n"
-"Useable to make minimap smoother on slower machines."
+"Usable to make minimap smoother on slower machines."
msgstr ""
"True = 256\n"
"False = 128\n"
@@ -6271,12 +6446,6 @@ 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 "ÐÐ´Ñ€ÐµÑ ÑпиÑка Ñерверов, отображающийÑÑ Ð²Ð¾ вкладке Мультиплеер."
@@ -6372,11 +6541,6 @@ 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 "Ð’Ð°Ñ€Ð¸Ð°Ñ†Ð¸Ñ Ð¼Ð°ÐºÑимальной выÑоты гор (в нодах)."
@@ -6453,6 +6617,15 @@ msgid "Volume"
msgstr "ГромкоÑÑ‚ÑŒ"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid ""
+"Volume of all sounds.\n"
+"Requires the sound system to be enabled."
+msgstr ""
+"Включает Parallax Occlusion.\n"
+"Требует, чтобы шейдеры были включены."
+
+#: 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"
@@ -6497,26 +6670,30 @@ msgid "Waving leaves"
msgstr "Покачивание лиÑтвы"
#: src/settings_translation_file.cpp
-msgid "Waving plants"
-msgstr "Покачивание раÑтений"
-
-#: src/settings_translation_file.cpp
-msgid "Waving water"
-msgstr "Волны на воде"
+#, fuzzy
+msgid "Waving liquids"
+msgstr "Покачивание жидкоÑтей"
#: src/settings_translation_file.cpp
-msgid "Waving water wave height"
+#, fuzzy
+msgid "Waving liquids wave height"
msgstr "Ð’Ñ‹Ñота волн на воде"
#: src/settings_translation_file.cpp
-msgid "Waving water wave speed"
+#, fuzzy
+msgid "Waving liquids wave speed"
msgstr "СкороÑÑ‚ÑŒ волн на воде"
#: src/settings_translation_file.cpp
-msgid "Waving water wavelength"
+#, fuzzy
+msgid "Waving liquids wavelength"
msgstr "Длина волн на воде"
#: src/settings_translation_file.cpp
+msgid "Waving plants"
+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"
@@ -6564,8 +6741,11 @@ msgstr ""
"автомаÑÑˆÑ‚Ð°Ð±Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ‚ÐµÐºÑтур."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Whether FreeType fonts are used, requires FreeType support to be compiled in."
+"Whether FreeType fonts are used, requires FreeType support to be compiled "
+"in.\n"
+"If disabled, bitmap and XML vectors fonts are used instead."
msgstr ""
"ИÑпользовать шрифты FreeType. Поддержка FreeType должна быть включена при "
"Ñборке."
@@ -6602,6 +6782,14 @@ msgstr "Затуманивать ли конец видимой облаÑти."
#: src/settings_translation_file.cpp
msgid ""
+"Whether to mute sounds. You can unmute sounds at any time, unless the\n"
+"sound system is disabled (enable_sound=false).\n"
+"In-game, you can toggle the mute state with the mute key or by using the\n"
+"pause menu."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
"Whether to show the client debug info (has the same effect as hitting F5)."
msgstr "Показывать данные отладки (аналогично нажатию F5)."
@@ -6685,10 +6873,6 @@ msgid "Y-level of cavern upper limit."
msgstr "Y-уровень верхнего предела пещеры."
#: src/settings_translation_file.cpp
-msgid "Y-level of floatland midpoint and lake surface."
-msgstr "Y-уровень Ñередины поплавка и поверхноÑти озера."
-
-#: src/settings_translation_file.cpp
msgid "Y-level of higher terrain that creates cliffs."
msgstr "Y-уровень выÑокого рельефа, формирующего горы."
@@ -6701,12 +6885,8 @@ msgid "Y-level of seabed."
msgstr "Y-уровень морÑкого дна."
#: src/settings_translation_file.cpp
-msgid "Y-level to which floatland shadows extend."
-msgstr "Y-уровень, на который раÑпроÑтранÑÑŽÑ‚ÑÑ Ñ‚ÐµÐ½Ð¸ Ñ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ точкой."
-
-#: src/settings_translation_file.cpp
msgid "cURL file download timeout"
-msgstr "Таймаут загрузки файла Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ cURL"
+msgstr "Тайм-аут загрузки файла Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ cURL"
#: src/settings_translation_file.cpp
msgid "cURL parallel limit"
@@ -6716,6 +6896,123 @@ msgstr "Лимит одновременных Ñоединений cURL"
msgid "cURL timeout"
msgstr "cURL тайм-аут"
+#~ 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"
+#~ "Этот параметр предназначен только Ð´Ð»Ñ ÐºÐ»Ð¸ÐµÐ½Ñ‚Ð° и игнорируетÑÑ Ñервером."
+
+#~ msgid "Alters how mountain-type floatlands taper above and below midpoint."
+#~ msgstr "УправлÑет Ñужением оÑтровов горного типа ниже Ñредней точки."
+
+#~ msgid "Center of light curve mid-boost."
+#~ msgstr "Центр Ñреднего подъёма кривой Ñвета."
+
+#~ msgid ""
+#~ "Controls the density of mountain-type floatlands.\n"
+#~ "Is a noise offset added to the 'mgv7_np_mountain' noise value."
+#~ msgstr ""
+#~ "Контролирует плотноÑÑ‚ÑŒ горной меÑтноÑти парÑщих оÑтровов.\n"
+#~ "ЯвлÑетÑÑ Ñмещением, добавлÑемым к значению шума 'mgv7_np_mountain'."
+
+#~ msgid "Controls width of tunnels, a smaller value creates wider tunnels."
+#~ msgstr ""
+#~ "Контролирует ширину тоннелей. Меньшие Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ñоздают более широкие "
+#~ "тоннели."
+
+#~ msgid "Darkness sharpness"
+#~ msgstr "РезкоÑÑ‚ÑŒ темноты"
+
+#~ msgid ""
+#~ "Defines areas of floatland smooth terrain.\n"
+#~ "Smooth floatlands occur when noise > 0."
+#~ msgstr ""
+#~ "ОпределÑет облаÑти гладкой поверхноÑти на парÑщих оÑтровах.\n"
+#~ "Гладкие парÑщие оÑтрова поÑвлÑÑŽÑ‚ÑÑ, когда шум больше нолÑ."
+
+#~ msgid ""
+#~ "Deprecated, define and locate cave liquids using biome definitions "
+#~ "instead.\n"
+#~ "Y of upper limit of lava in large caves."
+#~ msgstr ""
+#~ "УÑтарело, определÑет и раÑполагает жидкоÑти в пещерах Ñ Ð¸Ñпользованием "
+#~ "определений биома.\n"
+#~ "Y верхней границы лавы в больших пещерах."
+
+#~ msgid "Enable VBO"
+#~ msgstr "Включить объекты буфера вершин (VBO)"
+
+#~ msgid "Enables filmic tone mapping"
+#~ msgstr "Включить кинематографичеÑкое тональное отображение"
+
+#~ msgid "Floatland base height noise"
+#~ msgstr "Шум базовой выÑоты парÑщих оÑтровов"
+
+#~ msgid "Floatland base noise"
+#~ msgstr "Базовый шум парÑщих оÑтровов"
+
+#~ msgid "Floatland level"
+#~ msgstr "Уровень парÑщих оÑтровов"
+
+#~ msgid "Floatland mountain density"
+#~ msgstr "ПлотноÑÑ‚ÑŒ гор на парÑщих оÑтровах"
+
+#~ msgid "Floatland mountain exponent"
+#~ msgstr "ЭкÑпонента гор на парÑщих оÑтровах"
+
+#~ msgid "Floatland mountain height"
+#~ msgstr "Ð’Ñ‹Ñота гор на парÑщих оÑтровах"
+
+#~ msgid "Font shadow alpha (opaqueness, between 0 and 255)."
+#~ msgstr "ПрозрачноÑÑ‚ÑŒ тени шрифта (непрозрачноÑÑ‚ÑŒ от 0 до 255)."
+
+#~ msgid "Gamma"
+#~ msgstr "Гамма"
+
+#~ msgid "IPv6 support."
+#~ msgstr "Поддержка IPv6."
+
+#~ msgid "Lava depth"
+#~ msgstr "Глубина лавы"
+
+#~ msgid "Lightness sharpness"
+#~ msgstr "РезкоÑÑ‚ÑŒ оÑвещённоÑти"
+
+#~ msgid "Path to TrueTypeFont or bitmap."
+#~ msgstr "Путь к шрифту TrueType или картинке Ñо шрифтом."
+
+#~ msgid "Shadow limit"
+#~ msgstr "Лимит теней"
+
+#~ msgid "Strength of light curve mid-boost."
+#~ msgstr "Сила Ñреднего подъёма кривой Ñвета."
+
+#~ msgid "This font will be used for certain languages."
+#~ msgstr "Этот шрифт будет иÑпользован Ð´Ð»Ñ Ð½ÐµÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ… Ñзыков."
+
+#~ msgid ""
+#~ "Typical maximum height, above and below midpoint, of floatland mountains."
+#~ msgstr ""
+#~ "Ð¢Ð¸Ð¿Ð¸Ñ‡Ð½Ð°Ñ Ð¼Ð°ÐºÑÐ¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ Ð²Ñ‹Ñота, выше и ниже Ñредней точки гор парÑщих "
+#~ "оÑтровов."
+
+#~ msgid "Variation of hill height and lake depth on floatland smooth terrain."
+#~ msgstr ""
+#~ "Ð’Ð°Ñ€Ð¸Ð°Ñ†Ð¸Ñ Ð²Ñ‹Ñоты холмов и глубин озёр на гладкой меÑтноÑти парÑщих "
+#~ "оÑтровов."
+
+#~ msgid "Waving water"
+#~ msgstr "Волны на воде"
+
+#~ msgid "Y-level of floatland midpoint and lake surface."
+#~ msgstr "Y-уровень Ñередины поплавка и поверхноÑти озера."
+
+#~ msgid "Y-level to which floatland shadows extend."
+#~ msgstr "Y-уровень, на который раÑпроÑтранÑÑŽÑ‚ÑÑ Ñ‚ÐµÐ½Ð¸ Ñ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ точкой."
+
#~ msgid "Projecting dungeons"
#~ msgstr "ПроÑтупающие подземельÑ"
diff --git a/po/sl/minetest.po b/po/sl/minetest.po
index 1e1591061..b429ee0bd 100644
--- a/po/sl/minetest.po
+++ b/po/sl/minetest.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Slovenian (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-10-09 22:02+0200\n"
+"POT-Creation-Date: 2020-04-03 23:18+0200\n"
"PO-Revision-Date: 2019-11-29 23:04+0000\n"
"Last-Translator: Matej Mlinar <mlinar.matej@gmail.com>\n"
"Language-Team: Slovenian <https://hosted.weblate.org/projects/minetest/"
@@ -11,8 +11,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || "
-"n%100==4 ? 2 : 3;\n"
+"Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n"
+"%100==4 ? 2 : 3;\n"
"X-Generator: Weblate 3.10-dev\n"
#: builtin/client/death_formspec.lua src/client/game.cpp
@@ -406,14 +406,25 @@ msgstr "Z"
msgid "Z spread"
msgstr "Z Å¡irjenje"
+#. ~ "absvalue" is a noise parameter flag.
+#. It is short for "absolute value".
+#. It can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "absvalue"
msgstr "Absolutna vrednost"
+#. ~ "defaults" is a noise parameter flag.
+#. It describes the default processing options
+#. for noise settings in main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "defaults"
msgstr "Privzeta/standardna vrednost (defaults)"
+#. ~ "eased" is a noise parameter flag.
+#. It is used to make the map smoother and
+#. can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "eased"
msgstr ""
@@ -624,6 +635,7 @@ msgstr "Ime / Geslo"
msgid "Ping"
msgstr "Ping"
+#. ~ PvP = Player versus Player
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "PvP enabled"
msgstr "Igra PvP je omogoÄena"
@@ -870,6 +882,14 @@ msgstr "Ni bilo mogoÄe odpreti datoteke z geslom: "
msgid "Provided world path doesn't exist: "
msgstr "Podana pot do sveta ne obstaja: "
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string. Put either "no" or "yes"
+#. into the translation field (literally).
+#. Choose "yes" if the language requires use of the fallback
+#. font, "no" otherwise.
+#. The fallback font is (normally) required for languages with
+#. non-Latin script, like Chinese.
+#. When in doubt, test your translation.
#: src/client/fontengine.cpp
msgid "needs_fallback_font"
msgstr "no"
@@ -906,6 +926,7 @@ msgstr "– Vrata: "
msgid "- Public: "
msgstr "– Javno: "
+#. ~ PvP = Player versus Player
#: src/client/game.cpp
msgid "- PvP: "
msgstr "– Igra PvP: "
@@ -1359,6 +1380,7 @@ msgstr "Leva tipka Shift"
msgid "Left Windows"
msgstr "Leva tipka Win"
+#. ~ Key name, common on Windows keyboards
#: src/client/keycode.cpp
msgid "Menu"
msgstr "Meni"
@@ -1451,6 +1473,7 @@ msgstr "Premor"
msgid "Play"
msgstr "Igraj"
+#. ~ "Print screen" key
#: src/client/keycode.cpp
msgid "Print"
msgstr "Natisni"
@@ -1487,6 +1510,7 @@ msgstr "Desna tipka Win"
msgid "Scroll Lock"
msgstr "Tipka zaklepa drsnika"
+#. ~ Key name
#: src/client/keycode.cpp
msgid "Select"
msgstr "Izberi"
@@ -1547,8 +1571,8 @@ msgstr ""
"PrviÄ se boste prijavili v strežnik z imenom \"%s\".\n"
"ÄŒe nadaljujete, bo na tem strežniku ustvarjen nov raÄun z vaÅ¡imi prijavnimi "
"podatki.\n"
-"Prosimo, znova vnesite svoje geslo in kliknite \"Registriraj in prijavi se\""
-", da potrdite ustvarjanje raÄuna ali kliknite \"PrekliÄi\" za prekinitev."
+"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"
@@ -1727,11 +1751,16 @@ msgstr "Utišano"
msgid "Sound Volume: "
msgstr "Glasnost zvoka: "
+#. ~ Imperative, as in "Enter/type in text".
+#. Don't forget the space.
#: src/gui/modalMenu.cpp
msgid "Enter "
msgstr "Vpis "
-#: src/network/clientpackethandler.cpp
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string which needs to contain the translation's
+#. language code (e.g. "de" for German).
+#: src/network/clientpackethandler.cpp src/script/lua_api/l_client.cpp
msgid "LANG_CODE"
msgstr "sl"
@@ -1754,7 +1783,7 @@ msgid ""
"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"
+"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."
@@ -1920,18 +1949,16 @@ msgid ""
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 "Naprednejše"
#: src/settings_translation_file.cpp
-msgid "Alters how mountain-type floatlands taper above and below midpoint."
+msgid ""
+"Alters the light curve by applying 'gamma correction' to it.\n"
+"Higher values make middle and lower light levels brighter.\n"
+"Value '1.0' leaves the light curve unaltered.\n"
+"This only has significant effect on daylight and artificial\n"
+"light, it has very little effect on natural night light."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2084,6 +2111,23 @@ msgid "Block send optimize distance"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Bold and italic font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bold and italic monospace font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Bold font path"
+msgstr "Pot pisave"
+
+#: src/settings_translation_file.cpp
+msgid "Bold monospace font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Build inside player"
msgstr "Postavljanje blokov znotraj igralca"
@@ -2097,8 +2141,8 @@ 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"
+"Camera 'near clipping plane' distance in nodes, between 0 and 0.25\n"
+"Only works on GLES platforms. 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 ""
@@ -2164,7 +2208,9 @@ msgid "Cavern upper limit"
msgstr "Zgornja meja jam"
#: src/settings_translation_file.cpp
-msgid "Center of light curve mid-boost."
+msgid ""
+"Center of light curve boost range.\n"
+"Where 0.0 is minimum light level, 1.0 is maximum light level."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2362,12 +2408,9 @@ 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."
+"Controls width of tunnels, a smaller value creates wider tunnels.\n"
+"Value >= 10.0 completely disables generation of tunnels and avoids the\n"
+"intensive noise calculations."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2403,10 +2446,6 @@ msgid "Damage"
msgstr "Poškodbe"
#: src/settings_translation_file.cpp
-msgid "Darkness sharpness"
-msgstr "Ostrina teme"
-
-#: src/settings_translation_file.cpp
msgid "Debug info toggle key"
msgstr ""
@@ -2423,7 +2462,7 @@ msgid "Dec. volume key"
msgstr "Tipka za zmanjševanje glasnosti"
#: src/settings_translation_file.cpp
-msgid "Decrease this to increase liquid resistence to movement."
+msgid "Decrease this to increase liquid resistance to movement."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2465,12 +2504,6 @@ msgid ""
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 "DoloÄa obmoÄja, kjer imajo drevesa jabolka."
@@ -2550,12 +2583,6 @@ 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 "Globina pod katero boš našel ogromne votline."
@@ -2631,14 +2658,15 @@ msgstr "Å um jeÄe"
#: src/settings_translation_file.cpp
msgid ""
-"Enable Lua modding support on client.\n"
-"This support is experimental and API can change."
+"Enable IPv6 support (for both client and server).\n"
+"Required for IPv6 connections to work at all."
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
-msgid "Enable VBO"
-msgstr "OmogoÄi VBO"
+msgid ""
+"Enable Lua modding support on client.\n"
+"This support is experimental and API can change."
+msgstr ""
#: src/settings_translation_file.cpp
msgid "Enable console window"
@@ -2703,6 +2731,12 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Enable vertex buffer objects.\n"
+"This should greatly improve graphics performance."
+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 ""
@@ -2710,7 +2744,16 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Enable/disable running an IPv6 server.\n"
-"Ignored if bind_address is set."
+"Ignored if bind_address is set.\n"
+"Needs enable_ipv6 to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Enables Hable's 'Uncharted 2' filmic tone mapping.\n"
+"Simulates the tone curve of photographic film and how this approximates the\n"
+"appearance of high dynamic range images. Mid-range contrast is slightly\n"
+"enhanced, highlights and shadows are gradually compressed."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2730,10 +2773,6 @@ 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 "OmogoÄi zemljevid (minimap)."
@@ -2750,6 +2789,14 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Enables the sound system.\n"
+"If disabled, this completely disables all sounds everywhere and the in-game\n"
+"sound controls will be non-functional.\n"
+"Changing this setting requires a restart."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Engine profiling data print interval"
msgstr ""
@@ -2780,8 +2827,9 @@ msgid "Fall bobbing factor"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Fallback font"
-msgstr ""
+#, fuzzy
+msgid "Fallback font path"
+msgstr "Pot pisave"
#: src/settings_translation_file.cpp
msgid "Fallback font shadow"
@@ -2878,30 +2926,6 @@ msgid "Fixed virtual joystick"
msgstr "Fiksen virtualni joystick"
#: 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 "Tipka za letenje"
@@ -2922,9 +2946,12 @@ msgid "Fog toggle key"
msgstr "Tipka za preklop na meglo"
#: src/settings_translation_file.cpp
-#, fuzzy
-msgid "Font path"
-msgstr "Pot pisave"
+msgid "Font bold by default"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font italic by default"
+msgstr ""
#: src/settings_translation_file.cpp
#, fuzzy
@@ -2936,17 +2963,21 @@ msgid "Font shadow alpha"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font shadow alpha (opaqueness, between 0 and 255)."
+#, fuzzy
+msgid "Font size"
+msgstr "Velikost pisave"
+
+#: src/settings_translation_file.cpp
+msgid "Font size of the default font in point (pt)."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font shadow offset, if 0 then shadow will not be drawn."
+msgid "Font size of the fallback font in point (pt)."
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
-msgid "Font size"
-msgstr "Velikost pisave"
+msgid "Font size of the monospace font in point (pt)."
+msgstr ""
#: src/settings_translation_file.cpp
msgid ""
@@ -3059,10 +3090,6 @@ msgid "GUI scaling filter txr2img"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gamma"
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Generate normalmaps"
msgstr ""
@@ -3078,11 +3105,15 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at maximum light level."
+msgid ""
+"Gradient of light curve at maximum light level.\n"
+"Controls the contrast of the highest light levels."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at minimum light level."
+msgid ""
+"Gradient of light curve at minimum light level.\n"
+"Controls the contrast of the lowest light levels."
msgstr ""
#: src/settings_translation_file.cpp
@@ -3115,7 +3146,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Handling for deprecated lua api calls:\n"
+"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)."
@@ -3342,6 +3373,13 @@ msgstr "Kako globoke naredi reke."
#: src/settings_translation_file.cpp
msgid ""
+"How fast liquid waves will move. Higher = faster.\n"
+"If negative, liquid waves will move backwards.\n"
+"Requires waving liquids to be enabled."
+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 ""
@@ -3371,10 +3409,6 @@ msgid "IPv6 server"
msgstr "IPv6 strežnik"
#: src/settings_translation_file.cpp
-msgid "IPv6 support."
-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."
@@ -3567,6 +3601,15 @@ msgid "Invert vertical mouse movement."
msgstr "Obrne navpiÄno gibanje med premikanjem miÅ¡ke."
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Italic font path"
+msgstr "Pot pisave"
+
+#: src/settings_translation_file.cpp
+msgid "Italic monospace font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Item entity TTL"
msgstr ""
@@ -4162,11 +4205,19 @@ msgid "Large cave depth"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Large chat console key"
+msgid "Large cave maximum number"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Lava depth"
+msgid "Large cave minimum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large cave proportion flooded"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large chat console key"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4193,6 +4244,12 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Length of liquid waves.\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Length of time between Active Block Modifier (ABM) execution cycles"
msgstr ""
@@ -4217,19 +4274,27 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost"
+msgid "Light curve boost"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost center"
+msgid "Light curve boost center"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost spread"
+msgid "Light curve boost spread"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Lightness sharpness"
+msgid "Light curve gamma"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve high gradient"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve low gradient"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4334,25 +4399,25 @@ 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."
+"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 flat.\n"
+"Map generation attributes specific to Mapgen Fractal.\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."
+"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
@@ -4503,8 +4568,16 @@ msgid "Maximum hotbar width"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of large caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
-"Maximum liquid resistence. Controls deceleration when entering liquid at\n"
+"Maximum liquid resistance. Controls deceleration when entering liquid at\n"
"high speed."
msgstr ""
@@ -4625,6 +4698,14 @@ msgid "Minimap scan height"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of large caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Minimum texture size"
msgstr ""
@@ -4711,7 +4792,7 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Near clipping plane"
+msgid "Near plane"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4798,6 +4879,16 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Opaqueness (alpha) of the shadow behind the default font, between 0 and 255."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Opaqueness (alpha) of the shadow behind the fallback font, between 0 and 255."
+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."
@@ -4837,7 +4928,12 @@ msgid "Parallax occlusion strength"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Path to TrueTypeFont or bitmap."
+msgid ""
+"Path of the fallback font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font will be used for certain languages or if the default font is "
+"unavailable."
msgstr ""
#: src/settings_translation_file.cpp
@@ -4855,6 +4951,22 @@ msgid "Path to texture directory. All textures are first searched from here."
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Path to the default font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"The fallback font will be used if the font cannot be loaded."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Path to the monospace font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font is used for e.g. the console and profiler screen."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Pause on lost window focus"
msgstr ""
@@ -4929,6 +5041,10 @@ msgid "Profiling"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Proportion of large caves that contain liquid."
+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 "
@@ -4952,6 +5068,11 @@ msgid "Recent Chat Messages"
msgstr ""
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Regular font path"
+msgstr "Pot pisave"
+
+#: src/settings_translation_file.cpp
msgid "Remote media"
msgstr ""
@@ -5142,24 +5263,24 @@ 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."
+"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
@@ -5210,19 +5331,19 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving leaves.\n"
+"Set to true to enable waving leaves.\n"
"Requires shaders to be enabled."
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving plants.\n"
+"Set to true to enable waving liquids (like water).\n"
"Requires shaders to be enabled."
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving water.\n"
+"Set to true to enable waving plants.\n"
"Requires shaders to be enabled."
msgstr ""
@@ -5239,7 +5360,15 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Shadow limit"
+msgid ""
+"Shadow offset (in pixels) of the default font. If 0, then shadow will not be "
+"drawn."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not "
+"be drawn."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5284,6 +5413,14 @@ msgid "Slope and fill work together to modify the heights."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Small cave maximum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Small cave minimum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Small-scale humidity variation for blending biomes on borders."
msgstr ""
@@ -5349,8 +5486,9 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Spread of light curve mid-boost.\n"
-"Standard deviation of the mid-boost gaussian."
+"Spread of light curve boost range.\n"
+"Controls the width of the range to be boosted.\n"
+"Standard deviation of the light curve boost Gaussian."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5374,7 +5512,10 @@ msgid "Strength of generated normalmaps."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Strength of light curve mid-boost."
+msgid ""
+"Strength of light curve boost.\n"
+"The 3 'boost' parameters define a range of the light\n"
+"curve that is boosted in brightness."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5477,6 +5618,15 @@ msgid "The length in pixels it takes for touch screen interaction to start."
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"The maximum height of the surface of waving liquids.\n"
+"4.0 = Wave height is two nodes.\n"
+"0.0 = Wave doesn't move at all.\n"
+"Default is 1.0 (1/2 node).\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "The network interface that the server listens on."
msgstr ""
@@ -5557,10 +5707,6 @@ 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."
@@ -5614,7 +5760,7 @@ msgstr ""
msgid ""
"True = 256\n"
"False = 128\n"
-"Useable to make minimap smoother on slower machines."
+"Usable to make minimap smoother on slower machines."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5622,11 +5768,6 @@ 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 ""
@@ -5711,10 +5852,6 @@ 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 ""
@@ -5788,6 +5925,12 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Volume of all sounds.\n"
+"Requires the sound system to be enabled."
+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"
@@ -5824,29 +5967,30 @@ msgid "Waving leaves"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving plants"
-msgstr ""
-
-#: src/settings_translation_file.cpp
-msgid "Waving water"
-msgstr ""
+#, fuzzy
+msgid "Waving liquids"
+msgstr "Valovanje tekoÄin"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wave height"
+msgid "Waving liquids wave height"
msgstr "Pokaži valovanje vode"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wave speed"
+msgid "Waving liquids wave speed"
msgstr "Pokaži premikanje listov"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wavelength"
+msgid "Waving liquids wavelength"
msgstr "Pokaži valovanje vode"
#: src/settings_translation_file.cpp
+msgid "Waving plants"
+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"
@@ -5876,7 +6020,9 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Whether FreeType fonts are used, requires FreeType support to be compiled in."
+"Whether FreeType fonts are used, requires FreeType support to be compiled "
+"in.\n"
+"If disabled, bitmap and XML vectors fonts are used instead."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5905,6 +6051,14 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Whether to mute sounds. You can unmute sounds at any time, unless the\n"
+"sound system is disabled (enable_sound=false).\n"
+"In-game, you can toggle the mute state with the mute key or by using the\n"
+"pause menu."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
"Whether to show the client debug info (has the same effect as hitting F5)."
msgstr ""
@@ -5974,10 +6128,6 @@ 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 ""
@@ -5990,10 +6140,6 @@ 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 ""
@@ -6005,6 +6151,16 @@ msgstr ""
msgid "cURL timeout"
msgstr ""
+#~ msgid "Darkness sharpness"
+#~ msgstr "Ostrina teme"
+
+#, fuzzy
+#~ msgid "Enable VBO"
+#~ msgstr "OmogoÄi VBO"
+
+#~ msgid "IPv6 support."
+#~ msgstr "IPv6 podpora."
+
#~ msgid "Select Package File:"
#~ msgstr "Izberi datoteko paketa:"
diff --git a/po/sr_Cyrl/minetest.po b/po/sr_Cyrl/minetest.po
index 3c247bc23..4fc40b2c6 100644
--- a/po/sr_Cyrl/minetest.po
+++ b/po/sr_Cyrl/minetest.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Serbian (cyrillic) (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-10-09 22:02+0200\n"
+"POT-Creation-Date: 2020-04-03 23:18+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/"
@@ -425,15 +425,26 @@ msgstr ""
msgid "Z spread"
msgstr ""
+#. ~ "absvalue" is a noise parameter flag.
+#. It is short for "absolute value".
+#. It can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "absvalue"
msgstr ""
+#. ~ "defaults" is a noise parameter flag.
+#. It describes the default processing options
+#. for noise settings in main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
#, fuzzy
msgid "defaults"
msgstr "Уобичајена игра"
+#. ~ "eased" is a noise parameter flag.
+#. It is used to make the map smoother and
+#. can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "eased"
msgstr ""
@@ -669,6 +680,7 @@ msgstr "Име / Шифра"
msgid "Ping"
msgstr "Одзив"
+#. ~ PvP = Player versus Player
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "PvP enabled"
msgstr "Туча омогућена"
@@ -918,6 +930,14 @@ msgstr ""
msgid "Provided world path doesn't exist: "
msgstr "Дата локација Ñвета не поÑтоји: "
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string. Put either "no" or "yes"
+#. into the translation field (literally).
+#. Choose "yes" if the language requires use of the fallback
+#. font, "no" otherwise.
+#. The fallback font is (normally) required for languages with
+#. non-Latin script, like Chinese.
+#. When in doubt, test your translation.
#: src/client/fontengine.cpp
msgid "needs_fallback_font"
msgstr ""
@@ -954,6 +974,7 @@ msgstr "- Порт: "
msgid "- Public: "
msgstr "- Јавни: "
+#. ~ PvP = Player versus Player
#: src/client/game.cpp
msgid "- PvP: "
msgstr "- Играч против играча: "
@@ -1420,6 +1441,7 @@ msgstr "Леви Shift"
msgid "Left Windows"
msgstr "Леви Windows"
+#. ~ Key name, common on Windows keyboards
#: src/client/keycode.cpp
msgid "Menu"
msgstr "Мени"
@@ -1513,6 +1535,7 @@ msgstr "ЗауÑтави"
msgid "Play"
msgstr "Играј"
+#. ~ "Print screen" key
#: src/client/keycode.cpp
msgid "Print"
msgstr "Прикажи"
@@ -1549,6 +1572,7 @@ msgstr "ДеÑни Windows"
msgid "Scroll Lock"
msgstr "Закључавање Ñкроловања"
+#. ~ Key name
#: src/client/keycode.cpp
msgid "Select"
msgstr "Одабери"
@@ -1795,11 +1819,16 @@ msgstr "Изкључи звук"
msgid "Sound Volume: "
msgstr "Јачина звука: "
+#. ~ Imperative, as in "Enter/type in text".
+#. Don't forget the space.
#: src/gui/modalMenu.cpp
msgid "Enter "
msgstr "Уреду "
-#: src/network/clientpackethandler.cpp
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string which needs to contain the translation's
+#. language code (e.g. "de" for German).
+#: src/network/clientpackethandler.cpp src/script/lua_api/l_client.cpp
msgid "LANG_CODE"
msgstr "sr_Cyrl"
@@ -1823,7 +1852,7 @@ msgid ""
"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"
+"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."
@@ -2011,20 +2040,16 @@ msgstr ""
"нпр. за 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."
+msgid ""
+"Alters the light curve by applying 'gamma correction' to it.\n"
+"Higher values make middle and lower light levels brighter.\n"
+"Value '1.0' leaves the light curve unaltered.\n"
+"This only has significant effect on daylight and artificial\n"
+"light, it has very little effect on natural night light."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2187,6 +2212,22 @@ msgid "Block send optimize distance"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Bold and italic font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bold and italic monospace font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bold font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bold monospace font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Build inside player"
msgstr "Градња унутар играча"
@@ -2200,8 +2241,8 @@ 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"
+"Camera 'near clipping plane' distance in nodes, between 0 and 0.25\n"
+"Only works on GLES platforms. 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 ""
@@ -2264,7 +2305,9 @@ msgid "Cavern upper limit"
msgstr "Граница пећина"
#: src/settings_translation_file.cpp
-msgid "Center of light curve mid-boost."
+msgid ""
+"Center of light curve boost range.\n"
+"Where 0.0 is minimum light level, 1.0 is maximum light level."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2473,17 +2516,11 @@ msgid "Controls steepness/height of hills."
msgstr "Контролише Ñтрмину/виÑину брда."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
-"Controls the density of mountain-type floatlands.\n"
-"Is a noise offset added to the 'mgv7_np_mountain' noise value."
+"Controls width of tunnels, a smaller value creates wider tunnels.\n"
+"Value >= 10.0 completely disables generation of tunnels and avoids the\n"
+"intensive noise calculations."
msgstr ""
-"Контролише гуÑтину планинÑког терена на лебдећим оÑтрвима.\n"
-"Као одÑтупање Ñе додаје на вредноÑÑ‚ 'np_mountain' Ñемена."
-
-#: 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"
@@ -2518,10 +2555,6 @@ msgid "Damage"
msgstr "Штета"
#: src/settings_translation_file.cpp
-msgid "Darkness sharpness"
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Debug info toggle key"
msgstr "Кључ за укључивање debug информација"
@@ -2539,7 +2572,7 @@ msgid "Dec. volume key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Decrease this to increase liquid resistence to movement."
+msgid "Decrease this to increase liquid resistance to movement."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2581,12 +2614,6 @@ msgid ""
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 ""
@@ -2663,12 +2690,6 @@ 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 ""
@@ -2744,12 +2765,14 @@ msgstr "Семе пећина"
#: src/settings_translation_file.cpp
msgid ""
-"Enable Lua modding support on client.\n"
-"This support is experimental and API can change."
+"Enable IPv6 support (for both client and server).\n"
+"Required for IPv6 connections to work at all."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Enable VBO"
+msgid ""
+"Enable Lua modding support on client.\n"
+"This support is experimental and API can change."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2815,6 +2838,12 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Enable vertex buffer objects.\n"
+"This should greatly improve graphics performance."
+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 ""
@@ -2822,7 +2851,16 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Enable/disable running an IPv6 server.\n"
-"Ignored if bind_address is set."
+"Ignored if bind_address is set.\n"
+"Needs enable_ipv6 to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Enables Hable's 'Uncharted 2' filmic tone mapping.\n"
+"Simulates the tone curve of photographic film and how this approximates the\n"
+"appearance of high dynamic range images. Mid-range contrast is slightly\n"
+"enhanced, highlights and shadows are gradually compressed."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2842,10 +2880,6 @@ 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 ""
@@ -2862,6 +2896,14 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Enables the sound system.\n"
+"If disabled, this completely disables all sounds everywhere and the in-game\n"
+"sound controls will be non-functional.\n"
+"Changing this setting requires a restart."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Engine profiling data print interval"
msgstr ""
@@ -2892,7 +2934,7 @@ msgid "Fall bobbing factor"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Fallback font"
+msgid "Fallback font path"
msgstr ""
#: src/settings_translation_file.cpp
@@ -2988,30 +3030,6 @@ 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 ""
@@ -3032,7 +3050,11 @@ msgid "Fog toggle key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font path"
+msgid "Font bold by default"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font italic by default"
msgstr ""
#: src/settings_translation_file.cpp
@@ -3044,15 +3066,19 @@ msgid "Font shadow alpha"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font shadow alpha (opaqueness, between 0 and 255)."
+msgid "Font size"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font shadow offset, if 0 then shadow will not be drawn."
+msgid "Font size of the default font in point (pt)."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font size"
+msgid "Font size of the fallback font in point (pt)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font size of the monospace font in point (pt)."
msgstr ""
#: src/settings_translation_file.cpp
@@ -3163,10 +3189,6 @@ msgid "GUI scaling filter txr2img"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gamma"
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Generate normalmaps"
msgstr ""
@@ -3182,11 +3204,15 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at maximum light level."
+msgid ""
+"Gradient of light curve at maximum light level.\n"
+"Controls the contrast of the highest light levels."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at minimum light level."
+msgid ""
+"Gradient of light curve at minimum light level.\n"
+"Controls the contrast of the lowest light levels."
msgstr ""
#: src/settings_translation_file.cpp
@@ -3220,7 +3246,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Handling for deprecated lua api calls:\n"
+"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)."
@@ -3448,6 +3474,13 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"How fast liquid waves will move. Higher = faster.\n"
+"If negative, liquid waves will move backwards.\n"
+"Requires waving liquids to be enabled."
+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 ""
@@ -3477,10 +3510,6 @@ 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."
@@ -3657,6 +3686,14 @@ msgid "Invert vertical mouse movement."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Italic font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Italic monospace font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Item entity TTL"
msgstr ""
@@ -4252,11 +4289,19 @@ msgid "Large cave depth"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Large chat console key"
+msgid "Large cave maximum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large cave minimum number"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Lava depth"
+msgid "Large cave proportion flooded"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large chat console key"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4283,6 +4328,12 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Length of liquid waves.\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Length of time between Active Block Modifier (ABM) execution cycles"
msgstr ""
@@ -4307,19 +4358,27 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost"
+msgid "Light curve boost"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve boost center"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost center"
+msgid "Light curve boost spread"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost spread"
+msgid "Light curve gamma"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Lightness sharpness"
+msgid "Light curve high gradient"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve low gradient"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4425,25 +4484,25 @@ 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."
+"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 flat.\n"
+"Map generation attributes specific to Mapgen Fractal.\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."
+"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
@@ -4599,8 +4658,16 @@ msgid "Maximum hotbar width"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of large caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
-"Maximum liquid resistence. Controls deceleration when entering liquid at\n"
+"Maximum liquid resistance. Controls deceleration when entering liquid at\n"
"high speed."
msgstr ""
@@ -4721,6 +4788,14 @@ msgid "Minimap scan height"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of large caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Minimum texture size"
msgstr ""
@@ -4807,7 +4882,7 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Near clipping plane"
+msgid "Near plane"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4894,6 +4969,16 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Opaqueness (alpha) of the shadow behind the default font, between 0 and 255."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Opaqueness (alpha) of the shadow behind the fallback font, between 0 and 255."
+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."
@@ -4933,7 +5018,12 @@ msgid "Parallax occlusion strength"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Path to TrueTypeFont or bitmap."
+msgid ""
+"Path of the fallback font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font will be used for certain languages or if the default font is "
+"unavailable."
msgstr ""
#: src/settings_translation_file.cpp
@@ -4951,6 +5041,22 @@ msgid "Path to texture directory. All textures are first searched from here."
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Path to the default font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"The fallback font will be used if the font cannot be loaded."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Path to the monospace font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font is used for e.g. the console and profiler screen."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Pause on lost window focus"
msgstr ""
@@ -5026,6 +5132,10 @@ msgid "Profiling"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Proportion of large caves that contain liquid."
+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 "
@@ -5049,6 +5159,11 @@ msgid "Recent Chat Messages"
msgstr ""
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Regular font path"
+msgstr "Одабери локацију за пријаве"
+
+#: src/settings_translation_file.cpp
msgid "Remote media"
msgstr ""
@@ -5241,24 +5356,24 @@ msgstr ""
#, fuzzy
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."
+"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 ""
"Избор 18 фрактала из 9 формула.\n"
"1 = 4Д \"ОкруглаÑти\" манделбротов Ñкуп.\n"
@@ -5328,19 +5443,19 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving leaves.\n"
+"Set to true to enable waving leaves.\n"
"Requires shaders to be enabled."
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving plants.\n"
+"Set to true to enable waving liquids (like water).\n"
"Requires shaders to be enabled."
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving water.\n"
+"Set to true to enable waving plants.\n"
"Requires shaders to be enabled."
msgstr ""
@@ -5358,7 +5473,15 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Shadow limit"
+msgid ""
+"Shadow offset (in pixels) of the default font. If 0, then shadow will not be "
+"drawn."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not "
+"be drawn."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5403,6 +5526,14 @@ msgid "Slope and fill work together to modify the heights."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Small cave maximum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Small cave minimum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Small-scale humidity variation for blending biomes on borders."
msgstr ""
@@ -5464,8 +5595,9 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Spread of light curve mid-boost.\n"
-"Standard deviation of the mid-boost gaussian."
+"Spread of light curve boost range.\n"
+"Controls the width of the range to be boosted.\n"
+"Standard deviation of the light curve boost Gaussian."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5489,7 +5621,10 @@ msgid "Strength of generated normalmaps."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Strength of light curve mid-boost."
+msgid ""
+"Strength of light curve boost.\n"
+"The 3 'boost' parameters define a range of the light\n"
+"curve that is boosted in brightness."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5592,6 +5727,15 @@ msgid "The length in pixels it takes for touch screen interaction to start."
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"The maximum height of the surface of waving liquids.\n"
+"4.0 = Wave height is two nodes.\n"
+"0.0 = Wave doesn't move at all.\n"
+"Default is 1.0 (1/2 node).\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "The network interface that the server listens on."
msgstr ""
@@ -5672,10 +5816,6 @@ 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."
@@ -5730,7 +5870,7 @@ msgstr ""
msgid ""
"True = 256\n"
"False = 128\n"
-"Useable to make minimap smoother on slower machines."
+"Usable to make minimap smoother on slower machines."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5738,11 +5878,6 @@ 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 ""
@@ -5827,10 +5962,6 @@ 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 ""
@@ -5904,6 +6035,12 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Volume of all sounds.\n"
+"Requires the sound system to be enabled."
+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"
@@ -5940,29 +6077,30 @@ msgid "Waving leaves"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving plants"
-msgstr ""
-
-#: src/settings_translation_file.cpp
-msgid "Waving water"
-msgstr ""
+#, fuzzy
+msgid "Waving liquids"
+msgstr "Лепршајуће лишће"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wave height"
+msgid "Waving liquids wave height"
msgstr "ВеÑлајућа вода"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wave speed"
+msgid "Waving liquids wave speed"
msgstr "Лепршајуће лишће"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wavelength"
+msgid "Waving liquids wavelength"
msgstr "ВеÑлајућа вода"
#: src/settings_translation_file.cpp
+msgid "Waving plants"
+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"
@@ -5992,7 +6130,9 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Whether FreeType fonts are used, requires FreeType support to be compiled in."
+"Whether FreeType fonts are used, requires FreeType support to be compiled "
+"in.\n"
+"If disabled, bitmap and XML vectors fonts are used instead."
msgstr ""
#: src/settings_translation_file.cpp
@@ -6021,6 +6161,14 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Whether to mute sounds. You can unmute sounds at any time, unless the\n"
+"sound system is disabled (enable_sound=false).\n"
+"In-game, you can toggle the mute state with the mute key or by using the\n"
+"pause menu."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
"Whether to show the client debug info (has the same effect as hitting F5)."
msgstr ""
@@ -6092,10 +6240,6 @@ 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 ""
@@ -6108,10 +6252,6 @@ 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 ""
@@ -6123,6 +6263,25 @@ msgstr ""
msgid "cURL timeout"
msgstr ""
+#~ 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"
+#~ "Ово подешавање је Ñамо за клијента, Ñервер га игнорише."
+
+#, fuzzy
+#~ msgid ""
+#~ "Controls the density of mountain-type floatlands.\n"
+#~ "Is a noise offset added to the 'mgv7_np_mountain' noise value."
+#~ msgstr ""
+#~ "Контролише гуÑтину планинÑког терена на лебдећим оÑтрвима.\n"
+#~ "Као одÑтупање Ñе додаје на вредноÑÑ‚ 'np_mountain' Ñемена."
+
+#~ msgid "Controls width of tunnels, a smaller value creates wider tunnels."
+#~ msgstr "Контролише ширину тунела, мања вредноÑÑ‚ Ñтвара шире тунеле."
+
#, fuzzy
#~ msgid "Select Package File:"
#~ msgstr "Изаберите фајл мода:"
diff --git a/po/sv/minetest.po b/po/sv/minetest.po
index 64e1b2243..d0a04e119 100644
--- a/po/sv/minetest.po
+++ b/po/sv/minetest.po
@@ -2,9 +2,9 @@ msgid ""
msgstr ""
"Project-Id-Version: Swedish (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-10-09 22:02+0200\n"
-"PO-Revision-Date: 2019-10-29 11:53+0000\n"
-"Last-Translator: Mattias Münster <mattiasmun@gmail.com>\n"
+"POT-Creation-Date: 2020-04-03 23:18+0200\n"
+"PO-Revision-Date: 2020-03-31 10:14+0000\n"
+"Last-Translator: sfan5 <sfan5@live.de>\n"
"Language-Team: Swedish <https://hosted.weblate.org/projects/minetest/"
"minetest/sv/>\n"
"Language: sv\n"
@@ -12,7 +12,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 3.9.1\n"
+"X-Generator: Weblate 4.0-dev\n"
#: builtin/client/death_formspec.lua src/client/game.cpp
msgid "Respawn"
@@ -406,15 +406,26 @@ msgstr "Z"
msgid "Z spread"
msgstr "Z-spridning"
+#. ~ "absvalue" is a noise parameter flag.
+#. It is short for "absolute value".
+#. It can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "absvalue"
msgstr ""
+#. ~ "defaults" is a noise parameter flag.
+#. It describes the default processing options
+#. for noise settings in main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
#, fuzzy
msgid "defaults"
msgstr "Standardspel"
+#. ~ "eased" is a noise parameter flag.
+#. It is used to make the map smoother and
+#. can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "eased"
msgstr ""
@@ -646,6 +657,7 @@ msgstr "Namn / Lösenord"
msgid "Ping"
msgstr "Ping"
+#. ~ PvP = Player versus Player
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "PvP enabled"
msgstr "PvP aktiverat"
@@ -894,9 +906,17 @@ msgstr ""
msgid "Provided world path doesn't exist: "
msgstr "Den angivna sökvägen för världen existerar inte: "
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string. Put either "no" or "yes"
+#. into the translation field (literally).
+#. Choose "yes" if the language requires use of the fallback
+#. font, "no" otherwise.
+#. The fallback font is (normally) required for languages with
+#. non-Latin script, like Chinese.
+#. When in doubt, test your translation.
#: src/client/fontengine.cpp
msgid "needs_fallback_font"
-msgstr ""
+msgstr "no"
#: src/client/game.cpp
msgid ""
@@ -934,6 +954,7 @@ msgstr "Port"
msgid "- Public: "
msgstr "Offentlig "
+#. ~ PvP = Player versus Player
#: src/client/game.cpp
msgid "- PvP: "
msgstr "- PvP: "
@@ -1400,6 +1421,7 @@ msgstr "Vänster Shift"
msgid "Left Windows"
msgstr "Vänster Windowstangent"
+#. ~ Key name, common on Windows keyboards
#: src/client/keycode.cpp
msgid "Menu"
msgstr "Meny"
@@ -1492,6 +1514,7 @@ msgstr "Paus"
msgid "Play"
msgstr "Spela"
+#. ~ "Print screen" key
#: src/client/keycode.cpp
msgid "Print"
msgstr "Skriv ut"
@@ -1528,6 +1551,7 @@ msgstr "Höger Windowstangent"
msgid "Scroll Lock"
msgstr "Scroll Lock"
+#. ~ Key name
#: src/client/keycode.cpp
msgid "Select"
msgstr "Välj"
@@ -1773,11 +1797,16 @@ msgstr "Tysta"
msgid "Sound Volume: "
msgstr "Ljudvolym: "
+#. ~ Imperative, as in "Enter/type in text".
+#. Don't forget the space.
#: src/gui/modalMenu.cpp
msgid "Enter "
msgstr "Enter "
-#: src/network/clientpackethandler.cpp
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string which needs to contain the translation's
+#. language code (e.g. "de" for German).
+#: src/network/clientpackethandler.cpp src/script/lua_api/l_client.cpp
msgid "LANG_CODE"
msgstr "sv"
@@ -1801,7 +1830,7 @@ msgid ""
"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"
+"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."
@@ -1992,20 +2021,16 @@ msgstr ""
"för 4k-skärmar."
#: 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 ""
-"Justera gammakodningen för ljustabeller. Högre tal är ljusare.\n"
-"Denna inställning påverkar endast klienten och ignoreras av servern."
-
-#: src/settings_translation_file.cpp
msgid "Advanced"
msgstr "Avancerat"
#: src/settings_translation_file.cpp
-msgid "Alters how mountain-type floatlands taper above and below midpoint."
+msgid ""
+"Alters the light curve by applying 'gamma correction' to it.\n"
+"Higher values make middle and lower light levels brighter.\n"
+"Value '1.0' leaves the light curve unaltered.\n"
+"This only has significant effect on daylight and artificial\n"
+"light, it has very little effect on natural night light."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2171,6 +2196,22 @@ msgid "Block send optimize distance"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Bold and italic font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bold and italic monospace font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bold font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bold monospace font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Build inside player"
msgstr "Bygg inuti spelare"
@@ -2184,8 +2225,8 @@ msgstr "Bumpmappning"
#: 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"
+"Camera 'near clipping plane' distance in nodes, between 0 and 0.25\n"
+"Only works on GLES platforms. 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 ""
@@ -2248,7 +2289,9 @@ msgid "Cavern upper limit"
msgstr "Grottbegränsning"
#: src/settings_translation_file.cpp
-msgid "Center of light curve mid-boost."
+msgid ""
+"Center of light curve boost range.\n"
+"Where 0.0 is minimum light level, 1.0 is maximum light level."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2456,17 +2499,11 @@ msgid "Controls steepness/height of hills."
msgstr "Kontrollerar sluttningen/höjden av kullar."
#: 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."
+"Controls width of tunnels, a smaller value creates wider tunnels.\n"
+"Value >= 10.0 completely disables generation of tunnels and avoids the\n"
+"intensive noise calculations."
msgstr ""
-"Kontrollerar densiteten av luftöars bergsterräng.\n"
-"Är en förskjutning adderad till oljudsvärdet för 'np_mountain'."
-
-#: src/settings_translation_file.cpp
-msgid "Controls width of tunnels, a smaller value creates wider tunnels."
-msgstr "Kontrollerar bredd av tunnlar, mindre värden skapar bredare tunnlar."
#: src/settings_translation_file.cpp
msgid "Crash message"
@@ -2501,10 +2538,6 @@ msgid "Damage"
msgstr "Skada"
#: src/settings_translation_file.cpp
-msgid "Darkness sharpness"
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Debug info toggle key"
msgstr "Av/På tangent för debuginformation"
@@ -2522,7 +2555,7 @@ msgid "Dec. volume key"
msgstr "Tangent för volymsänkning"
#: src/settings_translation_file.cpp
-msgid "Decrease this to increase liquid resistence to movement."
+msgid "Decrease this to increase liquid resistance to movement."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2566,14 +2599,6 @@ msgstr ""
"Har bara en effekt om kompilerat med cURL."
#: src/settings_translation_file.cpp
-msgid ""
-"Defines areas of floatland smooth terrain.\n"
-"Smooth floatlands occur when noise > 0."
-msgstr ""
-"Definierar områden för luftöars jämna terräng.\n"
-"Jämna luftöar förekommer när oljud > 0."
-
-#: src/settings_translation_file.cpp
msgid "Defines areas where trees have apples."
msgstr "Definierar områden där träd har äpplen."
@@ -2666,12 +2691,6 @@ 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."
@@ -2751,12 +2770,14 @@ msgstr "Grottoljud"
#: src/settings_translation_file.cpp
msgid ""
-"Enable Lua modding support on client.\n"
-"This support is experimental and API can change."
+"Enable IPv6 support (for both client and server).\n"
+"Required for IPv6 connections to work at all."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Enable VBO"
+msgid ""
+"Enable Lua modding support on client.\n"
+"This support is experimental and API can change."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2822,6 +2843,12 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Enable vertex buffer objects.\n"
+"This should greatly improve graphics performance."
+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 ""
@@ -2829,7 +2856,16 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Enable/disable running an IPv6 server.\n"
-"Ignored if bind_address is set."
+"Ignored if bind_address is set.\n"
+"Needs enable_ipv6 to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Enables Hable's 'Uncharted 2' filmic tone mapping.\n"
+"Simulates the tone curve of photographic film and how this approximates the\n"
+"appearance of high dynamic range images. Mid-range contrast is slightly\n"
+"enhanced, highlights and shadows are gradually compressed."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2849,10 +2885,6 @@ 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 ""
@@ -2869,6 +2901,14 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Enables the sound system.\n"
+"If disabled, this completely disables all sounds everywhere and the in-game\n"
+"sound controls will be non-functional.\n"
+"Changing this setting requires a restart."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Engine profiling data print interval"
msgstr ""
@@ -2899,7 +2939,7 @@ msgid "Fall bobbing factor"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Fallback font"
+msgid "Fallback font path"
msgstr ""
#: src/settings_translation_file.cpp
@@ -2992,30 +3032,6 @@ 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 ""
@@ -3036,7 +3052,11 @@ msgid "Fog toggle key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font path"
+msgid "Font bold by default"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font italic by default"
msgstr ""
#: src/settings_translation_file.cpp
@@ -3048,15 +3068,19 @@ msgid "Font shadow alpha"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font shadow alpha (opaqueness, between 0 and 255)."
+msgid "Font size"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font shadow offset, if 0 then shadow will not be drawn."
+msgid "Font size of the default font in point (pt)."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font size"
+msgid "Font size of the fallback font in point (pt)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font size of the monospace font in point (pt)."
msgstr ""
#: src/settings_translation_file.cpp
@@ -3167,10 +3191,6 @@ msgid "GUI scaling filter txr2img"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gamma"
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Generate normalmaps"
msgstr ""
@@ -3186,11 +3206,15 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at maximum light level."
+msgid ""
+"Gradient of light curve at maximum light level.\n"
+"Controls the contrast of the highest light levels."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at minimum light level."
+msgid ""
+"Gradient of light curve at minimum light level.\n"
+"Controls the contrast of the lowest light levels."
msgstr ""
#: src/settings_translation_file.cpp
@@ -3224,7 +3248,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Handling for deprecated lua api calls:\n"
+"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)."
@@ -3451,6 +3475,13 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"How fast liquid waves will move. Higher = faster.\n"
+"If negative, liquid waves will move backwards.\n"
+"Requires waving liquids to be enabled."
+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 ""
@@ -3480,10 +3511,6 @@ 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."
@@ -3658,6 +3685,14 @@ msgid "Invert vertical mouse movement."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Italic font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Italic monospace font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Item entity TTL"
msgstr ""
@@ -4253,11 +4288,19 @@ msgid "Large cave depth"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Large chat console key"
+msgid "Large cave maximum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large cave minimum number"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Lava depth"
+msgid "Large cave proportion flooded"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large chat console key"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4284,6 +4327,12 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Length of liquid waves.\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Length of time between Active Block Modifier (ABM) execution cycles"
msgstr ""
@@ -4308,19 +4357,27 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost"
+msgid "Light curve boost"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve boost center"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve boost spread"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost center"
+msgid "Light curve gamma"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost spread"
+msgid "Light curve high gradient"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Lightness sharpness"
+msgid "Light curve low gradient"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4427,25 +4484,25 @@ 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."
+"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 flat.\n"
+"Map generation attributes specific to Mapgen Fractal.\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."
+"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
@@ -4601,8 +4658,16 @@ msgid "Maximum hotbar width"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of large caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
-"Maximum liquid resistence. Controls deceleration when entering liquid at\n"
+"Maximum liquid resistance. Controls deceleration when entering liquid at\n"
"high speed."
msgstr ""
@@ -4723,6 +4788,14 @@ msgid "Minimap scan height"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of large caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Minimum texture size"
msgstr ""
@@ -4809,7 +4882,7 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Near clipping plane"
+msgid "Near plane"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4896,6 +4969,16 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Opaqueness (alpha) of the shadow behind the default font, between 0 and 255."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Opaqueness (alpha) of the shadow behind the fallback font, between 0 and 255."
+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."
@@ -4935,7 +5018,12 @@ msgid "Parallax occlusion strength"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Path to TrueTypeFont or bitmap."
+msgid ""
+"Path of the fallback font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font will be used for certain languages or if the default font is "
+"unavailable."
msgstr ""
#: src/settings_translation_file.cpp
@@ -4953,6 +5041,22 @@ msgid "Path to texture directory. All textures are first searched from here."
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Path to the default font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"The fallback font will be used if the font cannot be loaded."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Path to the monospace font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font is used for e.g. the console and profiler screen."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Pause on lost window focus"
msgstr ""
@@ -5026,6 +5130,10 @@ msgid "Profiling"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Proportion of large caves that contain liquid."
+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 "
@@ -5049,6 +5157,10 @@ msgid "Recent Chat Messages"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Regular font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Remote media"
msgstr ""
@@ -5241,24 +5353,24 @@ msgstr ""
#, fuzzy
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."
+"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 ""
"Val av 18 fractaler från 9 formler.\n"
"1 = 4D \"Roundy\" mandelbrot set.\n"
@@ -5328,19 +5440,19 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving leaves.\n"
+"Set to true to enable waving leaves.\n"
"Requires shaders to be enabled."
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving plants.\n"
+"Set to true to enable waving liquids (like water).\n"
"Requires shaders to be enabled."
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving water.\n"
+"Set to true to enable waving plants.\n"
"Requires shaders to be enabled."
msgstr ""
@@ -5358,7 +5470,15 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Shadow limit"
+msgid ""
+"Shadow offset (in pixels) of the default font. If 0, then shadow will not be "
+"drawn."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not "
+"be drawn."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5403,6 +5523,14 @@ msgid "Slope and fill work together to modify the heights."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Small cave maximum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Small cave minimum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Small-scale humidity variation for blending biomes on borders."
msgstr ""
@@ -5464,8 +5592,9 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Spread of light curve mid-boost.\n"
-"Standard deviation of the mid-boost gaussian."
+"Spread of light curve boost range.\n"
+"Controls the width of the range to be boosted.\n"
+"Standard deviation of the light curve boost Gaussian."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5489,7 +5618,10 @@ msgid "Strength of generated normalmaps."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Strength of light curve mid-boost."
+msgid ""
+"Strength of light curve boost.\n"
+"The 3 'boost' parameters define a range of the light\n"
+"curve that is boosted in brightness."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5593,6 +5725,15 @@ msgid "The length in pixels it takes for touch screen interaction to start."
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"The maximum height of the surface of waving liquids.\n"
+"4.0 = Wave height is two nodes.\n"
+"0.0 = Wave doesn't move at all.\n"
+"Default is 1.0 (1/2 node).\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "The network interface that the server listens on."
msgstr ""
@@ -5673,10 +5814,6 @@ 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."
@@ -5731,7 +5868,7 @@ msgstr ""
msgid ""
"True = 256\n"
"False = 128\n"
-"Useable to make minimap smoother on slower machines."
+"Usable to make minimap smoother on slower machines."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5739,11 +5876,6 @@ 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 ""
@@ -5828,10 +5960,6 @@ 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 ""
@@ -5905,6 +6033,12 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Volume of all sounds.\n"
+"Requires the sound system to be enabled."
+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"
@@ -5941,29 +6075,30 @@ msgid "Waving leaves"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving plants"
-msgstr ""
-
-#: src/settings_translation_file.cpp
-msgid "Waving water"
-msgstr ""
+#, fuzzy
+msgid "Waving liquids"
+msgstr "Vajande Löv"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wave height"
+msgid "Waving liquids wave height"
msgstr "Böljande Vatten"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wave speed"
+msgid "Waving liquids wave speed"
msgstr "Vajande Löv"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wavelength"
+msgid "Waving liquids wavelength"
msgstr "Böljande Vatten"
#: src/settings_translation_file.cpp
+msgid "Waving plants"
+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"
@@ -5993,7 +6128,9 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Whether FreeType fonts are used, requires FreeType support to be compiled in."
+"Whether FreeType fonts are used, requires FreeType support to be compiled "
+"in.\n"
+"If disabled, bitmap and XML vectors fonts are used instead."
msgstr ""
#: src/settings_translation_file.cpp
@@ -6022,6 +6159,14 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Whether to mute sounds. You can unmute sounds at any time, unless the\n"
+"sound system is disabled (enable_sound=false).\n"
+"In-game, you can toggle the mute state with the mute key or by using the\n"
+"pause menu."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
"Whether to show the client debug info (has the same effect as hitting F5)."
msgstr ""
@@ -6093,10 +6238,6 @@ 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
#, fuzzy
msgid "Y-level of higher terrain that creates cliffs."
msgstr "Y-nivå av lägre terräng och sjöbottnar."
@@ -6111,10 +6252,6 @@ msgid "Y-level of seabed."
msgstr "Y-nivå av sjöbotten."
#: src/settings_translation_file.cpp
-msgid "Y-level to which floatland shadows extend."
-msgstr "Y-nivå till vilket luftöars skuggor når."
-
-#: src/settings_translation_file.cpp
msgid "cURL file download timeout"
msgstr "cURL filhemladdning tidsgräns"
@@ -6126,6 +6263,36 @@ msgstr "cURL parallellgräns"
msgid "cURL timeout"
msgstr "cURL-timeout"
+#~ 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 ""
+#~ "Justera gammakodningen för ljustabeller. Högre tal är ljusare.\n"
+#~ "Denna inställning påverkar endast klienten och ignoreras av servern."
+
+#, fuzzy
+#~ msgid ""
+#~ "Controls the density of mountain-type floatlands.\n"
+#~ "Is a noise offset added to the 'mgv7_np_mountain' noise value."
+#~ msgstr ""
+#~ "Kontrollerar densiteten av luftöars bergsterräng.\n"
+#~ "Är en förskjutning adderad till oljudsvärdet för 'np_mountain'."
+
+#~ msgid "Controls width of tunnels, a smaller value creates wider tunnels."
+#~ msgstr ""
+#~ "Kontrollerar bredd av tunnlar, mindre värden skapar bredare tunnlar."
+
+#~ msgid ""
+#~ "Defines areas of floatland smooth terrain.\n"
+#~ "Smooth floatlands occur when noise > 0."
+#~ msgstr ""
+#~ "Definierar områden för luftöars jämna terräng.\n"
+#~ "Jämna luftöar förekommer när oljud > 0."
+
+#~ msgid "Y-level to which floatland shadows extend."
+#~ msgstr "Y-nivå till vilket luftöars skuggor når."
+
#, fuzzy
#~ msgid "Select Package File:"
#~ msgstr "Välj modfil:"
diff --git a/po/sw/minetest.po b/po/sw/minetest.po
index 3ce788302..db8fcd3d9 100644
--- a/po/sw/minetest.po
+++ b/po/sw/minetest.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Swahili (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-10-09 22:02+0200\n"
+"POT-Creation-Date: 2020-04-03 23:18+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/"
@@ -421,15 +421,26 @@ msgstr ""
msgid "Z spread"
msgstr ""
+#. ~ "absvalue" is a noise parameter flag.
+#. It is short for "absolute value".
+#. It can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "absvalue"
msgstr ""
+#. ~ "defaults" is a noise parameter flag.
+#. It describes the default processing options
+#. for noise settings in main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
#, fuzzy
msgid "defaults"
msgstr "Chaguo-msingi mchezo"
+#. ~ "eased" is a noise parameter flag.
+#. It is used to make the map smoother and
+#. can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "eased"
msgstr ""
@@ -666,6 +677,7 @@ msgstr "Jina / nenosiri"
msgid "Ping"
msgstr ""
+#. ~ PvP = Player versus Player
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "PvP enabled"
msgstr "PvP kuwezeshwa"
@@ -916,6 +928,14 @@ msgstr ""
msgid "Provided world path doesn't exist: "
msgstr "Njia ya dunia iliyotolewa haipo:"
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string. Put either "no" or "yes"
+#. into the translation field (literally).
+#. Choose "yes" if the language requires use of the fallback
+#. font, "no" otherwise.
+#. The fallback font is (normally) required for languages with
+#. non-Latin script, like Chinese.
+#. When in doubt, test your translation.
#: src/client/fontengine.cpp
msgid "needs_fallback_font"
msgstr "no"
@@ -957,6 +977,7 @@ msgstr "Bandari"
msgid "- Public: "
msgstr "Umma"
+#. ~ PvP = Player versus Player
#: src/client/game.cpp
msgid "- PvP: "
msgstr ""
@@ -1432,6 +1453,7 @@ msgstr "Kisogezi kushoto"
msgid "Left Windows"
msgstr "Windows kushoto"
+#. ~ Key name, common on Windows keyboards
#: src/client/keycode.cpp
msgid "Menu"
msgstr "Menyu"
@@ -1525,6 +1547,7 @@ msgstr "Sitisha"
msgid "Play"
msgstr "Kucheza"
+#. ~ "Print screen" key
#: src/client/keycode.cpp
msgid "Print"
msgstr "Chapa"
@@ -1561,6 +1584,7 @@ msgstr "Windows kulia"
msgid "Scroll Lock"
msgstr "Scroll Lock"
+#. ~ Key name
#: src/client/keycode.cpp
msgid "Select"
msgstr "Teua"
@@ -1809,11 +1833,16 @@ msgstr "Ufunguo wa matumizi"
msgid "Sound Volume: "
msgstr "Kiwango sauti:"
+#. ~ Imperative, as in "Enter/type in text".
+#. Don't forget the space.
#: src/gui/modalMenu.cpp
msgid "Enter "
msgstr "Ingiza"
-#: src/network/clientpackethandler.cpp
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string which needs to contain the translation's
+#. language code (e.g. "de" for German).
+#: src/network/clientpackethandler.cpp src/script/lua_api/l_client.cpp
msgid "LANG_CODE"
msgstr "sw"
@@ -1837,7 +1866,7 @@ msgid ""
"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"
+"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."
@@ -2027,21 +2056,16 @@ msgstr ""
"mfano kwa 4 k skrini."
#: src/settings_translation_file.cpp
-#, fuzzy
-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 ""
-"Rekebisha simbiko gamma kwa majedwali mwanga. Idadi ya chini ni mkali.\n"
-"Kipimo hiki ni kwa ajili ya mteja tu na ni kupuuzwa na seva."
-
-#: src/settings_translation_file.cpp
msgid "Advanced"
msgstr "Pevu"
#: src/settings_translation_file.cpp
-msgid "Alters how mountain-type floatlands taper above and below midpoint."
+msgid ""
+"Alters the light curve by applying 'gamma correction' to it.\n"
+"Higher values make middle and lower light levels brighter.\n"
+"Value '1.0' leaves the light curve unaltered.\n"
+"This only has significant effect on daylight and artificial\n"
+"light, it has very little effect on natural night light."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2202,6 +2226,26 @@ msgid "Block send optimize distance"
msgstr "Umbo la Max Tuma umbali"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Bold and italic font path"
+msgstr "Monospace njia ya fonti"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Bold and italic monospace font path"
+msgstr "Monospace njia ya fonti"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Bold font path"
+msgstr "Njia ya fonti"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Bold monospace font path"
+msgstr "Monospace njia ya fonti"
+
+#: src/settings_translation_file.cpp
msgid "Build inside player"
msgstr "Kujenga ndani ya mchezaji"
@@ -2215,8 +2259,8 @@ msgstr "Bumpmapping"
#: 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"
+"Camera 'near clipping plane' distance in nodes, between 0 and 0.25\n"
+"Only works on GLES platforms. 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 ""
@@ -2285,7 +2329,9 @@ msgid "Cavern upper limit"
msgstr "Pango upana"
#: src/settings_translation_file.cpp
-msgid "Center of light curve mid-boost."
+msgid ""
+"Center of light curve boost range.\n"
+"Where 0.0 is minimum light level, 1.0 is maximum light level."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2495,15 +2541,12 @@ msgstr "Udhibiti mwinuko/urefu wa milima."
#: 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."
+"Controls width of tunnels, a smaller value creates wider tunnels.\n"
+"Value >= 10.0 completely disables generation of tunnels and avoids the\n"
+"intensive noise calculations."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Controls width of tunnels, a smaller value creates wider tunnels."
-msgstr "Vidhibiti vya upana wa vichuguu, thamani ndogo huunda vichuguu pana."
-
-#: src/settings_translation_file.cpp
msgid "Crash message"
msgstr "Ajali ujumbe"
@@ -2537,11 +2580,6 @@ msgid "Damage"
msgstr "Uharibifu"
#: src/settings_translation_file.cpp
-#, fuzzy
-msgid "Darkness sharpness"
-msgstr "Mwandishi ramani ziwa gorofa mwinuko"
-
-#: src/settings_translation_file.cpp
msgid "Debug info toggle key"
msgstr "Rekebisha taarifa kibonye"
@@ -2560,7 +2598,7 @@ msgid "Dec. volume key"
msgstr "HUD kibonye"
#: src/settings_translation_file.cpp
-msgid "Decrease this to increase liquid resistence to movement."
+msgid "Decrease this to increase liquid resistance to movement."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2605,12 +2643,6 @@ msgstr ""
"Tu ina athari kama alikusanya na Mkunjo."
#: 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 ""
@@ -2690,12 +2722,6 @@ 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."
@@ -2775,13 +2801,15 @@ 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."
+"Enable IPv6 support (for both client and server).\n"
+"Required for IPv6 connections to work at all."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Enable VBO"
-msgstr "Wezesha VBO"
+msgid ""
+"Enable Lua modding support on client.\n"
+"This support is experimental and API can change."
+msgstr ""
#: src/settings_translation_file.cpp
msgid "Enable console window"
@@ -2857,6 +2885,12 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Enable vertex buffer objects.\n"
+"This should greatly improve graphics performance."
+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 ""
@@ -2868,13 +2902,22 @@ msgstr ""
#, fuzzy
msgid ""
"Enable/disable running an IPv6 server.\n"
-"Ignored if bind_address is set."
+"Ignored if bind_address is set.\n"
+"Needs enable_ipv6 to be enabled."
msgstr ""
"Wezesha/Lemaza kuendesha seva ya IPv6. Seva ya IPv6 unaweza kuzuiliwa kwa "
"wateja IPv6, kutegemea usanidi mfumo.\n"
"Kupuuzwa kama bind_address kuweka."
#: src/settings_translation_file.cpp
+msgid ""
+"Enables Hable's 'Uncharted 2' filmic tone mapping.\n"
+"Simulates the tone curve of photographic film and how this approximates the\n"
+"appearance of high dynamic range images. Mid-range contrast is slightly\n"
+"enhanced, highlights and shadows are gradually compressed."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Enables animation of inventory items."
msgstr "Huwezesha uhuishaji wa vitu inventering."
@@ -2894,10 +2937,6 @@ msgid "Enables caching of facedir rotated meshes."
msgstr "Huwezesha uwekaji kache kwa facedir Iliyozungushwa meshes."
#: src/settings_translation_file.cpp
-msgid "Enables filmic tone mapping"
-msgstr "Huwezesha toni filmic ramani"
-
-#: src/settings_translation_file.cpp
msgid "Enables minimap."
msgstr "Inawezesha minimap."
@@ -2918,6 +2957,14 @@ msgstr ""
"Inahitaji shaders kwa kuwezeshwa."
#: src/settings_translation_file.cpp
+msgid ""
+"Enables the sound system.\n"
+"If disabled, this completely disables all sounds everywhere and the in-game\n"
+"sound controls will be non-functional.\n"
+"Changing this setting requires a restart."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Engine profiling data print interval"
msgstr "Injini ubainishaji wa data ya uchapaji nafasi"
@@ -2951,7 +2998,8 @@ msgid "Fall bobbing factor"
msgstr "Kuanguka bobbing"
#: src/settings_translation_file.cpp
-msgid "Fallback font"
+#, fuzzy
+msgid "Fallback font path"
msgstr "Fonti amebadilisha"
#: src/settings_translation_file.cpp
@@ -3057,31 +3105,6 @@ 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
-#, fuzzy
-msgid "Floatland level"
-msgstr "Kiwango cha maji"
-
-#: 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 "Kuruka ufunguo"
@@ -3102,8 +3125,12 @@ msgid "Fog toggle key"
msgstr "Kibonye guro wa ukungu"
#: src/settings_translation_file.cpp
-msgid "Font path"
-msgstr "Njia ya fonti"
+msgid "Font bold by default"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font italic by default"
+msgstr ""
#: src/settings_translation_file.cpp
msgid "Font shadow"
@@ -3114,16 +3141,20 @@ msgid "Font shadow alpha"
msgstr "Fonti kivuli Alfa"
#: src/settings_translation_file.cpp
-msgid "Font shadow alpha (opaqueness, between 0 and 255)."
-msgstr "Fonti kivuli Alfa (opaqueness kati ya 0 na 255)."
+msgid "Font size"
+msgstr "Ukubwa wa fonti"
#: src/settings_translation_file.cpp
-msgid "Font shadow offset, if 0 then shadow will not be drawn."
-msgstr "Fonti kivuli Sawazisha, kama 0 basi kivuli itakuwa kuchukuliwa."
+msgid "Font size of the default font in point (pt)."
+msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font size"
-msgstr "Ukubwa wa fonti"
+msgid "Font size of the fallback font in point (pt)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font size of the monospace font in point (pt)."
+msgstr ""
#: src/settings_translation_file.cpp
msgid ""
@@ -3246,10 +3277,6 @@ msgid "GUI scaling filter txr2img"
msgstr "GUI kipimo Kichujio txr2img"
#: src/settings_translation_file.cpp
-msgid "Gamma"
-msgstr "Gamma"
-
-#: src/settings_translation_file.cpp
msgid "Generate normalmaps"
msgstr "Kuzalisha normalmaps"
@@ -3273,11 +3300,15 @@ msgstr ""
"Bendera kuanzia na 'hapana' hutumiwa kidhahiri Lemaza yao."
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at maximum light level."
+msgid ""
+"Gradient of light curve at maximum light level.\n"
+"Controls the contrast of the highest light levels."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at minimum light level."
+msgid ""
+"Gradient of light curve at minimum light level.\n"
+"Controls the contrast of the lowest light levels."
msgstr ""
#: src/settings_translation_file.cpp
@@ -3312,8 +3343,9 @@ msgid "HUD toggle key"
msgstr "HUD kibonye"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Handling for deprecated lua api calls:\n"
+"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)."
@@ -3561,6 +3593,13 @@ msgstr "Kina jinsi kufanya mito"
#: src/settings_translation_file.cpp
msgid ""
+"How fast liquid waves will move. Higher = faster.\n"
+"If negative, liquid waves will move backwards.\n"
+"Requires waving liquids to be enabled."
+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 ""
@@ -3593,10 +3632,6 @@ msgid "IPv6 server"
msgstr "IPv6 Seva"
#: src/settings_translation_file.cpp
-msgid "IPv6 support."
-msgstr "IPv6 msaada."
-
-#: 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."
@@ -3800,6 +3835,16 @@ msgid "Invert vertical mouse movement."
msgstr "Pindua harakati ya kipanya wima."
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Italic font path"
+msgstr "Monospace njia ya fonti"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Italic monospace font path"
+msgstr "Monospace njia ya fonti"
+
+#: src/settings_translation_file.cpp
msgid "Item entity TTL"
msgstr "Kipengee chombo TTL"
@@ -4666,14 +4711,21 @@ msgid "Large cave depth"
msgstr "Kina ya pango kubwa"
#: src/settings_translation_file.cpp
-#, fuzzy
-msgid "Large chat console key"
-msgstr "Muhimu ya Kiweko"
+msgid "Large cave maximum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large cave minimum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large cave proportion flooded"
+msgstr ""
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Lava depth"
-msgstr "Kina ya pango kubwa"
+msgid "Large chat console key"
+msgstr "Muhimu ya Kiweko"
#: src/settings_translation_file.cpp
msgid "Leaves style"
@@ -4705,6 +4757,15 @@ msgstr ""
#: src/settings_translation_file.cpp
#, fuzzy
+msgid ""
+"Length of liquid waves.\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+"Kuweka huwezesha kweli waving majani.\n"
+"Inahitaji shaders kwa kuwezeshwa."
+
+#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Length of time between Active Block Modifier (ABM) execution cycles"
msgstr "Urefu wa muda kati ya ABM utekelezaji mizunguko"
@@ -4733,19 +4794,27 @@ msgstr ""
"verbose</nothing>"
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost"
+msgid "Light curve boost"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve boost center"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost center"
+msgid "Light curve boost spread"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost spread"
+msgid "Light curve gamma"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Lightness sharpness"
+msgid "Light curve high gradient"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve low gradient"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4861,21 +4930,10 @@ 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
#, fuzzy
msgid ""
-"Map generation attributes specific to Mapgen flat.\n"
-"'terrain' enables the generation of non-fractal terrain:\n"
-"ocean, islands and underground."
+"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"
"Maziwa mara kwa mara na vilima vinaweza kuongezwa kwa ulimwengu gorofa.\n"
@@ -4886,8 +4944,9 @@ msgstr ""
#: 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."
+"Map generation attributes specific to Mapgen Fractal.\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"
@@ -4896,6 +4955,16 @@ msgstr ""
"Bendera kuanzia na 'hapana' hutumiwa kidhahiri Lemaza yao."
#: 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 v5."
msgstr ""
@@ -5064,8 +5133,16 @@ msgid "Maximum hotbar width"
msgstr "Hotbar kiwango cha juu cha upana"
#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of large caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
-"Maximum liquid resistence. Controls deceleration when entering liquid at\n"
+"Maximum liquid resistance. Controls deceleration when entering liquid at\n"
"high speed."
msgstr ""
@@ -5203,6 +5280,14 @@ msgid "Minimap scan height"
msgstr "Ramani tambazo urefu"
#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of large caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
#, fuzzy
msgid "Minimum texture size"
msgstr "Unamu wa kima cha chini cha ukubwa wa Vichujio"
@@ -5301,7 +5386,7 @@ msgstr ""
"Jina la seva, kuonyeshwa wakati wachezaji kujiunga na katika serverlist ya."
#: src/settings_translation_file.cpp
-msgid "Near clipping plane"
+msgid "Near plane"
msgstr ""
#: src/settings_translation_file.cpp
@@ -5393,6 +5478,16 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Opaqueness (alpha) of the shadow behind the default font, between 0 and 255."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Opaqueness (alpha) of the shadow behind the fallback font, between 0 and 255."
+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."
@@ -5432,8 +5527,13 @@ msgid "Parallax occlusion strength"
msgstr "Parallax occlusion nguvu"
#: src/settings_translation_file.cpp
-msgid "Path to TrueTypeFont or bitmap."
-msgstr "Njia ya TrueTypeFont au vitone michoro."
+msgid ""
+"Path of the fallback font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font will be used for certain languages or if the default font is "
+"unavailable."
+msgstr ""
#: src/settings_translation_file.cpp
msgid "Path to save screenshots at."
@@ -5450,6 +5550,22 @@ msgid "Path to texture directory. All textures are first searched from here."
msgstr "Njia ya orodha ya unamu. Unamu wote vinatafutizwa kwanza kutoka hapa."
#: src/settings_translation_file.cpp
+msgid ""
+"Path to the default font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"The fallback font will be used if the font cannot be loaded."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Path to the monospace font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font is used for e.g. the console and profiler screen."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Pause on lost window focus"
msgstr ""
@@ -5531,6 +5647,10 @@ msgid "Profiling"
msgstr "Ubainishaji wa"
#: src/settings_translation_file.cpp
+msgid "Proportion of large caves that contain liquid."
+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 "
@@ -5558,6 +5678,11 @@ msgid "Recent Chat Messages"
msgstr ""
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Regular font path"
+msgstr "Njia ya ripoti"
+
+#: src/settings_translation_file.cpp
msgid "Remote media"
msgstr "Midia ya mbali"
@@ -5769,24 +5894,24 @@ msgstr "Uteuzi kikasha upana"
#, fuzzy
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."
+"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 ""
"Uchaguzi wa fractals 18 kutoka fomula 9.\n"
"1 = 4 D \"Roundy\" mandelbrot seti.\n"
@@ -5857,27 +5982,30 @@ msgid "Set the maximum character length of a chat message sent by clients."
msgstr ""
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Set to true enables waving leaves.\n"
+"Set to true to enable waving leaves.\n"
"Requires shaders to be enabled."
msgstr ""
"Kuweka huwezesha kweli waving majani.\n"
"Inahitaji shaders kwa kuwezeshwa."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Set to true enables waving plants.\n"
+"Set to true to enable waving liquids (like water).\n"
"Requires shaders to be enabled."
msgstr ""
-"Kuweka huwezesha kweli waving mimea.\n"
+"Kuweka huwezesha kweli waving maji.\n"
"Inahitaji shaders kwa kuwezeshwa."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Set to true enables waving water.\n"
+"Set to true to enable waving plants.\n"
"Requires shaders to be enabled."
msgstr ""
-"Kuweka huwezesha kweli waving maji.\n"
+"Kuweka huwezesha kweli waving mimea.\n"
"Inahitaji shaders kwa kuwezeshwa."
#: src/settings_translation_file.cpp
@@ -5899,8 +6027,17 @@ msgstr ""
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Shadow limit"
-msgstr "Kikomo cha Mapblock"
+msgid ""
+"Shadow offset (in pixels) of the default font. If 0, then shadow will not be "
+"drawn."
+msgstr "Fonti kivuli Sawazisha, kama 0 basi kivuli itakuwa kuchukuliwa."
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid ""
+"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not "
+"be drawn."
+msgstr "Fonti kivuli Sawazisha, kama 0 basi kivuli itakuwa kuchukuliwa."
#: src/settings_translation_file.cpp
msgid "Shape of the minimap. Enabled = round, disabled = square."
@@ -5945,6 +6082,14 @@ msgid "Slope and fill work together to modify the heights."
msgstr "Mteremko na Jaza kazi pamoja kurekebisha urefu"
#: src/settings_translation_file.cpp
+msgid "Small cave maximum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Small cave minimum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Small-scale humidity variation for blending biomes on borders."
msgstr ""
@@ -6015,8 +6160,9 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Spread of light curve mid-boost.\n"
-"Standard deviation of the mid-boost gaussian."
+"Spread of light curve boost range.\n"
+"Controls the width of the range to be boosted.\n"
+"Standard deviation of the light curve boost Gaussian."
msgstr ""
#: src/settings_translation_file.cpp
@@ -6042,7 +6188,10 @@ msgid "Strength of generated normalmaps."
msgstr "Nguvu ya normalmaps inayozalishwa."
#: src/settings_translation_file.cpp
-msgid "Strength of light curve mid-boost."
+msgid ""
+"Strength of light curve boost.\n"
+"The 3 'boost' parameters define a range of the light\n"
+"curve that is boosted in brightness."
msgstr ""
#: src/settings_translation_file.cpp
@@ -6161,6 +6310,15 @@ msgid "The length in pixels it takes for touch screen interaction to start."
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"The maximum height of the surface of waving liquids.\n"
+"4.0 = Wave height is two nodes.\n"
+"0.0 = Wave doesn't move at all.\n"
+"Default is 1.0 (1/2 node).\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "The network interface that the server listens on."
msgstr "Interface mtandao kwamba seva husikiliza juu."
@@ -6256,10 +6414,6 @@ 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 "Fonti hii itatumika kwa lugha fulani."
-
-#: src/settings_translation_file.cpp
msgid ""
"Time in seconds for item entity (dropped items) to live.\n"
"Setting it to -1 disables the feature."
@@ -6318,10 +6472,11 @@ msgid "Trilinear filtering"
msgstr "Uchujaji wa trilinear"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
"True = 256\n"
"False = 128\n"
-"Useable to make minimap smoother on slower machines."
+"Usable to make minimap smoother on slower machines."
msgstr ""
"Kweli = 256 bandia = Useable 128 kufanya minimap laini juu ya mashine "
"polepole."
@@ -6331,11 +6486,6 @@ msgid "Trusted mods"
msgstr "Mods aminifu"
#: 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 kwenye orodha ya seva iliyoonyeshwa katika kichupo cha Multiplayer."
@@ -6426,10 +6576,6 @@ 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 ""
@@ -6509,6 +6655,15 @@ msgstr "Kiasi"
#: src/settings_translation_file.cpp
#, fuzzy
msgid ""
+"Volume of all sounds.\n"
+"Requires the sound system to be enabled."
+msgstr ""
+"Huwezesha parallax occlusion uramanishi.\n"
+"Inahitaji shaders kwa kuwezeshwa."
+
+#: 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"
"Alters the shape of the fractal.\n"
@@ -6549,29 +6704,30 @@ msgid "Waving leaves"
msgstr "Waving majani"
#: src/settings_translation_file.cpp
-msgid "Waving plants"
-msgstr "Waving mimea"
-
-#: src/settings_translation_file.cpp
-msgid "Waving water"
-msgstr "Waving maji"
+#, fuzzy
+msgid "Waving liquids"
+msgstr "Waving fundo"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wave height"
+msgid "Waving liquids wave height"
msgstr "Waving maji urefu"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wave speed"
+msgid "Waving liquids wave speed"
msgstr "Waving kasi ya maji"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wavelength"
+msgid "Waving liquids wavelength"
msgstr "Waving maji urefu"
#: src/settings_translation_file.cpp
+msgid "Waving plants"
+msgstr "Waving mimea"
+
+#: 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"
@@ -6617,7 +6773,9 @@ msgstr ""
#: src/settings_translation_file.cpp
#, fuzzy
msgid ""
-"Whether FreeType fonts are used, requires FreeType support to be compiled in."
+"Whether FreeType fonts are used, requires FreeType support to be compiled "
+"in.\n"
+"If disabled, bitmap and XML vectors fonts are used instead."
msgstr ""
"Kama freetype fonti hutumiwa, inahitaji msaada wa freetype kuwa alikusanya "
"katika."
@@ -6652,6 +6810,14 @@ msgstr "Kama ukungu nje mwisho wa eneo hili dhahiri."
#: src/settings_translation_file.cpp
msgid ""
+"Whether to mute sounds. You can unmute sounds at any time, unless the\n"
+"sound system is disabled (enable_sound=false).\n"
+"In-game, you can toggle the mute state with the mute key or by using the\n"
+"pause menu."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
"Whether to show the client debug info (has the same effect as hitting F5)."
msgstr ""
"Kama kuonyesha mteja Rekebisha taarifa (ina athari sawa kama kupiga F5)."
@@ -6727,10 +6893,6 @@ 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 ""
@@ -6743,10 +6905,6 @@ 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 "cURL muda wa upakuzi wa faili"
@@ -6758,6 +6916,59 @@ msgstr "cURL kikomo sambamba"
msgid "cURL timeout"
msgstr "muda wa kuisha wa cURL"
+#, fuzzy
+#~ 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 ""
+#~ "Rekebisha simbiko gamma kwa majedwali mwanga. Idadi ya chini ni mkali.\n"
+#~ "Kipimo hiki ni kwa ajili ya mteja tu na ni kupuuzwa na seva."
+
+#~ msgid "Controls width of tunnels, a smaller value creates wider tunnels."
+#~ msgstr ""
+#~ "Vidhibiti vya upana wa vichuguu, thamani ndogo huunda vichuguu pana."
+
+#, fuzzy
+#~ msgid "Darkness sharpness"
+#~ msgstr "Mwandishi ramani ziwa gorofa mwinuko"
+
+#~ msgid "Enable VBO"
+#~ msgstr "Wezesha VBO"
+
+#~ msgid "Enables filmic tone mapping"
+#~ msgstr "Huwezesha toni filmic ramani"
+
+#, fuzzy
+#~ msgid "Floatland level"
+#~ msgstr "Kiwango cha maji"
+
+#~ msgid "Font shadow alpha (opaqueness, between 0 and 255)."
+#~ msgstr "Fonti kivuli Alfa (opaqueness kati ya 0 na 255)."
+
+#~ msgid "Gamma"
+#~ msgstr "Gamma"
+
+#~ msgid "IPv6 support."
+#~ msgstr "IPv6 msaada."
+
+#, fuzzy
+#~ msgid "Lava depth"
+#~ msgstr "Kina ya pango kubwa"
+
+#~ msgid "Path to TrueTypeFont or bitmap."
+#~ msgstr "Njia ya TrueTypeFont au vitone michoro."
+
+#, fuzzy
+#~ msgid "Shadow limit"
+#~ msgstr "Kikomo cha Mapblock"
+
+#~ msgid "This font will be used for certain languages."
+#~ msgstr "Fonti hii itatumika kwa lugha fulani."
+
+#~ msgid "Waving water"
+#~ msgstr "Waving maji"
+
#~ msgid "Waving Water"
#~ msgstr "Waving maji"
diff --git a/po/th/minetest.po b/po/th/minetest.po
index 098198b63..737bf865f 100644
--- a/po/th/minetest.po
+++ b/po/th/minetest.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Thai (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-10-09 22:02+0200\n"
+"POT-Creation-Date: 2020-04-03 23:18+0200\n"
"PO-Revision-Date: 2020-01-11 18:26+0000\n"
"Last-Translator: rubenwardy <rubenwardy@gmail.com>\n"
"Language-Team: Thai <https://hosted.weblate.org/projects/minetest/minetest/"
@@ -404,14 +404,25 @@ msgstr "Z"
msgid "Z spread"
msgstr "Z à¸à¸£à¸°à¸ˆà¸²à¸¢"
+#. ~ "absvalue" is a noise parameter flag.
+#. It is short for "absolute value".
+#. It can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "absvalue"
msgstr "ค่าผันà¹à¸›à¸£à¸à¸²à¸£à¸ªà¸¸à¹ˆà¸¡à¸ªà¸£à¹‰à¸²à¸‡à¹à¸œà¸™à¸—ี่"
+#. ~ "defaults" is a noise parameter flag.
+#. It describes the default processing options
+#. for noise settings in main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "defaults"
msgstr "เริ่มต้น"
+#. ~ "eased" is a noise parameter flag.
+#. It is used to make the map smoother and
+#. can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "eased"
msgstr "ความนุ่มนวลของพื้นผิวบนทางลาด"
@@ -620,6 +631,7 @@ msgstr "ชื่อ / รหัสผ่าน"
msgid "Ping"
msgstr "เวลาตอบสนอง"
+#. ~ PvP = Player versus Player
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "PvP enabled"
msgstr "PvP เปิดใช้งาน"
@@ -869,6 +881,14 @@ msgstr "รหัสผ่านให้ไฟล์ไม่สามารถ
msgid "Provided world path doesn't exist: "
msgstr "โลà¸à¸¡à¸µà¹€à¸ªà¹‰à¸™à¹„ม่มี: "
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string. Put either "no" or "yes"
+#. into the translation field (literally).
+#. Choose "yes" if the language requires use of the fallback
+#. font, "no" otherwise.
+#. The fallback font is (normally) required for languages with
+#. non-Latin script, like Chinese.
+#. When in doubt, test your translation.
#: src/client/fontengine.cpp
msgid "needs_fallback_font"
msgstr "yes"
@@ -906,6 +926,7 @@ msgstr "-พอร์ต: "
msgid "- Public: "
msgstr "-ประชาชน: "
+#. ~ PvP = Player versus Player
#: src/client/game.cpp
#, fuzzy
msgid "- PvP: "
@@ -1366,6 +1387,7 @@ msgstr "ด้านซ้าย Shift"
msgid "Left Windows"
msgstr "หน้าต่างซ้าย"
+#. ~ Key name, common on Windows keyboards
#: src/client/keycode.cpp
msgid "Menu"
msgstr "เมนู"
@@ -1474,6 +1496,7 @@ msgstr "หยุด"
msgid "Play"
msgstr "เล่น"
+#. ~ "Print screen" key
#: src/client/keycode.cpp
msgid "Print"
msgstr "พิมพ์"
@@ -1511,6 +1534,7 @@ msgstr "หน้าต่างขวา"
msgid "Scroll Lock"
msgstr "Scroll Lock"
+#. ~ Key name
#: src/client/keycode.cpp
msgid "Select"
msgstr "เลือà¸"
@@ -1753,11 +1777,16 @@ msgstr "เสียง"
msgid "Sound Volume: "
msgstr "ระดับเสียง "
+#. ~ Imperative, as in "Enter/type in text".
+#. Don't forget the space.
#: src/gui/modalMenu.cpp
msgid "Enter "
msgstr "ป้อน "
-#: src/network/clientpackethandler.cpp
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string which needs to contain the translation's
+#. language code (e.g. "de" for German).
+#: src/network/clientpackethandler.cpp src/script/lua_api/l_client.cpp
msgid "LANG_CODE"
msgstr "th"
@@ -1784,7 +1813,7 @@ msgid ""
"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"
+"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."
@@ -1966,20 +1995,16 @@ msgstr ""
"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."
+msgid ""
+"Alters the light curve by applying 'gamma correction' to it.\n"
+"Higher values make middle and lower light levels brighter.\n"
+"Value '1.0' leaves the light curve unaltered.\n"
+"This only has significant effect on daylight and artificial\n"
+"light, it has very little effect on natural night light."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2130,6 +2155,26 @@ msgid "Block send optimize distance"
msgstr ""
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Bold and italic font path"
+msgstr "เส้นทางฟอนต์ monospace"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Bold and italic monospace font path"
+msgstr "เส้นทางฟอนต์ monospace"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Bold font path"
+msgstr "เส้นทางà¹à¸šà¸šà¸­à¸±à¸à¸©à¸£"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Bold monospace font path"
+msgstr "เส้นทางฟอนต์ monospace"
+
+#: src/settings_translation_file.cpp
msgid "Build inside player"
msgstr "สร้างภายในเครื่องเล่น"
@@ -2145,8 +2190,8 @@ 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"
+"Camera 'near clipping plane' distance in nodes, between 0 and 0.25\n"
+"Only works on GLES platforms. 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 ""
@@ -2212,8 +2257,10 @@ msgid "Cavern upper limit"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Center of light curve mid-boost."
-msgstr "à¸à¸¶à¹ˆà¸‡à¸à¸¥à¸²à¸‡à¸‚องเส้นโค้งà¹à¸ªà¸‡ - à¸à¸¥à¸²à¸‡à¹€à¸žà¸´à¹ˆà¸¡"
+msgid ""
+"Center of light curve boost range.\n"
+"Where 0.0 is minimum light level, 1.0 is maximum light level."
+msgstr ""
#: src/settings_translation_file.cpp
msgid ""
@@ -2410,12 +2457,9 @@ 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."
+"Controls width of tunnels, a smaller value creates wider tunnels.\n"
+"Value >= 10.0 completely disables generation of tunnels and avoids the\n"
+"intensive noise calculations."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2451,10 +2495,6 @@ msgid "Damage"
msgstr "ความเสียหาย"
#: src/settings_translation_file.cpp
-msgid "Darkness sharpness"
-msgstr "ความมืดมิด"
-
-#: src/settings_translation_file.cpp
msgid "Debug info toggle key"
msgstr "à¹à¸à¹‰à¹„ขคีย์à¸à¸²à¸£à¸ªà¸¥à¸±à¸šà¸‚้อมูล"
@@ -2471,7 +2511,7 @@ msgid "Dec. volume key"
msgstr "ลดระดับเสียงที่สำคัà¸"
#: src/settings_translation_file.cpp
-msgid "Decrease this to increase liquid resistence to movement."
+msgid "Decrease this to increase liquid resistance to movement."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2513,12 +2553,6 @@ msgid ""
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 ""
@@ -2599,12 +2633,6 @@ 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 ""
@@ -2678,6 +2706,12 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Enable IPv6 support (for both client and server).\n"
+"Required for IPv6 connections to work at all."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
"Enable Lua modding support on client.\n"
"This support is experimental and API can change."
msgstr ""
@@ -2685,10 +2719,6 @@ msgstr ""
"à¸à¸²à¸£à¸ªà¸™à¸±à¸šà¸ªà¸™à¸¸à¸™à¸™à¸µà¹‰à¹€à¸›à¹‡à¸™à¸à¸²à¸£à¸—ดลองà¹à¸¥à¸° API สามารถเปลี่ยนà¹à¸›à¸¥à¸‡à¹„ด้"
#: src/settings_translation_file.cpp
-msgid "Enable VBO"
-msgstr "ทำให้สามารถ VBO"
-
-#: src/settings_translation_file.cpp
msgid "Enable console window"
msgstr "เปิดใช้งานหน้าต่างคอนโซล"
@@ -2761,6 +2791,12 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Enable vertex buffer objects.\n"
+"This should greatly improve graphics performance."
+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 ""
@@ -2768,14 +2804,24 @@ msgstr ""
"ตัวอย่างเช่น: 0 ที่ไม่มีà¸à¸²à¸£à¸ªà¸±à¹ˆà¸™ 1.0 สำหรับปà¸à¸•à¸´ 2.0 สำหรับสองเท่า"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
"Enable/disable running an IPv6 server.\n"
-"Ignored if bind_address is set."
+"Ignored if bind_address is set.\n"
+"Needs enable_ipv6 to be enabled."
msgstr ""
"เปิดใช้งาน / ปิดà¸à¸²à¸£à¹ƒà¸Šà¹‰à¸‡à¸²à¸™à¹€à¸‹à¸´à¸£à¹Œà¸Ÿà¹€à¸§à¸­à¸£à¹Œ IPv6.\n"
"ข้ามไปหาà¸à¸•à¸±à¹‰à¸‡à¸„่า bind_address."
#: src/settings_translation_file.cpp
+msgid ""
+"Enables Hable's 'Uncharted 2' filmic tone mapping.\n"
+"Simulates the tone curve of photographic film and how this approximates the\n"
+"appearance of high dynamic range images. Mid-range contrast is slightly\n"
+"enhanced, highlights and shadows are gradually compressed."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Enables animation of inventory items."
msgstr "เปิดใช้งานภาพเคลื่อนไหวของรายà¸à¸²à¸£à¸ªà¸´à¸™à¸„้าคงคลัง."
@@ -2795,10 +2841,6 @@ 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 "เปิดใช้งานย่อà¹à¸œà¸™à¸—ี่."
@@ -2819,6 +2861,14 @@ msgstr ""
"ต้องมี shaders เพื่อเปิดใช้งาน"
#: src/settings_translation_file.cpp
+msgid ""
+"Enables the sound system.\n"
+"If disabled, this completely disables all sounds everywhere and the in-game\n"
+"sound controls will be non-functional.\n"
+"Changing this setting requires a restart."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Engine profiling data print interval"
msgstr ""
@@ -2852,7 +2902,8 @@ msgid "Fall bobbing factor"
msgstr "ตà¸à¸›à¸±à¸ˆà¸ˆà¸±à¸¢à¸œà¸¥à¸¸à¸šà¹†à¹‚ผล่ๆ"
#: src/settings_translation_file.cpp
-msgid "Fallback font"
+#, fuzzy
+msgid "Fallback font path"
msgstr "à¹à¸šà¸šà¸­à¸±à¸à¸©à¸£à¸ªà¸³à¸£à¸­à¸‡"
#: src/settings_translation_file.cpp
@@ -2953,30 +3004,6 @@ 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"
@@ -2998,8 +3025,12 @@ msgid "Fog toggle key"
msgstr "ปุ่มสลับ Fog"
#: src/settings_translation_file.cpp
-msgid "Font path"
-msgstr "เส้นทางà¹à¸šà¸šà¸­à¸±à¸à¸©à¸£"
+msgid "Font bold by default"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font italic by default"
+msgstr ""
#: src/settings_translation_file.cpp
msgid "Font shadow"
@@ -3010,16 +3041,20 @@ msgid "Font shadow alpha"
msgstr "ตัวอัà¸à¸©à¸£à¹€à¸‡à¸²à¸­à¸±à¸¥à¸Ÿà¸²"
#: src/settings_translation_file.cpp
-msgid "Font shadow alpha (opaqueness, between 0 and 255)."
-msgstr "ตัวอัà¸à¸©à¸£à¹€à¸‡à¸²à¸­à¸±à¸¥à¸Ÿà¸² (ความทึบระหว่าง 0 à¹à¸¥à¸° 255)."
+msgid "Font size"
+msgstr "ขนาดตัวอัà¸à¸©à¸£"
#: src/settings_translation_file.cpp
-msgid "Font shadow offset, if 0 then shadow will not be drawn."
-msgstr "เงาà¹à¸šà¸šà¸­à¸±à¸à¸©à¸£à¸Šà¸”เชยถ้า 0 à¹à¸¥à¹‰à¸§à¹€à¸‡à¸²à¸ˆà¸°à¹„ม่ถูà¸à¸§à¸²à¸”."
+msgid "Font size of the default font in point (pt)."
+msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font size"
-msgstr "ขนาดตัวอัà¸à¸©à¸£"
+msgid "Font size of the fallback font in point (pt)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font size of the monospace font in point (pt)."
+msgstr ""
#: src/settings_translation_file.cpp
msgid ""
@@ -3129,10 +3164,6 @@ 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 "สร้างà¹à¸œà¸™à¸—ี่ปà¸à¸•à¸´"
@@ -3148,11 +3179,17 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at maximum light level."
+#, fuzzy
+msgid ""
+"Gradient of light curve at maximum light level.\n"
+"Controls the contrast of the highest light levels."
msgstr "ความชันของเส้นโค้งà¹à¸ªà¸‡à¸—ี่ระดับà¹à¸ªà¸‡à¸ªà¸¹à¸‡à¸ªà¸¸à¸”."
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at minimum light level."
+#, fuzzy
+msgid ""
+"Gradient of light curve at minimum light level.\n"
+"Controls the contrast of the lowest light levels."
msgstr "ความชันของเส้นโค้งà¹à¸ªà¸‡à¸—ี่ระดับà¹à¸ªà¸‡à¸•à¹ˆà¸³à¸ªà¸¸à¸”."
#: src/settings_translation_file.cpp
@@ -3185,7 +3222,7 @@ msgstr "ปุ่มสลับ HUD"
#: src/settings_translation_file.cpp
msgid ""
-"Handling for deprecated lua api calls:\n"
+"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)."
@@ -3412,6 +3449,13 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"How fast liquid waves will move. Higher = faster.\n"
+"If negative, liquid waves will move backwards.\n"
+"Requires waving liquids to be enabled."
+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 ""
@@ -3441,10 +3485,6 @@ 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."
@@ -3629,6 +3669,16 @@ msgid "Invert vertical mouse movement."
msgstr "à¸à¸¥à¸±à¸šà¹€à¸„ลื่อนไหวเมาส์à¹à¸™à¸§à¸•à¸±à¹‰à¸‡."
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Italic font path"
+msgstr "เส้นทางฟอนต์ monospace"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Italic monospace font path"
+msgstr "เส้นทางฟอนต์ monospace"
+
+#: src/settings_translation_file.cpp
msgid "Item entity TTL"
msgstr "รายà¸à¸²à¸£à¸™à¸´à¸•à¸´à¸šà¸¸à¸„คล TTL"
@@ -4433,14 +4483,22 @@ msgid "Large cave depth"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Large chat console key"
-msgstr "คีย์คอนโซลà¹à¸Šà¸—ขนาดใหà¸à¹ˆ"
+msgid "Large cave maximum number"
+msgstr ""
#: src/settings_translation_file.cpp
-msgid "Lava depth"
+msgid "Large cave minimum number"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Large cave proportion flooded"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large chat console key"
+msgstr "คีย์คอนโซลà¹à¸Šà¸—ขนาดใหà¸à¹ˆ"
+
+#: src/settings_translation_file.cpp
msgid "Leaves style"
msgstr "สไตล์ใบ"
@@ -4468,6 +4526,15 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid ""
+"Length of liquid waves.\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+"ตั้งค่าเป็นจริงช่วยให้ใบโบà¸\n"
+"ต้องมี shaders เพื่อเปิดใช้งาน"
+
+#: src/settings_translation_file.cpp
msgid "Length of time between Active Block Modifier (ABM) execution cycles"
msgstr ""
@@ -4492,20 +4559,34 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost"
+#, fuzzy
+msgid "Light curve boost"
msgstr "à¸à¸²à¸£à¹€à¸žà¸´à¹ˆà¸¡à¸„วามโค้งà¸à¸¥à¸²à¸‡à¸‚องà¹à¸ªà¸‡"
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost center"
+#, fuzzy
+msgid "Light curve boost center"
msgstr "ส่วนโค้งของà¹à¸ªà¸‡à¸•à¸£à¸‡à¸à¸¥à¸²à¸‡à¹€à¸žà¸´à¹ˆà¸¡"
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost spread"
+#, fuzzy
+msgid "Light curve boost spread"
msgstr "ส่วนโค้งเว้าเพิ่มระดับà¸à¸¥à¸²à¸‡à¹à¸ªà¸‡"
#: src/settings_translation_file.cpp
-msgid "Lightness sharpness"
-msgstr "ความคมชัดของà¹à¸ªà¸‡"
+#, fuzzy
+msgid "Light curve gamma"
+msgstr "à¸à¸²à¸£à¹€à¸žà¸´à¹ˆà¸¡à¸„วามโค้งà¸à¸¥à¸²à¸‡à¸‚องà¹à¸ªà¸‡"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Light curve high gradient"
+msgstr "à¸à¸²à¸£à¹€à¸žà¸´à¹ˆà¸¡à¸„วามโค้งà¸à¸¥à¸²à¸‡à¸‚องà¹à¸ªà¸‡"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Light curve low gradient"
+msgstr "ส่วนโค้งของà¹à¸ªà¸‡à¸•à¸£à¸‡à¸à¸¥à¸²à¸‡à¹€à¸žà¸´à¹ˆà¸¡"
#: src/settings_translation_file.cpp
msgid "Limit of emerge queues on disk"
@@ -4610,25 +4691,25 @@ 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."
+"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 flat.\n"
+"Map generation attributes specific to Mapgen Fractal.\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."
+"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
@@ -4778,8 +4859,16 @@ msgid "Maximum hotbar width"
msgstr "ความà¸à¸§à¹‰à¸²à¸‡à¸‚องบาร์สูงสุด"
#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of large caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
-"Maximum liquid resistence. Controls deceleration when entering liquid at\n"
+"Maximum liquid resistance. Controls deceleration when entering liquid at\n"
"high speed."
msgstr ""
@@ -4912,6 +5001,14 @@ msgid "Minimap scan height"
msgstr "ความสูงà¸à¸²à¸£à¸ªà¹à¸à¸™à¹à¸œà¸™à¸—ี่ขั้นต่ำ"
#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of large caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Minimum texture size"
msgstr "ขนาดพื้นผิวขั้นต่ำ"
@@ -5002,7 +5099,7 @@ msgstr "ชื่อของเซิร์ฟเวอร์ที่จะà¹
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Near clipping plane"
+msgid "Near plane"
msgstr "ใà¸à¸¥à¹‰à¹€à¸„รื่องบิน"
#: src/settings_translation_file.cpp
@@ -5092,6 +5189,16 @@ msgstr "ของเหลวทึบà¹à¸ªà¸‡"
#: src/settings_translation_file.cpp
msgid ""
+"Opaqueness (alpha) of the shadow behind the default font, between 0 and 255."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Opaqueness (alpha) of the shadow behind the fallback font, between 0 and 255."
+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."
@@ -5130,8 +5237,13 @@ msgid "Parallax occlusion strength"
msgstr "à¸à¸³à¸¥à¸±à¸‡à¸šà¸”เคี้ยวของ Parallax"
#: src/settings_translation_file.cpp
-msgid "Path to TrueTypeFont or bitmap."
-msgstr "เส้นทางà¹à¸šà¸šà¸­à¸±à¸à¸©à¸£."
+msgid ""
+"Path of the fallback font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font will be used for certain languages or if the default font is "
+"unavailable."
+msgstr ""
#: src/settings_translation_file.cpp
msgid "Path to save screenshots at."
@@ -5148,6 +5260,22 @@ msgid "Path to texture directory. All textures are first searched from here."
msgstr "เส้นทางไปยังไดเรà¸à¸—อรีพื้นผิว พื้นผิวทั้งหมดจะถูà¸à¸„้นหาครั้งà¹à¸£à¸à¸ˆà¸²à¸à¸—ี่นี่"
#: src/settings_translation_file.cpp
+msgid ""
+"Path to the default font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"The fallback font will be used if the font cannot be loaded."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Path to the monospace font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font is used for e.g. the console and profiler screen."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Pause on lost window focus"
msgstr "หยุดà¸à¸²à¸£à¹‚ฟà¸à¸±à¸ªà¸‚องหน้าต่างที่หายไปชั่วคราว"
@@ -5226,6 +5354,10 @@ msgid "Profiling"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Proportion of large caves that contain liquid."
+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 "
@@ -5251,6 +5383,11 @@ msgid "Recent Chat Messages"
msgstr "ข้อความà¹à¸Šà¸—ล่าสุด"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Regular font path"
+msgstr "เส้นทางà¹à¸šà¸šà¸­à¸±à¸à¸©à¸£"
+
+#: src/settings_translation_file.cpp
msgid "Remote media"
msgstr "รีโมตสื่อบันทึà¸"
@@ -5451,24 +5588,24 @@ 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."
+"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
@@ -5518,27 +5655,30 @@ msgid "Set the maximum character length of a chat message sent by clients."
msgstr ""
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Set to true enables waving leaves.\n"
+"Set to true to enable waving leaves.\n"
"Requires shaders to be enabled."
msgstr ""
"ตั้งค่าเป็นจริงช่วยให้ใบโบà¸\n"
"ต้องมี shaders เพื่อเปิดใช้งาน"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Set to true enables waving plants.\n"
+"Set to true to enable waving liquids (like water).\n"
"Requires shaders to be enabled."
msgstr ""
-"à¸à¸²à¸£à¸•à¸±à¹‰à¸‡à¸„่าเป็นจริงช่วยให้พืชโบà¸\n"
+"ตั้งค่าเป็นจริงช่วยให้น้ำโบà¸\n"
"ต้องมี shaders เพื่อเปิดใช้งาน"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Set to true enables waving water.\n"
+"Set to true to enable waving plants.\n"
"Requires shaders to be enabled."
msgstr ""
-"ตั้งค่าเป็นจริงช่วยให้น้ำโบà¸\n"
+"à¸à¸²à¸£à¸•à¸±à¹‰à¸‡à¸„่าเป็นจริงช่วยให้พืชโบà¸\n"
"ต้องมี shaders เพื่อเปิดใช้งาน"
#: src/settings_translation_file.cpp
@@ -5557,8 +5697,18 @@ msgstr ""
"ใช้งานได้à¸à¸±à¸šà¹à¸šà¹‡à¸à¹€à¸­à¸™à¸”์วิดีโอ OpenGL เท่านั้น"
#: src/settings_translation_file.cpp
-msgid "Shadow limit"
-msgstr ""
+#, fuzzy
+msgid ""
+"Shadow offset (in pixels) of the default font. If 0, then shadow will not be "
+"drawn."
+msgstr "เงาà¹à¸šà¸šà¸­à¸±à¸à¸©à¸£à¸Šà¸”เชยถ้า 0 à¹à¸¥à¹‰à¸§à¹€à¸‡à¸²à¸ˆà¸°à¹„ม่ถูà¸à¸§à¸²à¸”."
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid ""
+"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not "
+"be drawn."
+msgstr "เงาà¹à¸šà¸šà¸­à¸±à¸à¸©à¸£à¸Šà¸”เชยถ้า 0 à¹à¸¥à¹‰à¸§à¹€à¸‡à¸²à¸ˆà¸°à¹„ม่ถูà¸à¸§à¸²à¸”."
#: src/settings_translation_file.cpp
msgid "Shape of the minimap. Enabled = round, disabled = square."
@@ -5605,6 +5755,14 @@ msgid "Slope and fill work together to modify the heights."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Small cave maximum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Small cave minimum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Small-scale humidity variation for blending biomes on borders."
msgstr ""
@@ -5669,9 +5827,11 @@ msgstr ""
"ไฟล์ที่ไม่ปราà¸à¸à¸ˆà¸°à¸–ูà¸à¸”ึงข้อมูลตามปà¸à¸•à¸´."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Spread of light curve mid-boost.\n"
-"Standard deviation of the mid-boost gaussian."
+"Spread of light curve boost range.\n"
+"Controls the width of the range to be boosted.\n"
+"Standard deviation of the light curve boost Gaussian."
msgstr ""
"à¸à¸²à¸£à¹à¸žà¸£à¹ˆà¸à¸£à¸°à¸ˆà¸²à¸¢à¸‚องà¹à¸ªà¸‡à¹‚ค้งà¸à¸¥à¸²à¸‡ - เพิ่ม\n"
"ค่าเบี่ยงเบนมาตรà¸à¸²à¸™à¸‚อง Gaussian à¸à¸¥à¸²à¸‡à¹€à¸£à¹ˆà¸‡"
@@ -5697,8 +5857,11 @@ msgid "Strength of generated normalmaps."
msgstr "ความà¹à¸‚็งà¹à¸à¸£à¹ˆà¸‡à¸‚องà¹à¸œà¸™à¸—ี่ปà¸à¸•à¸´à¸—ี่สร้างขึ้น"
#: src/settings_translation_file.cpp
-msgid "Strength of light curve mid-boost."
-msgstr "ความà¹à¸‚็งà¹à¸£à¸‡à¸‚องà¹à¸ªà¸‡à¹‚ค้งà¸à¸¥à¸²à¸‡ - เพิ่ม"
+msgid ""
+"Strength of light curve boost.\n"
+"The 3 'boost' parameters define a range of the light\n"
+"curve that is boosted in brightness."
+msgstr ""
#: src/settings_translation_file.cpp
msgid "Strength of parallax."
@@ -5806,6 +5969,15 @@ msgid "The length in pixels it takes for touch screen interaction to start."
msgstr "ความยาวเป็นพิà¸à¹€à¸‹à¸¥à¸—ี่ใช้ในà¸à¸²à¸£à¹€à¸£à¸´à¹ˆà¸¡à¸—ำงานบนหน้าจอสัมผัส."
#: src/settings_translation_file.cpp
+msgid ""
+"The maximum height of the surface of waving liquids.\n"
+"4.0 = Wave height is two nodes.\n"
+"0.0 = Wave doesn't move at all.\n"
+"Default is 1.0 (1/2 node).\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "The network interface that the server listens on."
msgstr "อินเทอร์เฟซเครือข่ายที่เซิร์ฟเวอร์ฟัง."
@@ -5901,10 +6073,6 @@ 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."
@@ -5959,10 +6127,11 @@ msgid "Trilinear filtering"
msgstr "à¸à¸²à¸£à¸à¸£à¸­à¸‡ Trilinear"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
"True = 256\n"
"False = 128\n"
-"Useable to make minimap smoother on slower machines."
+"Usable to make minimap smoother on slower machines."
msgstr ""
"True = 256\n"
"เท็จ = 128\n"
@@ -5973,11 +6142,6 @@ 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 ไปยังรายà¸à¸²à¸£à¹€à¸‹à¸´à¸£à¹Œà¸Ÿà¹€à¸§à¸­à¸£à¹Œà¸—ี่à¹à¸ªà¸”งในà¹à¸—็บผู้เล่นหลายคน."
@@ -6072,10 +6236,6 @@ 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 ""
@@ -6148,6 +6308,15 @@ msgid "Volume"
msgstr "ปริมาณ"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid ""
+"Volume of all sounds.\n"
+"Requires the sound system to be enabled."
+msgstr ""
+"เปิดใช้งานà¸à¸²à¸£à¹à¸¡à¸›à¸à¸²à¸£à¸šà¸”เคี้ยวของรัลà¹à¸¥à¸à¸‹à¹Œ\n"
+"ต้องมี shaders เพื่อเปิดใช้งาน"
+
+#: 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"
@@ -6185,29 +6354,30 @@ msgid "Waving leaves"
msgstr "โบà¸à¹ƒà¸šà¹„ม้"
#: src/settings_translation_file.cpp
-msgid "Waving plants"
-msgstr "โบà¸à¸•à¹‰à¸™à¹„ม้"
-
-#: src/settings_translation_file.cpp
-msgid "Waving water"
-msgstr "โบà¸à¸™à¹‰à¸³"
+#, fuzzy
+msgid "Waving liquids"
+msgstr "โบà¸à¹‚หนด"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wave height"
+msgid "Waving liquids wave height"
msgstr "โบà¸à¸™à¹‰à¸³à¸ªà¸¹à¸‡"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wave speed"
+msgid "Waving liquids wave speed"
msgstr "โบà¸à¸„วามเร็วน้ำ"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wavelength"
+msgid "Waving liquids wavelength"
msgstr "โบà¸à¸¡à¸·à¸­à¸à¸±à¸™à¸¢à¸²à¸§"
#: src/settings_translation_file.cpp
+msgid "Waving plants"
+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"
@@ -6252,8 +6422,11 @@ msgstr ""
"à¸à¸²à¸£à¸«à¸¡à¸¸à¸™à¸­à¸±à¸•à¹‚นมัติของพื้นผิว"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Whether FreeType fonts are used, requires FreeType support to be compiled in."
+"Whether FreeType fonts are used, requires FreeType support to be compiled "
+"in.\n"
+"If disabled, bitmap and XML vectors fonts are used instead."
msgstr "ไม่ว่าจะใช้ฟอนต์ FreeType ต้องมีà¸à¸²à¸£à¸ªà¸™à¸±à¸šà¸ªà¸™à¸¸à¸™ FreeType เพื่อรวบรวม."
#: src/settings_translation_file.cpp
@@ -6286,6 +6459,14 @@ msgstr "ไม่ว่าจะเป็นà¸à¸²à¸£à¸žà¹ˆà¸™à¸«à¸¡à¸­à¸à¸­à¸­
#: src/settings_translation_file.cpp
msgid ""
+"Whether to mute sounds. You can unmute sounds at any time, unless the\n"
+"sound system is disabled (enable_sound=false).\n"
+"In-game, you can toggle the mute state with the mute key or by using the\n"
+"pause menu."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
"Whether to show the client debug info (has the same effect as hitting F5)."
msgstr "ไม่ว่าจะà¹à¸ªà¸”งข้อมูลà¸à¸²à¸£à¹à¸à¹‰à¸›à¸±à¸à¸«à¸²à¸¥à¸¹à¸à¸„้า (มีผลเช่นเดียวà¸à¸±à¸šà¸à¸²à¸£à¸à¸”ปุ่ม F5)."
@@ -6365,10 +6546,6 @@ 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 ""
@@ -6381,10 +6558,6 @@ 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 ""
@@ -6396,6 +6569,47 @@ msgstr ""
msgid "cURL timeout"
msgstr ""
+#~ 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"
+#~ "à¸à¸²à¸£à¸•à¸±à¹‰à¸‡à¸„่านี้มีไว้สำหรับไคลเอ็นต์เท่านั้นà¹à¸¥à¸°à¹€à¸‹à¸´à¸£à¹Œà¸Ÿà¹€à¸§à¸­à¸£à¹Œà¸ˆà¸°à¹€à¸žà¸´à¸à¹€à¸‰à¸¢"
+
+#~ msgid "Center of light curve mid-boost."
+#~ msgstr "à¸à¸¶à¹ˆà¸‡à¸à¸¥à¸²à¸‡à¸‚องเส้นโค้งà¹à¸ªà¸‡ - à¸à¸¥à¸²à¸‡à¹€à¸žà¸´à¹ˆà¸¡"
+
+#~ msgid "Darkness sharpness"
+#~ msgstr "ความมืดมิด"
+
+#~ msgid "Enable VBO"
+#~ msgstr "ทำให้สามารถ VBO"
+
+#~ msgid "Enables filmic tone mapping"
+#~ msgstr "เปิดใช้งานà¸à¸²à¸£à¸ˆà¸±à¸šà¸„ู่โทนภาพยนตร์"
+
+#~ msgid "Font shadow alpha (opaqueness, between 0 and 255)."
+#~ msgstr "ตัวอัà¸à¸©à¸£à¹€à¸‡à¸²à¸­à¸±à¸¥à¸Ÿà¸² (ความทึบระหว่าง 0 à¹à¸¥à¸° 255)."
+
+#~ msgid "Gamma"
+#~ msgstr "à¹à¸à¸¡à¸¡à¸²"
+
+#~ msgid "Lightness sharpness"
+#~ msgstr "ความคมชัดของà¹à¸ªà¸‡"
+
+#~ msgid "Path to TrueTypeFont or bitmap."
+#~ msgstr "เส้นทางà¹à¸šà¸šà¸­à¸±à¸à¸©à¸£."
+
+#~ msgid "Strength of light curve mid-boost."
+#~ msgstr "ความà¹à¸‚็งà¹à¸£à¸‡à¸‚องà¹à¸ªà¸‡à¹‚ค้งà¸à¸¥à¸²à¸‡ - เพิ่ม"
+
+#~ msgid "This font will be used for certain languages."
+#~ msgstr "à¹à¸šà¸šà¸­à¸±à¸à¸©à¸£à¸™à¸µà¹‰à¸ˆà¸°à¹ƒà¸Šà¹‰à¸ªà¸³à¸«à¸£à¸±à¸šà¸šà¸²à¸‡à¸ à¸²à¸©à¸²"
+
+#~ msgid "Waving water"
+#~ msgstr "โบà¸à¸™à¹‰à¸³"
+
#~ msgid "Waving Water"
#~ msgstr "น้ำโบà¸"
diff --git a/po/tr/minetest.po b/po/tr/minetest.po
index 125274059..92f5b7431 100644
--- a/po/tr/minetest.po
+++ b/po/tr/minetest.po
@@ -2,9 +2,9 @@ msgid ""
msgstr ""
"Project-Id-Version: Turkish (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-10-09 22:02+0200\n"
-"PO-Revision-Date: 2019-10-29 11:53+0000\n"
-"Last-Translator: monolifed <monolifed@protonmail.com>\n"
+"POT-Creation-Date: 2020-04-03 23:18+0200\n"
+"PO-Revision-Date: 2020-04-04 06:53+0000\n"
+"Last-Translator: OÄŸuz Ersen <oguzersen@protonmail.com>\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.9.1\n"
+"X-Generator: Weblate 4.0-dev\n"
#: builtin/client/death_formspec.lua src/client/game.cpp
msgid "Respawn"
@@ -401,14 +401,25 @@ msgstr "Z"
msgid "Z spread"
msgstr "Z yayılması"
+#. ~ "absvalue" is a noise parameter flag.
+#. It is short for "absolute value".
+#. It can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "absvalue"
msgstr "mutlak deÄŸer"
+#. ~ "defaults" is a noise parameter flag.
+#. It describes the default processing options
+#. for noise settings in main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "defaults"
msgstr "öntanımlılar"
+#. ~ "eased" is a noise parameter flag.
+#. It is used to make the map smoother and
+#. can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "eased"
msgstr "rahat"
@@ -617,6 +628,7 @@ msgstr "Ad / Åžifre"
msgid "Ping"
msgstr "Ping"
+#. ~ PvP = Player versus Player
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "PvP enabled"
msgstr "SavaÅŸ etkin"
@@ -861,6 +873,14 @@ msgstr "Sağlanan şifre dosyası açılamadı: "
msgid "Provided world path doesn't exist: "
msgstr "Belirtilen dünya konumu yok: "
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string. Put either "no" or "yes"
+#. into the translation field (literally).
+#. Choose "yes" if the language requires use of the fallback
+#. font, "no" otherwise.
+#. The fallback font is (normally) required for languages with
+#. non-Latin script, like Chinese.
+#. When in doubt, test your translation.
#: src/client/fontengine.cpp
msgid "needs_fallback_font"
msgstr "no"
@@ -897,6 +917,7 @@ msgstr "- Port: "
msgid "- Public: "
msgstr "- Herkes: "
+#. ~ PvP = Player versus Player
#: src/client/game.cpp
msgid "- PvP: "
msgstr "- SavaÅŸ: "
@@ -1347,6 +1368,7 @@ msgstr "Sol Shift"
msgid "Left Windows"
msgstr "Sol Windows"
+#. ~ Key name, common on Windows keyboards
#: src/client/keycode.cpp
msgid "Menu"
msgstr "Menü"
@@ -1439,6 +1461,7 @@ msgstr "Duraklat"
msgid "Play"
msgstr "Oyna"
+#. ~ "Print screen" key
#: src/client/keycode.cpp
msgid "Print"
msgstr "Yazdır"
@@ -1475,6 +1498,7 @@ msgstr "SaÄŸ Windows"
msgid "Scroll Lock"
msgstr "Scroll Lock"
+#. ~ Key name
#: src/client/keycode.cpp
msgid "Select"
msgstr "Seç"
@@ -1714,11 +1738,16 @@ msgstr "Ses Kısık"
msgid "Sound Volume: "
msgstr "Ses Seviyesi: "
+#. ~ Imperative, as in "Enter/type in text".
+#. Don't forget the space.
#: src/gui/modalMenu.cpp
msgid "Enter "
msgstr "Gir "
-#: src/network/clientpackethandler.cpp
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string which needs to contain the translation's
+#. language code (e.g. "de" for German).
+#: src/network/clientpackethandler.cpp src/script/lua_api/l_client.cpp
msgid "LANG_CODE"
msgstr "tr"
@@ -1746,16 +1775,16 @@ msgid ""
"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"
+"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 ""
-"Fraktalın dünya merkezinden 'scale' birimi cinsinden (X,Y,Z)\n"
-"kaydırması. Uygun canlanma noktası yaratmak için istenen \n"
-"noktayı (0,0)'a taşımada veya 'scale'ı artırarak istenen bir\n"
+"Fraktalın dünya merkezinden 'scale' biriminde (X,Y,Z) kaydırması.\n"
+"Uygun canlanma noktası yaratmak için istenen noktayı (0,0)'a\n"
+"taşımada veya 'scale'ı artırarak istenen bir\n"
"noktaya yakınlaşmaya izin vermede kullanılabilir.\n"
-"Öntanımlı olan öntanımlı parametreli mandelbrot setleri için\n"
+"Öntanımlı olan öntanımlı parametreli Mandelbrot setleri için\n"
"uygun bir canlanma noktası için ayarlanmıştır, diğer durumlar\n"
"için değiştirme gerektirebilir.\n"
"Kabaca -2 ile 2 arası . Nodlardaki kaydırmalar için 'scale' ile çarpın."
@@ -1947,24 +1976,22 @@ msgstr ""
"ör: 4k ekranlar için."
#: 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 ""
-"Işık tabloları için gama kodlamayı ayarlayın. Daha yüksek sayılar daha "
-"aydınlıktır.\n"
-"Bu ayar yalnızca istemci içindir ve sunucu tarafından yok sayılır."
-
-#: src/settings_translation_file.cpp
msgid "Advanced"
msgstr "GeliÅŸmiÅŸ"
#: src/settings_translation_file.cpp
-msgid "Alters how mountain-type floatlands taper above and below midpoint."
+msgid ""
+"Alters the light curve by applying 'gamma correction' to it.\n"
+"Higher values make middle and lower light levels brighter.\n"
+"Value '1.0' leaves the light curve unaltered.\n"
+"This only has significant effect on daylight and artificial\n"
+"light, it has very little effect on natural night light."
msgstr ""
-"Dağ-türü yüzerkaraların orta noktanın üstünde ve altında nasıl "
-"konikleÅŸtiÄŸini deÄŸiÅŸtirir."
+"Işık eğrisini 'gama düzeltmesi' uygulayarak değiştirir.\n"
+"Yüksek değerler orta ve düşük ışık seviyelerini daha parlak hale getirir.\n"
+"'1.0' değeri ışık eğrisini değiştirmeden bırakır.\n"
+"Bunun sadece gün ışığı ve suni ışık üstünde önemli bir etkisi vardır.\n"
+"doğal gece ışığı üzerinde çok az etkisi vardır."
#: src/settings_translation_file.cpp
msgid "Altitude chill"
@@ -2124,6 +2151,22 @@ msgid "Block send optimize distance"
msgstr "Blok gönderme iyileştirme uzaklığı"
#: src/settings_translation_file.cpp
+msgid "Bold and italic font path"
+msgstr "Kalın ve italik yazı tipi konumu"
+
+#: src/settings_translation_file.cpp
+msgid "Bold and italic monospace font path"
+msgstr "Kalın ve italik eş aralıklı yazı tipi konumu"
+
+#: src/settings_translation_file.cpp
+msgid "Bold font path"
+msgstr "Kalın yazı tipi konumu"
+
+#: src/settings_translation_file.cpp
+msgid "Bold monospace font path"
+msgstr "Kalın eş aralıklı yazı tipi konumu"
+
+#: src/settings_translation_file.cpp
msgid "Build inside player"
msgstr "Oyuncu içinde inşa"
@@ -2137,14 +2180,15 @@ msgstr "Tümsek eşleme"
#: 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"
+"Camera 'near clipping plane' distance in nodes, between 0 and 0.25\n"
+"Only works on GLES platforms. 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 ""
-"Nodlar arasındaki, kamera 'yakın kırpma düzlem' uzaklığı, 0 ile 0,5 arasında."
-"\n"
-"Çoğu kullanıcının bunu değiştirmesi gerekmez.\n"
+"Nodlar arasındaki, kamera 'yakın kırpma düzlem' uzaklığı, 0 ile 0,25 "
+"arasında.\n"
+"Yalnızca GLES platformlarında çalışır. Çoğu kullanıcının bunu değiştirmesi "
+"gerekmez.\n"
"Artırma, zayıf GPU'larda görüntü bozulmalarını azaltabilir.\n"
"0,1 = Öntanımlı, 0,25 = Zayıf tabletler için iyi değer."
@@ -2205,8 +2249,12 @@ msgid "Cavern upper limit"
msgstr "Oyuk üst sınırı"
#: src/settings_translation_file.cpp
-msgid "Center of light curve mid-boost."
-msgstr "Işık eğrisi orta-artırmanın merkezi."
+msgid ""
+"Center of light curve boost range.\n"
+"Where 0.0 is minimum light level, 1.0 is maximum light level."
+msgstr ""
+"Işık eğrisi artırma aralığının merkezi.\n"
+"0.0 minimum, 1.0 maksimum ışık seviyesidir."
#: src/settings_translation_file.cpp
msgid ""
@@ -2422,17 +2470,15 @@ msgstr "Tepelerin dikliğini/yüksekliğini denetler."
#: 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."
+"Controls width of tunnels, a smaller value creates wider tunnels.\n"
+"Value >= 10.0 completely disables generation of tunnels and avoids the\n"
+"intensive noise calculations."
msgstr ""
-"Dağ-türü yüzenkaraların yoğunluğunu denetler.\n"
-"'mgv7_np_mountain' gürültü değerine eklenen bir gürültü kaydırmadır."
-
-#: src/settings_translation_file.cpp
-msgid "Controls width of tunnels, a smaller value creates wider tunnels."
-msgstr ""
-"Tünellerin genişliğini denetler, daha küçük bir değer daha geniş tüneller "
-"yaratır."
+"Tünellerin genişliğini kontrol eder, daha küçük bir değer daha geniş "
+"tüneller oluşturur.\n"
+"Değer >= 10.0, tünellerin oluşumunu tamamen devre dışı kılar ve yoğun "
+"gürültü\n"
+"hesaplamaları önler."
#: src/settings_translation_file.cpp
msgid "Crash message"
@@ -2467,10 +2513,6 @@ msgid "Damage"
msgstr "Hasar"
#: src/settings_translation_file.cpp
-msgid "Darkness sharpness"
-msgstr "Karanlık keskinliği"
-
-#: src/settings_translation_file.cpp
msgid "Debug info toggle key"
msgstr "Hata ayıklama bilgisi açma/kapama tuşu"
@@ -2487,7 +2529,7 @@ msgid "Dec. volume key"
msgstr "Ses alçaltma tuşu"
#: src/settings_translation_file.cpp
-msgid "Decrease this to increase liquid resistence to movement."
+msgid "Decrease this to increase liquid resistance to movement."
msgstr "Harekete karşı sıvı direncini artırmak için bunu azaltın."
#: src/settings_translation_file.cpp
@@ -2531,14 +2573,6 @@ msgstr ""
"Yalnızca cURL ile derlenmiş ise bir etkisi vardır."
#: src/settings_translation_file.cpp
-msgid ""
-"Defines areas of floatland smooth terrain.\n"
-"Smooth floatlands occur when noise > 0."
-msgstr ""
-"Yüzenkara düz arazilerin alanlarını belirler.\n"
-"Gürültü > 0 iken düz yüzenkaralar oluşur."
-
-#: src/settings_translation_file.cpp
msgid "Defines areas where trees have apples."
msgstr "Ağaçların elması olacağı alanları belirler."
@@ -2625,15 +2659,6 @@ 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 ""
-"Kullanılmıyor, bunun yerine biyom tanımlarını kullanarak mağara sıvılarını "
-"tanımlayın ve bulun.\n"
-"Büyük mağaralarda lav üst sınırının Y'si."
-
-#: src/settings_translation_file.cpp
msgid "Depth below which you'll find giant caverns."
msgstr "Altında dev oyuklar bulabileceğiniz derinlik."
@@ -2711,6 +2736,14 @@ msgstr "Zindan gürültüsü"
#: src/settings_translation_file.cpp
msgid ""
+"Enable IPv6 support (for both client and server).\n"
+"Required for IPv6 connections to work at all."
+msgstr ""
+"IPv6 desteğini etkinleştirin (hem istemci hem de sunucu için).\n"
+"IPv6 bağlantılarının çalışması için gereklidir."
+
+#: src/settings_translation_file.cpp
+msgid ""
"Enable Lua modding support on client.\n"
"This support is experimental and API can change."
msgstr ""
@@ -2718,10 +2751,6 @@ msgstr ""
"Bu destek deneyseldir ve API deÄŸiÅŸebilir."
#: src/settings_translation_file.cpp
-msgid "Enable VBO"
-msgstr "VBO'yu etkinleÅŸtir"
-
-#: src/settings_translation_file.cpp
msgid "Enable console window"
msgstr "Konsol penceresini etkinleÅŸtir"
@@ -2794,6 +2823,14 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Enable vertex buffer objects.\n"
+"This should greatly improve graphics performance."
+msgstr ""
+"Köşe arabellek nesnelerini etkinleştirin.\n"
+"Bu grafik performansını büyük ölçüde artırır."
+
+#: 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 ""
@@ -2803,10 +2840,24 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Enable/disable running an IPv6 server.\n"
-"Ignored if bind_address is set."
+"Ignored if bind_address is set.\n"
+"Needs enable_ipv6 to be enabled."
msgstr ""
"IPv6 sunucu çalıştırmayı etkin/devre dışı kılar.\n"
-"Eğer bind_address ayarlı ise yok sayılır."
+"Eğer bind_address ayarlı ise yok sayılır.\n"
+"enable_ipv6 etkin kılınmalıdır."
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Enables Hable's 'Uncharted 2' filmic tone mapping.\n"
+"Simulates the tone curve of photographic film and how this approximates the\n"
+"appearance of high dynamic range images. Mid-range contrast is slightly\n"
+"enhanced, highlights and shadows are gradually compressed."
+msgstr ""
+"Hable'ın 'Uncharted 2' film ton eşlemesini etkinleştirir.\n"
+"Fotoğrafsal film ton eğrisini simüle eder ve bu\n"
+"yüksek dinamik aralıklı görüntülerin görünümü yakınlaştırır. Orta-aralık\n"
+"kontrast biraz geliştirilir, vurgular ve gölgeler yavaş yavaş sıkıştırılır."
#: src/settings_translation_file.cpp
msgid "Enables animation of inventory items."
@@ -2829,10 +2880,6 @@ msgid "Enables caching of facedir rotated meshes."
msgstr "Yüz yönü döndürülmüş kafeslerin önbelleklenmesini etkinleştirir."
#: src/settings_translation_file.cpp
-msgid "Enables filmic tone mapping"
-msgstr "Filmsel ton eÅŸlemeyi etkinleÅŸtirir"
-
-#: src/settings_translation_file.cpp
msgid "Enables minimap."
msgstr "Mini haritayı etkinleştirir."
@@ -2853,6 +2900,18 @@ msgstr ""
"Gölgelemelerin etkin olmasını gerektirir."
#: src/settings_translation_file.cpp
+msgid ""
+"Enables the sound system.\n"
+"If disabled, this completely disables all sounds everywhere and the in-game\n"
+"sound controls will be non-functional.\n"
+"Changing this setting requires a restart."
+msgstr ""
+"Ses sistemini etkinleÅŸtirir.\n"
+"Devre dışı bırakılırsa, bu tüm sesleri devre dışı kılar ve oyun içindeki\n"
+"ses denetimlerinin iÅŸlevi olmaz.\n"
+"Bu ayarı değiştirmek, yeniden başlatma gerektirir."
+
+#: src/settings_translation_file.cpp
msgid "Engine profiling data print interval"
msgstr "Motor profilleme veri yazdırma aralığı"
@@ -2885,8 +2944,8 @@ msgid "Fall bobbing factor"
msgstr "Düşme sallanması çarpanı"
#: src/settings_translation_file.cpp
-msgid "Fallback font"
-msgstr "Geri dönüş yazı tipi"
+msgid "Fallback font path"
+msgstr "Yedek yazı tipi konumu"
#: src/settings_translation_file.cpp
msgid "Fallback font shadow"
@@ -2988,30 +3047,6 @@ msgid "Fixed virtual joystick"
msgstr "Sabit sanal joystick"
#: src/settings_translation_file.cpp
-msgid "Floatland base height noise"
-msgstr "Yüzenkara taban yükseklik gürültüsü"
-
-#: src/settings_translation_file.cpp
-msgid "Floatland base noise"
-msgstr "Yüzenkara taban gürültüsü"
-
-#: src/settings_translation_file.cpp
-msgid "Floatland level"
-msgstr "Yüzenkara seviyesi"
-
-#: src/settings_translation_file.cpp
-msgid "Floatland mountain density"
-msgstr "Yüzenkara dağ yoğunluğu"
-
-#: src/settings_translation_file.cpp
-msgid "Floatland mountain exponent"
-msgstr "Yüzenkara dağ eksponenti"
-
-#: src/settings_translation_file.cpp
-msgid "Floatland mountain height"
-msgstr "Yüzenkara dağ yüksekliği"
-
-#: src/settings_translation_file.cpp
msgid "Fly key"
msgstr "Uçma tuşu"
@@ -3032,8 +3067,12 @@ msgid "Fog toggle key"
msgstr "Sis açma/kapama tuşu"
#: src/settings_translation_file.cpp
-msgid "Font path"
-msgstr "Yazı tipi konumu"
+msgid "Font bold by default"
+msgstr "Öntanımlı kalın yazı tipi"
+
+#: src/settings_translation_file.cpp
+msgid "Font italic by default"
+msgstr "Öntanımlı italik yazı tipi"
#: src/settings_translation_file.cpp
msgid "Font shadow"
@@ -3044,16 +3083,20 @@ msgid "Font shadow alpha"
msgstr "Yazı tipi gölge saydamlığı"
#: src/settings_translation_file.cpp
-msgid "Font shadow alpha (opaqueness, between 0 and 255)."
-msgstr "Yazı tipi gölge saydamlığı (solukluk, 0 ve 255 arası)."
+msgid "Font size"
+msgstr "Yazı tipi boyutu"
#: src/settings_translation_file.cpp
-msgid "Font shadow offset, if 0 then shadow will not be drawn."
-msgstr "Yazı tipi gölge kayması, 0 ise gölge çizilmez."
+msgid "Font size of the default font in point (pt)."
+msgstr "Öntanımlı yazı tipinin nokta (pt) olarak boyutu."
#: src/settings_translation_file.cpp
-msgid "Font size"
-msgstr "Yazı tipi boyutu"
+msgid "Font size of the fallback font in point (pt)."
+msgstr "Yedek yazı tipinin nokta (pt) olarak boyutu."
+
+#: src/settings_translation_file.cpp
+msgid "Font size of the monospace font in point (pt)."
+msgstr "Eş aralıklı yazı tipinin nokta (pt) olarak boyutu."
#: src/settings_translation_file.cpp
msgid ""
@@ -3176,10 +3219,6 @@ msgid "GUI scaling filter txr2img"
msgstr "Arayüz boyutlandırma filtresi txr2img"
#: src/settings_translation_file.cpp
-msgid "Gamma"
-msgstr "Gama"
-
-#: src/settings_translation_file.cpp
msgid "Generate normalmaps"
msgstr "Normal eşlemeleri üret"
@@ -3199,12 +3238,20 @@ msgstr ""
"denetler, diğer mapgenlerde bu bayrak tüm dekorasyonları denetler."
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at maximum light level."
-msgstr "Maksimum ışık seviyesinde ışık eğrisinin gradyantı."
+msgid ""
+"Gradient of light curve at maximum light level.\n"
+"Controls the contrast of the highest light levels."
+msgstr ""
+"Maksimum ışık seviyesinde ışık eğrisinin gradyantı.\n"
+"En yüksek ışık düzeylerinin kontrastını denetler."
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at minimum light level."
-msgstr "Minimum ışık seviyesinde ışık eğrisinin gradyantı."
+msgid ""
+"Gradient of light curve at minimum light level.\n"
+"Controls the contrast of the lowest light levels."
+msgstr ""
+"Minimum ışık seviyesinde ışık eğrisinin gradyantı.\n"
+"En düşük ışık düzeylerinin kontrastını kontrol eder."
#: src/settings_translation_file.cpp
msgid "Graphics"
@@ -3236,7 +3283,7 @@ msgstr "HUD açma/kapama tuşu"
#: src/settings_translation_file.cpp
msgid ""
-"Handling for deprecated lua api calls:\n"
+"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)."
@@ -3479,6 +3526,17 @@ msgstr "Nehirlerin ne kadar derin yapılacağı."
#: src/settings_translation_file.cpp
msgid ""
+"How fast liquid waves will move. Higher = faster.\n"
+"If negative, liquid waves will move backwards.\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+"Sıvı dalgalarının ne kadar hızlı hareket edeceğini\n"
+"belirler . Daha yüksek = daha hızlı.\n"
+"Negatif ise, sıvı dalgalar geriye hareket edecektir.\n"
+"Dalgalanan sıvılar etkin kılınmalıdır."
+
+#: 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 ""
@@ -3511,10 +3569,6 @@ msgid "IPv6 server"
msgstr "IPv6 sunucu"
#: src/settings_translation_file.cpp
-msgid "IPv6 support."
-msgstr "IPv6 desteÄŸi."
-
-#: 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."
@@ -3726,6 +3780,14 @@ msgid "Invert vertical mouse movement."
msgstr "Ters dikey fare hareketi."
#: src/settings_translation_file.cpp
+msgid "Italic font path"
+msgstr "İtalik yazı tipi konumu"
+
+#: src/settings_translation_file.cpp
+msgid "Italic monospace font path"
+msgstr "İtalik eş aralıklı yazı tipi konumu"
+
+#: src/settings_translation_file.cpp
msgid "Item entity TTL"
msgstr "Öge varlık TTL"
@@ -4552,12 +4614,20 @@ msgid "Large cave depth"
msgstr "Büyük mağara derinliği"
#: src/settings_translation_file.cpp
-msgid "Large chat console key"
-msgstr "Büyük sohbet konsolu tuşu"
+msgid "Large cave maximum number"
+msgstr "Büyük mağara maksimum sayısı"
+
+#: src/settings_translation_file.cpp
+msgid "Large cave minimum number"
+msgstr "Büyük mağara minimum sayısı"
+
+#: src/settings_translation_file.cpp
+msgid "Large cave proportion flooded"
+msgstr "Büyük mağara su alma oranı"
#: src/settings_translation_file.cpp
-msgid "Lava depth"
-msgstr "Lav derinliÄŸi"
+msgid "Large chat console key"
+msgstr "Büyük sohbet konsolu tuşu"
#: src/settings_translation_file.cpp
msgid "Leaves style"
@@ -4589,6 +4659,14 @@ msgstr ""
"aralık."
#: src/settings_translation_file.cpp
+msgid ""
+"Length of liquid waves.\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+"Sıvı dalgalarının uzunluğu.\n"
+"Dalgalanan sıvılar etkin kılınmalı."
+
+#: src/settings_translation_file.cpp
msgid "Length of time between Active Block Modifier (ABM) execution cycles"
msgstr "Etkin Blok Değiştirici (ABM) yürütme döngüleri arasındaki süre"
@@ -4621,20 +4699,28 @@ msgstr ""
"- verbose (ayrıntılı)"
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost"
-msgstr "Işık eğrisi orta-artırma"
+msgid "Light curve boost"
+msgstr "Işık eğrisi artırma"
+
+#: src/settings_translation_file.cpp
+msgid "Light curve boost center"
+msgstr "Işık eğrisi artırma merkezi"
+
+#: src/settings_translation_file.cpp
+msgid "Light curve boost spread"
+msgstr "Işık eğrisi artırma yayılması"
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost center"
-msgstr "Işık eğrisi orta-artırma merkezi"
+msgid "Light curve gamma"
+msgstr "Işık eğrisi gama"
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost spread"
-msgstr "Işık eğrisi orta-artırmanın yayılması"
+msgid "Light curve high gradient"
+msgstr "Işık eğrisi yüksek gradyan"
#: src/settings_translation_file.cpp
-msgid "Lightness sharpness"
-msgstr "Aydınlık keskinliği"
+msgid "Light curve low gradient"
+msgstr "Işık eğrisi düşük gradyan"
#: src/settings_translation_file.cpp
msgid "Limit of emerge queues on disk"
@@ -4753,37 +4839,37 @@ msgstr "Mapgen Karpat'a özgü harita üretim değerleri."
#: 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."
+"Map generation attributes specific to Mapgen Flat.\n"
+"Occasional lakes and hills can be added to the flat world."
msgstr ""
-"Mapgen Vadiler'e özgü harita üretim değerleri. \n"
-"'altitude_chill': Isıyı yükseklikle azaltı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."
+"Mapgen Düz'e özgü harita üretim değerleri.\n"
+"Ara sıra göller ve tepeler düz dünyaya eklenebilir."
#: src/settings_translation_file.cpp
msgid ""
-"Map generation attributes specific to Mapgen flat.\n"
+"Map generation attributes specific to Mapgen Fractal.\n"
"'terrain' enables the generation of non-fractal terrain:\n"
"ocean, islands and underground."
msgstr ""
-"Mapgen düz'e özgü harita üretim değerleri.\n"
+"Mapgen Fraktal'a özgü harita üretim değerleri.\n"
"'terrain' fraktal olmayan arazi üretimini etkinleştirir:\n"
"okyanus, adalar ve yeraltı."
#: 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."
+"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 ""
-"Mapgen düz'e özgü harita üretim değerleri.\n"
-"Ara sıra göller ve tepeler düz dünyaya eklenebilir."
+"Mapgen Vadiler'e özgü harita üretim değerleri. \n"
+"'altitude_chill': Isıyı yükseklikle azaltı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."
#: src/settings_translation_file.cpp
msgid "Map generation attributes specific to Mapgen v5."
@@ -4939,11 +5025,19 @@ msgid "Maximum hotbar width"
msgstr "Maksimum hotbar geniÅŸliÄŸi"
#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of large caves per mapchunk."
+msgstr "Her harita yığını için rastgele büyük mağara sayısının üst sınırı."
+
+#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of small caves per mapchunk."
+msgstr "Her harita yığını için rastgele küçük mağara sayısının üst sınırı."
+
+#: src/settings_translation_file.cpp
msgid ""
-"Maximum liquid resistence. Controls deceleration when entering liquid at\n"
+"Maximum liquid resistance. Controls deceleration when entering liquid at\n"
"high speed."
msgstr ""
-"Maksimum sıvı direnci. Yüksek hızda sıvıya girerken yavaşlamayı\n"
+"Maksimum sıvı direnci. Sıvıya, yüksek hızda girerken yavaşlamayı\n"
"denetler."
#: src/settings_translation_file.cpp
@@ -5082,6 +5176,14 @@ msgid "Minimap scan height"
msgstr "Mini harita tarama yüksekliği"
#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of large caves per mapchunk."
+msgstr "Her harita yığını için rastgele büyük mağara sayısının alt sınırı."
+
+#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of small caves per mapchunk."
+msgstr "Her harita yığını için rastgele küçük mağara sayısının alt sınırı."
+
+#: src/settings_translation_file.cpp
msgid "Minimum texture size"
msgstr "Minimum doku boyutu"
@@ -5178,7 +5280,7 @@ msgstr ""
"Oyuncular katılındığında ve sunucu listesinde görüntülenecek sunucu adı."
#: src/settings_translation_file.cpp
-msgid "Near clipping plane"
+msgid "Near plane"
msgstr "Yakın kırpma düzlemi"
#: src/settings_translation_file.cpp
@@ -5285,6 +5387,19 @@ msgstr "Opak sıvılar"
#: src/settings_translation_file.cpp
msgid ""
+"Opaqueness (alpha) of the shadow behind the default font, between 0 and 255."
+msgstr ""
+"0 ile 255 arasında öntanımlı yazı tipinin arkasındaki gölgenin opaklığı "
+"(alfa)."
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Opaqueness (alpha) of the shadow behind the fallback font, between 0 and 255."
+msgstr ""
+"0 ile 255 arasında yedek yazı tipinin arkasındaki gölgenin opaklığı (alfa)."
+
+#: 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."
@@ -5325,8 +5440,18 @@ msgid "Parallax occlusion strength"
msgstr "Paralaks oklüzyon gücü"
#: src/settings_translation_file.cpp
-msgid "Path to TrueTypeFont or bitmap."
-msgstr "TrueTypeFont veya bitmap konumu."
+msgid ""
+"Path of the fallback font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font will be used for certain languages or if the default font is "
+"unavailable."
+msgstr ""
+"Yedek yazı tipi konumu.\n"
+"“freetype†ayarı etkinse: TrueType yazı tipi olmalı.\n"
+"“freetype†ayarı devre dışıysa: bitmap veya XML vektör yazı tipi olmalı.\n"
+"Bu yazı tipi belirli diller için veya öntanımlı yazı tipi kullanılamıyorsa "
+"kullanılır."
#: src/settings_translation_file.cpp
msgid "Path to save screenshots at."
@@ -5345,6 +5470,30 @@ msgid "Path to texture directory. All textures are first searched from here."
msgstr "Doku dizini konumu. Tüm dokular ilk burada aranır."
#: src/settings_translation_file.cpp
+msgid ""
+"Path to the default font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"The fallback font will be used if the font cannot be loaded."
+msgstr ""
+"Öntanımlı yazı tipi konumu.\n"
+"“freetype†ayarı etkinse: TrueType yazı tipi olmalı.\n"
+"“freetype†ayarı devre dışıysa: bitmap veya XML vektör yazı tipi olmalı.\n"
+"Yazı tipi yüklenemiyorsa yedek yazı tipi kullanılır."
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Path to the monospace font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font is used for e.g. the console and profiler screen."
+msgstr ""
+"Eş aralıklı yazı tipi konumu.\n"
+"“freetype†ayarı etkinse: TrueType yazı tipi olmalı.\n"
+"“freetype†ayarı devre dışıysa: bitmap veya XML vektör yazı tipi olmalı.\n"
+"Bu yazı tipi konsol, profil ekranı v.b. için kullanılır."
+
+#: src/settings_translation_file.cpp
msgid "Pause on lost window focus"
msgstr "Pencere odağı kaybolunca duraklat"
@@ -5427,6 +5576,10 @@ msgid "Profiling"
msgstr "Profilleme"
#: src/settings_translation_file.cpp
+msgid "Proportion of large caves that contain liquid."
+msgstr "Sıvı içeren büyük mağaraların oranı."
+
+#: 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 "
@@ -5453,6 +5606,10 @@ msgid "Recent Chat Messages"
msgstr "Son Sohbet Ä°letileri"
#: src/settings_translation_file.cpp
+msgid "Regular font path"
+msgstr "Normal yazı tipi konumu"
+
+#: src/settings_translation_file.cpp
msgid "Remote media"
msgstr "Uzak medya"
@@ -5665,44 +5822,44 @@ msgstr "Seçim kutusu genişliği"
#: 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."
+"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 ""
"18 fraktal türünden birini seçer.\n"
-"1 = 4D \"Roundy\" mandelbrot seti.\n"
-"2 = 4D \"Roundy\" julia seti.\n"
-"3 = 4D \"Squarry\" mandelbrot seti.\n"
-"4 = 4D \"Squarry\" julia seti.\n"
-"5 = 4D \"Mandy Cousin\" mandelbrot seti.\n"
-"6 = 4D \"Mandy Cousin\" julia seti.\n"
-"7 = 4D \"Variation\" mandelbrot seti.\n"
-"8 = 4D \"Variation\" julia seti.\n"
-"9 = 3D \"Mandelbrot/Mandelbar\" mandelbrot seti.\n"
-"10 = 3D \"Mandelbrot/Mandelbar\" julia seti.\n"
-"11 = 3D \"Christmas Tree\" mandelbrot seti.\n"
-"12 = 3D \"Christmas Tree\" julia seti.\n"
-"13 = 3D \"Mandelbulb\" mandelbrot seti.\n"
-"14 = 3D \"Mandelbulb\" julia seti.\n"
+"1 = 4D \"Roundy\" Mandelbrot seti.\n"
+"2 = 4D \"Roundy\" Julia seti.\n"
+"3 = 4D \"Squarry\" Mandelbrot seti.\n"
+"4 = 4D \"Squarry\" Julia seti.\n"
+"5 = 4D \"Mandy Cousin\" Mandelbrot seti.\n"
+"6 = 4D \"Mandy Cousin\" Julia seti.\n"
+"7 = 4D \"Variation\" Mandelbrot seti.\n"
+"8 = 4D \"Variation\" Julia seti.\n"
+"9 = 3D \"Mandelbrot/Mandelbar\" Mandelbrot seti.\n"
+"10 = 3D \"Mandelbrot/Mandelbar\" Julia seti.\n"
+"11 = 3D \"Christmas Tree\" Mandelbrot seti.\n"
+"12 = 3D \"Christmas Tree\" Julia seti.\n"
+"13 = 3D \"Mandelbulb\" Mandelbrot seti.\n"
+"14 = 3D \"Mandelbulb\" Julia seti.\n"
"15 = 3D \"Cosine Mandelbulb\" mandelbrot seti.\n"
"16 = 3D \"Cosine Mandelbulb\" julia seti.\n"
-"17 = 4D \"Mandelbulb\" mandelbrot seti.\n"
-"18 = 4D \"Mandelbulb\" julia seti."
+"17 = 4D \"Mandelbulb\" Mandelbrot seti.\n"
+"18 = 4D \"Mandelbulb\" Julia seti."
#: src/settings_translation_file.cpp
msgid "Server / Singleplayer"
@@ -5756,27 +5913,27 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving leaves.\n"
+"Set to true to enable waving leaves.\n"
"Requires shaders to be enabled."
msgstr ""
-"True (doğru) olarak ayarlamak dalgalanan yaprakları etkinleştirir.\n"
-"Gölgelemenin etkin olmasını gerektirir."
+"Dalgalanan yaprakları için doğru'ya ayarlayın.\n"
+"Gölgelemeler etkin kılınmalıdır."
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving plants.\n"
+"Set to true to enable waving liquids (like water).\n"
"Requires shaders to be enabled."
msgstr ""
-"True (doÄŸru) olarak ayarlamak dalgalanan bitkileri etkinleÅŸtirir.\n"
-"Gölgelemenin etkin olmasını gerektirir."
+"Dalgalanan sıvılar (su gibi) için doğru'ya ayarlayın.\n"
+"Gölgelemeler etkin kılınmalıdır."
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving water.\n"
+"Set to true to enable waving plants.\n"
"Requires shaders to be enabled."
msgstr ""
-"True (doÄŸru) olarak ayarlamak dalgalanan suyu etkinleÅŸtirir.\n"
-"Gölgelemenin etkin olmasını gerektirir."
+"Dalgalanan bitkiler için doğru'ya ayarlayın.\n"
+"Gölgelemeler etkin kılınmalıdır."
#: src/settings_translation_file.cpp
msgid "Shader path"
@@ -5795,8 +5952,18 @@ msgstr ""
"Bu yalnızca OpenGL video arka ucu ile çalışır."
#: src/settings_translation_file.cpp
-msgid "Shadow limit"
-msgstr "Gölge sınırı"
+msgid ""
+"Shadow offset (in pixels) of the default font. If 0, then shadow will not be "
+"drawn."
+msgstr ""
+"Öntanımlı yazı tipinin gölge uzaklığı (piksel olarak). 0 ise, gölge çizilmez."
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not "
+"be drawn."
+msgstr ""
+"Yedek yazı tipinin gölge uzaklığı (piksel olarak). 0 ise, gölge çizilmez."
#: src/settings_translation_file.cpp
msgid "Shape of the minimap. Enabled = round, disabled = square."
@@ -5849,6 +6016,14 @@ msgid "Slope and fill work together to modify the heights."
msgstr "Yükseklikleri değiştirmek için eğim ve dolgu birlikte işler."
#: src/settings_translation_file.cpp
+msgid "Small cave maximum number"
+msgstr "Küçük mağara maksimum sayısı"
+
+#: src/settings_translation_file.cpp
+msgid "Small cave minimum number"
+msgstr "Küçük mağara minimum sayısı"
+
+#: src/settings_translation_file.cpp
msgid "Small-scale humidity variation for blending biomes on borders."
msgstr "Biyomların sınırlarda kaynaşması için düşük çaplı nem değişimi."
@@ -5915,11 +6090,13 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Spread of light curve mid-boost.\n"
-"Standard deviation of the mid-boost gaussian."
+"Spread of light curve boost range.\n"
+"Controls the width of the range to be boosted.\n"
+"Standard deviation of the light curve boost Gaussian."
msgstr ""
-"Işık eğrisi orta-artırmanın yayılması.\n"
-"Gaussian orta-artırmanın standart deviyasyonu."
+"Işık eğrisi artırma aralığının yayılması.\n"
+"Artırılacak aralığın genişliğini denetler.\n"
+"Işık eğrisi artırma Gaussian'ın standart sapması."
#: src/settings_translation_file.cpp
msgid "Static spawnpoint"
@@ -5942,8 +6119,14 @@ msgid "Strength of generated normalmaps."
msgstr "Üretilen normal eşlemelerin gücü."
#: src/settings_translation_file.cpp
-msgid "Strength of light curve mid-boost."
-msgstr "Işık eğrisi orta-artırmanın kuvveti."
+msgid ""
+"Strength of light curve boost.\n"
+"The 3 'boost' parameters define a range of the light\n"
+"curve that is boosted in brightness."
+msgstr ""
+"Işık eğrisi artırmanın gücü.\n"
+"3 'boost' parametresi parlaklık artırılan\n"
+"bir ışık eğrisi aralığı tanımlar."
#: src/settings_translation_file.cpp
msgid "Strength of parallax."
@@ -6061,6 +6244,20 @@ msgstr ""
"uzunluk."
#: src/settings_translation_file.cpp
+msgid ""
+"The maximum height of the surface of waving liquids.\n"
+"4.0 = Wave height is two nodes.\n"
+"0.0 = Wave doesn't move at all.\n"
+"Default is 1.0 (1/2 node).\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+"Dalgalanan sıvıların yüzeyinin maksimum yüksekliği.\n"
+"4.0 = Dalga yüksekliği iki nod.\n"
+"0.0 = Dalga hiç hareket etmez.\n"
+"Öntanımlı 1.0'dır (1/2 nod).\n"
+"Dalgalanan sıvılar etkin kılınmalıdır."
+
+#: src/settings_translation_file.cpp
msgid "The network interface that the server listens on."
msgstr "Sunucunun dinlediği ağ arayüzü."
@@ -6174,10 +6371,6 @@ msgstr ""
"Birlikte tepe/dağ aralık yüksekliğini belirleyen 4 2D gürültüden üçüncüsü."
#: src/settings_translation_file.cpp
-msgid "This font will be used for certain languages."
-msgstr "Belirli diller için bu yazı tipi kullanılacak."
-
-#: src/settings_translation_file.cpp
msgid ""
"Time in seconds for item entity (dropped items) to live.\n"
"Setting it to -1 disables the feature."
@@ -6240,7 +6433,7 @@ msgstr "Trilineer filtreleme"
msgid ""
"True = 256\n"
"False = 128\n"
-"Useable to make minimap smoother on slower machines."
+"Usable to make minimap smoother on slower machines."
msgstr ""
"True (DoÄŸru) = 256\n"
"False (Yanlış) = 128\n"
@@ -6251,13 +6444,6 @@ msgid "Trusted mods"
msgstr "Güvenilen modlar"
#: src/settings_translation_file.cpp
-msgid ""
-"Typical maximum height, above and below midpoint, of floatland mountains."
-msgstr ""
-"Yüzenkara dağların, orta noktanın altındaki ve üstündeki, tipik maksimum "
-"yüksekliği."
-
-#: src/settings_translation_file.cpp
msgid "URL to the server list displayed in the Multiplayer Tab."
msgstr "Multiplayer sekmesinde görüntülenen sunucu listesi URL'si."
@@ -6350,10 +6536,6 @@ msgid "Variation of biome filler depth."
msgstr "Biyom doldurma derinliÄŸinin deÄŸiÅŸimi."
#: src/settings_translation_file.cpp
-msgid "Variation of hill height and lake depth on floatland smooth terrain."
-msgstr "Tepe yüksekliğinin ve göl derinliğinin yüzenkara düz arazide değişimi."
-
-#: src/settings_translation_file.cpp
msgid "Variation of maximum mountain height (in nodes)."
msgstr "Maksimum dağ yüksekliğinin (nod cinsinden) değişimi."
@@ -6431,6 +6613,14 @@ msgstr "Ses"
#: src/settings_translation_file.cpp
msgid ""
+"Volume of all sounds.\n"
+"Requires the sound system to be enabled."
+msgstr ""
+"Tüm seslerin yüksekliği.\n"
+"Ses sistemi etkin kılınmalıdır."
+
+#: 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"
@@ -6453,7 +6643,8 @@ msgstr "Yürüme hızı"
#: src/settings_translation_file.cpp
msgid "Walking, flying and climbing speed in fast mode, in nodes per second."
-msgstr "Hızlı kipte yürüme, uçma ve tırmanma hızı, saniye başına nod cinsinden."
+msgstr ""
+"Hızlı kipte yürüme, uçma ve tırmanma hızı, saniye başına nod cinsinden."
#: src/settings_translation_file.cpp
msgid "Water level"
@@ -6472,24 +6663,24 @@ msgid "Waving leaves"
msgstr "Dalgalanan yapraklar"
#: src/settings_translation_file.cpp
-msgid "Waving plants"
-msgstr "Dalgalanan bitkiler"
+msgid "Waving liquids"
+msgstr "Dalgalanan sıvılar"
#: src/settings_translation_file.cpp
-msgid "Waving water"
-msgstr "Dalgalanan su"
+msgid "Waving liquids wave height"
+msgstr "Dalgalanan sıvılar dalga yüksekliği"
#: src/settings_translation_file.cpp
-msgid "Waving water wave height"
-msgstr "Dalgalanan su dalga yüksekliği"
+msgid "Waving liquids wave speed"
+msgstr "Dalgalanan sıvılar dalga hızı"
#: src/settings_translation_file.cpp
-msgid "Waving water wave speed"
-msgstr "Dalgalanan su dalga hızı"
+msgid "Waving liquids wavelength"
+msgstr "Dalgalanan sıvılar dalga-boyu"
#: src/settings_translation_file.cpp
-msgid "Waving water wavelength"
-msgstr "Dalgalanan su dalga boyu"
+msgid "Waving plants"
+msgstr "Dalgalanan bitkiler"
#: src/settings_translation_file.cpp
msgid ""
@@ -6541,10 +6732,13 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Whether FreeType fonts are used, requires FreeType support to be compiled in."
+"Whether FreeType fonts are used, requires FreeType support to be compiled "
+"in.\n"
+"If disabled, bitmap and XML vectors fonts are used instead."
msgstr ""
"Freetype yazı tiplerinin kullanılıp kullanılmayacağını, freetype desteği ile "
-"derlenmiş olması gerekir."
+"derlenmiş olmalıdır.\n"
+"Devre dışı kılınırsa, yerine bitmap ve XML vektör yazı tipleri kullanılır."
#: src/settings_translation_file.cpp
msgid "Whether node texture animations should be desynchronized per mapblock."
@@ -6583,6 +6777,18 @@ msgstr "Görünebilir alanın sonunun sislendirilip sislendirilmeyeceği."
#: src/settings_translation_file.cpp
msgid ""
+"Whether to mute sounds. You can unmute sounds at any time, unless the\n"
+"sound system is disabled (enable_sound=false).\n"
+"In-game, you can toggle the mute state with the mute key or by using the\n"
+"pause menu."
+msgstr ""
+"Seslerin kısılıp kısılmayacağı. Ses sistemi devre dışı değilse \n"
+"(enable_sound = false) sesleri istediğiniz zaman açabilirsiniz.\n"
+"Oyunda, ses kısma durumunu, ses kısma tuşuyla veya duraklatma menüsünü\n"
+"kullanarak belirleyebilirsiniz."
+
+#: src/settings_translation_file.cpp
+msgid ""
"Whether to show the client debug info (has the same effect as hitting F5)."
msgstr ""
"İstemciye hata ayıklama bilgisinin gösterilip gösterilmeyeceği (F5'e basmak "
@@ -6666,10 +6872,6 @@ msgid "Y-level of cavern upper limit."
msgstr "Oyuk üst sınırının Y-seviyesi."
#: src/settings_translation_file.cpp
-msgid "Y-level of floatland midpoint and lake surface."
-msgstr "Yüzenkara orta noktasının ve göl yüzeyinin Y-seviyesi."
-
-#: src/settings_translation_file.cpp
msgid "Y-level of higher terrain that creates cliffs."
msgstr "Uçurumlar yaratan daha yüksek arazinin Y-seviyesi."
@@ -6682,10 +6884,6 @@ msgid "Y-level of seabed."
msgstr "Deniz yatağının Y-seviyesi."
#: src/settings_translation_file.cpp
-msgid "Y-level to which floatland shadows extend."
-msgstr "Yüzenkara gölgelerinin uzanacağı Y-seviyesi."
-
-#: src/settings_translation_file.cpp
msgid "cURL file download timeout"
msgstr "cURL dosya indirme zaman aşımı"
@@ -6697,6 +6895,124 @@ msgstr "cURL paralel sınırı"
msgid "cURL timeout"
msgstr "cURL zaman aşımı"
+#~ 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 ""
+#~ "Işık tabloları için gama kodlamayı ayarlayın. Daha yüksek sayılar daha "
+#~ "aydınlıktır.\n"
+#~ "Bu ayar yalnızca istemci içindir ve sunucu tarafından yok sayılır."
+
+#~ msgid "Alters how mountain-type floatlands taper above and below midpoint."
+#~ msgstr ""
+#~ "Dağ-türü yüzerkaraların orta noktanın üstünde ve altında nasıl "
+#~ "konikleÅŸtiÄŸini deÄŸiÅŸtirir."
+
+#~ msgid "Center of light curve mid-boost."
+#~ msgstr "Işık eğrisi orta-artırmanın merkezi."
+
+#~ msgid ""
+#~ "Controls the density of mountain-type floatlands.\n"
+#~ "Is a noise offset added to the 'mgv7_np_mountain' noise value."
+#~ msgstr ""
+#~ "Dağ-türü yüzenkaraların yoğunluğunu denetler.\n"
+#~ "'mgv7_np_mountain' gürültü değerine eklenen bir gürültü kaydırmadır."
+
+#~ msgid "Controls width of tunnels, a smaller value creates wider tunnels."
+#~ msgstr ""
+#~ "Tünellerin genişliğini denetler, daha küçük bir değer daha geniş tüneller "
+#~ "yaratır."
+
+#~ msgid "Darkness sharpness"
+#~ msgstr "Karanlık keskinliği"
+
+#~ msgid ""
+#~ "Defines areas of floatland smooth terrain.\n"
+#~ "Smooth floatlands occur when noise > 0."
+#~ msgstr ""
+#~ "Yüzenkara düz arazilerin alanlarını belirler.\n"
+#~ "Gürültü > 0 iken düz yüzenkaralar oluşur."
+
+#~ msgid ""
+#~ "Deprecated, define and locate cave liquids using biome definitions "
+#~ "instead.\n"
+#~ "Y of upper limit of lava in large caves."
+#~ msgstr ""
+#~ "Kullanılmıyor, bunun yerine biyom tanımlarını kullanarak mağara "
+#~ "sıvılarını tanımlayın ve bulun.\n"
+#~ "Büyük mağaralarda lav üst sınırının Y'si."
+
+#~ msgid "Enable VBO"
+#~ msgstr "VBO'yu etkinleÅŸtir"
+
+#~ msgid "Enables filmic tone mapping"
+#~ msgstr "Filmsel ton eÅŸlemeyi etkinleÅŸtirir"
+
+#~ msgid "Floatland base height noise"
+#~ msgstr "Yüzenkara taban yükseklik gürültüsü"
+
+#~ msgid "Floatland base noise"
+#~ msgstr "Yüzenkara taban gürültüsü"
+
+#~ msgid "Floatland level"
+#~ msgstr "Yüzenkara seviyesi"
+
+#~ msgid "Floatland mountain density"
+#~ msgstr "Yüzenkara dağ yoğunluğu"
+
+#~ msgid "Floatland mountain exponent"
+#~ msgstr "Yüzenkara dağ eksponenti"
+
+#~ msgid "Floatland mountain height"
+#~ msgstr "Yüzenkara dağ yüksekliği"
+
+#~ msgid "Font shadow alpha (opaqueness, between 0 and 255)."
+#~ msgstr "Yazı tipi gölge saydamlığı (solukluk, 0 ve 255 arası)."
+
+#~ msgid "Gamma"
+#~ msgstr "Gama"
+
+#~ msgid "IPv6 support."
+#~ msgstr "IPv6 desteÄŸi."
+
+#~ msgid "Lava depth"
+#~ msgstr "Lav derinliÄŸi"
+
+#~ msgid "Lightness sharpness"
+#~ msgstr "Aydınlık keskinliği"
+
+#~ msgid "Path to TrueTypeFont or bitmap."
+#~ msgstr "TrueTypeFont veya bitmap konumu."
+
+#~ msgid "Shadow limit"
+#~ msgstr "Gölge sınırı"
+
+#~ msgid "Strength of light curve mid-boost."
+#~ msgstr "Işık eğrisi orta-artırmanın kuvveti."
+
+#~ msgid "This font will be used for certain languages."
+#~ msgstr "Belirli diller için bu yazı tipi kullanılacak."
+
+#~ msgid ""
+#~ "Typical maximum height, above and below midpoint, of floatland mountains."
+#~ msgstr ""
+#~ "Yüzenkara dağların, orta noktanın altındaki ve üstündeki, tipik maksimum "
+#~ "yüksekliği."
+
+#~ msgid "Variation of hill height and lake depth on floatland smooth terrain."
+#~ msgstr ""
+#~ "Tepe yüksekliğinin ve göl derinliğinin yüzenkara düz arazide değişimi."
+
+#~ msgid "Waving water"
+#~ msgstr "Dalgalanan su"
+
+#~ msgid "Y-level of floatland midpoint and lake surface."
+#~ msgstr "Yüzenkara orta noktasının ve göl yüzeyinin Y-seviyesi."
+
+#~ msgid "Y-level to which floatland shadows extend."
+#~ msgstr "Yüzenkara gölgelerinin uzanacağı Y-seviyesi."
+
#~ msgid "Projecting dungeons"
#~ msgstr "İzdüşüm zindanlar"
diff --git a/po/uk/minetest.po b/po/uk/minetest.po
index 156d94494..28a2e01cd 100644
--- a/po/uk/minetest.po
+++ b/po/uk/minetest.po
@@ -2,18 +2,18 @@ msgid ""
msgstr ""
"Project-Id-Version: Ukrainian (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-10-09 22:02+0200\n"
-"PO-Revision-Date: 2019-11-27 20:04+0000\n"
-"Last-Translator: Fixer <artem.brz@gmail.com>\n"
+"POT-Creation-Date: 2020-04-03 23:18+0200\n"
+"PO-Revision-Date: 2020-03-31 10:14+0000\n"
+"Last-Translator: sfan5 <sfan5@live.de>\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.10-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 4.0-dev\n"
#: builtin/client/death_formspec.lua src/client/game.cpp
msgid "Respawn"
@@ -402,14 +402,25 @@ msgstr ""
msgid "Z spread"
msgstr ""
+#. ~ "absvalue" is a noise parameter flag.
+#. It is short for "absolute value".
+#. It can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "absvalue"
msgstr "ÐбÑ. величина"
+#. ~ "defaults" is a noise parameter flag.
+#. It describes the default processing options
+#. for noise settings in main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "defaults"
msgstr "Стандартно"
+#. ~ "eased" is a noise parameter flag.
+#. It is used to make the map smoother and
+#. can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "eased"
msgstr ""
@@ -620,6 +631,7 @@ msgstr "Ім'Ñ / Пароль"
msgid "Ping"
msgstr "Пінг"
+#. ~ PvP = Player versus Player
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "PvP enabled"
msgstr "Бої увімкнено"
@@ -864,9 +876,17 @@ msgstr "Ðе вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ файл паролю: "
msgid "Provided world path doesn't exist: "
msgstr "Вказаний шлÑÑ… до Ñвіту не Ñ–Ñнує: "
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string. Put either "no" or "yes"
+#. into the translation field (literally).
+#. Choose "yes" if the language requires use of the fallback
+#. font, "no" otherwise.
+#. The fallback font is (normally) required for languages with
+#. non-Latin script, like Chinese.
+#. When in doubt, test your translation.
#: src/client/fontengine.cpp
msgid "needs_fallback_font"
-msgstr ""
+msgstr "no"
#: src/client/game.cpp
msgid ""
@@ -900,6 +920,7 @@ msgstr "- Порт: "
msgid "- Public: "
msgstr "- Публічний: "
+#. ~ PvP = Player versus Player
#: src/client/game.cpp
msgid "- PvP: "
msgstr "- PvP (бої): "
@@ -1350,6 +1371,7 @@ msgstr "Лівий Shift"
msgid "Left Windows"
msgstr "Лівий Win"
+#. ~ Key name, common on Windows keyboards
#: src/client/keycode.cpp
msgid "Menu"
msgstr "Меню"
@@ -1442,6 +1464,7 @@ msgstr "Пауза"
msgid "Play"
msgstr "Грати"
+#. ~ "Print screen" key
#: src/client/keycode.cpp
msgid "Print"
msgstr "Print Screen"
@@ -1478,6 +1501,7 @@ msgstr "Правий Win"
msgid "Scroll Lock"
msgstr "Scroll Lock"
+#. ~ Key name
#: src/client/keycode.cpp
msgid "Select"
msgstr "Обрати"
@@ -1538,8 +1562,8 @@ msgstr ""
"Ви збираєтеÑÑ Ð²Ð¿ÐµÑ€ÑˆÐµ підключитиÑÑ Ð´Ð¾ Ñервера з іменем \"%s\". \n"
"Якщо ви продовжите, буде Ñтворено новий ігровий профіль на даному Ñервері з "
"вашим іменем/паролем.\n"
-"Будь-лаÑка введіть повторно ваш пароль Ñ– натиÑніть \"ЗареєÑтруватиÑÑ Ñ– "
-"увійти\", або \"СкаÑувати\", Ñкщо ви проти."
+"Будь-лаÑка введіть повторно ваш пароль Ñ– натиÑніть \"ЗареєÑтруватиÑÑ Ñ– увійти"
+"\", або \"СкаÑувати\", Ñкщо ви проти."
#: src/gui/guiFormSpecMenu.cpp
msgid "Proceed"
@@ -1719,11 +1743,16 @@ msgstr "Звук вимкнено"
msgid "Sound Volume: "
msgstr "ГучніÑÑ‚ÑŒ звуку: "
+#. ~ Imperative, as in "Enter/type in text".
+#. Don't forget the space.
#: src/gui/modalMenu.cpp
msgid "Enter "
msgstr "Ввід "
-#: src/network/clientpackethandler.cpp
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string which needs to contain the translation's
+#. language code (e.g. "de" for German).
+#: src/network/clientpackethandler.cpp src/script/lua_api/l_client.cpp
msgid "LANG_CODE"
msgstr "uk"
@@ -1742,8 +1771,8 @@ msgid ""
"If enabled, virtual joystick will also tap \"aux\" button when out of main "
"circle."
msgstr ""
-"(Android) ВикориÑтовувати віртуальний джойÑтик Ð´Ð»Ñ Ð°ÐºÑ‚Ð¸Ð²Ð°Ñ†Ñ–Ñ— кнопки \"aux\"."
-"\n"
+"(Android) ВикориÑтовувати віртуальний джойÑтик Ð´Ð»Ñ Ð°ÐºÑ‚Ð¸Ð²Ð°Ñ†Ñ–Ñ— кнопки \"aux"
+"\".\n"
"Якщо увімкнено, віртуальний джойÑтик також натиÑне \"aux\", коли поза межами "
"головного кола."
@@ -1753,7 +1782,7 @@ msgid ""
"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"
+"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."
@@ -1918,18 +1947,16 @@ msgid ""
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."
+msgid ""
+"Alters the light curve by applying 'gamma correction' to it.\n"
+"Higher values make middle and lower light levels brighter.\n"
+"Value '1.0' leaves the light curve unaltered.\n"
+"This only has significant effect on daylight and artificial\n"
+"light, it has very little effect on natural night light."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2079,6 +2106,23 @@ msgid "Block send optimize distance"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Bold and italic font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bold and italic monospace font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Bold font path"
+msgstr "ШлÑÑ… до шрифту"
+
+#: src/settings_translation_file.cpp
+msgid "Bold monospace font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Build inside player"
msgstr "Будувати в межах гравцÑ"
@@ -2092,8 +2136,8 @@ 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"
+"Camera 'near clipping plane' distance in nodes, between 0 and 0.25\n"
+"Only works on GLES platforms. 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 ""
@@ -2155,7 +2199,9 @@ msgid "Cavern upper limit"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Center of light curve mid-boost."
+msgid ""
+"Center of light curve boost range.\n"
+"Where 0.0 is minimum light level, 1.0 is maximum light level."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2351,12 +2397,9 @@ 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."
+"Controls width of tunnels, a smaller value creates wider tunnels.\n"
+"Value >= 10.0 completely disables generation of tunnels and avoids the\n"
+"intensive noise calculations."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2392,10 +2435,6 @@ msgid "Damage"
msgstr "ПораненнÑ"
#: src/settings_translation_file.cpp
-msgid "Darkness sharpness"
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Debug info toggle key"
msgstr ""
@@ -2412,7 +2451,7 @@ msgid "Dec. volume key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Decrease this to increase liquid resistence to movement."
+msgid "Decrease this to increase liquid resistance to movement."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2454,12 +2493,6 @@ msgid ""
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 ""
@@ -2536,12 +2569,6 @@ 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 ""
@@ -2615,13 +2642,15 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Enable Lua modding support on client.\n"
-"This support is experimental and API can change."
+"Enable IPv6 support (for both client and server).\n"
+"Required for IPv6 connections to work at all."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Enable VBO"
-msgstr "Увімкнути VBO"
+msgid ""
+"Enable Lua modding support on client.\n"
+"This support is experimental and API can change."
+msgstr ""
#: src/settings_translation_file.cpp
msgid "Enable console window"
@@ -2686,6 +2715,12 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Enable vertex buffer objects.\n"
+"This should greatly improve graphics performance."
+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 ""
@@ -2693,7 +2728,16 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Enable/disable running an IPv6 server.\n"
-"Ignored if bind_address is set."
+"Ignored if bind_address is set.\n"
+"Needs enable_ipv6 to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Enables Hable's 'Uncharted 2' filmic tone mapping.\n"
+"Simulates the tone curve of photographic film and how this approximates the\n"
+"appearance of high dynamic range images. Mid-range contrast is slightly\n"
+"enhanced, highlights and shadows are gradually compressed."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2713,10 +2757,6 @@ 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 "Вмикає мінімапу."
@@ -2733,6 +2773,14 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Enables the sound system.\n"
+"If disabled, this completely disables all sounds everywhere and the in-game\n"
+"sound controls will be non-functional.\n"
+"Changing this setting requires a restart."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Engine profiling data print interval"
msgstr ""
@@ -2763,8 +2811,9 @@ msgid "Fall bobbing factor"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Fallback font"
-msgstr ""
+#, fuzzy
+msgid "Fallback font path"
+msgstr "ШлÑÑ… до шрифту"
#: src/settings_translation_file.cpp
msgid "Fallback font shadow"
@@ -2856,30 +2905,6 @@ 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 "Кнопка Ð´Ð»Ñ Ð¿Ð¾Ð»ÑŒÐ¾Ñ‚Ñƒ"
@@ -2900,8 +2925,12 @@ msgid "Fog toggle key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font path"
-msgstr "ШлÑÑ… до шрифту"
+msgid "Font bold by default"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font italic by default"
+msgstr ""
#: src/settings_translation_file.cpp
msgid "Font shadow"
@@ -2912,16 +2941,20 @@ msgid "Font shadow alpha"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font shadow alpha (opaqueness, between 0 and 255)."
+msgid "Font size"
+msgstr "Розмір шрифту"
+
+#: src/settings_translation_file.cpp
+msgid "Font size of the default font in point (pt)."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font shadow offset, if 0 then shadow will not be drawn."
+msgid "Font size of the fallback font in point (pt)."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font size"
-msgstr "Розмір шрифту"
+msgid "Font size of the monospace font in point (pt)."
+msgstr ""
#: src/settings_translation_file.cpp
msgid ""
@@ -3031,10 +3064,6 @@ msgid "GUI scaling filter txr2img"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gamma"
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Generate normalmaps"
msgstr "Генерувати карти нормалів"
@@ -3050,11 +3079,15 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at maximum light level."
+msgid ""
+"Gradient of light curve at maximum light level.\n"
+"Controls the contrast of the highest light levels."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at minimum light level."
+msgid ""
+"Gradient of light curve at minimum light level.\n"
+"Controls the contrast of the lowest light levels."
msgstr ""
#: src/settings_translation_file.cpp
@@ -3087,7 +3120,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Handling for deprecated lua api calls:\n"
+"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)."
@@ -3314,6 +3347,13 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"How fast liquid waves will move. Higher = faster.\n"
+"If negative, liquid waves will move backwards.\n"
+"Requires waving liquids to be enabled."
+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 ""
@@ -3343,10 +3383,6 @@ msgid "IPv6 server"
msgstr "Сервер IPv6"
#: src/settings_translation_file.cpp
-msgid "IPv6 support."
-msgstr "Підтримка IPv6."
-
-#: 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."
@@ -3521,6 +3557,15 @@ msgid "Invert vertical mouse movement."
msgstr ""
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Italic font path"
+msgstr "ШлÑÑ… до шрифту"
+
+#: src/settings_translation_file.cpp
+msgid "Italic monospace font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Item entity TTL"
msgstr ""
@@ -4116,12 +4161,20 @@ msgid "Large cave depth"
msgstr "Глибина великих печер"
#: src/settings_translation_file.cpp
-msgid "Large chat console key"
-msgstr "КонÑоль (повна)"
+msgid "Large cave maximum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large cave minimum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large cave proportion flooded"
+msgstr ""
#: src/settings_translation_file.cpp
-msgid "Lava depth"
-msgstr "Глибина лави"
+msgid "Large chat console key"
+msgstr "КонÑоль (повна)"
#: src/settings_translation_file.cpp
msgid "Leaves style"
@@ -4147,6 +4200,12 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Length of liquid waves.\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Length of time between Active Block Modifier (ABM) execution cycles"
msgstr ""
@@ -4171,19 +4230,27 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost"
+msgid "Light curve boost"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost center"
+msgid "Light curve boost center"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost spread"
+msgid "Light curve boost spread"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Lightness sharpness"
+msgid "Light curve gamma"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve high gradient"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve low gradient"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4288,25 +4355,25 @@ 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."
+"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 flat.\n"
+"Map generation attributes specific to Mapgen Fractal.\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."
+"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
@@ -4457,8 +4524,16 @@ msgid "Maximum hotbar width"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of large caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
-"Maximum liquid resistence. Controls deceleration when entering liquid at\n"
+"Maximum liquid resistance. Controls deceleration when entering liquid at\n"
"high speed."
msgstr ""
@@ -4579,6 +4654,14 @@ msgid "Minimap scan height"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of large caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Minimum texture size"
msgstr ""
@@ -4665,7 +4748,7 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Near clipping plane"
+msgid "Near plane"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4752,6 +4835,16 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Opaqueness (alpha) of the shadow behind the default font, between 0 and 255."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Opaqueness (alpha) of the shadow behind the fallback font, between 0 and 255."
+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."
@@ -4790,7 +4883,12 @@ msgid "Parallax occlusion strength"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Path to TrueTypeFont or bitmap."
+msgid ""
+"Path of the fallback font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font will be used for certain languages or if the default font is "
+"unavailable."
msgstr ""
#: src/settings_translation_file.cpp
@@ -4808,6 +4906,22 @@ msgid "Path to texture directory. All textures are first searched from here."
msgstr "ШлÑÑ… до теки з текÑтурами. Ð’ÑÑ– текÑтури Ñпочатку шукаютьÑÑ Ñ‚ÑƒÑ‚."
#: src/settings_translation_file.cpp
+msgid ""
+"Path to the default font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"The fallback font will be used if the font cannot be loaded."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Path to the monospace font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font is used for e.g. the console and profiler screen."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Pause on lost window focus"
msgstr ""
@@ -4881,6 +4995,10 @@ msgid "Profiling"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Proportion of large caves that contain liquid."
+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 "
@@ -4904,6 +5022,11 @@ msgid "Recent Chat Messages"
msgstr ""
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Regular font path"
+msgstr "ШлÑÑ… Ð´Ð»Ñ Ð·Ð²Ñ–Ñ‚Ñƒ"
+
+#: src/settings_translation_file.cpp
msgid "Remote media"
msgstr ""
@@ -5095,24 +5218,24 @@ 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."
+"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
@@ -5165,19 +5288,19 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving leaves.\n"
+"Set to true to enable waving leaves.\n"
"Requires shaders to be enabled."
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving plants.\n"
+"Set to true to enable waving liquids (like water).\n"
"Requires shaders to be enabled."
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving water.\n"
+"Set to true to enable waving plants.\n"
"Requires shaders to be enabled."
msgstr ""
@@ -5194,7 +5317,15 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Shadow limit"
+msgid ""
+"Shadow offset (in pixels) of the default font. If 0, then shadow will not be "
+"drawn."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not "
+"be drawn."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5239,6 +5370,14 @@ msgid "Slope and fill work together to modify the heights."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Small cave maximum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Small cave minimum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Small-scale humidity variation for blending biomes on borders."
msgstr ""
@@ -5298,8 +5437,9 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Spread of light curve mid-boost.\n"
-"Standard deviation of the mid-boost gaussian."
+"Spread of light curve boost range.\n"
+"Controls the width of the range to be boosted.\n"
+"Standard deviation of the light curve boost Gaussian."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5323,7 +5463,10 @@ msgid "Strength of generated normalmaps."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Strength of light curve mid-boost."
+msgid ""
+"Strength of light curve boost.\n"
+"The 3 'boost' parameters define a range of the light\n"
+"curve that is boosted in brightness."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5426,6 +5569,15 @@ msgid "The length in pixels it takes for touch screen interaction to start."
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"The maximum height of the surface of waving liquids.\n"
+"4.0 = Wave height is two nodes.\n"
+"0.0 = Wave doesn't move at all.\n"
+"Default is 1.0 (1/2 node).\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "The network interface that the server listens on."
msgstr ""
@@ -5506,10 +5658,6 @@ 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."
@@ -5563,7 +5711,7 @@ msgstr "Трилінійна фільтраціÑ"
msgid ""
"True = 256\n"
"False = 128\n"
-"Useable to make minimap smoother on slower machines."
+"Usable to make minimap smoother on slower machines."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5571,11 +5719,6 @@ 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 ""
@@ -5660,10 +5803,6 @@ 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 ""
@@ -5737,6 +5876,12 @@ msgstr "ГучніÑÑ‚ÑŒ звуку"
#: src/settings_translation_file.cpp
msgid ""
+"Volume of all sounds.\n"
+"Requires the sound system to be enabled."
+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"
@@ -5773,29 +5918,30 @@ msgid "Waving leaves"
msgstr "ЛиÑÑ‚Ñ, що коливаєтьÑÑ"
#: src/settings_translation_file.cpp
-msgid "Waving plants"
-msgstr ""
-
-#: src/settings_translation_file.cpp
-msgid "Waving water"
-msgstr ""
+#, fuzzy
+msgid "Waving liquids"
+msgstr "ХвилÑÑÑ‚Ñ– Рідини"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wave height"
+msgid "Waving liquids wave height"
msgstr "Коливати воду"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wave speed"
+msgid "Waving liquids wave speed"
msgstr "Коливати лиÑÑ‚Ñ"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wavelength"
+msgid "Waving liquids wavelength"
msgstr "Коливати воду"
#: src/settings_translation_file.cpp
+msgid "Waving plants"
+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"
@@ -5825,7 +5971,9 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Whether FreeType fonts are used, requires FreeType support to be compiled in."
+"Whether FreeType fonts are used, requires FreeType support to be compiled "
+"in.\n"
+"If disabled, bitmap and XML vectors fonts are used instead."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5854,6 +6002,14 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Whether to mute sounds. You can unmute sounds at any time, unless the\n"
+"sound system is disabled (enable_sound=false).\n"
+"In-game, you can toggle the mute state with the mute key or by using the\n"
+"pause menu."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
"Whether to show the client debug info (has the same effect as hitting F5)."
msgstr ""
@@ -5923,10 +6079,6 @@ 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 ""
@@ -5939,10 +6091,6 @@ 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 ""
@@ -5954,6 +6102,15 @@ msgstr ""
msgid "cURL timeout"
msgstr ""
+#~ msgid "Enable VBO"
+#~ msgstr "Увімкнути VBO"
+
+#~ msgid "IPv6 support."
+#~ msgstr "Підтримка IPv6."
+
+#~ msgid "Lava depth"
+#~ msgstr "Глибина лави"
+
#~ msgid "Select Package File:"
#~ msgstr "Виберіть файл пакунку:"
diff --git a/po/vi/minetest.po b/po/vi/minetest.po
index dc7666458..7a5ad2659 100644
--- a/po/vi/minetest.po
+++ b/po/vi/minetest.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Vietnamese (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-10-09 22:02+0200\n"
+"POT-Creation-Date: 2020-04-03 23:18+0200\n"
"PO-Revision-Date: 2020-01-11 18:26+0000\n"
"Last-Translator: rubenwardy <rubenwardy@gmail.com>\n"
"Language-Team: Vietnamese <https://hosted.weblate.org/projects/minetest/"
@@ -403,14 +403,25 @@ msgstr ""
msgid "Z spread"
msgstr ""
+#. ~ "absvalue" is a noise parameter flag.
+#. It is short for "absolute value".
+#. It can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "absvalue"
msgstr ""
+#. ~ "defaults" is a noise parameter flag.
+#. It describes the default processing options
+#. for noise settings in main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "defaults"
msgstr ""
+#. ~ "eased" is a noise parameter flag.
+#. It is used to make the map smoother and
+#. can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "eased"
msgstr ""
@@ -619,6 +630,7 @@ msgstr ""
msgid "Ping"
msgstr ""
+#. ~ PvP = Player versus Player
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "PvP enabled"
msgstr ""
@@ -863,6 +875,14 @@ msgstr ""
msgid "Provided world path doesn't exist: "
msgstr ""
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string. Put either "no" or "yes"
+#. into the translation field (literally).
+#. Choose "yes" if the language requires use of the fallback
+#. font, "no" otherwise.
+#. The fallback font is (normally) required for languages with
+#. non-Latin script, like Chinese.
+#. When in doubt, test your translation.
#: src/client/fontengine.cpp
msgid "needs_fallback_font"
msgstr ""
@@ -897,6 +917,7 @@ msgstr ""
msgid "- Public: "
msgstr ""
+#. ~ PvP = Player versus Player
#: src/client/game.cpp
msgid "- PvP: "
msgstr ""
@@ -1321,6 +1342,7 @@ msgstr ""
msgid "Left Windows"
msgstr ""
+#. ~ Key name, common on Windows keyboards
#: src/client/keycode.cpp
msgid "Menu"
msgstr ""
@@ -1413,6 +1435,7 @@ msgstr ""
msgid "Play"
msgstr ""
+#. ~ "Print screen" key
#: src/client/keycode.cpp
msgid "Print"
msgstr ""
@@ -1449,6 +1472,7 @@ msgstr ""
msgid "Scroll Lock"
msgstr ""
+#. ~ Key name
#: src/client/keycode.cpp
msgid "Select"
msgstr ""
@@ -1683,11 +1707,16 @@ msgstr ""
msgid "Sound Volume: "
msgstr ""
+#. ~ Imperative, as in "Enter/type in text".
+#. Don't forget the space.
#: src/gui/modalMenu.cpp
msgid "Enter "
msgstr ""
-#: src/network/clientpackethandler.cpp
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string which needs to contain the translation's
+#. language code (e.g. "de" for German).
+#: src/network/clientpackethandler.cpp src/script/lua_api/l_client.cpp
msgid "LANG_CODE"
msgstr "vi"
@@ -1710,7 +1739,7 @@ msgid ""
"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"
+"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."
@@ -1873,18 +1902,16 @@ msgid ""
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."
+msgid ""
+"Alters the light curve by applying 'gamma correction' to it.\n"
+"Higher values make middle and lower light levels brighter.\n"
+"Value '1.0' leaves the light curve unaltered.\n"
+"This only has significant effect on daylight and artificial\n"
+"light, it has very little effect on natural night light."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2033,6 +2060,22 @@ msgid "Block send optimize distance"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Bold and italic font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bold and italic monospace font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bold font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bold monospace font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Build inside player"
msgstr ""
@@ -2046,8 +2089,8 @@ 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"
+"Camera 'near clipping plane' distance in nodes, between 0 and 0.25\n"
+"Only works on GLES platforms. 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 ""
@@ -2109,7 +2152,9 @@ msgid "Cavern upper limit"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Center of light curve mid-boost."
+msgid ""
+"Center of light curve boost range.\n"
+"Where 0.0 is minimum light level, 1.0 is maximum light level."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2304,12 +2349,9 @@ 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."
+"Controls width of tunnels, a smaller value creates wider tunnels.\n"
+"Value >= 10.0 completely disables generation of tunnels and avoids the\n"
+"intensive noise calculations."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2345,10 +2387,6 @@ msgid "Damage"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Darkness sharpness"
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Debug info toggle key"
msgstr ""
@@ -2365,7 +2403,7 @@ msgid "Dec. volume key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Decrease this to increase liquid resistence to movement."
+msgid "Decrease this to increase liquid resistance to movement."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2405,12 +2443,6 @@ msgid ""
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 ""
@@ -2487,12 +2519,6 @@ 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 ""
@@ -2566,12 +2592,14 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Enable Lua modding support on client.\n"
-"This support is experimental and API can change."
+"Enable IPv6 support (for both client and server).\n"
+"Required for IPv6 connections to work at all."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Enable VBO"
+msgid ""
+"Enable Lua modding support on client.\n"
+"This support is experimental and API can change."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2637,6 +2665,12 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Enable vertex buffer objects.\n"
+"This should greatly improve graphics performance."
+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 ""
@@ -2644,7 +2678,16 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Enable/disable running an IPv6 server.\n"
-"Ignored if bind_address is set."
+"Ignored if bind_address is set.\n"
+"Needs enable_ipv6 to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Enables Hable's 'Uncharted 2' filmic tone mapping.\n"
+"Simulates the tone curve of photographic film and how this approximates the\n"
+"appearance of high dynamic range images. Mid-range contrast is slightly\n"
+"enhanced, highlights and shadows are gradually compressed."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2664,10 +2707,6 @@ 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 ""
@@ -2684,6 +2723,14 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Enables the sound system.\n"
+"If disabled, this completely disables all sounds everywhere and the in-game\n"
+"sound controls will be non-functional.\n"
+"Changing this setting requires a restart."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Engine profiling data print interval"
msgstr ""
@@ -2714,7 +2761,7 @@ msgid "Fall bobbing factor"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Fallback font"
+msgid "Fallback font path"
msgstr ""
#: src/settings_translation_file.cpp
@@ -2807,30 +2854,6 @@ 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 ""
@@ -2851,7 +2874,11 @@ msgid "Fog toggle key"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font path"
+msgid "Font bold by default"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font italic by default"
msgstr ""
#: src/settings_translation_file.cpp
@@ -2863,15 +2890,19 @@ msgid "Font shadow alpha"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font shadow alpha (opaqueness, between 0 and 255)."
+msgid "Font size"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font shadow offset, if 0 then shadow will not be drawn."
+msgid "Font size of the default font in point (pt)."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font size"
+msgid "Font size of the fallback font in point (pt)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font size of the monospace font in point (pt)."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2982,10 +3013,6 @@ msgid "GUI scaling filter txr2img"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gamma"
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Generate normalmaps"
msgstr ""
@@ -3001,11 +3028,15 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at maximum light level."
+msgid ""
+"Gradient of light curve at maximum light level.\n"
+"Controls the contrast of the highest light levels."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at minimum light level."
+msgid ""
+"Gradient of light curve at minimum light level.\n"
+"Controls the contrast of the lowest light levels."
msgstr ""
#: src/settings_translation_file.cpp
@@ -3038,7 +3069,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Handling for deprecated lua api calls:\n"
+"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)."
@@ -3265,6 +3296,13 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"How fast liquid waves will move. Higher = faster.\n"
+"If negative, liquid waves will move backwards.\n"
+"Requires waving liquids to be enabled."
+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 ""
@@ -3294,10 +3332,6 @@ 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."
@@ -3472,6 +3506,14 @@ msgid "Invert vertical mouse movement."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Italic font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Italic monospace font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Item entity TTL"
msgstr ""
@@ -4067,11 +4109,19 @@ msgid "Large cave depth"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Large chat console key"
+msgid "Large cave maximum number"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Lava depth"
+msgid "Large cave minimum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large cave proportion flooded"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large chat console key"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4098,6 +4148,12 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Length of liquid waves.\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Length of time between Active Block Modifier (ABM) execution cycles"
msgstr ""
@@ -4122,19 +4178,27 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost"
+msgid "Light curve boost"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost center"
+msgid "Light curve boost center"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost spread"
+msgid "Light curve boost spread"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Lightness sharpness"
+msgid "Light curve gamma"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve high gradient"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve low gradient"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4239,25 +4303,25 @@ 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."
+"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 flat.\n"
+"Map generation attributes specific to Mapgen Fractal.\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."
+"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
@@ -4407,8 +4471,16 @@ msgid "Maximum hotbar width"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of large caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
-"Maximum liquid resistence. Controls deceleration when entering liquid at\n"
+"Maximum liquid resistance. Controls deceleration when entering liquid at\n"
"high speed."
msgstr ""
@@ -4529,6 +4601,14 @@ msgid "Minimap scan height"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of large caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Minimum texture size"
msgstr ""
@@ -4615,7 +4695,7 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Near clipping plane"
+msgid "Near plane"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4702,6 +4782,16 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Opaqueness (alpha) of the shadow behind the default font, between 0 and 255."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Opaqueness (alpha) of the shadow behind the fallback font, between 0 and 255."
+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."
@@ -4740,7 +4830,12 @@ msgid "Parallax occlusion strength"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Path to TrueTypeFont or bitmap."
+msgid ""
+"Path of the fallback font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font will be used for certain languages or if the default font is "
+"unavailable."
msgstr ""
#: src/settings_translation_file.cpp
@@ -4758,6 +4853,22 @@ msgid "Path to texture directory. All textures are first searched from here."
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"Path to the default font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"The fallback font will be used if the font cannot be loaded."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Path to the monospace font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font is used for e.g. the console and profiler screen."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Pause on lost window focus"
msgstr ""
@@ -4830,6 +4941,10 @@ msgid "Profiling"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Proportion of large caves that contain liquid."
+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 +4968,10 @@ msgid "Recent Chat Messages"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Regular font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Remote media"
msgstr ""
@@ -5043,24 +5162,24 @@ 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."
+"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
@@ -5111,19 +5230,19 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving leaves.\n"
+"Set to true to enable waving leaves.\n"
"Requires shaders to be enabled."
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving plants.\n"
+"Set to true to enable waving liquids (like water).\n"
"Requires shaders to be enabled."
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving water.\n"
+"Set to true to enable waving plants.\n"
"Requires shaders to be enabled."
msgstr ""
@@ -5140,7 +5259,15 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Shadow limit"
+msgid ""
+"Shadow offset (in pixels) of the default font. If 0, then shadow will not be "
+"drawn."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not "
+"be drawn."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5185,6 +5312,14 @@ msgid "Slope and fill work together to modify the heights."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Small cave maximum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Small cave minimum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Small-scale humidity variation for blending biomes on borders."
msgstr ""
@@ -5244,8 +5379,9 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Spread of light curve mid-boost.\n"
-"Standard deviation of the mid-boost gaussian."
+"Spread of light curve boost range.\n"
+"Controls the width of the range to be boosted.\n"
+"Standard deviation of the light curve boost Gaussian."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5269,7 +5405,10 @@ msgid "Strength of generated normalmaps."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Strength of light curve mid-boost."
+msgid ""
+"Strength of light curve boost.\n"
+"The 3 'boost' parameters define a range of the light\n"
+"curve that is boosted in brightness."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5372,6 +5511,15 @@ msgid "The length in pixels it takes for touch screen interaction to start."
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"The maximum height of the surface of waving liquids.\n"
+"4.0 = Wave height is two nodes.\n"
+"0.0 = Wave doesn't move at all.\n"
+"Default is 1.0 (1/2 node).\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "The network interface that the server listens on."
msgstr ""
@@ -5452,10 +5600,6 @@ 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."
@@ -5509,7 +5653,7 @@ msgstr ""
msgid ""
"True = 256\n"
"False = 128\n"
-"Useable to make minimap smoother on slower machines."
+"Usable to make minimap smoother on slower machines."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5517,11 +5661,6 @@ 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 ""
@@ -5606,10 +5745,6 @@ 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 ""
@@ -5683,6 +5818,12 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Volume of all sounds.\n"
+"Requires the sound system to be enabled."
+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"
@@ -5719,23 +5860,23 @@ msgid "Waving leaves"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving plants"
+msgid "Waving liquids"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water"
+msgid "Waving liquids wave height"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water wave height"
+msgid "Waving liquids wave speed"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water wave speed"
+msgid "Waving liquids wavelength"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water wavelength"
+msgid "Waving plants"
msgstr ""
#: src/settings_translation_file.cpp
@@ -5768,7 +5909,9 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Whether FreeType fonts are used, requires FreeType support to be compiled in."
+"Whether FreeType fonts are used, requires FreeType support to be compiled "
+"in.\n"
+"If disabled, bitmap and XML vectors fonts are used instead."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5797,6 +5940,14 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Whether to mute sounds. You can unmute sounds at any time, unless the\n"
+"sound system is disabled (enable_sound=false).\n"
+"In-game, you can toggle the mute state with the mute key or by using the\n"
+"pause menu."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
"Whether to show the client debug info (has the same effect as hitting F5)."
msgstr ""
@@ -5866,10 +6017,6 @@ 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 ""
@@ -5882,10 +6029,6 @@ 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 ""
diff --git a/po/zh_CN/minetest.po b/po/zh_CN/minetest.po
index ce83a6180..e7f1a8eec 100644
--- a/po/zh_CN/minetest.po
+++ b/po/zh_CN/minetest.po
@@ -2,9 +2,9 @@ msgid ""
msgstr ""
"Project-Id-Version: Chinese (Simplified) (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-10-09 22:02+0200\n"
-"PO-Revision-Date: 2019-12-29 06:49+0000\n"
-"Last-Translator: Hotower <271700283@qq.com>\n"
+"POT-Creation-Date: 2020-04-03 23:18+0200\n"
+"PO-Revision-Date: 2020-03-08 15:32+0000\n"
+"Last-Translator: wzy2006 <3450354617@qq.com>\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.10\n"
+"X-Generator: Weblate 4.0-dev\n"
#: builtin/client/death_formspec.lua src/client/game.cpp
msgid "Respawn"
@@ -86,7 +86,7 @@ msgstr "å–消"
#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua
msgid "Dependencies:"
-msgstr "ä¾èµ–:"
+msgstr "ä¾èµ–项:"
#: builtin/mainmenu/dlg_config_world.lua
msgid "Disable all"
@@ -116,7 +116,7 @@ msgstr "Mod:"
#: builtin/mainmenu/dlg_config_world.lua
msgid "No (optional) dependencies"
-msgstr "æ— (å¯é€‰)ä¾èµ–项:"
+msgstr "æ— (å¯é€‰)ä¾èµ–项"
#: builtin/mainmenu/dlg_config_world.lua
msgid "No game description provided."
@@ -124,19 +124,19 @@ msgstr "未æ供游æˆæ述。"
#: builtin/mainmenu/dlg_config_world.lua
msgid "No hard dependencies"
-msgstr "æ— ä¾èµ–项."
+msgstr "æ— ä¾èµ–项"
#: builtin/mainmenu/dlg_config_world.lua
msgid "No modpack description provided."
-msgstr "未æä¾›mod 包æ述。"
+msgstr "未æä¾› mod 包æ述。"
#: builtin/mainmenu/dlg_config_world.lua
msgid "No optional dependencies"
-msgstr "æ— å¯é€‰ä¾èµ–项:"
+msgstr "æ— å¯é€‰ä¾èµ–项"
#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua
msgid "Optional dependencies:"
-msgstr "å¯é€‰ä¾èµ–:"
+msgstr "å¯é€‰ä¾èµ–项:"
#: builtin/mainmenu/dlg_config_world.lua
#: builtin/mainmenu/dlg_settings_advanced.lua src/gui/guiKeyChangeMenu.cpp
@@ -153,7 +153,7 @@ msgstr "å¯ç”¨"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "All packages"
-msgstr "全部包"
+msgstr "所有包"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "Back"
@@ -174,7 +174,7 @@ msgstr "下载 $1 失败"
#: builtin/mainmenu/dlg_contentstore.lua
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Games"
-msgstr "游æˆ"
+msgstr "å­æ¸¸æˆ"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "Install"
@@ -245,7 +245,7 @@ msgstr "ç§å­"
#: builtin/mainmenu/dlg_create_world.lua
msgid "Warning: The minimal development test is meant for developers."
-msgstr "警告: 最å°åŒ–å¼€å‘测试是为开å‘者æ供。"
+msgstr "警告: 最å°åŒ–å¼€å‘测试为开å‘者æ供。"
#: builtin/mainmenu/dlg_create_world.lua
msgid "World name"
@@ -257,7 +257,7 @@ msgstr "你没有安装任何å­æ¸¸æˆã€‚"
#: builtin/mainmenu/dlg_delete_content.lua
msgid "Are you sure you want to delete \"$1\"?"
-msgstr "你确认è¦åˆ é™¤â€œ$1â€ï¼Ÿ"
+msgstr "你确认è¦åˆ é™¤â€œ$1â€å—?"
#: builtin/mainmenu/dlg_delete_content.lua
#: builtin/mainmenu/dlg_delete_world.lua builtin/mainmenu/tab_local.lua
@@ -271,7 +271,7 @@ msgstr "pkgmgr:无法删除“$1â€"
#: builtin/mainmenu/dlg_delete_content.lua
msgid "pkgmgr: invalid path \"$1\""
-msgstr "MOD 管ç†å™¨ï¼šMOD 路径 “$1†无效"
+msgstr "pkgmgr:MOD 路径 “$1†无效"
#: builtin/mainmenu/dlg_delete_world.lua
msgid "Delete World \"$1\"?"
@@ -298,7 +298,7 @@ msgstr "(没有关于此设置的信æ¯)"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "2D Noise"
-msgstr "2D é™å™ª"
+msgstr "2D 噪声"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "< Back to Settings page"
@@ -310,15 +310,15 @@ msgstr "æµè§ˆ"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Disabled"
-msgstr "å·²ç¦ç”¨"
+msgstr "ç¦ç”¨"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Edit"
-msgstr "设置"
+msgstr "编辑"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Enabled"
-msgstr "å·²å¯ç”¨"
+msgstr "å¯ç”¨"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Lacunarity"
@@ -333,21 +333,20 @@ 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."
-msgstr "请输入一个整数类型."
+msgstr "请输入一个整数类型。"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Please enter a valid number."
-msgstr "请输入一个åˆæ³•çš„æ•°å­—."
+msgstr "请输入一个åˆæ³•çš„数字。"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Restore Default"
-msgstr "回å¤åˆå§‹è®¾ç½®"
+msgstr "æ¢å¤åˆå§‹è®¾ç½®"
#: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp
msgid "Scale"
@@ -363,7 +362,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."
@@ -397,14 +396,25 @@ msgstr "Z"
msgid "Z spread"
msgstr "z 点差"
+#. ~ "absvalue" is a noise parameter flag.
+#. It is short for "absolute value".
+#. It can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "absvalue"
msgstr "ç»å¯¹å€¼"
+#. ~ "defaults" is a noise parameter flag.
+#. It describes the default processing options
+#. for noise settings in main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "defaults"
msgstr "默认值"
+#. ~ "eased" is a noise parameter flag.
+#. It is used to make the map smoother and
+#. can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "eased"
msgstr "缓解"
@@ -415,7 +425,7 @@ msgstr "$1 å·²å¯ç”¨"
#: builtin/mainmenu/pkgmgr.lua
msgid "$1 mods"
-msgstr "$1 模组"
+msgstr "$1 mod"
#: builtin/mainmenu/pkgmgr.lua
msgid "Failed to install $1 to $2"
@@ -423,23 +433,23 @@ msgstr "安装 $1 到 $2 失败"
#: builtin/mainmenu/pkgmgr.lua
msgid "Install Mod: Unable to find real mod name for: $1"
-msgstr "安装MOD:无法找到$1的真实MODå称"
+msgstr "安装mod:无法找到$1的真实modå称"
#: builtin/mainmenu/pkgmgr.lua
msgid "Install Mod: Unable to find suitable folder name for modpack $1"
-msgstr "安装MOD:无法找到MOD包$1çš„åˆé€‚文件夹å"
+msgstr "安装mod:无法找到mod包$1çš„åˆé€‚文件夹å"
#: builtin/mainmenu/pkgmgr.lua
msgid "Install: Unsupported file type \"$1\" or broken archive"
-msgstr "安装MOD:“$1“为ä¸æ”¯æŒçš„文件类型或已æŸå"
+msgstr "安装:“$1“为ä¸æ”¯æŒçš„文件类型或已æŸå"
#: builtin/mainmenu/pkgmgr.lua
msgid "Install: file: \"$1\""
-msgstr "安装MOD:文件:â€$1“"
+msgstr "安装:文件:â€$1“"
#: builtin/mainmenu/pkgmgr.lua
msgid "Unable to find a valid mod or modpack"
-msgstr "安装MOD:无法为MOD包$1找到åˆé€‚的文件夹å"
+msgstr "无法找到mod或mod包"
#: builtin/mainmenu/pkgmgr.lua
msgid "Unable to install a $1 as a texture pack"
@@ -447,7 +457,7 @@ msgstr "无法将$1安装为æ质包"
#: builtin/mainmenu/pkgmgr.lua
msgid "Unable to install a game as a $1"
-msgstr "无法将$1安装为游æˆåŒ…"
+msgstr "无法将$1安装为å­æ¸¸æˆ"
#: builtin/mainmenu/pkgmgr.lua
msgid "Unable to install a mod as a $1"
@@ -471,7 +481,7 @@ msgstr "ç¦ç”¨æ质包"
#: builtin/mainmenu/tab_content.lua
msgid "Information:"
-msgstr "MODä¿¡æ¯ï¼š"
+msgstr "ä¿¡æ¯ï¼š"
#: builtin/mainmenu/tab_content.lua
msgid "Installed Packages:"
@@ -479,19 +489,19 @@ msgstr "已安装包:"
#: builtin/mainmenu/tab_content.lua
msgid "No dependencies."
-msgstr "æ— ä¾èµ–关系."
+msgstr "æ— ä¾èµ–项。"
#: builtin/mainmenu/tab_content.lua
msgid "No package description available"
-msgstr "该MOD没有æè¿°ä¿¡æ¯"
+msgstr "该包无æè¿°ä¿¡æ¯"
#: builtin/mainmenu/tab_content.lua
msgid "Rename"
-msgstr "改å"
+msgstr "é‡å‘½å"
#: builtin/mainmenu/tab_content.lua
msgid "Uninstall Package"
-msgstr "删除选中的MOD"
+msgstr "删除包"
#: builtin/mainmenu/tab_content.lua
msgid "Use Texture Pack"
@@ -519,7 +529,7 @@ msgstr "å‰æ ¸å¿ƒå¼€å‘者"
#: builtin/mainmenu/tab_local.lua
msgid "Announce Server"
-msgstr "å‘布æœåŠ¡å™¨"
+msgstr "公开æœåŠ¡å™¨"
#: builtin/mainmenu/tab_local.lua
msgid "Bind Address"
@@ -535,7 +545,7 @@ msgstr "创造模å¼"
#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_simple_main.lua
msgid "Enable Damage"
-msgstr "å¼€å¯ä¼¤å®³é£Žé™©"
+msgstr "å¼€å¯ä¼¤å®³"
#: builtin/mainmenu/tab_local.lua
msgid "Host Game"
@@ -547,7 +557,7 @@ msgstr "建立æœåŠ¡å™¨"
#: builtin/mainmenu/tab_local.lua
msgid "Name/Password"
-msgstr "åå­—/密ç "
+msgstr "用户å/密ç "
#: builtin/mainmenu/tab_local.lua
msgid "New"
@@ -591,7 +601,7 @@ msgstr "创造模å¼"
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "Damage enabled"
-msgstr "å¯ç”¨ä¼¤å®³"
+msgstr "伤害已å¯ç”¨"
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "Del. Favorite"
@@ -611,8 +621,9 @@ msgstr "用户å/密ç "
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "Ping"
-msgstr "检测"
+msgstr "应答速度"
+#. ~ PvP = Player versus Player
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "PvP enabled"
msgstr "å¯ç”¨çŽ©å®¶å¯¹æˆ˜"
@@ -643,7 +654,7 @@ msgstr "抗锯齿:"
#: builtin/mainmenu/tab_settings.lua
msgid "Are you sure to reset your singleplayer world?"
-msgstr "你确定è¦é‡ç½®æ‚¨çš„å•äººä¸–ç•Œå—?"
+msgstr "你确定è¦é‡ç½®ä½ çš„å•äººä¸–ç•Œå—?"
#: builtin/mainmenu/tab_settings.lua
msgid "Autosave Screen Size"
@@ -663,15 +674,15 @@ msgstr "更改键ä½è®¾ç½®"
#: builtin/mainmenu/tab_settings.lua
msgid "Connected Glass"
-msgstr "连接的玻璃"
+msgstr "连通玻璃"
#: builtin/mainmenu/tab_settings.lua
msgid "Fancy Leaves"
-msgstr "åŽä¸½çš„æ ‘å¶"
+msgstr "åŽä¸½æ ‘å¶"
#: builtin/mainmenu/tab_settings.lua
msgid "Generate Normal Maps"
-msgstr "生æˆæ™®é€šåœ°å›¾"
+msgstr "生æˆæ³•çº¿è´´å›¾"
#: builtin/mainmenu/tab_settings.lua
msgid "Mipmap"
@@ -679,7 +690,7 @@ msgstr "Mip 贴图"
#: builtin/mainmenu/tab_settings.lua
msgid "Mipmap + Aniso. Filter"
-msgstr "Mip 贴图 + Aniso 过滤"
+msgstr "Mip 贴图 + å„å‘异性过滤"
#: builtin/mainmenu/tab_settings.lua
msgid "No"
@@ -695,7 +706,7 @@ msgstr "无 Mip 贴图"
#: builtin/mainmenu/tab_settings.lua
msgid "Node Highlighting"
-msgstr "节点高亮"
+msgstr "æ–¹å—高亮"
#: builtin/mainmenu/tab_settings.lua
msgid "Node Outlining"
@@ -707,15 +718,15 @@ msgstr "æ— "
#: builtin/mainmenu/tab_settings.lua
msgid "Opaque Leaves"
-msgstr "ä¸é€æ˜Žçš„æ ‘å¶"
+msgstr "ä¸é€æ˜Žæ ‘å¶"
#: builtin/mainmenu/tab_settings.lua
msgid "Opaque Water"
-msgstr "ä¸é€æ˜Žçš„æ°´"
+msgstr "ä¸é€æ˜Žæ°´"
#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp
msgid "Parallax Occlusion"
-msgstr "视差贴图"
+msgstr "视差é®è”½"
#: builtin/mainmenu/tab_settings.lua
msgid "Particles"
@@ -727,7 +738,7 @@ msgstr "é‡ç½®å•äººä¸–ç•Œ"
#: builtin/mainmenu/tab_settings.lua
msgid "Screen:"
-msgstr "截图:"
+msgstr "å±å¹•ï¼š"
#: builtin/mainmenu/tab_settings.lua
msgid "Settings"
@@ -743,7 +754,7 @@ msgstr "ç€è‰²å™¨ (ä¸å¯ç”¨)"
#: builtin/mainmenu/tab_settings.lua
msgid "Simple Leaves"
-msgstr "简å•çš„æ ‘å¶"
+msgstr "简å•æ ‘å¶"
#: builtin/mainmenu/tab_settings.lua
msgid "Smooth Lighting"
@@ -771,7 +782,7 @@ msgstr "三线性过滤"
#: builtin/mainmenu/tab_settings.lua
msgid "Waving Leaves"
-msgstr "飘动的树å¶"
+msgstr "飘动树å¶"
#: builtin/mainmenu/tab_settings.lua
msgid "Waving Liquids"
@@ -779,7 +790,7 @@ msgstr "摇动æµä½“"
#: builtin/mainmenu/tab_settings.lua
msgid "Waving Plants"
-msgstr "摇摆的æ¤ç‰©"
+msgstr "摇摆æ¤ç‰©"
#: builtin/mainmenu/tab_settings.lua
msgid "Yes"
@@ -787,11 +798,11 @@ msgstr "是"
#: builtin/mainmenu/tab_simple_main.lua
msgid "Config mods"
-msgstr "é…ç½® MOD"
+msgstr "é…ç½® mod"
#: builtin/mainmenu/tab_simple_main.lua
msgid "Main"
-msgstr "主è¦"
+msgstr "主èœå•"
#: builtin/mainmenu/tab_simple_main.lua
msgid "Start Singleplayer"
@@ -807,11 +818,11 @@ msgstr "完æˆ!"
#: src/client/client.cpp
msgid "Initializing nodes"
-msgstr "åˆå§‹åŒ–节点中"
+msgstr "åˆå§‹åŒ–æ–¹å—中"
#: src/client/client.cpp
msgid "Initializing nodes..."
-msgstr "åˆå§‹åŒ–节点..."
+msgstr "åˆå§‹åŒ–æ–¹å—..."
#: src/client/client.cpp
msgid "Loading textures..."
@@ -819,7 +830,7 @@ msgstr "载入æè´¨..."
#: src/client/client.cpp
msgid "Rebuilding shaders..."
-msgstr "é‡å»ºæ¸²æŸ“器..."
+msgstr "é‡å»ºç€è‰²å™¨..."
#: src/client/clientlauncher.cpp
msgid "Connection error (timed out?)"
@@ -831,7 +842,7 @@ msgstr "æ— æ³•æ‰¾åˆ°æˆ–è€…è½½å…¥æ¸¸æˆ \""
#: src/client/clientlauncher.cpp
msgid "Invalid gamespec."
-msgstr "éžæ³•æ¸¸æˆæ¨¡å¼è§„格。"
+msgstr "éžæ³•æ¸¸æˆä¿¡æ¯ã€‚"
#: src/client/clientlauncher.cpp
msgid "Main Menu"
@@ -839,15 +850,15 @@ msgstr "主èœå•"
#: src/client/clientlauncher.cpp
msgid "No world selected and no address provided. Nothing to do."
-msgstr "没有选择世界或æ供地å€ã€‚未执行æ“作。"
+msgstr "没有选择世界或æ供地å€ã€‚æ— å¯ç”¨æ“作。"
#: src/client/clientlauncher.cpp
msgid "Player name too long."
-msgstr "玩家å称太长了。"
+msgstr "玩家å称过长。"
#: src/client/clientlauncher.cpp
msgid "Please choose a name!"
-msgstr "请选择游æˆï¼"
+msgstr "请选择å称ï¼"
#: src/client/clientlauncher.cpp
msgid "Provided password file failed to open: "
@@ -857,6 +868,14 @@ msgstr "æ供的密ç æ–‡ä»¶æ— æ³•æ‰“å¼€: "
msgid "Provided world path doesn't exist: "
msgstr "æ供的世界路径ä¸å­˜åœ¨: "
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string. Put either "no" or "yes"
+#. into the translation field (literally).
+#. Choose "yes" if the language requires use of the fallback
+#. font, "no" otherwise.
+#. The fallback font is (normally) required for languages with
+#. non-Latin script, like Chinese.
+#. When in doubt, test your translation.
#: src/client/fontengine.cpp
msgid "needs_fallback_font"
msgstr "yes"
@@ -871,7 +890,7 @@ msgstr ""
#: src/client/game.cpp
msgid "- Address: "
-msgstr "-绑定地å€: "
+msgstr "- 地å€ï¼š "
#: src/client/game.cpp
msgid "- Creative Mode: "
@@ -893,9 +912,10 @@ msgstr "- 端å£: "
msgid "- Public: "
msgstr "- 公共æœåŠ¡å™¨: "
+#. ~ PvP = Player versus Player
#: src/client/game.cpp
msgid "- PvP: "
-msgstr "- 多人: "
+msgstr "- 玩家对战: "
#: src/client/game.cpp
msgid "- Server Name: "
@@ -903,19 +923,19 @@ msgstr "- æœåŠ¡å™¨å称: "
#: src/client/game.cpp
msgid "Automatic forward disabled"
-msgstr "自动转å‘å·²ç¦ç”¨"
+msgstr "自动å‰è¿›å·²ç¦ç”¨"
#: src/client/game.cpp
msgid "Automatic forward enabled"
-msgstr "自动转å‘å·²å¯ç”¨"
+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"
@@ -966,8 +986,8 @@ msgstr ""
"- %s:å‘å³ç§»åŠ¨\n"
"- %s:跳/爬\n"
"- %s:潜行/å‘下\n"
-"- %s:丢物å“\n"
-"- %s:物å“æ \n"
+"- %s:丢弃物å“\n"
+"- %s:物å“清å•\n"
"- 鼠标:转身/环顾\n"
"- 鼠标左键: 挖/打\n"
"- é¼ æ ‡å³é”®: 放/使用\n"
@@ -984,7 +1004,7 @@ msgstr "建立æœåŠ¡å™¨...."
#: src/client/game.cpp
msgid "Debug info and profiler graph hidden"
-msgstr "éšè—的调试信æ¯å’Œ Profiler 图"
+msgstr "éšè—的调试信æ¯å’Œæ€§èƒ½åˆ†æžå›¾"
#: src/client/game.cpp
msgid "Debug info shown"
@@ -992,7 +1012,7 @@ msgstr "调试信æ¯åˆ‡æ¢é”®"
#: src/client/game.cpp
msgid "Debug info, profiler graph, and wireframe hidden"
-msgstr "éšè—调试信æ¯ï¼ŒProfiler 图,和线框"
+msgstr "éšè—调试信æ¯ï¼Œæ€§èƒ½åˆ†æžå›¾ï¼Œå’Œçº¿æ¡†"
#: src/client/game.cpp
msgid ""
@@ -1040,7 +1060,7 @@ msgstr "退出至æ“作系统"
#: src/client/game.cpp
msgid "Fast mode disabled"
-msgstr "å·²ç¦ç”¨å¿«é€Ÿæ¨¡å¼"
+msgstr "快速模å¼å·²ç¦ç”¨"
#: src/client/game.cpp
msgid "Fast mode enabled"
@@ -1048,27 +1068,27 @@ msgstr "快速移动模å¼å·²å¯ç”¨"
#: src/client/game.cpp
msgid "Fast mode enabled (note: no 'fast' privilege)"
-msgstr "快速模å¼å·²å¯ç”¨ï¼ˆæ³¨ï¼šæ—  'fast' 特æƒï¼‰"
+msgstr "快速模å¼å·²å¯ç”¨ï¼ˆæ³¨ï¼šæ—  'fast' æƒé™ï¼‰"
#: src/client/game.cpp
msgid "Fly mode disabled"
-msgstr "关闭飞行模å¼"
+msgstr "飞行模å¼å·²ç¦ç”¨"
#: src/client/game.cpp
msgid "Fly mode enabled"
-msgstr "å¯ç”¨é£žè¡Œæ¨¡å¼"
+msgstr "飞行模å¼å·²å¯ç”¨"
#: src/client/game.cpp
msgid "Fly mode enabled (note: no 'fly' privilege)"
-msgstr "å¯ç”¨é£žè¡Œæ¨¡å¼ï¼ˆæ— é£žè¡Œæƒé™ï¼‰"
+msgstr "飞行模å¼å·²å¯ç”¨ï¼ˆæ³¨ï¼šæ—  'fly' æƒé™ï¼‰"
#: src/client/game.cpp
msgid "Fog disabled"
-msgstr "ç¦ç”¨é›¾æ°”"
+msgstr "雾气已ç¦ç”¨"
#: src/client/game.cpp
msgid "Fog enabled"
-msgstr "å¯ç”¨é›¾æ°”"
+msgstr "雾气已å¯ç”¨"
#: src/client/game.cpp
msgid "Game info:"
@@ -1100,7 +1120,7 @@ msgstr "MiB/s"
#: src/client/game.cpp
msgid "Minimap currently disabled by game or mod"
-msgstr "å°åœ°å›¾è¢«å½“å‰æ¸¸æˆæˆ–者 mod ç¦ç”¨"
+msgstr "å°åœ°å›¾è¢«å½“å‰å­æ¸¸æˆæˆ–者 mod ç¦ç”¨"
#: src/client/game.cpp
msgid "Minimap hidden"
@@ -1108,39 +1128,39 @@ 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 "雷达模å¼çš„å°åœ°å›¾, 放大4å€"
+msgstr "é›·è¾¾å°åœ°å›¾, 放大至四å€"
#: src/client/game.cpp
msgid "Minimap in surface mode, Zoom x1"
-msgstr "地表模å¼çš„å°åœ°å›¾, 放大1å€"
+msgstr "地表模å¼å°åœ°å›¾, 放大至一å€"
#: src/client/game.cpp
msgid "Minimap in surface mode, Zoom x2"
-msgstr "地表模å¼çš„å°åœ°å›¾, 放大2å€"
+msgstr "地表模å¼å°åœ°å›¾, 放大至两å€"
#: src/client/game.cpp
msgid "Minimap in surface mode, Zoom x4"
-msgstr "地表模å¼çš„å°åœ°å›¾, 放大4å€"
+msgstr "地表模å¼å°åœ°å›¾, 放大至四å€"
#: src/client/game.cpp
msgid "Noclip mode disabled"
-msgstr "Noclip 模å¼å·²ç¦ç”¨"
+msgstr "穿墙模å¼å·²ç¦ç”¨"
#: src/client/game.cpp
msgid "Noclip mode enabled"
-msgstr "穿墙伤害已å¯ç”¨"
+msgstr "穿墙模å¼å·²å¯ç”¨"
#: src/client/game.cpp
msgid "Noclip mode enabled (note: no 'noclip' privilege)"
-msgstr "穿墙模å¼å·²å¯ç”¨ (注æ„:你没有穿墙æƒé™)"
+msgstr "穿墙模å¼å·²å¯ç”¨ (注:无 'noclip' æƒé™)"
#: src/client/game.cpp
msgid "Node definitions..."
@@ -1156,15 +1176,15 @@ msgstr "å¼€"
#: src/client/game.cpp
msgid "Pitch move mode disabled"
-msgstr "Pitch移动模å¼å·²ç¦ç”¨"
+msgstr "仰角移动模å¼å·²ç¦ç”¨"
#: src/client/game.cpp
msgid "Pitch move mode enabled"
-msgstr "Pitch移动模å¼å·²ç¦ç”¨"
+msgstr "仰角移动模å¼å·²ç¦ç”¨"
#: src/client/game.cpp
msgid "Profiler graph shown"
-msgstr "显示Profiler图"
+msgstr "显示性能分æžå›¾"
#: src/client/game.cpp
msgid "Remote server"
@@ -1176,7 +1196,7 @@ msgstr "正在解æžåœ°å€..."
#: src/client/game.cpp
msgid "Shutting down..."
-msgstr "关闭..."
+msgstr "关闭中..."
#: src/client/game.cpp
msgid "Singleplayer"
@@ -1207,7 +1227,7 @@ msgstr "视野范围已达到最大:%d"
#: src/client/game.cpp
#, c-format
msgid "Viewing range is at minimum: %d"
-msgstr "视野已达到最å°ï¼š%d"
+msgstr "视野范围已达到最å°ï¼š%d"
#: src/client/game.cpp
#, c-format
@@ -1216,11 +1236,11 @@ msgstr "音é‡æ”¹åˆ°%d1%%2"
#: src/client/game.cpp
msgid "Wireframe shown"
-msgstr "显示线框"
+msgstr "线框已显示"
#: src/client/game.cpp
msgid "Zoom currently disabled by game or mod"
-msgstr "缩放被当å‰æ¸¸æˆæˆ– mod ç¦ç”¨"
+msgstr "缩放被当å‰å­æ¸¸æˆæˆ– mod ç¦ç”¨"
#: src/client/game.cpp src/gui/modalMenu.cpp
msgid "ok"
@@ -1232,24 +1252,24 @@ msgstr "èŠå¤©å·²éšè—"
#: src/client/gameui.cpp
msgid "Chat shown"
-msgstr "显示èŠå¤©"
+msgstr "èŠå¤©å·²æ˜¾ç¤º"
#: src/client/gameui.cpp
msgid "HUD hidden"
-msgstr "éšè— HUD"
+msgstr "HUD å·²éšè—"
#: src/client/gameui.cpp
msgid "HUD shown"
-msgstr "显示 HUD"
+msgstr "HUD 已显示"
#: src/client/gameui.cpp
msgid "Profiler hidden"
-msgstr "éšè—分æžå™¨"
+msgstr "性能分æžå›¾å·²éšè—"
#: src/client/gameui.cpp
#, c-format
msgid "Profiler shown (page %d of %d)"
-msgstr "显示Profiler (第 %d 页 共 %d 页)"
+msgstr "性能分æžå›¾å·²æ˜¾ç¤º (第 %d 页 å…± %d 页)"
#: src/client/keycode.cpp
msgid "Apps"
@@ -1343,6 +1363,7 @@ msgstr "å·¦Shifté”®"
msgid "Left Windows"
msgstr "å·¦Windowsé”®"
+#. ~ Key name, common on Windows keyboards
#: src/client/keycode.cpp
msgid "Menu"
msgstr "èœå•"
@@ -1369,7 +1390,7 @@ msgstr "å°é”®ç›˜-"
#: src/client/keycode.cpp
msgid "Numpad ."
-msgstr "å°é”®ç›˜*。"
+msgstr "å°é”®ç›˜."
#: src/client/keycode.cpp
msgid "Numpad /"
@@ -1435,6 +1456,7 @@ msgstr "Pauseé”®"
msgid "Play"
msgstr "开始游æˆ"
+#. ~ "Print screen" key
#: src/client/keycode.cpp
msgid "Print"
msgstr "打å°"
@@ -1471,6 +1493,7 @@ msgstr "å³Windowsé”®"
msgid "Scroll Lock"
msgstr "Scroll Locké”®"
+#. ~ Key name
#: src/client/keycode.cpp
msgid "Select"
msgstr "选择键"
@@ -1536,14 +1559,12 @@ msgid "Proceed"
msgstr "继续"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "\"Special\" = climb down"
-msgstr "“使用†= å‘下爬"
+msgstr "“特殊†= å‘下爬"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Autoforward"
-msgstr "å‘å‰"
+msgstr "自动å‘å‰"
#: src/gui/guiKeyChangeMenu.cpp src/settings_translation_file.cpp
msgid "Automatic jumping"
@@ -1583,7 +1604,7 @@ msgstr "连按两次“跳â€åˆ‡æ¢é£žè¡Œæ¨¡å¼"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Drop"
-msgstr "丢出"
+msgstr "丢弃"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Forward"
@@ -1627,7 +1648,7 @@ msgstr "下一个"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Prev. item"
-msgstr "上一个"
+msgstr "上一个物å“"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Range select"
@@ -1643,39 +1664,39 @@ msgstr "潜行"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Special"
-msgstr "特别"
+msgstr "特殊"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Toggle HUD"
-msgstr "切æ¢HUD"
+msgstr "开关HUD"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Toggle chat log"
-msgstr "èŠå¤©è®°å½•å¼€å…³"
+msgstr "开关èŠå¤©è®°å½•"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Toggle fast"
-msgstr "切æ¢å¿«é€Ÿç§»åŠ¨æ¨¡å¼"
+msgstr "开关快速移动模å¼"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Toggle fly"
-msgstr "切æ¢é£žè¡Œæ¨¡å¼"
+msgstr "开关飞行模å¼"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Toggle fog"
-msgstr "切æ¢å¿«é€Ÿç§»åŠ¨"
+msgstr "开关雾"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Toggle minimap"
-msgstr "切æ¢å°åœ°å›¾"
+msgstr "开关å°åœ°å›¾"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Toggle noclip"
-msgstr "切æ¢ç©¿å¢™æ¨¡å¼"
+msgstr "开关穿墙模å¼"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Toggle pitchmove"
-msgstr "切æ¢å¿«é€Ÿç§»åŠ¨æ¨¡å¼"
+msgstr "开关仰角移动模å¼"
#: src/gui/guiKeyChangeMenu.cpp
msgid "press key"
@@ -1709,11 +1730,16 @@ msgstr "é™éŸ³"
msgid "Sound Volume: "
msgstr "音é‡ï¼š "
+#. ~ Imperative, as in "Enter/type in text".
+#. Don't forget the space.
#: src/gui/modalMenu.cpp
msgid "Enter "
msgstr "输入 "
-#: src/network/clientpackethandler.cpp
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string which needs to contain the translation's
+#. language code (e.g. "de" for German).
+#: src/network/clientpackethandler.cpp src/script/lua_api/l_client.cpp
msgid "LANG_CODE"
msgstr "zh_CN"
@@ -1726,29 +1752,33 @@ msgstr ""
"如果ç¦ç”¨ï¼Œè™šæ‹Ÿæ“纵æ†å°†å±…中至第一次触摸的ä½ç½®ã€‚"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"(Android) Use virtual joystick to trigger \"aux\" button.\n"
"If enabled, virtual joystick will also tap \"aux\" button when out of main "
"circle."
-msgstr "(安å“)使用虚拟æ“纵æ†è§¦å‘\"aux\"按钮。 如果å¯ç”¨ï¼Œè™šæ‹Ÿæ“纵æ†åœ¨ä¸»åœ†åœˆå¤–会点击\"aux\"按钮。"
+msgstr ""
+"(安å“)使用虚拟æ“纵æ†è§¦å‘\"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"
"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"
+"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 ""
-"在「比例尺ã€ä¸­åˆ†å½¢çš„ (X,Y,Z) å移。\n"
-"用于移动适åˆçš„低地生æˆåŒºåŸŸé è¿‘ (0, 0)。\n"
-"预设值适åˆæ›¼å¾·å°”布罗特集åˆï¼Œè‹¥è¦ç”¨äºŽæœ±åˆ©äºšé›†åˆåˆ™å¿…须修改。\n"
-"范围大约在 -2 至 2 间。乘以节点的å移值。"
+"分形图形è·ä¸–界中心的(X, Y, Z)å移\n"
+"以『比例ã€ä¸ºå•ä½ã€‚\n"
+"å¯ç”¨äºŽç§»åŠ¨ç»™å®šç‚¹è‡³ï¼ˆ0, 0)以创建生æˆ\n"
+"点,或通过增加『比例ã€æ¥æ”¾å¤§ç»™å®šç‚¹ã€‚\n"
+"默认值适åˆæ›¼å¾·å°”布罗特集åˆï¼Œè‹¥è¦ç”¨äºŽå…¶\n"
+"他情形则å¯èƒ½éœ€è¦ä¿®æ”¹ã€‚\n"
+"范围大约在 -2 至 2 间。\n"
+"乘以『比例ã€ã€‚"
#: src/settings_translation_file.cpp
msgid ""
@@ -1760,6 +1790,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)比例。\n"
+"实际分形大å°å°†æ˜¯2到3å€ã€‚\n"
+"这些数字å¯ä»¥åšå¾—éžå¸¸å¤§ï¼Œ\n"
+"分形ä¸ä¸€å®šè¦é€‚åˆä¸–界。\n"
+"增加这些以“放大â€åˆ°åˆ†å½¢çš„细节。\n"
+"默认值为适åˆ\n"
+"孤岛的垂直压æ‰å½¢çŠ¶ï¼Œå°†æ‰€æœ‰3个数字设置为相等以呈现原始形状。"
#: src/settings_translation_file.cpp
msgid ""
@@ -1771,31 +1808,31 @@ 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 "控制丘陵形状/大å°çš„2D噪声。"
#: src/settings_translation_file.cpp
msgid "2D noise that controls the shape/size of step mountains."
-msgstr ""
+msgstr "控制平缓山形状/大å°çš„2D噪声。"
#: src/settings_translation_file.cpp
msgid "2D noise that controls the size/occurrence of ridged mountain ranges."
-msgstr ""
+msgstr "控制山脊区域的大å°/频率的2D噪声。"
#: src/settings_translation_file.cpp
msgid "2D noise that controls the size/occurrence of rolling hills."
-msgstr ""
+msgstr "控制丘陵的大å°/频率的2D噪声。"
#: src/settings_translation_file.cpp
msgid "2D noise that controls the size/occurrence of step mountain ranges."
-msgstr ""
+msgstr "控制平缓山的大å°/频率的2D噪声。"
#: src/settings_translation_file.cpp
msgid "2D noise that locates the river valleys and channels."
-msgstr ""
+msgstr "确定河谷åŠæ²³é“ä½ç½®çš„2D噪声。"
#: src/settings_translation_file.cpp
msgid "3D clouds"
@@ -1807,33 +1844,33 @@ msgstr "3D 模å¼"
#: src/settings_translation_file.cpp
msgid "3D noise defining giant caverns."
-msgstr "三维噪音定义巨洞."
+msgstr "定义巨型洞穴的3D噪声。"
#: src/settings_translation_file.cpp
msgid ""
"3D noise defining mountain structure and height.\n"
"Also defines structure of floatland mountain terrain."
-msgstr "三维噪音定义山脉结构和高度.也定义冲积平原山丘地形."
+msgstr ""
+"定义山丘结构和高度的3D噪声。\n"
+"也定义悬空岛山丘地形。"
#: src/settings_translation_file.cpp
msgid "3D noise defining structure of river canyon walls."
-msgstr "三维噪音定义河谷å£çš„结构."
+msgstr "定义河谷å£çš„结构的3D噪声。"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "3D noise defining terrain."
-msgstr "三维噪音定义巨洞."
+msgstr "定义地形的3D噪声。"
#: src/settings_translation_file.cpp
msgid "3D noise for mountain overhangs, cliffs, etc. Usually small variations."
-msgstr ""
+msgstr "用于çªå‡ºå´–ã€æ‚¬å´–等的3D噪声。通常å˜åŒ–å°ã€‚"
#: src/settings_translation_file.cpp
msgid "3D noise that determines number of dungeons per mapchunk."
-msgstr ""
+msgstr "确定æ¯ä¸ªåœ°å›¾å—的地窖数é‡çš„3D噪声。"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"3D support.\n"
"Currently supported:\n"
@@ -1848,12 +1885,14 @@ msgid ""
msgstr ""
"3D 支æŒã€‚\n"
"ç›®å‰å·²æ”¯æŒï¼š\n"
-"- 无: 无 3D输出。\n"
-"- 浮雕:é’红/å“红色彩色 3D。\n"
-"- 交错:基于å振å±çš„奇å¶è¡Œæ”¯æŒã€‚\n"
-"- 顶底:上下分å±ã€‚\n"
-"- 并列:左å³åˆ†å±ã€‚\n"
-"- 翻页:基于 3D çš„å››é‡ç¼“冲。"
+"- 无(none): 无 3D 输出。\n"
+"- 立体影片(anaglyph):é’红/å“红色彩色 3D。\n"
+"- 交错(interlaced):基于奇å¶è¡Œçš„å振å±æ”¯æŒã€‚\n"
+"- 顶底(topbottom):上下分å±ã€‚\n"
+"- 并列(sidebyside):左å³åˆ†å±ã€‚\n"
+"- 内斜视(crossview):内斜视左å³åˆ†å±3D。\n"
+"- 翻页(pageflip):基于四é‡ç¼“冲的 3D。\n"
+"注æ„交错模å¼éœ€è¦å¯ç”¨ç€è‰²å™¨ã€‚"
#: src/settings_translation_file.cpp
msgid ""
@@ -1865,16 +1904,15 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "A message to be displayed to all clients when the server crashes."
-msgstr "当æœåŠ¡å™¨æŒ‚掉的时候,å‘é€ç»™æ‰€æœ‰å®¢æˆ·ç«¯çš„ä¿¡æ¯ã€‚"
+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
-#, fuzzy
msgid "ABM interval"
-msgstr "地图ä¿å­˜é—´éš”"
+msgstr "ABMé—´éš”"
#: src/settings_translation_file.cpp
msgid "Absolute limit of emerge queues"
@@ -1886,20 +1924,19 @@ msgstr "空中加速"
#: src/settings_translation_file.cpp
msgid "Acceleration of gravity, in nodes per second per second."
-msgstr ""
+msgstr "é‡åŠ›åŠ é€Ÿåº¦ï¼Œå•ä½ä¸ºæ–¹å—æ¯ç§’二次方。"
#: src/settings_translation_file.cpp
msgid "Active Block Modifiers"
-msgstr "活动区å—修改器"
+msgstr "活动方å—修改器"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Active block management interval"
-msgstr "活动区å—管ç†é—´éš”"
+msgstr "活动方å—管ç†é—´éš”"
#: src/settings_translation_file.cpp
msgid "Active block range"
-msgstr "活动å—范围"
+msgstr "活动方å—范围"
#: src/settings_translation_file.cpp
msgid "Active object send range"
@@ -1917,7 +1954,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Adds particles when digging a node."
-msgstr "挖å—时添加粒å­."
+msgstr "挖方å—时添加粒å­ã€‚"
#: src/settings_translation_file.cpp
msgid ""
@@ -1926,26 +1963,26 @@ msgid ""
msgstr "为支æŒ4Kç­‰å±å¹•ï¼Œè°ƒèŠ‚åƒç´ ç‚¹å¯†åº¦ï¼ˆéž X11/Android 环境æ‰æœ‰æ•ˆï¼‰ã€‚"
#: 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 "高级è”机设置"
+msgstr "高级"
#: src/settings_translation_file.cpp
-msgid "Alters how mountain-type floatlands taper above and below midpoint."
+msgid ""
+"Alters the light curve by applying 'gamma correction' to it.\n"
+"Higher values make middle and lower light levels brighter.\n"
+"Value '1.0' leaves the light curve unaltered.\n"
+"This only has significant effect on daylight and artificial\n"
+"light, it has very little effect on natural night light."
msgstr ""
+"通过“gamma修正â€è°ƒæ•´äº®åº¦æ›²çº¿ã€‚\n"
+"更大的gamma值使得低亮度区域更亮。\n"
+"值为'1.0'时亮度曲线。\n"
+"è¿™åªåœ¨ç™½å¤©å’Œäººå·¥å…‰æºä¸‹æœ‰è¾ƒå¤§ä½œç”¨ï¼Œ\n"
+"在夜晚的自然光照下作用很å°ã€‚"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Altitude chill"
-msgstr "海拔寒冷"
+msgstr "高地寒冷"
#: src/settings_translation_file.cpp
msgid "Always fly and fast"
@@ -1953,16 +1990,15 @@ msgstr "ä¿æŒé«˜é€Ÿé£žè¡Œ"
#: src/settings_translation_file.cpp
msgid "Ambient occlusion gamma"
-msgstr "环境闭塞伽马"
+msgstr "环境é®è”½gamma"
#: src/settings_translation_file.cpp
msgid "Amount of messages a player may send per 10 seconds."
-msgstr ""
+msgstr "æ¯10秒å‘é€ç»™çŽ©å®¶çš„消æ¯é‡ã€‚"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Amplifies the valleys."
-msgstr "放大山谷"
+msgstr "放大山谷。"
#: src/settings_translation_file.cpp
msgid "Anisotropic filtering"
@@ -1970,20 +2006,19 @@ msgstr "å„å‘异性过滤"
#: src/settings_translation_file.cpp
msgid "Announce server"
-msgstr "å‘布æœåŠ¡å™¨"
+msgstr "公开æœåŠ¡å™¨"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Announce to this serverlist."
-msgstr "å‘布æœåŠ¡å™¨"
+msgstr "å‘æœåŠ¡å™¨è¡¨å…¬å¼€æœåŠ¡å™¨ã€‚"
#: src/settings_translation_file.cpp
msgid "Append item name"
-msgstr ""
+msgstr "添加物å“å称"
#: src/settings_translation_file.cpp
msgid "Append item name to tooltip."
-msgstr ""
+msgstr "添加物å“å称至工具æ ã€‚"
#: src/settings_translation_file.cpp
msgid "Apple trees noise"
@@ -1991,20 +2026,21 @@ msgstr "苹果树噪音"
#: src/settings_translation_file.cpp
msgid "Arm inertia"
-msgstr ""
+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
-#, fuzzy
msgid ""
"At this distance the server will aggressively optimize which blocks are sent "
"to\n"
@@ -2018,23 +2054,24 @@ msgid ""
"optimization.\n"
"Stated in mapblocks (16 nodes)."
msgstr ""
-"在此è·ç¦»ä¸‹, æœåŠ¡å™¨å°†ç§¯æžä¼˜åŒ–将哪些å—å‘é€åˆ°å®¢æˆ·ç«¯ã€‚\n"
-"å°å€¼å¯èƒ½ä¼šæžå¤§åœ°æ高性能, 这会牺牲å¯è§çš„渲染故障。\n"
-"(有些街区将ä¸ä¼šåœ¨æ°´å’Œæ´žç©´ä¸­, 有时也会在陆地上呈现)\n"
-"将其设置为大于 max_block_send_distance 的值将ç¦ç”¨æ­¤ä¼˜åŒ–。\n"
-"声明在 mapblocks (16 个节点)"
+"在此è·ç¦»ä¸‹ï¼ŒæœåŠ¡å™¨å°†ç§¯æžä¼˜åŒ–将哪些å—å‘é€åˆ°å®¢æˆ·ç«¯ã€‚\n"
+"å°æ•°å€¼å¯èƒ½ä¼šæžå¤§åœ°æ高性能,\n"
+"å´ä¼šé€ æˆå¯è§çš„渲染故障。\n"
+"(有些方å—å°†ä¸ä¼šåœ¨æ°´å’Œæ´žç©´ä¸­å‘ˆçŽ°ï¼Œ\n"
+"有时在陆地上也ä¸ä¼šå‘ˆçŽ°ï¼‰\n"
+"将其设置为大于 max_block_send_distance 的值\n"
+"å°†ç¦ç”¨æ­¤ä¼˜åŒ–。\n"
+"在 mapblocks中声明(16 个节点)。"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Automatic forward key"
-msgstr "å‰è¿›é”®"
+msgstr "自动å‰è¿›é”®"
#: src/settings_translation_file.cpp
msgid "Automatically jump up single-node obstacles."
msgstr "自动跳跃一方å—高度。"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Automatically report to the serverlist."
msgstr "自动报告到æœåŠ¡å™¨åˆ—表。"
@@ -2051,21 +2088,18 @@ msgid "Backward key"
msgstr "åŽé€€é”®"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Base ground level"
-msgstr "地图生æˆå™¨å¹³åœ°çº§åˆ«"
+msgstr "平地级别"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Base terrain height."
-msgstr "基础地形高度"
+msgstr "基础地形高度。"
#: src/settings_translation_file.cpp
msgid "Basic"
msgstr "基础"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Basic privileges"
msgstr "基本æƒé™"
@@ -2087,19 +2121,35 @@ msgstr "绑定地å€"
#: src/settings_translation_file.cpp
msgid "Biome API temperature and humidity noise parameters"
-msgstr "ç”Ÿç‰©ç¾¤è½ API 温度和湿度噪声å‚æ•°"
+msgstr "ç¾¤è½ API 温度和湿度噪声å‚æ•°"
#: src/settings_translation_file.cpp
msgid "Biome noise"
-msgstr "生æ€å™ªéŸ³"
+msgstr "生æ€å™ªå£°"
#: src/settings_translation_file.cpp
msgid "Bits per pixel (aka color depth) in fullscreen mode."
-msgstr "å…¨å±æ¨¡å¼ä¸­çš„ä½ï¼åƒç´ ï¼ˆåˆç§°è‰²å½©æ·±åº¦ï¼‰ã€‚"
+msgstr "å…¨å±æ¨¡å¼ä¸­çš„ä½æ¯åƒç´ ï¼ˆåˆç§°è‰²å½©æ·±åº¦ï¼‰ã€‚"
#: src/settings_translation_file.cpp
msgid "Block send optimize distance"
-msgstr ""
+msgstr "最优方å—å‘é€è·ç¦»"
+
+#: src/settings_translation_file.cpp
+msgid "Bold and italic font path"
+msgstr "粗斜体字体路径"
+
+#: src/settings_translation_file.cpp
+msgid "Bold and italic monospace font path"
+msgstr "粗斜体等宽字体路径"
+
+#: src/settings_translation_file.cpp
+msgid "Bold font path"
+msgstr "粗体字体路径"
+
+#: src/settings_translation_file.cpp
+msgid "Bold monospace font path"
+msgstr "粗体等宽字体路径"
#: src/settings_translation_file.cpp
msgid "Build inside player"
@@ -2114,12 +2164,17 @@ msgid "Bumpmapping"
msgstr "凹凸贴图"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Camera 'near clipping plane' distance in nodes, between 0 and 0.5.\n"
-"Most users will not need to change this.\n"
+"Camera 'near clipping plane' distance in nodes, between 0 and 0.25\n"
+"Only works on GLES platforms. 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"
@@ -2131,7 +2186,7 @@ msgstr "电影模å¼ä¸‹é•œå¤´å¹³æ»‘"
#: src/settings_translation_file.cpp
msgid "Camera update toggle key"
-msgstr "镜头更新切æ¢é”®"
+msgstr "镜头更新开关键"
#: src/settings_translation_file.cpp
msgid "Cave noise"
@@ -2159,28 +2214,31 @@ msgstr "洞穴2噪音"
#: src/settings_translation_file.cpp
msgid "Cavern limit"
-msgstr "æ´žç©´ç•Œé™"
+msgstr "大型洞穴界é™"
#: src/settings_translation_file.cpp
msgid "Cavern noise"
-msgstr "山洞噪音"
+msgstr "大型洞穴噪音"
#: src/settings_translation_file.cpp
msgid "Cavern taper"
-msgstr "山洞锥度"
+msgstr "大型洞穴锥度"
#: src/settings_translation_file.cpp
msgid "Cavern threshold"
-msgstr "山丘阈值"
+msgstr "大型洞穴阈值"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Cavern upper limit"
-msgstr "æ´žç©´ç•Œé™"
+msgstr "大型洞穴上界"
#: src/settings_translation_file.cpp
-msgid "Center of light curve mid-boost."
+msgid ""
+"Center of light curve boost range.\n"
+"Where 0.0 is minimum light level, 1.0 is maximum light level."
msgstr ""
+"亮度曲线范围中心。\n"
+"0.0为最å°å€¼æ—¶1.0为最大值。"
#: src/settings_translation_file.cpp
msgid ""
@@ -2191,6 +2249,10 @@ msgid ""
"be\n"
"necessary for smaller screens."
msgstr ""
+"主èœå•UIçš„å˜åŒ–:\n"
+"- 完整 多个å•äººä¸–界,å­æ¸¸æˆé€‰æ‹©ï¼Œæ质包选择器等。\n"
+"- 简å•ï¼šå•ä¸ªå•äººä¸–界,无å­æ¸¸æˆæ质包选择器。å¯èƒ½\n"
+"需è¦ç”¨äºŽå°å±å¹•ã€‚"
#: src/settings_translation_file.cpp
msgid "Chat key"
@@ -2201,14 +2263,12 @@ msgid "Chat message count limit"
msgstr "èŠå¤©æ¶ˆæ¯è®¡æ•°é™åˆ¶"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Chat message format"
-msgstr "èŠå¤©æ¶ˆæ¯æœ€å¤§é•¿åº¦"
+msgstr "èŠå¤©æ¶ˆæ¯æ ¼å¼"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Chat message kick threshold"
-msgstr "èŠå¤©æ¶ˆæ¯è§¦å‘阈值"
+msgstr "èŠå¤©æ¶ˆæ¯è¸¢å‡ºé˜ˆå€¼"
#: src/settings_translation_file.cpp
msgid "Chat message max length"
@@ -2216,7 +2276,7 @@ msgstr "èŠå¤©æ¶ˆæ¯æœ€å¤§é•¿åº¦"
#: src/settings_translation_file.cpp
msgid "Chat toggle key"
-msgstr "èŠå¤©åˆ‡æ¢é”®"
+msgstr "èŠå¤©å¼€å…³é”®"
#: src/settings_translation_file.cpp
msgid "Chatcommands"
@@ -2236,7 +2296,7 @@ msgstr "电影模å¼é”®"
#: src/settings_translation_file.cpp
msgid "Clean transparent textures"
-msgstr "干净é€æ˜Žçº¹ç†"
+msgstr "干净é€æ˜Žæè´¨"
#: src/settings_translation_file.cpp
msgid "Client"
@@ -2244,20 +2304,19 @@ msgstr "客户端"
#: src/settings_translation_file.cpp
msgid "Client and Server"
-msgstr "客户端和æœåŠ¡å™¨"
+msgstr "客户端和æœåŠ¡ç«¯"
#: src/settings_translation_file.cpp
msgid "Client modding"
-msgstr "客户端模组"
+msgstr "客户端mod"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Client side modding restrictions"
-msgstr "客户端模组"
+msgstr "客户端modé™åˆ¶"
#: src/settings_translation_file.cpp
msgid "Client side node lookup range restriction"
-msgstr ""
+msgstr "客户端方å—查询范围é™åˆ¶"
#: src/settings_translation_file.cpp
msgid "Climbing speed"
@@ -2273,7 +2332,7 @@ msgstr "云彩"
#: src/settings_translation_file.cpp
msgid "Clouds are a client side effect."
-msgstr "云是客户端侧效果。"
+msgstr "云是客户端效果。"
#: src/settings_translation_file.cpp
msgid "Clouds in menu"
@@ -2293,22 +2352,28 @@ 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"
+"这些评分独立于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çš„mod列表,\n"
+"这些modå¯ä¸Žäº’è”网交互,上传åŠä¸‹è½½æ•°æ®ã€‚"
#: 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 ""
-"å—信任的 Mod 列表,以逗å·åˆ†éš”,其å¯å­˜å–ä¸å®‰å…¨çš„\n"
-"功能,å³ä¾¿ mod 安全性已å¯ç”¨ï¼ˆç»ç”± request_insecure_environment())。"
+"å—信任的 Mod 列表,以逗å·åˆ†éš”,其å¯è®¿é—®ä¸å®‰å…¨çš„\n"
+"函数,å³ä¾¿ mod 安全性已å¯ç”¨ï¼ˆç»ç”± request_insecure_environment())。"
#: src/settings_translation_file.cpp
msgid "Command key"
@@ -2324,11 +2389,11 @@ msgstr "连接到外部媒体æœåŠ¡å™¨"
#: src/settings_translation_file.cpp
msgid "Connects glass if supported by node."
-msgstr "连接玻璃,如果节点支æŒã€‚"
+msgstr "如果方å—支æŒåˆ™è¿žé€šçŽ»ç’ƒã€‚"
#: src/settings_translation_file.cpp
msgid "Console alpha"
-msgstr "控制å°é€æ˜Ž"
+msgstr "控制å°é€æ˜Žåº¦"
#: src/settings_translation_file.cpp
msgid "Console color"
@@ -2340,16 +2405,15 @@ msgstr "控制å°é«˜åº¦"
#: src/settings_translation_file.cpp
msgid "ContentDB Flag Blacklist"
-msgstr ""
+msgstr "ContentDB标签黑åå•"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "ContentDB URL"
-msgstr "继续"
+msgstr "ContentDB网å€"
#: src/settings_translation_file.cpp
msgid "Continuous forward"
-msgstr "è¿žç»­å‰è¿›"
+msgstr "自动å‰è¿›"
#: src/settings_translation_file.cpp
msgid ""
@@ -2375,7 +2439,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Controls sinking speed in liquid."
-msgstr ""
+msgstr "控制在液体中的下沉速度。"
#: src/settings_translation_file.cpp
msgid "Controls steepness/depth of lake depressions."
@@ -2386,17 +2450,13 @@ msgid "Controls steepness/height of hills."
msgstr "控制山丘的å¡åº¦/高度。"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
-"Controls the density of mountain-type floatlands.\n"
-"Is a noise offset added to the 'mgv7_np_mountain' noise value."
+"Controls width of tunnels, a smaller value creates wider tunnels.\n"
+"Value >= 10.0 completely disables generation of tunnels and avoids the\n"
+"intensive noise calculations."
msgstr ""
-"控制 floatland 地形的密度。\n"
-"是添加到 \"np_mountain\" 噪声值的å移é‡ã€‚"
-
-#: src/settings_translation_file.cpp
-msgid "Controls width of tunnels, a smaller value creates wider tunnels."
-msgstr "控制隧é“宽度,较å°çš„值创建更宽的隧é“。"
+"控制洞穴通é“宽度,设置较å°å€¼ä»¥åˆ›å»ºè¾ƒå®½é€šé“。\n"
+"值>=10.0则完全关闭通é“生æˆï¼Œé¿å…大é‡å™ªå£°è®¡ç®—。"
#: src/settings_translation_file.cpp
msgid "Crash message"
@@ -2404,23 +2464,23 @@ msgstr "崩溃信æ¯"
#: src/settings_translation_file.cpp
msgid "Creative"
-msgstr "创建"
+msgstr "创造"
#: src/settings_translation_file.cpp
msgid "Crosshair alpha"
-msgstr "åå­—é€æ˜Ž"
+msgstr "准星é€æ˜Ž"
#: src/settings_translation_file.cpp
msgid "Crosshair alpha (opaqueness, between 0 and 255)."
-msgstr "å字线ä¸é€æ˜Žåº¦ï¼ˆ0-255)。"
+msgstr "准星ä¸é€æ˜Žåº¦ï¼ˆ0-255)。"
#: src/settings_translation_file.cpp
msgid "Crosshair color"
-msgstr "å字颜色"
+msgstr "准星颜色"
#: src/settings_translation_file.cpp
msgid "Crosshair color (R,G,B)."
-msgstr "å字颜色 (红,绿,è“)。"
+msgstr "准星颜色(红,绿,è“)。"
#: src/settings_translation_file.cpp
msgid "DPI"
@@ -2431,18 +2491,12 @@ msgid "Damage"
msgstr "伤害"
#: src/settings_translation_file.cpp
-#, fuzzy
-msgid "Darkness sharpness"
-msgstr "地图生æˆå™¨å¹³é¢æ¹–å¡åº¦"
-
-#: src/settings_translation_file.cpp
msgid "Debug info toggle key"
-msgstr "调试信æ¯åˆ‡æ¢é”®"
+msgstr "调试信æ¯å¼€å…³é”®"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Debug log file size threshold"
-msgstr "沙漠噪音阈值"
+msgstr "沙漠噪声阈值"
#: src/settings_translation_file.cpp
msgid "Debug log level"
@@ -2453,8 +2507,8 @@ msgid "Dec. volume key"
msgstr "音é‡å‡å°é”®"
#: src/settings_translation_file.cpp
-msgid "Decrease this to increase liquid resistence to movement."
-msgstr ""
+msgid "Decrease this to increase liquid resistance to movement."
+msgstr "å‡å°æ­¤å€¼ä»¥å¢žåŠ æ¶²ä½“对è¿åŠ¨çš„阻力。"
#: src/settings_translation_file.cpp
msgid "Dedicated server step"
@@ -2473,7 +2527,7 @@ msgid ""
"Default game when creating a new world.\n"
"This will be overridden when creating a world from the main menu."
msgstr ""
-"创建新世界时默认游æˆã€‚\n"
+"创建新世界时的默认游æˆã€‚\n"
"从主èœå•åˆ›å»ºä¸€ä¸ªæ–°ä¸–界时这将被覆盖。"
#: src/settings_translation_file.cpp
@@ -2493,18 +2547,10 @@ msgid ""
"Default timeout for cURL, stated in milliseconds.\n"
"Only has an effect if compiled with cURL."
msgstr ""
-"cURL 的默认超时,å•ä½æ¯«ç§’。\n"
+"cURL 的默认时é™ï¼Œå•ä½æ¯«ç§’。\n"
"仅使用 cURL 编译时有效果。"
#: src/settings_translation_file.cpp
-msgid ""
-"Defines areas of floatland smooth terrain.\n"
-"Smooth floatlands occur when noise > 0."
-msgstr ""
-"定义 floatland 平滑地形的区域。\n"
-"当噪音0æ—¶, 平滑的 floatlands å‘生。"
-
-#: src/settings_translation_file.cpp
msgid "Defines areas where trees have apples."
msgstr "定义树上长苹果的区域."
@@ -2513,18 +2559,16 @@ msgid "Defines areas with sandy beaches."
msgstr "定义沙质海滩区域."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Defines distribution of higher terrain and steepness of cliffs."
-msgstr "定义了更高 (悬崖顶部) 地形的区域, å½±å“å³­å£çš„陡峭度。"
+msgstr "定义高地形的分布情况和悬崖陡峭程度。"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Defines distribution of higher terrain."
-msgstr "定义了 \"terrain_higher\" (悬崖顶部地形) 的区域。"
+msgstr "定义悬崖顶部地形的分布。"
#: src/settings_translation_file.cpp
msgid "Defines full size of caverns, smaller values create larger caverns."
-msgstr "定义洞穴的尺寸,数值越å°æ´žç©´è¶Šå¤§ã€‚"
+msgstr "定义大型洞穴的尺寸,数值越å°æ´žç©´è¶Šå¤§ã€‚"
#: src/settings_translation_file.cpp
msgid "Defines large-scale river channel structure."
@@ -2539,36 +2583,32 @@ msgid ""
"Defines sampling step of texture.\n"
"A higher value results in smoother normal maps."
msgstr ""
-"定义纹ç†é‡‡æ ·æ­¥éª¤ã€‚\n"
+"定义æ质采样步骤。\n"
"数值越高常æ€è´´å›¾è¶Šå¹³æ»‘。"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Defines the base ground level."
-msgstr "定义森林区域和森林密度."
+msgstr "定义基准地é¢é«˜åº¦."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Defines the depth of the river channel."
-msgstr "定义森林区域和森林密度."
+msgstr "定义水é“深度."
#: src/settings_translation_file.cpp
msgid "Defines the maximal player transfer distance in blocks (0 = unlimited)."
msgstr "定义玩家å¯ä¼ é€çš„最大è·ç¦»ï¼Œä»¥æ–¹å—为å•ä½ (0 = ä¸é™åˆ¶)。"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Defines the width of the river channel."
-msgstr "定义大尺寸的河é“结构。"
+msgstr "定义河é“宽度。"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Defines the width of the river valley."
-msgstr "定义树上长苹果的区域."
+msgstr "定义河谷宽度."
#: src/settings_translation_file.cpp
msgid "Defines tree areas and tree density."
-msgstr "定义森林区域和森林密度."
+msgstr "定义森林é¢ç§¯å’Œæ£®æž—密度。"
#: src/settings_translation_file.cpp
msgid ""
@@ -2584,22 +2624,15 @@ msgstr "建造åŽå‘é€æ–¹å—的延迟时间"
#: src/settings_translation_file.cpp
msgid "Delay showing tooltips, stated in milliseconds."
-msgstr "工具æ示显示延迟,按毫秒计算。"
+msgstr "工具æ æ˜¾ç¤ºå»¶è¿Ÿï¼ŒæŒ‰æ¯«ç§’计算。"
#: src/settings_translation_file.cpp
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 "大型洞穴的最浅深度。"
+msgstr "巨型洞穴的最浅深度。"
#: src/settings_translation_file.cpp
msgid "Depth below which you'll find large caves."
@@ -2609,20 +2642,19 @@ msgstr "大型洞穴的最浅深度。"
msgid ""
"Description of server, to be displayed when players join and in the "
"serverlist."
-msgstr "æœåŠ¡å™¨æ述,将显示在æ供给玩家的æœåŠ¡å™¨åˆ—表。"
+msgstr "æœåŠ¡å™¨æ述,将在玩家加入时å‘é€ç»™çŽ©å®¶ï¼Œå¹¶æ˜¾ç¤ºåœ¨æœåŠ¡å™¨åˆ—表。"
#: src/settings_translation_file.cpp
msgid "Desert noise threshold"
-msgstr "沙漠噪音阈值"
+msgstr "沙漠噪声阈值"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Deserts occur when np_biome exceeds this value.\n"
"When the 'snowbiomes' flag is enabled, this is ignored."
msgstr ""
"当np_biome超过该值时将产生沙漠。\n"
-"当新的生物群系系统å¯ç”¨æ—¶ï¼Œè¯¥é¡¹å°†è¢«å¿½ç•¥ã€‚"
+"当‘snowbiomes’å¯ç”¨æ—¶ï¼Œè¯¥é¡¹å°†è¢«å¿½ç•¥ã€‚"
#: src/settings_translation_file.cpp
msgid "Desynchronize block animation"
@@ -2642,7 +2674,7 @@ msgstr "ç¦æ­¢ä½¿ç”¨ç©ºå¯†ç "
#: src/settings_translation_file.cpp
msgid "Domain name of server, to be displayed in the serverlist."
-msgstr "æœåŠ¡å™¨åŸŸå,将显示在æ供给玩家的æœåŠ¡å™¨åˆ—表。"
+msgstr "æœåŠ¡å™¨åŸŸå,将显示在æœåŠ¡å™¨åˆ—表。"
#: src/settings_translation_file.cpp
msgid "Double tap jump for fly"
@@ -2657,52 +2689,52 @@ msgid "Drop item key"
msgstr "丢弃物å“é”®"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Dump the mapgen debug information."
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 "æ²³æµå™ªéŸ³"
+msgstr "地窖噪声"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Enable IPv6 support (for both client and server).\n"
+"Required for IPv6 connections to work at all."
+msgstr ""
+"为客户端和æœåŠ¡ç«¯å¯ç”¨IPv6支æŒã€‚\n"
+"需è¦IPv6网络连接å¯ç”¨ã€‚"
#: src/settings_translation_file.cpp
msgid ""
"Enable Lua modding support on client.\n"
"This support is experimental and API can change."
msgstr ""
-"å¯ç”¨Lua MOD支æŒã€‚\n"
+"å¯ç”¨å®¢æˆ·ç«¯Lua mod支æŒã€‚\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 "å¯ç”¨æ–°å»ºåœ°å›¾çš„创造模å¼ã€‚"
+msgstr "为新建地图å¯ç”¨åˆ›é€ æ¨¡å¼ã€‚"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Enable joysticks"
msgstr "å¯ç”¨æ‘‡æ†"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Enable mod channels support."
-msgstr "å¯ç”¨ mod 安全"
+msgstr "å¯ç”¨ mod 频é“支æŒã€‚"
#: src/settings_translation_file.cpp
msgid "Enable mod security"
@@ -2718,13 +2750,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 ""
@@ -2732,7 +2766,7 @@ msgid ""
"Disable for speed or for different looks."
msgstr ""
"å¯ç”¨ç®€å•çŽ¯å¢ƒå…‰é—­å¡žçš„平滑光照。\n"
-"ç¦ç”¨å¯å½±å“速度和获得ä¸åŒå¤–观。"
+"ç¦ç”¨å¯å½±å“速度或得到ä¸åŒå¤–观。"
#: src/settings_translation_file.cpp
msgid ""
@@ -2743,7 +2777,7 @@ msgid ""
"expecting."
msgstr ""
"å¯ç”¨ç¦æ­¢æ—§ç‰ˆå®¢æˆ·ç«¯è¿žæŽ¥æ¨¡å¼ã€‚\n"
-"旧版客户端是å¯å…¼å®¹çš„,它们ä¸ä¼šåœ¨è¿žæŽ¥æ–°ç‰ˆæœåŠ¡å™¨æ—¶\n"
+"兼容旧版客户端是指它们ä¸ä¼šåœ¨è¿žæŽ¥æ–°ç‰ˆæœåŠ¡å™¨æ—¶\n"
"崩溃,但å¯èƒ½ä¸æ”¯æŒæŸäº›æ‚¨æ‰€æœŸæœ›çš„新特性。"
#: src/settings_translation_file.cpp
@@ -2754,7 +2788,16 @@ msgid ""
"when connecting to the server."
msgstr ""
"å…许使用远程媒体æœåŠ¡å™¨ (如果由æœåŠ¡å™¨æä¾›)。\n"
-"连接到æœåŠ¡å™¨æ—¶ï¼Œè¿œç¨‹æœåŠ¡å™¨ä¼šæ供一ç§æ›´å¿«çš„æ–¹å¼ä¸‹è½½åª’体 (如纹ç†)。"
+"连接到æœåŠ¡å™¨æ—¶ï¼Œè¿œç¨‹æœåŠ¡å™¨ä¼šæ供一ç§æ›´å¿«çš„æ–¹å¼\n"
+"ä¸‹è½½åª’ä½“ä¿¡æ¯ (如æè´¨)。"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Enable vertex buffer objects.\n"
+"This should greatly improve graphics performance."
+msgstr ""
+"å¯ç”¨é¡¶ç‚¹ç¼“冲对象。\n"
+"这会æžå¤§æ”¹å–„图åƒæ€§èƒ½ã€‚"
#: src/settings_translation_file.cpp
msgid ""
@@ -2765,18 +2808,30 @@ msgstr ""
"例如:0是ä¸æ‘‡åŠ¨ï¼›1.0正常摇动;2.0åŒå€ã€‚"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Enable/disable running an IPv6 server.\n"
-"Ignored if bind_address is set."
+"Ignored if bind_address is set.\n"
+"Needs enable_ipv6 to be enabled."
+msgstr ""
+"å…许/ç¦æ­¢è¿è¡Œ IPv6 æœåŠ¡å™¨ã€‚\n"
+"如果设置了 bind_address 则本项被忽略。\n"
+"需è¦å¼€å¯ enable_ipv6。"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Enables Hable's 'Uncharted 2' filmic tone mapping.\n"
+"Simulates the tone curve of photographic film and how this approximates the\n"
+"appearance of high dynamic range images. Mid-range contrast is slightly\n"
+"enhanced, highlights and shadows are gradually compressed."
msgstr ""
-"å…许/ç¦æ­¢è¿è¡Œ IPv6 æœåŠ¡å™¨ã€‚一个 IPv6 æœåŠ¡å™¨å¯èƒ½ä»…é™\n"
-" IPv6 客户端,这å–决于系统é…置。\n"
-"如果设置了 bind_address 则本项被忽略。"
+"å¼€å¯Hable的“神秘海域2â€ç”µå½±å¼çš„色调映射。\n"
+"模拟电影色调曲线åŠå…¶å®žçŽ°é«˜åŠ¨æ€èŒƒå›´å›¾åƒçš„æ–¹å¼ã€‚\n"
+"略微改善中等范围对比度。\n"
+"é€æ­¥åŽ‹ç¼©é«˜äº®å’Œé˜´å½±ã€‚"
#: src/settings_translation_file.cpp
msgid "Enables animation of inventory items."
-msgstr "å¯ç”¨åº“存物å“动画。"
+msgstr "å¯ç”¨ç‰©å“清å•åŠ¨ç”»ã€‚"
#: src/settings_translation_file.cpp
msgid ""
@@ -2790,13 +2845,8 @@ msgstr ""
"需è¦å¯ç”¨ç€è‰²å™¨ã€‚"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Enables caching of facedir rotated meshes."
-msgstr "å¯ç”¨facedir rotated meshes的缓存"
-
-#: src/settings_translation_file.cpp
-msgid "Enables filmic tone mapping"
-msgstr "å¯ç”¨ç”µå½±åŸºè°ƒæ˜ å°„"
+msgstr "å¯ç”¨ç¿»è½¬ç½‘状物facedir的缓存。"
#: src/settings_translation_file.cpp
msgid "Enables minimap."
@@ -2807,7 +2857,7 @@ msgid ""
"Enables on the fly normalmap generation (Emboss effect).\n"
"Requires bumpmapping to be enabled."
msgstr ""
-"å¯ç”¨å³æ—¶æ³•çº¿ç”Ÿæˆï¼ˆæµ®é›•æ•ˆæžœï¼‰ã€‚\n"
+"å¯ç”¨å³æ—¶æ³•çº¿è´´å›¾ç”Ÿæˆï¼ˆæµ®é›•æ•ˆæžœï¼‰ã€‚\n"
"需è¦å¯ç”¨å‡¹å‡¸è´´å›¾ã€‚"
#: src/settings_translation_file.cpp
@@ -2815,13 +2865,24 @@ msgid ""
"Enables parallax occlusion mapping.\n"
"Requires shaders to be enabled."
msgstr ""
-"å¯ç”¨è§†å·®é—­å¡žæ˜ å°„。\n"
-"需è¦ç€è‰²å™¨å·²å¯ç”¨ã€‚"
+"å¯ç”¨è§†å·®é®è”½è´´å›¾ã€‚\n"
+"需è¦å¯ç”¨ç€è‰²å™¨ã€‚"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Enables the sound system.\n"
+"If disabled, this completely disables all sounds everywhere and the in-game\n"
+"sound controls will be non-functional.\n"
+"Changing this setting requires a restart."
+msgstr ""
+"å¯ç”¨å£°éŸ³ç³»ç»Ÿã€‚\n"
+"如果ç¦ç”¨ï¼Œåˆ™å®Œå…¨ç¦ç”¨æ¸¸æˆä¸­æ‰€æœ‰å£°éŸ³ã€‚\n"
+"游æˆå†…声音控制将失效。\n"
+"改å˜æ­¤è®¾ç½®éœ€è¦é‡å¯ã€‚"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Engine profiling data print interval"
-msgstr "打å°å¼•æ“Žåˆ†æžæ•°æ®é—´éš”"
+msgstr "打å°å¼•æ“Žæ€§èƒ½åˆ†æžæ•°æ®é—´éš”"
#: src/settings_translation_file.cpp
msgid "Entity methods"
@@ -2831,7 +2892,9 @@ msgstr "实体方法"
msgid ""
"Experimental option, might cause visible spaces between blocks\n"
"when set to higher number than 0."
-msgstr "实验性选项,设为大于 0 çš„æ•°å­—æ—¶å¯èƒ½å¯¼è‡´å—之间出现å¯è§ç©ºé—´ã€‚"
+msgstr ""
+"实验性选项,设为大于 0 çš„æ•°å­—æ—¶å¯èƒ½å¯¼è‡´\n"
+"å—之间出现å¯è§ç©ºé—´ã€‚"
#: src/settings_translation_file.cpp
msgid "FPS in pause menu"
@@ -2843,14 +2906,15 @@ msgstr "FSAA"
#: src/settings_translation_file.cpp
msgid "Factor noise"
-msgstr "噪音系数"
+msgstr "系数噪音"
#: src/settings_translation_file.cpp
msgid "Fall bobbing factor"
-msgstr "å è½ä¸Šä¸‹æ‘†åŠ¨"
+msgstr "å è½ä¸Šä¸‹æ‘†åŠ¨ç³»æ•°"
#: src/settings_translation_file.cpp
-msgid "Fallback font"
+#, fuzzy
+msgid "Fallback font path"
msgstr "åŽå¤‡å­—体"
#: src/settings_translation_file.cpp
@@ -2859,7 +2923,7 @@ msgstr "åŽå¤‡å­—体阴影"
#: src/settings_translation_file.cpp
msgid "Fallback font shadow alpha"
-msgstr "åŽå¤‡å­—体阴影é€æ˜Ž"
+msgstr "åŽå¤‡å­—体阴影é€æ˜Žåº¦"
#: src/settings_translation_file.cpp
msgid "Fallback font size"
@@ -2871,57 +2935,54 @@ msgstr "快速移动键"
#: src/settings_translation_file.cpp
msgid "Fast mode acceleration"
-msgstr "快速移动模å¼åŠ é€Ÿåº¦"
+msgstr "快速模å¼åŠ é€Ÿåº¦"
#: src/settings_translation_file.cpp
msgid "Fast mode speed"
-msgstr "快速移动模å¼é€Ÿåº¦"
+msgstr "快速模å¼é€Ÿåº¦"
#: src/settings_translation_file.cpp
msgid "Fast movement"
msgstr "快速移动"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Fast movement (via the \"special\" key).\n"
"This requires the \"fast\" privilege on the server."
msgstr ""
-"快速移动(通过“使用â€é”®ï¼‰ã€‚\n"
-"这需è¦æœåŠ¡å™¨å…许“快速移动â€æƒé™ã€‚"
+"快速移动(通过“特殊â€é”®ï¼‰ã€‚\n"
+"这需è¦æœåŠ¡å™¨çš„“fastâ€æƒé™ã€‚"
#: src/settings_translation_file.cpp
msgid "Field of view"
-msgstr "视界"
+msgstr "视野"
#: src/settings_translation_file.cpp
msgid "Field of view in degrees."
-msgstr "视界程度。"
+msgstr "视野角度。"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"File in client/serverlist/ that contains your favorite servers displayed in "
"the\n"
"Multiplayer Tab."
msgstr ""
-"client/serverlist/ 中的文件包å«ä¼šæ˜¾ç¤ºåœ¨â€œå¤šäººæ¸¸æˆâ€é€‰é¡¹å¡ä¸­çš„您收è—çš„æœåŠ¡å™¨ã€‚"
+"客户端/æœåŠ¡å™¨åˆ—表/ 中的文件,包å«æ˜¾ç¤ºåœ¨â€œå¤šäººæ¸¸æˆâ€é€‰é¡¹å¡ä¸­çš„您\n"
+"收è—çš„æœåŠ¡å™¨ã€‚"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Filler depth"
msgstr "填充深度"
#: src/settings_translation_file.cpp
msgid "Filler depth noise"
-msgstr "填充深度噪音"
+msgstr "填充深度噪声"
#: src/settings_translation_file.cpp
msgid "Filmic tone mapping"
-msgstr "电影基调映射"
+msgstr "电影色调映射"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Filtered textures can blend RGB values with fully-transparent neighbors,\n"
"which PNG optimizers usually discard, sometimes resulting in a dark or\n"
@@ -2938,14 +2999,12 @@ msgid "Filtering"
msgstr "过滤"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "First of 4 2D noises that together define hill/mountain range height."
-msgstr "定义tunnels的最åˆ2个3D噪音。"
+msgstr "定义决定丘陵/山地范围高度的4个2D噪声的第一项。"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "First of two 3D noises that together define tunnels."
-msgstr "定义tunnels的最åˆ2个3D噪音。"
+msgstr "定义决定通é“çš„2个3D噪音的第一项。"
#: src/settings_translation_file.cpp
msgid "Fixed map seed"
@@ -2953,32 +3012,7 @@ 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
-#, fuzzy
-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 ""
+msgstr "固定虚拟摇æ†"
#: src/settings_translation_file.cpp
msgid "Fly key"
@@ -2994,15 +3028,19 @@ msgstr "雾"
#: src/settings_translation_file.cpp
msgid "Fog start"
-msgstr ""
+msgstr "雾开始"
#: src/settings_translation_file.cpp
msgid "Fog toggle key"
-msgstr "雾切æ¢é”®"
+msgstr "雾开关键"
#: src/settings_translation_file.cpp
-msgid "Font path"
-msgstr "字体路径"
+msgid "Font bold by default"
+msgstr "默认粗体"
+
+#: src/settings_translation_file.cpp
+msgid "Font italic by default"
+msgstr "默认斜体"
#: src/settings_translation_file.cpp
msgid "Font shadow"
@@ -3013,16 +3051,20 @@ msgid "Font shadow alpha"
msgstr "字体阴影é€æ˜Žåº¦"
#: src/settings_translation_file.cpp
-msgid "Font shadow alpha (opaqueness, between 0 and 255)."
-msgstr "字体阴影ä¸é€æ˜Žåº¦ï¼ˆ0-255)。"
+msgid "Font size"
+msgstr "字体大å°"
+
+#: src/settings_translation_file.cpp
+msgid "Font size of the default font in point (pt)."
+msgstr "默认字体大å°ï¼Œå•ä½pt。"
#: src/settings_translation_file.cpp
-msgid "Font shadow offset, if 0 then shadow will not be drawn."
-msgstr "字体阴影å移,0 表示ä¸ç»˜åˆ¶é˜´å½±ã€‚"
+msgid "Font size of the fallback font in point (pt)."
+msgstr "åŽå¤‡å­—体大å°ï¼Œå•ä½pt。"
#: src/settings_translation_file.cpp
-msgid "Font size"
-msgstr "字体大å°"
+msgid "Font size of the monospace font in point (pt)."
+msgstr "等宽字体大å°ï¼Œå•ä½pt。"
#: src/settings_translation_file.cpp
msgid ""
@@ -3030,6 +3072,8 @@ msgid ""
"placeholders:\n"
"@name, @message, @timestamp (optional)"
msgstr ""
+"玩家èŠå¤©æ¶ˆæ¯æ ¼å¼ã€‚以下字符串是åˆæ³•å ä½ç¬¦ï¼š\n"
+"@name, @message, @timestamp (å¯é€‰ï¼‰"
#: src/settings_translation_file.cpp
msgid "Format of screenshots."
@@ -3037,52 +3081,51 @@ 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 "èœå•é»˜è®¤èƒŒæ™¯è‰²(R,G,B)。"
+msgstr "窗å£é»˜è®¤èƒŒæ™¯è‰²(红,绿,è“)。"
#: src/settings_translation_file.cpp
msgid "Formspec default background opacity (between 0 and 255)."
-msgstr "èœå•é»˜è®¤èƒŒæ™¯ä¸é€æ˜Žåº¦(0~255)。"
+msgstr "窗å£é»˜è®¤èƒŒæ™¯ä¸é€æ˜Žåº¦(0~255)。"
#: src/settings_translation_file.cpp
msgid "Formspec full-screen background color (R,G,B)."
-msgstr "èœå•å…¨å±èƒŒæ™¯è‰²(R,G,B)。"
+msgstr "窗å£å…¨å±èƒŒæ™¯è‰²(红,绿,è“)。"
#: src/settings_translation_file.cpp
msgid "Formspec full-screen background opacity (between 0 and 255)."
-msgstr "èœå•å…¨å±èƒŒæ™¯ä¸é€æ˜Žåº¦(0~255)。"
+msgstr "窗å£å…¨å±èƒŒæ™¯ä¸é€æ˜Žåº¦(0~255)。"
#: src/settings_translation_file.cpp
msgid "Forward key"
msgstr "å‰è¿›é”®"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Fourth of 4 2D noises that together define hill/mountain range height."
-msgstr "定义tunnels的最åˆ2个3D噪音。"
+msgstr "定义决定丘陵/山地范围高度的4个2D噪声的第四项。"
#: src/settings_translation_file.cpp
msgid "Fractal type"
-msgstr ""
+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
msgid "FreeType fonts"
@@ -3107,6 +3150,11 @@ msgid ""
"to maintain active objects up to this distance in the direction the\n"
"player is looking. (This can avoid mobs suddenly disappearing from view)"
msgstr ""
+"客户端得知对象的è·ç¦»å¤šè¿œï¼Œä»¥åœ°å›¾åŒºå—(16 æ–¹å—)为å•ä½ã€‚\n"
+"\n"
+"将此值设定为大于active_block_range的值也会导致æœåŠ¡å™¨å‘\n"
+"玩家注视方å‘维护活跃对象至此è·ç¦»ï¼ˆè¿™å¯ä»¥é¿å…mobçªç„¶ä»Ž\n"
+"视野中消失)"
#: src/settings_translation_file.cpp
msgid "Full screen"
@@ -3122,23 +3170,19 @@ msgstr "å…¨å±æ¨¡å¼ã€‚"
#: src/settings_translation_file.cpp
msgid "GUI scaling"
-msgstr "用户图形界é¢ç¼©æ”¾"
+msgstr "GUI缩放"
#: src/settings_translation_file.cpp
msgid "GUI scaling filter"
-msgstr "用户图形界é¢ç¼©æ”¾è¿‡æ»¤å™¨"
+msgstr "GUI缩放过滤器"
#: src/settings_translation_file.cpp
msgid "GUI scaling filter txr2img"
-msgstr "用户图形界é¢ç¼©æ”¾è¿‡æ»¤å™¨ txr2img"
-
-#: src/settings_translation_file.cpp
-msgid "Gamma"
-msgstr "伽马"
+msgstr "GUI缩放过滤器 txr2img"
#: src/settings_translation_file.cpp
msgid "Generate normalmaps"
-msgstr "生æˆå¸¸è§„地图"
+msgstr "生æˆå‘现贴图"
#: src/settings_translation_file.cpp
msgid "Global callbacks"
@@ -3150,14 +3194,25 @@ msgid ""
"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"
+"在其他地图生æˆå™¨ä¸­æ­¤æ ‡ç­¾æŽ§åˆ¶æ‰€æœ‰è£…饰物。"
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at maximum light level."
+msgid ""
+"Gradient of light curve at maximum light level.\n"
+"Controls the contrast of the highest light levels."
msgstr ""
+"最大光照下的光曲线梯度。\n"
+"控制最高光照级别的对比度。"
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at minimum light level."
+msgid ""
+"Gradient of light curve at minimum light level.\n"
+"Controls the contrast of the lowest light levels."
msgstr ""
+"最低亮度下亮度曲线的梯度。\n"
+"控制最低亮度下的对比度。"
#: src/settings_translation_file.cpp
msgid "Graphics"
@@ -3176,9 +3231,8 @@ msgid "Ground noise"
msgstr "地é¢å™ªå£°"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "HTTP mods"
-msgstr "HTTP Mod"
+msgstr "HTTP Mods"
#: src/settings_translation_file.cpp
msgid "HUD scale factor"
@@ -3186,11 +3240,11 @@ msgstr "HUD 缩放比例系数"
#: src/settings_translation_file.cpp
msgid "HUD toggle key"
-msgstr "HUD 切æ¢é”®"
+msgstr "HUD 开关键"
#: src/settings_translation_file.cpp
msgid ""
-"Handling for deprecated lua api calls:\n"
+"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)."
@@ -3198,7 +3252,7 @@ msgstr ""
"处ç†å·²å¼ƒç”¨çš„ Lua API 调用:\n"
"- 兼容:(å°è¯•ï¼‰æ¨¡æ‹Ÿæ—§çš„调用(å‘布版本的默认值)。\n"
"- 记录:模拟并记录已弃用的调用的回溯(调试的默认值)。\n"
-"- 错误:使用已弃用的调用是åœæ­¢ï¼ˆMod å¼€å‘人员推è)。"
+"- 错误:åœæ­¢ä½¿ç”¨å·²å¼ƒç”¨çš„调用(Mod å¼€å‘人员推è)。"
#: src/settings_translation_file.cpp
msgid ""
@@ -3208,6 +3262,10 @@ msgid ""
"call).\n"
"* Instrument the sampler being used to update the statistics."
msgstr ""
+"使性能分æžè®¡æ•°å™¨è‡ªèº«ï¼š\n"
+"* 计数空函数。\n"
+"估测计数器增加的性能开支。\n"
+"* 计数被用于更新统计的å–样器。"
#: src/settings_translation_file.cpp
msgid "Heat blend noise"
@@ -3242,24 +3300,20 @@ msgid "Hill threshold"
msgstr "山丘阈值"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hilliness1 noise"
-msgstr "洞穴噪音 #1"
+msgstr "山丘噪声 #1"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hilliness2 noise"
-msgstr "洞穴噪音 #1"
+msgstr "山丘噪声 #2"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hilliness3 noise"
-msgstr "洞穴噪音 #1"
+msgstr "山丘噪声 #3"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hilliness4 noise"
-msgstr "洞穴噪音 #1"
+msgstr "山丘噪声 #4"
#: src/settings_translation_file.cpp
msgid "Homepage of server, to be displayed in the serverlist."
@@ -3270,158 +3324,174 @@ msgid ""
"Horizontal acceleration in air when jumping or falling,\n"
"in nodes per second per second."
msgstr ""
+"跳跃和掉è½çš„水平加速度。\n"
+"å•ä½ä¸ºæ–¹å—æ¯äºŒæ¬¡æ–¹ç§’。"
#: src/settings_translation_file.cpp
msgid ""
"Horizontal and vertical acceleration in fast mode,\n"
"in nodes per second per second."
msgstr ""
+"快速模å¼çš„水平和竖直加速度。\n"
+"å•ä½ä¸ºæ–¹å—æ¯äºŒæ¬¡æ–¹ç§’。"
#: src/settings_translation_file.cpp
msgid ""
"Horizontal and vertical acceleration on ground or when climbing,\n"
"in nodes per second per second."
msgstr ""
+"行走或攀爬的水平和竖直加速度。\n"
+"å•ä½ä¸ºæ–¹å—æ¯äºŒæ¬¡æ–¹ç§’。"
#: src/settings_translation_file.cpp
msgid "Hotbar next key"
-msgstr "å¿«æ·æ ä¸‹ä¸€ä¸ª é”®"
+msgstr "å¿«æ·æ ä¸‹ä¸€ä¸ªé”®"
#: src/settings_translation_file.cpp
msgid "Hotbar previous key"
-msgstr "å¿«æ·æ ä¸Šä¸€ä¸ª é”®"
+msgstr "å¿«æ·æ ä¸Šä¸€ä¸ªé”®"
#: src/settings_translation_file.cpp
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."
-msgstr "使河æµå¤šæ·±ã€‚"
+msgstr "生æˆæ²³æµå¤šæ·±ã€‚"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"How fast liquid waves will move. Higher = faster.\n"
+"If negative, liquid waves will move backwards.\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+"液体波移动多快。更高值=更快。\n"
+"如果为负,液体波å‘åŽç§»åŠ¨ã€‚\n"
+"需è¦æ³¢åŠ¨æ¶²ä½“å¯ç”¨ã€‚"
#: src/settings_translation_file.cpp
msgid ""
@@ -3433,7 +3503,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "How wide to make rivers."
-msgstr "使河æµå¤šå®½ã€‚"
+msgstr "生æˆæ²³æµå¤šå®½ã€‚"
#: src/settings_translation_file.cpp
msgid "Humidity blend noise"
@@ -3456,14 +3526,12 @@ msgid "IPv6 server"
msgstr "IPv6 æœåŠ¡å™¨"
#: src/settings_translation_file.cpp
-msgid "IPv6 support."
-msgstr "IPv6 支æŒã€‚"
-
-#: 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 å¯ä»¥è¶…过此值,é™åˆ¶å®ƒä»¥èŠ‚çœ CPU 功耗,因为没有更多好处。"
+msgstr ""
+"如果 FPS å¯ä»¥è¶…过此值,通过ç¡çœ é™åˆ¶å®ƒä»¥\n"
+"节çœæ— æ•ˆ CPU 功耗。"
#: src/settings_translation_file.cpp
msgid ""
@@ -3492,7 +3560,7 @@ msgid ""
"This requires the \"noclip\" privilege on the server."
msgstr ""
"使玩家å¯ä»¥åœ¨é£žè¡Œå¯ç”¨æ—¶é£žè¿‡å›ºä½“æ–¹å—。\n"
-"这需è¦æœåŠ¡å™¨çš„“noclipâ€ç‰¹æƒã€‚"
+"这需è¦æœåŠ¡å™¨çš„“noclipâ€æƒé™ã€‚"
#: src/settings_translation_file.cpp
msgid ""
@@ -3532,14 +3600,13 @@ msgid "If enabled, new players cannot join with an empty password."
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"
-"在å°åŒºåŸŸä¸­ä½¿ç”¨æ–¹å—框时,这很有用。"
+"如果å¯ç”¨ï¼Œæ‚¨å¯ä»¥å°†æ–¹å—放置在您站立的ä½ç½®ï¼ˆè„š+视线水平)。\n"
+"在å°åŒºåŸŸä¸­ä½¿ç”¨æ–¹å—框型方å—时,这很有用。"
#: src/settings_translation_file.cpp
msgid ""
@@ -3547,6 +3614,8 @@ msgid ""
"limited\n"
"to this distance from the player to the node."
msgstr ""
+"如果客户端modæ–¹å—范围é™åˆ¶å¯ç”¨ï¼Œé™åˆ¶get_node至玩家\n"
+"到方å—çš„è·ç¦»"
#: src/settings_translation_file.cpp
msgid ""
@@ -3555,6 +3624,10 @@ msgid ""
"deleting an older debug.txt.1 if it exists.\n"
"debug.txt is only moved if this setting is positive."
msgstr ""
+"如果 debug.txt 的文件大å°åœ¨ 打开时超过设置,\n"
+"这个文件将被移动到debug.txt.1, \n"
+"如果存在较旧的debug.txt.1,则旧的将被删除。 \n"
+"仅当此设置为正时,æ‰ä¼šç§»åŠ¨ debug.txt。"
#: src/settings_translation_file.cpp
msgid "If this is set, players will always (re)spawn at the given position."
@@ -3574,7 +3647,7 @@ msgstr "游æˆå†…èŠå¤©æŽ§åˆ¶å°èƒŒæ™¯ alpha 值(ä¸é€æ˜Žåº¦ï¼Œ0~255)。"
#: src/settings_translation_file.cpp
msgid "In-game chat console background color (R,G,B)."
-msgstr "游æˆå†…èŠå¤©æŽ§åˆ¶å°èƒŒæ™¯è‰²(R,G,B)。"
+msgstr "游æˆå†…èŠå¤©æŽ§åˆ¶å°èƒŒæ™¯è‰²(红,绿,è“)。"
#: src/settings_translation_file.cpp
msgid "In-game chat console height, between 0.1 (10%) and 1.0 (100%)."
@@ -3586,15 +3659,15 @@ msgstr "音é‡å¢žå¤§é”®"
#: src/settings_translation_file.cpp
msgid "Initial vertical speed when jumping, in nodes per second."
-msgstr ""
+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."
@@ -3605,26 +3678,26 @@ msgid ""
"Instrument global callback functions on registration.\n"
"(anything you pass to a minetest.register_*() function)"
msgstr ""
-"登录时检测全局回调函数。\n"
+"注册时计数全局回调函数。\n"
"(传递给 minetest.register_*() 函数的任何内容)"
#: src/settings_translation_file.cpp
msgid ""
"Instrument the action function of Active Block Modifiers on registration."
-msgstr ""
+msgstr "注册时计数ABM的行为函数。"
#: src/settings_translation_file.cpp
msgid ""
"Instrument the action function of Loading Block Modifiers on registration."
-msgstr ""
+msgstr "注册时计数LBM的行为函数。"
#: 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."
@@ -3636,11 +3709,11 @@ msgstr "å‘客户端å‘é€æ—¶é—´çš„间隔。"
#: src/settings_translation_file.cpp
msgid "Inventory items animations"
-msgstr "库存物å“动画"
+msgstr "物å“清å•ç‰©å“动画"
#: src/settings_translation_file.cpp
msgid "Inventory key"
-msgstr "库存键"
+msgstr "物å“清å•é”®"
#: src/settings_translation_file.cpp
msgid "Invert mouse"
@@ -3651,6 +3724,14 @@ msgid "Invert vertical mouse movement."
msgstr "å转垂直鼠标移动。"
#: src/settings_translation_file.cpp
+msgid "Italic font path"
+msgstr "斜体字体路径"
+
+#: src/settings_translation_file.cpp
+msgid "Italic monospace font path"
+msgstr "斜体等宽字体路径"
+
+#: src/settings_translation_file.cpp
msgid "Item entity TTL"
msgstr "物å“实体 TTL"
@@ -3665,6 +3746,10 @@ msgid ""
"increases processing load.\n"
"At iterations = 20 this mapgen has a similar load to mapgen V7."
msgstr ""
+"递归函数迭代数。\n"
+"增加此值会增加细节é‡ï¼Œä½†ä¹Ÿä¼š\n"
+"增加处ç†å™¨è´Ÿè·ã€‚\n"
+"在迭代数=20时地图生æˆå™¨æœ‰ä¸Žåœ°å›¾ç”Ÿæˆå™¨v4相似的负è·ã€‚"
#: src/settings_translation_file.cpp
msgid "Joystick ID"
@@ -3676,7 +3761,7 @@ msgstr "摇æ†æŒ‰é’®é‡å¤é—´éš”"
#: src/settings_translation_file.cpp
msgid "Joystick frustum sensitivity"
-msgstr "摇æ†çµæ•åº¦"
+msgstr "摇æ†å¤´çµæ•åº¦"
#: src/settings_translation_file.cpp
msgid "Joystick type"
@@ -3690,6 +3775,11 @@ msgid ""
"Has no effect on 3D fractals.\n"
"Range roughly -2 to 2."
msgstr ""
+"仅朱莉亚集åˆã€‚\n"
+"超å¤æ•°å¸¸æ•°çš„Wæˆåˆ†ã€‚\n"
+"改å˜åˆ†å½¢å›¾å½¢å½¢çŠ¶ã€‚\n"
+"对3D分形无影å“。\n"
+"大致在-2到2之间。"
#: src/settings_translation_file.cpp
msgid ""
@@ -3698,6 +3788,10 @@ msgid ""
"Alters the shape of the fractal.\n"
"Range roughly -2 to 2."
msgstr ""
+"仅朱莉亚集åˆã€‚\n"
+"超å¤æ•°å¸¸æ•°çš„Xæˆåˆ†ã€‚\n"
+"改å˜åˆ†å½¢å›¾å½¢å½¢çŠ¶ã€‚\n"
+"大致在-2到2之间。"
#: src/settings_translation_file.cpp
msgid ""
@@ -3706,6 +3800,10 @@ msgid ""
"Alters the shape of the fractal.\n"
"Range roughly -2 to 2."
msgstr ""
+"仅朱莉亚集åˆã€‚\n"
+"超å¤æ•°å¸¸æ•°çš„Yæˆåˆ†ã€‚\n"
+"改å˜åˆ†å½¢å›¾å½¢å½¢çŠ¶ã€‚\n"
+"大致在-2到2之间。"
#: src/settings_translation_file.cpp
msgid ""
@@ -3714,22 +3812,26 @@ msgid ""
"Alters the shape of the fractal.\n"
"Range roughly -2 to 2."
msgstr ""
+"仅朱莉亚集åˆã€‚\n"
+"超å¤æ•°å¸¸æ•°çš„Zæˆåˆ†ã€‚\n"
+"改å˜åˆ†å½¢å›¾å½¢å½¢çŠ¶ã€‚\n"
+"大致在-2到2之间。"
#: src/settings_translation_file.cpp
msgid "Julia w"
-msgstr ""
+msgstr "朱莉亚w"
#: src/settings_translation_file.cpp
msgid "Julia x"
-msgstr ""
+msgstr "朱莉亚x"
#: src/settings_translation_file.cpp
msgid "Julia y"
-msgstr ""
+msgstr "朱莉亚y"
#: src/settings_translation_file.cpp
msgid "Julia z"
-msgstr ""
+msgstr "朱莉亚z"
#: src/settings_translation_file.cpp
msgid "Jump key"
@@ -3745,6 +3847,9 @@ msgid ""
"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 ""
@@ -3752,6 +3857,9 @@ msgid ""
"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 ""
@@ -3759,6 +3867,9 @@ msgid ""
"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 ""
@@ -3766,6 +3877,9 @@ msgid ""
"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 ""
@@ -3773,6 +3887,9 @@ msgid ""
"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 ""
@@ -3780,6 +3897,9 @@ msgid ""
"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 ""
@@ -3787,6 +3907,9 @@ msgid ""
"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 ""
@@ -3795,6 +3918,10 @@ 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 ""
@@ -3802,6 +3929,9 @@ msgid ""
"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 ""
@@ -3809,6 +3939,9 @@ msgid ""
"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 ""
@@ -3816,6 +3949,9 @@ msgid ""
"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 ""
@@ -3823,6 +3959,9 @@ msgid ""
"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 ""
@@ -3830,6 +3969,9 @@ msgid ""
"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 ""
@@ -3837,6 +3979,9 @@ msgid ""
"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 ""
@@ -3844,6 +3989,9 @@ msgid ""
"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 ""
@@ -3851,6 +3999,9 @@ msgid ""
"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 ""
@@ -3858,6 +4009,9 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
+"选择快æ·æ ç¬¬11个ä½ç½®é”®ã€‚\n"
+"è§http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -3865,6 +4019,9 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
+"选择快æ·æ ç¬¬12个ä½ç½®é”®ã€‚\n"
+"è§http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -3872,6 +4029,9 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
+"选择快æ·æ ç¬¬13个ä½ç½®é”®ã€‚\n"
+"è§http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -3879,6 +4039,9 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
+"选择快æ·æ ç¬¬14个ä½ç½®é”®ã€‚\n"
+"è§http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -3886,6 +4049,9 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
+"选择快æ·æ ç¬¬15个ä½ç½®é”®ã€‚\n"
+"è§http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -3893,6 +4059,9 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
+"选择快æ·æ ç¬¬16个ä½ç½®é”®ã€‚\n"
+"è§http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -3900,6 +4069,9 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
+"选择快æ·æ ç¬¬17个ä½ç½®é”®ã€‚\n"
+"è§http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -3907,6 +4079,9 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
+"选择快æ·æ ç¬¬18个ä½ç½®é”®ã€‚\n"
+"è§http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -3914,6 +4089,9 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
+"选择快æ·æ ç¬¬19个ä½ç½®é”®ã€‚\n"
+"è§http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -3921,6 +4099,9 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
+"选择快æ·æ ç¬¬20个ä½ç½®é”®ã€‚\n"
+"è§http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -3928,6 +4109,9 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
+"选择快æ·æ ç¬¬21个ä½ç½®é”®ã€‚\n"
+"è§http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -3935,6 +4119,9 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
+"选择快æ·æ ç¬¬22个ä½ç½®é”®ã€‚\n"
+"è§http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -3942,6 +4129,9 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
+"选择快æ·æ ç¬¬23个ä½ç½®é”®ã€‚\n"
+"è§http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -3949,6 +4139,9 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
+"选择快æ·æ ç¬¬24个ä½ç½®é”®ã€‚\n"
+"è§http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -3956,6 +4149,9 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
+"选择快æ·æ ç¬¬25个ä½ç½®é”®ã€‚\n"
+"è§http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -3963,6 +4159,9 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
+"选择快æ·æ ç¬¬26个ä½ç½®é”®ã€‚\n"
+"è§http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -3970,6 +4169,9 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
+"选择快æ·æ ç¬¬27个ä½ç½®é”®ã€‚\n"
+"è§http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -3977,6 +4179,9 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
+"选择快æ·æ ç¬¬28个ä½ç½®é”®ã€‚\n"
+"è§http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -3984,6 +4189,9 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
+"选择快æ·æ ç¬¬29个ä½ç½®é”®ã€‚\n"
+"è§http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -3991,6 +4199,9 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
+"选择快æ·æ ç¬¬30个ä½ç½®é”®ã€‚\n"
+"è§http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -3998,6 +4209,9 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
+"选择快æ·æ ç¬¬31个ä½ç½®é”®ã€‚\n"
+"è§http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4005,6 +4219,9 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
+"选择快æ·æ ç¬¬32个ä½ç½®é”®ã€‚\n"
+"è§http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4012,6 +4229,9 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
+"选择快æ·æ ç¬¬8个ä½ç½®é”®ã€‚\n"
+"è§http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4019,6 +4239,9 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
+"选择快æ·æ ç¬¬5个ä½ç½®é”®ã€‚\n"
+"è§http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4026,6 +4249,9 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
+"选择快æ·æ ç¬¬1个ä½ç½®é”®ã€‚\n"
+"è§http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4033,6 +4259,9 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
+"选择快æ·æ ç¬¬4个ä½ç½®é”®ã€‚\n"
+"è§http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4040,6 +4269,9 @@ msgid ""
"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 ""
@@ -4047,6 +4279,9 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
+"选择快æ·æ ç¬¬9个ä½ç½®é”®ã€‚\n"
+"è§http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4054,6 +4289,9 @@ msgid ""
"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 ""
@@ -4061,6 +4299,9 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
+"选择快æ·æ ç¬¬2个ä½ç½®é”®ã€‚\n"
+"è§http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4068,6 +4309,9 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
+"选择快æ·æ ç¬¬7个ä½ç½®é”®ã€‚\n"
+"è§http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4075,6 +4319,9 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
+"选择快æ·æ ç¬¬6个ä½ç½®é”®ã€‚\n"
+"è§http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4082,6 +4329,9 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
+"选择快æ·æ ç¬¬10个ä½ç½®é”®ã€‚\n"
+"è§http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4089,6 +4339,9 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
+"选择快æ·æ ç¬¬3个ä½ç½®é”®ã€‚\n"
+"è§http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -4098,6 +4351,10 @@ msgid ""
"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 ""
@@ -4105,6 +4362,9 @@ msgid ""
"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 ""
@@ -4112,6 +4372,9 @@ msgid ""
"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 ""
@@ -4119,6 +4382,9 @@ msgid ""
"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 ""
@@ -4126,6 +4392,9 @@ msgid ""
"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 ""
@@ -4133,6 +4402,9 @@ msgid ""
"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 ""
@@ -4140,6 +4412,9 @@ msgid ""
"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 ""
@@ -4147,6 +4422,9 @@ msgid ""
"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 ""
@@ -4154,6 +4432,9 @@ msgid ""
"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 ""
@@ -4161,6 +4442,9 @@ msgid ""
"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 ""
@@ -4168,6 +4452,9 @@ msgid ""
"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 ""
@@ -4175,6 +4462,9 @@ msgid ""
"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 ""
@@ -4182,6 +4472,9 @@ msgid ""
"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 ""
@@ -4189,6 +4482,9 @@ msgid ""
"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 ""
@@ -4196,6 +4492,9 @@ msgid ""
"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 ""
@@ -4203,6 +4502,9 @@ msgid ""
"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 ""
@@ -4210,6 +4512,9 @@ msgid ""
"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 ""
@@ -4217,6 +4522,9 @@ msgid ""
"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 ""
@@ -4224,20 +4532,21 @@ msgid ""
"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 ""
+msgstr "æ出在10秒内å‘é€è¶…过Xæ¡æ¶ˆæ¯çš„玩家。"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Lake steepness"
-msgstr "地图生æˆå™¨å¹³é¢æ¹–å¡åº¦"
+msgstr "æ¹–å¡åº¦"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Lake threshold"
-msgstr "地图生æˆå™¨å¹³é¢é˜ˆå€¼"
+msgstr "湖阈值"
#: src/settings_translation_file.cpp
msgid "Language"
@@ -4245,17 +4554,23 @@ msgstr "语言"
#: src/settings_translation_file.cpp
msgid "Large cave depth"
-msgstr "巨大洞穴深度"
+msgstr "大型洞穴深度"
#: src/settings_translation_file.cpp
-#, fuzzy
-msgid "Large chat console key"
-msgstr "控制å°é”®"
+msgid "Large cave maximum number"
+msgstr "大型洞穴最大数é‡"
#: src/settings_translation_file.cpp
-#, fuzzy
-msgid "Lava depth"
-msgstr "巨大洞穴深度"
+msgid "Large cave minimum number"
+msgstr "大型洞穴最å°æ•°é‡"
+
+#: src/settings_translation_file.cpp
+msgid "Large cave proportion flooded"
+msgstr "大型洞穴淹没比"
+
+#: src/settings_translation_file.cpp
+msgid "Large chat console key"
+msgstr "大型èŠå¤©æŽ§åˆ¶å°é”®"
#: src/settings_translation_file.cpp
msgid "Leaves style"
@@ -4268,6 +4583,10 @@ msgid ""
"- 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"
@@ -4279,18 +4598,28 @@ msgid ""
"updated over\n"
"network."
msgstr ""
+"æœåŠ¡å™¨æ—¶é’ŸèŠ‚æ‹é•¿åº¦ï¼Œé€šå¸¸ä¹Ÿæ˜¯å¯¹è±¡é€šè¿‡ç½‘络更新的\n"
+"时间间隔。"
#: src/settings_translation_file.cpp
-msgid "Length of time between Active Block Modifier (ABM) execution cycles"
+msgid ""
+"Length of liquid waves.\n"
+"Requires waving liquids to be enabled."
msgstr ""
+"液体波长度。\n"
+"需è¦æ³¢åŠ¨æ¶²ä½“å¯ç”¨ã€‚"
+
+#: src/settings_translation_file.cpp
+msgid "Length of time between Active Block Modifier (ABM) execution cycles"
+msgstr "ABM执行循环时长"
#: src/settings_translation_file.cpp
msgid "Length of time between NodeTimer execution cycles"
-msgstr ""
+msgstr "NodeTimer执行循环时长"
#: src/settings_translation_file.cpp
msgid "Length of time between active block management cycles"
-msgstr ""
+msgstr "活动方å—管ç†å¾ªçŽ¯æ—¶é•¿"
#: src/settings_translation_file.cpp
msgid ""
@@ -4303,22 +4632,38 @@ msgid ""
"- info\n"
"- verbose"
msgstr ""
+"写入debug.txt的日志等级:\n"
+"- <无>(无日志)\n"
+"- 无等级(none)(无等级的消æ¯ï¼‰\n"
+"- 错误(error)\n"
+"- 警告(warning)\n"
+"- 行为(action)\n"
+"- ä¿¡æ¯ï¼ˆinfo)\n"
+"- 冗长调试信æ¯ï¼ˆverbose)"
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost"
-msgstr ""
+msgid "Light curve boost"
+msgstr "亮度曲线æå‡"
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost center"
-msgstr ""
+msgid "Light curve boost center"
+msgstr "亮度曲线æå‡ä¸­å¿ƒ"
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost spread"
-msgstr ""
+msgid "Light curve boost spread"
+msgstr "亮度曲线æå‡ç‚¹å·®"
#: src/settings_translation_file.cpp
-msgid "Lightness sharpness"
-msgstr ""
+msgid "Light curve gamma"
+msgstr "亮度曲线gamma"
+
+#: src/settings_translation_file.cpp
+msgid "Light curve high gradient"
+msgstr "亮度曲线高梯度"
+
+#: src/settings_translation_file.cpp
+msgid "Light curve low gradient"
+msgstr "亮度曲线低梯度"
#: src/settings_translation_file.cpp
msgid "Limit of emerge queues on disk"
@@ -4326,7 +4671,7 @@ msgstr "ç£ç›˜ä¸Šçš„生产队列é™åˆ¶"
#: src/settings_translation_file.cpp
msgid "Limit of emerge queues to generate"
-msgstr "è¦ç”Ÿæˆçš„生产队列ç»å¯¹é™åˆ¶"
+msgstr "è¦ç”Ÿæˆçš„生产队列é™åˆ¶"
#: src/settings_translation_file.cpp
msgid ""
@@ -4334,6 +4679,9 @@ msgid ""
"Only mapchunks completely within the mapgen limit are generated.\n"
"Value is stored per-world."
msgstr ""
+"从(0,0,0)å‘全部6个方å‘的地图生æˆé™åˆ¶ï¼Œå•ä½ä¸ºæ–¹å—。\n"
+"地图生æˆå™¨åªç”Ÿæˆå®Œå…¨åœ¨æ­¤é™åˆ¶çš„地图å—。\n"
+"此值为æ¯ä¸ªä¸–ç•Œå•ç‹¬ä¿å­˜ã€‚"
#: src/settings_translation_file.cpp
msgid ""
@@ -4343,6 +4691,11 @@ msgid ""
"- Downloads performed by main menu (e.g. mod manager).\n"
"Only has an effect if compiled with cURL."
msgstr ""
+"并行HTTP请求数é™åˆ¶ã€‚\n"
+"- 如果æœåŠ¡å™¨ä½¿ç”¨remote_media设置,影å“媒体信æ¯èŽ·å–。\n"
+"- å½±å“æœåŠ¡å™¨åˆ—表下载和æœåŠ¡å™¨å…¬å¼€ã€‚\n"
+"- 主èœå•ä¸‹è½½ï¼ˆä¾‹å¦‚mod管ç†å™¨ï¼‰\n"
+"仅在编译时å¯ç”¨cURL时起作用。"
#: src/settings_translation_file.cpp
msgid "Liquid fluidity"
@@ -4354,14 +4707,13 @@ msgstr "液体æµåŠ¨æ€§å¹³æ»‘"
#: src/settings_translation_file.cpp
msgid "Liquid loop max"
-msgstr "液体循环最大"
+msgstr "液体循环最大值"
#: src/settings_translation_file.cpp
msgid "Liquid queue purge time"
msgstr "液体队列清除时间"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Liquid sinking"
msgstr "液体下沉"
@@ -4371,11 +4723,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 ""
@@ -4383,33 +4735,34 @@ msgid ""
"Provides a /profiler command to access the compiled profile.\n"
"Useful for mod developers and server operators."
msgstr ""
+"读å–游æˆæ€§èƒ½åˆ†æžå›¾ä»¥æ”¶é›†æ¸¸æˆæ€§èƒ½åˆ†æžæ•°æ®ã€‚\n"
+"æä¾›/profiler命令用于访问编译的性能分æžå›¾ã€‚\n"
+"对modå¼€å‘者和æœåŠ¡å™¨ç®¡ç†å‘˜æœ‰ç”¨ã€‚"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Loading Block Modifiers"
-msgstr "活动区å—修改间隔"
+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 ""
+msgstr "使雾和天空颜色ä¾èµ–于一天中的时间(黎明/å‚晚)和视线方å‘。"
#: src/settings_translation_file.cpp
msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles."
-msgstr ""
+msgstr "使DirectXå’ŒLuaJIT一起工作。如果这导致了问题ç¦ç”¨å®ƒã€‚"
#: src/settings_translation_file.cpp
msgid "Makes all liquids opaque"
@@ -4421,34 +4774,45 @@ msgstr "地图目录"
#: src/settings_translation_file.cpp
msgid "Map generation attributes specific to Mapgen Carpathian."
-msgstr ""
+msgstr "针对Carpathian地图生æˆå™¨çš„属性。"
#: 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."
+"Map generation attributes specific to Mapgen Flat.\n"
+"Occasional lakes and hills can be added to the flat world."
msgstr ""
+"针对Flat地图生æˆå™¨çš„属性。\n"
+"有时湖泊和丘陵å¯åŠ å…¥å¹³å¦çš„世界。"
#: src/settings_translation_file.cpp
msgid ""
-"Map generation attributes specific to Mapgen flat.\n"
+"Map generation attributes specific to Mapgen Fractal.\n"
"'terrain' enables the generation of non-fractal terrain:\n"
"ocean, islands and underground."
msgstr ""
+"针对Fractal地图生æˆå™¨çš„属性。\n"
+"'terrain'å¯ç”¨éžåˆ†å½¢åœ°å›¾çš„生æˆï¼š\n"
+"海洋,岛屿和地下地形。"
#: 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."
+"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 ""
+"针对Valley地图生æˆå™¨çš„属性。\n"
+"'altitude_chill':éšæµ·æ‹”高度å‡å°çƒ­é‡ã€‚\n"
+"'humid_rivers':增加河æµå‘¨å›´çš„湿度。\n"
+"'vary_river_depth':如果å¯ç”¨ï¼Œé«˜çƒ­é‡ä½Žæ¹¿åº¦å¯¼è‡´æ²³æµ\n"
+"å˜æµ…甚至干枯。\n"
+"'altitude_dry':éšæµ·æ‹”高度å‡å°æ¹¿åº¦ã€‚"
#: src/settings_translation_file.cpp
msgid "Map generation attributes specific to Mapgen v5."
-msgstr ""
+msgstr "针对v5地图生æˆå™¨çš„属性。"
#: src/settings_translation_file.cpp
msgid ""
@@ -4457,12 +4821,18 @@ msgid ""
"When the 'snowbiomes' flag is enabled jungles are automatically enabled and\n"
"the 'jungles' flag is ignored."
msgstr ""
+"针对v6地图生æˆå™¨çš„属性。\n"
+"'snowboimes'å¯ç”¨æ–°ç‰ˆ5群è½ç³»ç»Ÿã€‚\n"
+"当'snowbiomes'å¼€å¯ä½¿ä¸›æž—自动å¯ç”¨ï¼Œ\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"
@@ -4477,87 +4847,72 @@ msgid "Mapblock limit"
msgstr "地图å—é™åˆ¶"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapblock mesh generation delay"
-msgstr "地图生æˆé™åˆ¶"
+msgstr "地图生æˆå»¶æ—¶"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapblock mesh generator's MapBlock cache size in MB"
-msgstr "地图生æˆé™åˆ¶"
+msgstr "地图生æˆç¼“存大å°"
#: src/settings_translation_file.cpp
msgid "Mapblock unload timeout"
-msgstr "地图å—å¸è½½è¶…æ—¶"
+msgstr "地图å—å¸è½½æ—¶é™"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen Carpathian"
-msgstr "地图生æˆå™¨åˆ†å½¢"
+msgstr "地图生æˆå™¨Carpathian"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen Carpathian specific flags"
-msgstr "地图生æˆå™¨å¹³é¢æ ‡å¿—"
+msgstr "地图生æˆå™¨Carpathian标签"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen Flat"
-msgstr "地图生æˆå™¨å¹³é¢"
+msgstr "地图生æˆå™¨Flat"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen Flat specific flags"
-msgstr "地图生æˆå™¨å¹³é¢æ ‡å¿—"
+msgstr "地图生æˆå™¨Flat标签"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen Fractal"
-msgstr "地图生æˆå™¨åˆ†å½¢"
+msgstr "地图生æˆå™¨Fractal"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen Fractal specific flags"
-msgstr "地图生æˆå™¨å¹³é¢æ ‡å¿—"
+msgstr "地图生æˆå™¨Fractal标签"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen V5"
msgstr "地图生æˆå™¨ v5"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen V5 specific flags"
-msgstr "地图生æˆå™¨ v6 标志"
+msgstr "地图生æˆå™¨ v5 标签"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen V6"
msgstr "地图生æˆå™¨ v6"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen V6 specific flags"
-msgstr "地图生æˆå™¨ v6 标志"
+msgstr "地图生æˆå™¨ v6 标签"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen V7"
msgstr "地图生æˆå™¨ v7"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen V7 specific flags"
-msgstr "地图生æˆå™¨ v7 标志"
+msgstr "地图生æˆå™¨ v7 标签"
#: src/settings_translation_file.cpp
msgid "Mapgen Valleys"
-msgstr "地图生æˆå™¨å±±è°·"
+msgstr "地图生æˆå™¨Valleys"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen Valleys specific flags"
-msgstr "地图生æˆå™¨å¹³é¢æ ‡å¿—"
+msgstr "地图生æˆå™¨Valleys标签"
#: src/settings_translation_file.cpp
msgid "Mapgen debug"
@@ -4573,19 +4928,19 @@ 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."
-msgstr ""
+msgstr "æ¯ä¸ªæ—¶é’Ÿé—´éš”内液体的最大处ç†é€Ÿåº¦ã€‚"
#: src/settings_translation_file.cpp
msgid "Max. clearobjects extra blocks"
-msgstr ""
+msgstr "最大clearobjectsé¢å¤–æ–¹å—æ•°"
#: src/settings_translation_file.cpp
msgid "Max. packets per iteration"
@@ -4608,10 +4963,20 @@ msgid "Maximum hotbar width"
msgstr "最大快æ·æ å®½åº¦"
#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of large caves per mapchunk."
+msgstr "æ¯ä¸ªåœ°å›¾å—中éšæœºçš„大型洞穴数的最大值。"
+
+#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of small caves per mapchunk."
+msgstr "æ¯ä¸ªåœ°å›¾å—中éšæœºçš„å°åž‹æ´žç©´æ•°çš„最大值。"
+
+#: src/settings_translation_file.cpp
msgid ""
-"Maximum liquid resistence. Controls deceleration when entering liquid at\n"
+"Maximum liquid resistance. Controls deceleration when entering liquid at\n"
"high speed."
msgstr ""
+"最大液体阻力。控制快速进入液体时\n"
+"çš„å‡é€Ÿåº¦ã€‚"
#: src/settings_translation_file.cpp
msgid ""
@@ -4619,22 +4984,29 @@ msgid ""
"The maximum total count is calculated dynamically:\n"
"max_total = ceil((#clients + max_users) * per_client / 4)"
msgstr ""
+"åŒæ—¶å‘é€è‡³æ¯ä¸ªå®¢æˆ·ç«¯çš„æ–¹å—最大数。\n"
+"最大总数按以下å¼å­è‡ªåŠ¨è®¡ç®—:\n"
+"max_total = ceil((#clients + max_users) * per_client / 4)"
#: src/settings_translation_file.cpp
msgid "Maximum number of blocks that can be queued for loading."
-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"
+"设置为空白则自动选择åˆé€‚的数值。"
#: 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"
+"设置为空白则自动选择åˆé€‚的数值。"
#: src/settings_translation_file.cpp
msgid "Maximum number of forceloaded mapblocks."
@@ -4645,6 +5017,8 @@ msgid ""
"Maximum number of mapblocks for client to be kept in memory.\n"
"Set to -1 for unlimited amount."
msgstr ""
+"客户端ä¿å­˜åœ¨å†…存中的最大地图å—æ•°é‡ã€‚\n"
+"设置为-1则无é™é‡ã€‚"
#: src/settings_translation_file.cpp
msgid ""
@@ -4652,52 +5026,57 @@ msgid ""
"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 ""
+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."
-msgstr ""
+msgstr "æ–¹å—内é™æ€å­˜å‚¨çš„对象最大数。"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Maximum objects per block"
-msgstr "最大强制载入å—"
+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 ""
+"窗å£å†…用于显示快æ·æ çš„最大比例。\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 ""
+msgstr "å•ä¸ªæ–‡ä»¶ä¸‹è½½ï¼ˆå¦‚mod下载)的最大时间。"
#: src/settings_translation_file.cpp
msgid "Maximum users"
-msgstr "最大用户"
+msgstr "最大用户数"
#: src/settings_translation_file.cpp
msgid "Menus"
@@ -4713,11 +5092,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"
@@ -4732,21 +5111,28 @@ msgid "Minimap scan height"
msgstr "å°åœ°å›¾æ‰«æ高度"
#: src/settings_translation_file.cpp
-#, fuzzy
+msgid "Minimum limit of random number of large caves per mapchunk."
+msgstr "æ¯ä¸ªåœ°å›¾å—çš„éšæœºå¤§åž‹æ´žç©´æ•°çš„上é™ã€‚"
+
+#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of small caves per mapchunk."
+msgstr "æ¯ä¸ªåœ°å›¾å—çš„éšæœºå¤§åž‹æ´žç©´æ•°çš„下é™ã€‚"
+
+#: src/settings_translation_file.cpp
msgid "Minimum texture size"
-msgstr "纹ç†è¿‡æ»¤å™¨æœ€å°å¤§å°"
+msgstr "最å°æ质大å°"
#: src/settings_translation_file.cpp
msgid "Mipmapping"
-msgstr "Mip 贴图处ç†"
+msgstr "Mip 贴图"
#: src/settings_translation_file.cpp
msgid "Mod channels"
-msgstr ""
+msgstr "mod频é“"
#: src/settings_translation_file.cpp
msgid "Modifies the size of the hudbar elements."
-msgstr ""
+msgstr "更改hudæ å…ƒç´ ã€‚"
#: src/settings_translation_file.cpp
msgid "Monospace font path"
@@ -4758,20 +5144,19 @@ msgstr "等宽字体大å°"
#: src/settings_translation_file.cpp
msgid "Mountain height noise"
-msgstr ""
+msgstr "山高度噪声"
#: src/settings_translation_file.cpp
msgid "Mountain noise"
-msgstr ""
+msgstr "山噪声"
#: src/settings_translation_file.cpp
msgid "Mountain variation noise"
-msgstr ""
+msgstr "å±±å˜åŒ–噪声"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mountain zero level"
-msgstr "水级别"
+msgstr "山起点级"
#: src/settings_translation_file.cpp
msgid "Mouse sensitivity"
@@ -4783,22 +5168,23 @@ msgstr "é¼ æ ‡çµæ•åº¦å€æ•°ã€‚"
#: src/settings_translation_file.cpp
msgid "Mud noise"
-msgstr ""
+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
-#, fuzzy
msgid "Mute key"
-msgstr "使用按键"
+msgstr "é™éŸ³æŒ‰é”®"
#: src/settings_translation_file.cpp
msgid "Mute sound"
-msgstr ""
+msgstr "é™éŸ³"
#: src/settings_translation_file.cpp
msgid ""
@@ -4807,6 +5193,10 @@ msgid ""
"Current mapgens in a highly unstable state:\n"
"- The optional floatlands of v7 (disabled by default)."
msgstr ""
+"创建新世界时使用的地图生æˆå™¨å称。\n"
+"在主èœå•ä¸­åˆ›å»ºä¸€ä¸ªä¸–界会覆盖此属性。\n"
+"ç›®å‰ä»¥ä¸‹åœ°å›¾ç”Ÿæˆå™¨éžå¸¸ä¸ç¨³å®šï¼š\n"
+"- v7悬空岛(默认ç¦ç”¨ï¼‰ã€‚"
#: src/settings_translation_file.cpp
msgid ""
@@ -4824,8 +5214,9 @@ msgid ""
msgstr "æœåŠ¡å™¨å称,将显示在æ供给玩家的æœåŠ¡å™¨åˆ—表。"
#: src/settings_translation_file.cpp
-msgid "Near clipping plane"
-msgstr ""
+#, fuzzy
+msgid "Near plane"
+msgstr "é è¿‘è£åˆ‡å¹³é¢"
#: src/settings_translation_file.cpp
msgid "Network"
@@ -4845,20 +5236,19 @@ msgstr "新用户需è¦è¾“入此密ç ã€‚"
#: src/settings_translation_file.cpp
msgid "Noclip"
-msgstr "无剪辑"
+msgstr "穿墙"
#: src/settings_translation_file.cpp
msgid "Noclip key"
-msgstr "无剪辑键"
+msgstr "穿墙键"
#: src/settings_translation_file.cpp
msgid "Node highlighting"
-msgstr "节点高亮"
+msgstr "æ–¹å—高亮"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "NodeTimer interval"
-msgstr "å‘é€é—´éš”时间"
+msgstr "NodeTimeré—´éš”"
#: src/settings_translation_file.cpp
msgid "Noises"
@@ -4866,11 +5256,11 @@ msgstr "噪声"
#: src/settings_translation_file.cpp
msgid "Normalmaps sampling"
-msgstr "一般地图采样"
+msgstr "法线贴图采样"
#: src/settings_translation_file.cpp
msgid "Normalmaps strength"
-msgstr "一般地图强度"
+msgstr "法线贴图强度"
#: src/settings_translation_file.cpp
msgid "Number of emerge threads"
@@ -4892,6 +5282,19 @@ msgid ""
"processes, especially in singleplayer and/or when running Lua code in\n"
"'on_generated'. For many users the optimum setting may be '1'."
msgstr ""
+"使用的生产线程数。\n"
+"警告:当'num_emerge_threads'大于1时,目å‰æœ‰å¾ˆ\n"
+"多bug会导致崩溃。\n"
+"强烈建议在此警告被移除之å‰å°†æ­¤å€¼è®¾ä¸ºé»˜è®¤å€¼'1'。\n"
+"值0:\n"
+"- 自动选择。生产线程数会是‘处ç†å™¨æ•°-2’,\n"
+"- 下é™ä¸º1。\n"
+"任何其他值:\n"
+"- 指定生产线程数,下é™ä¸º1。\n"
+"警告:增大此值会æ高引擎地图生æˆå™¨é€Ÿåº¦ï¼Œä½†ä¼šç”±äºŽ\n"
+"干扰其他进程而影å“游æˆä½“验,尤其是å•äººæ¨¡å¼æˆ–è¿è¡Œ\n"
+"‘on_generated’中的Lua代ç ã€‚对于大部分用户æ¥è¯´ï¼Œæœ€\n"
+"佳值为1。"
#: src/settings_translation_file.cpp
msgid ""
@@ -4899,18 +5302,31 @@ 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"
+"(4096=100MB,按ç»éªŒæ³•åˆ™ï¼‰ã€‚"
#: src/settings_translation_file.cpp
msgid "Number of parallax occlusion iterations."
-msgstr "视差闭塞迭代数。"
+msgstr "视差é®è”½è¿­ä»£æ•°ã€‚"
#: src/settings_translation_file.cpp
msgid "Online Content Repository"
-msgstr ""
+msgstr "在线内容仓库(ContentDB)"
#: src/settings_translation_file.cpp
msgid "Opaque liquids"
-msgstr ""
+msgstr "ä¸é€æ˜Žæ¶²ä½“"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Opaqueness (alpha) of the shadow behind the default font, between 0 and 255."
+msgstr "默认字体åŽé˜´å½±çš„é€æ˜Žåº¦ï¼ˆalpha),å–值范围0~255。"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Opaqueness (alpha) of the shadow behind the fallback font, between 0 and 255."
+msgstr "åŽå¤‡å­—体åŽé˜´å½±çš„é€æ˜Žåº¦ï¼ˆalpha),å–值范围0~255。"
#: src/settings_translation_file.cpp
msgid ""
@@ -4918,80 +5334,116 @@ msgid ""
"formspec is\n"
"open."
msgstr ""
+"当窗å£ç„¦ç‚¹ä¸¢å¤±æ˜¯æ‰“开暂åœèœå•ã€‚如果游æˆå†…窗å£æ‰“开,\n"
+"则ä¸æš‚åœã€‚"
#: src/settings_translation_file.cpp
msgid "Overall bias of parallax occlusion effect, usually scale/2."
-msgstr ""
+msgstr "视差é®è”½æ•ˆæžœçš„整体斜纹,通常为比例/2。"
#: src/settings_translation_file.cpp
msgid "Overall scale of parallax occlusion effect."
-msgstr "视差闭塞效果的总体比例。"
+msgstr "视差é®è”½æ•ˆæžœçš„总体比例。"
#: src/settings_translation_file.cpp
msgid "Parallax occlusion"
-msgstr "视差贴图闭塞"
+msgstr "视差é®è”½"
#: src/settings_translation_file.cpp
msgid "Parallax occlusion bias"
-msgstr "视差贴图闭塞å移"
+msgstr "视差é®è”½å移"
#: src/settings_translation_file.cpp
msgid "Parallax occlusion iterations"
-msgstr "视差贴图闭塞迭代"
+msgstr "视差é®è”½è¿­ä»£"
#: src/settings_translation_file.cpp
msgid "Parallax occlusion mode"
-msgstr "视差贴图闭塞模å¼"
+msgstr "视差é®è”½æ¨¡å¼"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Parallax occlusion scale"
-msgstr "视差贴图闭塞比例"
+msgstr "视差é®è”½æ¯”例"
#: src/settings_translation_file.cpp
msgid "Parallax occlusion strength"
-msgstr "视差贴图闭塞强度"
+msgstr "视差é®è”½å¼ºåº¦"
#: src/settings_translation_file.cpp
-msgid "Path to TrueTypeFont or bitmap."
-msgstr "TrueType 字体或ä½å›¾çš„路径。"
+msgid ""
+"Path of the fallback font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font will be used for certain languages or if the default font is "
+"unavailable."
+msgstr ""
+"åŽå¤‡å­—体路径。\n"
+"如果“freetypeâ€è®¾ç½®å¯ç”¨ï¼šå¿…须为TrueType字体。\n"
+"如果“freetypeâ€è®¾ç½®ç¦ç”¨ï¼šå¿…须为ä½å›¾æˆ–XML矢é‡å­—体。\n"
+"此字体用于ä¸å¯ç”¨é»˜è®¤å­—体的语言。"
#: src/settings_translation_file.cpp
msgid "Path to save screenshots at."
-msgstr "å±å¹•æˆªå›¾ä¿å­˜ä½ç½®ã€‚"
+msgstr "å±å¹•æˆªå›¾ä¿å­˜è·¯å¾„。"
#: src/settings_translation_file.cpp
msgid ""
"Path to shader directory. If no path is defined, default location will be "
"used."
-msgstr ""
+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 ""
+"Path to the default font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"The fallback font will be used if the font cannot be loaded."
msgstr ""
+"默认字体路径。\n"
+"如果“freetypeâ€è®¾ç½®å¯ç”¨ï¼šå¿…须为TrueType字体。\n"
+"如果“freetypeâ€è®¾ç½®ç¦ç”¨ï¼šå¿…须为ä½å›¾æˆ–XML矢é‡å­—体。\n"
+"åŽå¤‡å­—体用于ä¸å¯ç”¨é»˜è®¤å­—体的语言。"
#: src/settings_translation_file.cpp
-msgid "Pause on lost window focus"
+msgid ""
+"Path to the monospace font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font is used for e.g. the console and profiler screen."
msgstr ""
+"等宽字体路径。\n"
+"如果“freetypeâ€è®¾ç½®å¯ç”¨ï¼šå¿…须为TrueType字体。\n"
+"如果“freetypeâ€è®¾ç½®ç¦ç”¨ï¼šå¿…须为ä½å›¾æˆ–XML矢é‡å­—体。\n"
+"此字体用于控制å°ã€æ€§èƒ½åˆ†æžå›¾ç•Œé¢ç­‰ã€‚"
+
+#: src/settings_translation_file.cpp
+msgid "Pause on lost window focus"
+msgstr "丢失窗å£ç„¦ç‚¹æ˜¯æš‚åœ"
#: src/settings_translation_file.cpp
msgid "Physics"
-msgstr ""
+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 ""
"Player is able to fly without being affected by gravity.\n"
"This requires the \"fly\" privilege on the server."
msgstr ""
+"使玩家å¯ä»¥ä¸å—é‡åŠ›é£žèµ·ã€‚\n"
+"这需è¦æœåŠ¡å™¨çš„“flyâ€æƒé™ã€‚"
#: src/settings_translation_file.cpp
msgid "Player name"
@@ -5002,35 +5454,40 @@ msgid "Player transfer distance"
msgstr "玩家转移è·ç¦»"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Player versus player"
-msgstr "玩家对战玩家"
+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 ""
+msgstr "阻止 mod 执行å±é™©æ“作,如è¿è¡Œ shell 命令。"
#: src/settings_translation_file.cpp
msgid ""
"Print the engine's profiling data in regular intervals (in seconds).\n"
"0 = disable. Useful for developers."
msgstr ""
+"以固定间隔(以秒为å•ä½ï¼‰æ‰“å°å¼•æ“Žçš„分æžæ•°æ®ã€‚ \n"
+"0 = ç¦ç”¨ã€‚对开å‘人员很有用。"
#: src/settings_translation_file.cpp
msgid "Privileges that players with basic_privs can grant"
-msgstr ""
+msgstr "有\"basic_privs\"的玩家å¯ä»¥æŽˆäºˆçš„æƒé™"
#: src/settings_translation_file.cpp
#, fuzzy
@@ -5047,6 +5504,10 @@ msgid "Profiling"
msgstr "Mod 剖æž"
#: src/settings_translation_file.cpp
+msgid "Proportion of large caves that contain liquid."
+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 "
@@ -5070,6 +5531,11 @@ msgid "Recent Chat Messages"
msgstr ""
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Regular font path"
+msgstr "字体路径"
+
+#: src/settings_translation_file.cpp
msgid "Remote media"
msgstr "远程媒体"
@@ -5274,24 +5740,24 @@ msgstr "选择框宽度"
#, fuzzy
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."
+"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 ""
"从 9 ç§å…¬å¼é‡Œé€‰å– 18 ç§åˆ†å½¢ã€‚\n"
"1 = 4D \"Roundy\" 曼德尔布罗特集.\n"
@@ -5361,26 +5827,31 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving leaves.\n"
+"Set to true to enable waving leaves.\n"
"Requires shaders to be enabled."
msgstr ""
+"设置为真以å¯ç”¨é£˜åŠ¨æ ‘å¶ã€‚\n"
+"需è¦å¯ç”¨ç€è‰²å™¨ã€‚"
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving plants.\n"
+"Set to true to enable waving liquids (like water).\n"
"Requires shaders to be enabled."
msgstr ""
+"设置为真以å¯ç”¨æ‘‡åŠ¨æµä½“(例如水)。\n"
+"需è¦å¯ç”¨ç€è‰²å™¨ã€‚"
#: src/settings_translation_file.cpp
msgid ""
-"Set to true enables waving water.\n"
+"Set to true to enable waving plants.\n"
"Requires shaders to be enabled."
msgstr ""
+"设置为真以å¯ç”¨æ‘†åŠ¨æ¤ç‰©ã€‚\n"
+"需è¦å¯ç”¨ç€è‰²å™¨ã€‚"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Shader path"
-msgstr "ç€è‰²å™¨"
+msgstr "ç€è‰²å™¨è·¯å¾„"
#: src/settings_translation_file.cpp
msgid ""
@@ -5392,8 +5863,17 @@ msgstr ""
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Shadow limit"
-msgstr "地图å—é™åˆ¶"
+msgid ""
+"Shadow offset (in pixels) of the default font. If 0, then shadow will not be "
+"drawn."
+msgstr "字体阴影å移,0 表示ä¸ç»˜åˆ¶é˜´å½±ã€‚"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid ""
+"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not "
+"be drawn."
+msgstr "字体阴影å移,0 表示ä¸ç»˜åˆ¶é˜´å½±ã€‚"
#: src/settings_translation_file.cpp
msgid "Shape of the minimap. Enabled = round, disabled = square."
@@ -5437,6 +5917,14 @@ msgid "Slope and fill work together to modify the heights."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Small cave maximum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Small cave minimum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Small-scale humidity variation for blending biomes on borders."
msgstr ""
@@ -5467,9 +5955,8 @@ msgid "Sneak key"
msgstr "潜行键"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Sneaking speed"
-msgstr "步行速度"
+msgstr "潜行速度"
#: src/settings_translation_file.cpp
msgid "Sneaking speed, in nodes per second."
@@ -5499,8 +5986,9 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Spread of light curve mid-boost.\n"
-"Standard deviation of the mid-boost gaussian."
+"Spread of light curve boost range.\n"
+"Controls the width of the range to be boosted.\n"
+"Standard deviation of the light curve boost Gaussian."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5525,7 +6013,10 @@ msgid "Strength of generated normalmaps."
msgstr "生æˆçš„一般地图强度。"
#: src/settings_translation_file.cpp
-msgid "Strength of light curve mid-boost."
+msgid ""
+"Strength of light curve boost.\n"
+"The 3 'boost' parameters define a range of the light\n"
+"curve that is boosted in brightness."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5634,6 +6125,15 @@ msgid "The length in pixels it takes for touch screen interaction to start."
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"The maximum height of the surface of waving liquids.\n"
+"4.0 = Wave height is two nodes.\n"
+"0.0 = Wave doesn't move at all.\n"
+"Default is 1.0 (1/2 node).\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "The network interface that the server listens on."
msgstr "æœåŠ¡å™¨ç›‘å¬çš„网络接å£ã€‚"
@@ -5642,6 +6142,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以获得完整列表和modé…置。"
#: src/settings_translation_file.cpp
msgid ""
@@ -5715,10 +6217,6 @@ msgid "Third of 4 2D noises that together define hill/mountain range height."
msgstr "定义tunnels的最åˆ2个3D噪音。"
#: 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."
@@ -5773,17 +6271,12 @@ msgstr "三线性过滤"
msgid ""
"True = 256\n"
"False = 128\n"
-"Useable to make minimap smoother on slower machines."
+"Usable to make minimap smoother on slower machines."
msgstr ""
#: src/settings_translation_file.cpp
msgid "Trusted mods"
-msgstr "å¯ä¿¡ MOD"
-
-#: src/settings_translation_file.cpp
-msgid ""
-"Typical maximum height, above and below midpoint, of floatland mountains."
-msgstr ""
+msgstr "å¯ä¿¡ mod"
#: src/settings_translation_file.cpp
msgid "URL to the server list displayed in the Multiplayer Tab."
@@ -5812,7 +6305,7 @@ msgstr "å¸è½½æœªç”¨æœåŠ¡å™¨æ•°æ®"
#: src/settings_translation_file.cpp
msgid "Upper Y limit of dungeons."
-msgstr ""
+msgstr "地窖的Y值上é™ã€‚"
#: src/settings_translation_file.cpp
msgid "Use 3D cloud look instead of flat."
@@ -5875,10 +6368,6 @@ 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 ""
@@ -5956,6 +6445,15 @@ msgid "Volume"
msgstr "音é‡"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid ""
+"Volume of all sounds.\n"
+"Requires the sound system to be enabled."
+msgstr ""
+"å¯ç”¨è§†å·®é—­å¡žæ˜ å°„。\n"
+"需è¦ç€è‰²å™¨å·²å¯ç”¨ã€‚"
+
+#: 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"
@@ -5993,29 +6491,30 @@ msgid "Waving leaves"
msgstr "摇动树å¶"
#: src/settings_translation_file.cpp
-msgid "Waving plants"
-msgstr "摇动æ¤ç‰©"
-
-#: src/settings_translation_file.cpp
-msgid "Waving water"
-msgstr "摇动水"
+#, fuzzy
+msgid "Waving liquids"
+msgstr "摇动æµä½“"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wave height"
+msgid "Waving liquids wave height"
msgstr "摇动水高度"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wave speed"
+msgid "Waving liquids wave speed"
msgstr "摇动水速度"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wavelength"
+msgid "Waving liquids wavelength"
msgstr "摇动水长度"
#: src/settings_translation_file.cpp
+msgid "Waving plants"
+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"
@@ -6045,7 +6544,9 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Whether FreeType fonts are used, requires FreeType support to be compiled in."
+"Whether FreeType fonts are used, requires FreeType support to be compiled "
+"in.\n"
+"If disabled, bitmap and XML vectors fonts are used instead."
msgstr ""
#: src/settings_translation_file.cpp
@@ -6076,6 +6577,14 @@ msgstr "是å¦è®©é›¾å‡ºçŽ°åœ¨å¯è§†èŒƒå›´æœ«ç«¯ã€‚"
#: src/settings_translation_file.cpp
msgid ""
+"Whether to mute sounds. You can unmute sounds at any time, unless the\n"
+"sound system is disabled (enable_sound=false).\n"
+"In-game, you can toggle the mute state with the mute key or by using the\n"
+"pause menu."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
"Whether to show the client debug info (has the same effect as hitting F5)."
msgstr "是å¦æ˜¾ç¤ºå®¢æˆ·ç«¯è°ƒè¯•ä¿¡æ¯ï¼ˆä¸ŽæŒ‰ F5 的效果相åŒï¼‰ã€‚"
@@ -6149,10 +6658,6 @@ 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 ""
@@ -6165,10 +6670,6 @@ 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 "cURL 文件下载超时"
@@ -6180,6 +6681,72 @@ msgstr "cURL 并å‘é™åˆ¶"
msgid "cURL timeout"
msgstr "cURL 超时"
+#~ 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"
+#~ "这个设定是给客户端使用的,会被æœåŠ¡å™¨å¿½ç•¥ã€‚"
+
+#, fuzzy
+#~ msgid ""
+#~ "Controls the density of mountain-type floatlands.\n"
+#~ "Is a noise offset added to the 'mgv7_np_mountain' noise value."
+#~ msgstr ""
+#~ "控制 floatland 地形的密度。\n"
+#~ "是添加到 \"np_mountain\" 噪声值的å移é‡ã€‚"
+
+#~ msgid "Controls width of tunnels, a smaller value creates wider tunnels."
+#~ msgstr "控制隧é“宽度,较å°çš„值创建更宽的隧é“。"
+
+#, fuzzy
+#~ msgid "Darkness sharpness"
+#~ msgstr "地图生æˆå™¨å¹³é¢æ¹–å¡åº¦"
+
+#~ msgid ""
+#~ "Defines areas of floatland smooth terrain.\n"
+#~ "Smooth floatlands occur when noise > 0."
+#~ msgstr ""
+#~ "定义 floatland 平滑地形的区域。\n"
+#~ "当噪音0æ—¶, 平滑的 floatlands å‘生。"
+
+#~ msgid "Enable VBO"
+#~ msgstr "å¯ç”¨ VBO"
+
+#~ msgid "Enables filmic tone mapping"
+#~ msgstr "å¯ç”¨ç”µå½±åŸºè°ƒæ˜ å°„"
+
+#, fuzzy
+#~ msgid "Floatland level"
+#~ msgstr "水级别"
+
+#~ msgid "Font shadow alpha (opaqueness, between 0 and 255)."
+#~ msgstr "字体阴影ä¸é€æ˜Žåº¦ï¼ˆ0-255)。"
+
+#~ msgid "Gamma"
+#~ msgstr "伽马"
+
+#~ msgid "IPv6 support."
+#~ msgstr "IPv6 支æŒã€‚"
+
+#, fuzzy
+#~ msgid "Lava depth"
+#~ msgstr "巨大洞穴深度"
+
+#~ msgid "Path to TrueTypeFont or bitmap."
+#~ msgstr "TrueType 字体或ä½å›¾çš„路径。"
+
+#, fuzzy
+#~ msgid "Shadow limit"
+#~ msgstr "地图å—é™åˆ¶"
+
+#~ msgid "This font will be used for certain languages."
+#~ msgstr "用于特定语言的字体。"
+
+#~ msgid "Waving water"
+#~ msgstr "摇动水"
+
#~ msgid "Waving Water"
#~ msgstr "æµåŠ¨çš„æ°´é¢"
diff --git a/po/zh_TW/minetest.po b/po/zh_TW/minetest.po
index 4a1d1c027..5a2892465 100644
--- a/po/zh_TW/minetest.po
+++ b/po/zh_TW/minetest.po
@@ -2,9 +2,9 @@ msgid ""
msgstr ""
"Project-Id-Version: Chinese (Traditional) (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"
+"POT-Creation-Date: 2020-04-03 23:18+0200\n"
+"PO-Revision-Date: 2020-01-29 13:50+0000\n"
+"Last-Translator: pan93412 <pan93412@gmail.com>\n"
"Language-Team: Chinese (Traditional) <https://hosted.weblate.org/projects/"
"minetest/minetest/zh_Hant/>\n"
"Language: zh_TW\n"
@@ -12,7 +12,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 3.9-dev\n"
+"X-Generator: Weblate 3.11-dev\n"
#: builtin/client/death_formspec.lua src/client/game.cpp
msgid "Respawn"
@@ -20,12 +20,11 @@ msgstr "é‡ç”Ÿ"
#: builtin/client/death_formspec.lua src/client/game.cpp
msgid "You died"
-msgstr "您已經死亡"
+msgstr "您已死亡"
#: builtin/fstk/ui.lua
-#, fuzzy
msgid "An error occurred in a Lua script:"
-msgstr "在 Lua 指令稿中發生錯誤,如 mod:"
+msgstr "Lua 指令稿發生錯誤:"
#: builtin/fstk/ui.lua
msgid "An error occurred:"
@@ -61,11 +60,11 @@ msgstr "伺æœå™¨å¼·åˆ¶å”定版本 $1。 "
#: builtin/mainmenu/common.lua
msgid "Server supports protocol versions between $1 and $2. "
-msgstr "伺æœå™¨æ”¯æ´å”定版本 $1 到 $2 "
+msgstr "伺æœå™¨æ”¯æ´å”定版本 $1 到 $2。 "
#: builtin/mainmenu/common.lua
msgid "Try reenabling public serverlist and check your internet connection."
-msgstr "嘗試é‡æ–°å•Ÿç”¨å…¬å…±ä¼ºæœå™¨æ¸…單並檢查您的網際網路連線。"
+msgstr "請嘗試é‡æ–°å•Ÿç”¨å…¬å…±ä¼ºæœå™¨æ¸…單並檢查您的網際網路連線。"
#: builtin/mainmenu/common.lua
msgid "We only support protocol version $1."
@@ -87,63 +86,57 @@ msgstr "å–消"
#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua
msgid "Dependencies:"
-msgstr "ä¾è³´ï¼š"
+msgstr "相ä¾å…ƒä»¶ï¼š"
#: builtin/mainmenu/dlg_config_world.lua
msgid "Disable all"
-msgstr "åœç”¨å…¨éƒ¨"
+msgstr "全部åœç”¨"
#: builtin/mainmenu/dlg_config_world.lua
msgid "Disable modpack"
-msgstr "å·²åœç”¨ Mod包"
+msgstr "åœç”¨ Mod 包"
#: builtin/mainmenu/dlg_config_world.lua
msgid "Enable all"
-msgstr "啟用全部"
+msgstr "全部啟用"
#: builtin/mainmenu/dlg_config_world.lua
msgid "Enable modpack"
-msgstr "é‡æ–°å‘½å Mod 包"
+msgstr "啟用 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 ""
-"啟用 mod 「$1〠失敗,因為其包å«äº†ä¸åˆæ³•çš„字元。åªæœ‰ å­—å…ƒ [a-z0-9_] æ‰æ˜¯å¯ç”¨"
-"的。"
+msgstr "無法啟用 Mod「$1ã€ï¼Œå› ç‚ºå…¶åŒ…å«äº†ä¸å…許的字元。åªèƒ½æœ‰ [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 "é¸ç”¨çš„相ä¾å…ƒä»¶:"
+msgstr "沒有 (é¸ç”¨çš„) 相ä¾å…ƒä»¶"
#: builtin/mainmenu/dlg_config_world.lua
msgid "No game description provided."
-msgstr "找ä¸åˆ° mod æ述。"
+msgstr "未æä¾›éŠæˆ²æ述。"
#: builtin/mainmenu/dlg_config_world.lua
-#, fuzzy
msgid "No hard dependencies"
-msgstr "無相ä¾å…ƒä»¶ã€‚"
+msgstr "沒有強制相ä¾å…ƒä»¶"
#: builtin/mainmenu/dlg_config_world.lua
msgid "No modpack description provided."
-msgstr "找ä¸åˆ° mod æ述。"
+msgstr "未æä¾› Mod 包æ述。"
#: builtin/mainmenu/dlg_config_world.lua
-#, fuzzy
msgid "No optional dependencies"
-msgstr "é¸ç”¨çš„相ä¾å…ƒä»¶:"
+msgstr "沒有å¯é¸ç›¸ä¾å…ƒä»¶"
#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua
msgid "Optional dependencies:"
-msgstr "é¸ç”¨çš„相ä¾å…ƒä»¶:"
+msgstr "å¯é¸ç›¸ä¾å…ƒä»¶ï¼š"
#: builtin/mainmenu/dlg_config_world.lua
#: builtin/mainmenu/dlg_settings_advanced.lua src/gui/guiKeyChangeMenu.cpp
@@ -164,20 +157,19 @@ msgstr "所有套件"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "Back"
-msgstr "Back"
+msgstr "返回"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "Back to Main Menu"
-msgstr "主é¸å–®"
+msgstr "返回主é¸å–®"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "Downloading and installing $1, please wait..."
-msgstr "正在下載 $1,請ç¨å€™â€¦â€¦"
+msgstr "æ­£åœ¨ä¸‹è¼‰ä¸¦å®‰è£ $1,請ç¨å€™â€¦â€¦"
#: builtin/mainmenu/dlg_contentstore.lua
-#, fuzzy
msgid "Failed to download $1"
-msgstr "å®‰è£ $1 到 $2 失敗"
+msgstr "無法下載 $1"
#: builtin/mainmenu/dlg_contentstore.lua
#: builtin/mainmenu/dlg_settings_advanced.lua
@@ -191,15 +183,15 @@ msgstr "安è£"
#: builtin/mainmenu/dlg_contentstore.lua
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Mods"
-msgstr "Mods"
+msgstr "Mod"
#: 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
@@ -207,14 +199,12 @@ msgid "Search"
msgstr "æœå°‹"
#: builtin/mainmenu/dlg_contentstore.lua
-#, fuzzy
msgid "Texture packs"
msgstr "æ質包"
#: builtin/mainmenu/dlg_contentstore.lua
-#, fuzzy
msgid "Uninstall"
-msgstr "安è£"
+msgstr "解除安è£"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "Update"
@@ -229,9 +219,8 @@ 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"
+msgstr "從 minetest.net 下載éŠæˆ²ï¼Œä¾‹å¦‚ Minetest Game"
#: builtin/mainmenu/dlg_create_world.lua
msgid "Download one from minetest.net"
@@ -246,9 +235,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
@@ -261,16 +249,15 @@ msgstr "警告:最å°åŒ–的開發測試僅供開發者使用。"
#: builtin/mainmenu/dlg_create_world.lua
msgid "World name"
-msgstr "世界éŠæˆ²"
+msgstr "世界å稱"
#: builtin/mainmenu/dlg_create_world.lua
-#, fuzzy
msgid "You have no games installed."
-msgstr "您沒有安è£å­éŠæˆ²ã€‚"
+msgstr "您未安è£éŠæˆ²ã€‚"
#: builtin/mainmenu/dlg_delete_content.lua
msgid "Are you sure you want to delete \"$1\"?"
-msgstr "您確定您è¦åˆªé™¤ã€Œ$1ã€å—Žï¼Ÿ"
+msgstr "您確定è¦åˆªé™¤ã€Œ$1ã€å—Žï¼Ÿ"
#: builtin/mainmenu/dlg_delete_content.lua
#: builtin/mainmenu/dlg_delete_world.lua builtin/mainmenu/tab_local.lua
@@ -279,18 +266,16 @@ 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 "pkgmgr:「%1ã€è·¯å¾‘無效"
#: builtin/mainmenu/dlg_delete_world.lua
msgid "Delete World \"$1\"?"
-msgstr "刪除世界「$1ã€ï¼Ÿ"
+msgstr "刪除「$1ã€ä¸–界?"
#: builtin/mainmenu/dlg_rename_modpack.lua
msgid "Accept"
@@ -304,18 +289,15 @@ msgstr "é‡æ–°å‘½å Mod 包:"
msgid ""
"This modpack has an explicit name given in its modpack.conf which will "
"override any renaming here."
-msgstr ""
-"這個Mod包有給定一個明確的å稱在它所屬的 modpack.conf 之中,å¯ä»¥åœ¨è©²æª”案中複寫"
-"Mod包的å稱。"
+msgstr "這個 Mod 包有在其 modpack.conf æ供明確的å稱,會覆蓋此處的é‡æ–°å‘½å。"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "(No description of setting given)"
-msgstr "(這個設定沒有æè¿°å¯ç”¨ï¼‰"
+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"
@@ -340,11 +322,12 @@ msgstr "已啟用"
#: builtin/mainmenu/dlg_settings_advanced.lua
#, fuzzy
msgid "Lacunarity"
-msgstr "安全"
+msgstr "Lacunarity"
#: builtin/mainmenu/dlg_settings_advanced.lua
+#, fuzzy
msgid "Octaves"
-msgstr ""
+msgstr "å€é »ç¨‹"
#: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp
msgid "Offset"
@@ -353,7 +336,7 @@ msgstr "補償"
#: builtin/mainmenu/dlg_settings_advanced.lua
#, fuzzy
msgid "Persistance"
-msgstr "玩家傳é€è·é›¢"
+msgstr "æš«ç•™"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Please enter a valid integer."
@@ -365,21 +348,19 @@ msgstr "請輸入有效的數字。"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Restore Default"
-msgstr "æ¢å¾©é è¨­å€¼"
+msgstr "還原至é è¨­å€¼"
#: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp
msgid "Scale"
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"
@@ -387,156 +368,146 @@ msgstr "顯示技術å稱"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "The value must be at least $1."
-msgstr "值必須大於 $1。"
+msgstr "數值必須大於 $1。"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "The value must not be larger than $1."
-msgstr "值必須å°æ–¼ $1。"
+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 點差"
+#. ~ "absvalue" is a noise parameter flag.
+#. It is short for "absolute value".
+#. It can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "absvalue"
-msgstr ""
+msgstr "絕å°å€¼"
+#. ~ "defaults" is a noise parameter flag.
+#. It describes the default processing options
+#. for noise settings in main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "defaults"
-msgstr "é è¨­éŠæˆ²"
+msgstr "é è¨­å€¼"
+#. ~ "eased" is a noise parameter flag.
+#. It is used to make the map smoother and
+#. can be enabled in noise settings in
+#. main menu -> "All Settings".
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "eased"
-msgstr ""
+msgstr "緩解 (eased)"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "$1 (Enabled)"
-msgstr "已啟用"
+msgstr "$1(已啟用)"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "$1 mods"
-msgstr "3D 模å¼"
+msgstr "$1 個 Mod"
#: builtin/mainmenu/pkgmgr.lua
msgid "Failed to install $1 to $2"
-msgstr "å®‰è£ $1 到 $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:找ä¸åˆ°ä¸‹è¿°é …目的真實 Mod å稱:$1"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Install Mod: Unable to find suitable folder name for modpack $1"
-msgstr "å®‰è£ Mod:找ä¸åˆ° mod 包 $1 é©åˆçš„資料夾å稱"
+msgstr "å®‰è£ Mod:找ä¸åˆ° $1 Mod 包é©åˆçš„資料夾å稱"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Install: Unsupported file type \"$1\" or broken archive"
-msgstr ""
-"\n"
-"å®‰è£ Mod:ä¸æ”¯æ´çš„檔案類型「$1ã€æˆ–是æ毀的壓縮檔"
+msgstr "安è£ï¼šã€Œ%1ã€æª”案類型ä¸æ”¯æ´ï¼Œæˆ–是å°å­˜æª”æ壞"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Install: file: \"$1\""
-msgstr "å®‰è£ Mod:檔案「$1ã€"
+msgstr "安è£ï¼šæª”案:「$1ã€"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Unable to find a valid mod or modpack"
-msgstr "å®‰è£ Mod:找ä¸åˆ° mod 包 $1 é©åˆçš„資料夾å稱"
+msgstr "找ä¸åˆ°æœ‰æ•ˆçš„ Mod 或 Mod 包"
#: 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 "無法將 Mod 安è£ç‚º $1"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Unable to install a modpack as a $1"
-msgstr "å®‰è£ $1 到 $2 失敗"
+msgstr "無法將 Mod 包安è£ç‚º $1"
#: builtin/mainmenu/tab_content.lua
msgid "Browse online content"
-msgstr ""
+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 "資訊:"
#: 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 "沒有å¯ç”¨çš„套件æè¿°"
#: builtin/mainmenu/tab_content.lua
msgid "Rename"
msgstr "é‡æ–°å‘½å"
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Uninstall Package"
-msgstr "解除安è£å·²é¸å–çš„ mod"
+msgstr "解除安è£å¥—件"
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Use Texture Pack"
-msgstr "æ質包"
+msgstr "使用æ質包"
#: builtin/mainmenu/tab_credits.lua
msgid "Active Contributors"
@@ -592,19 +563,19 @@ msgstr "å稱ï¼å¯†ç¢¼"
#: builtin/mainmenu/tab_local.lua
msgid "New"
-msgstr "æ–°"
+msgstr "新增"
#: builtin/mainmenu/tab_local.lua
msgid "No world created or selected!"
-msgstr "未有已建立或已é¸å–的世界ï¼"
+msgstr "未建立或é¸å–世界ï¼"
#: builtin/mainmenu/tab_local.lua
msgid "Play Game"
-msgstr "玩éŠæˆ²"
+msgstr "éŠçŽ©éŠæˆ²"
#: builtin/mainmenu/tab_local.lua
msgid "Port"
-msgstr "埠"
+msgstr "連線埠"
#: builtin/mainmenu/tab_local.lua
msgid "Select World:"
@@ -615,13 +586,12 @@ msgid "Server Port"
msgstr "伺æœå™¨åŸ "
#: builtin/mainmenu/tab_local.lua
-#, fuzzy
msgid "Start Game"
-msgstr "主æŒéŠæˆ²"
+msgstr "開始éŠæˆ²"
#: builtin/mainmenu/tab_online.lua
msgid "Address / Port"
-msgstr "地å€ï¼åŸ "
+msgstr "地å€ï¼é€£ç·šåŸ "
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "Connect"
@@ -641,12 +611,11 @@ msgstr "刪除收è—"
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "Favorite"
-msgstr "最愛"
+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"
@@ -656,6 +625,7 @@ msgstr "å稱ï¼å¯†ç¢¼"
msgid "Ping"
msgstr "Ping"
+#. ~ PvP = Player versus Player
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "PvP enabled"
msgstr "已啟用 PvP"
@@ -677,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:"
@@ -687,12 +656,11 @@ msgstr "å鋸齒:"
#: builtin/mainmenu/tab_settings.lua
msgid "Are you sure to reset your singleplayer world?"
-msgstr "您確定è¦è¦é‡ç½®æ‚¨çš„單人éŠæˆ²ä¸–界嗎?"
+msgstr "您確定è¦é‡è¨­æ‚¨çš„單人éŠæˆ²ä¸–界嗎?"
#: builtin/mainmenu/tab_settings.lua
-#, fuzzy
msgid "Autosave Screen Size"
-msgstr "自動儲存視窗大å°"
+msgstr "自動儲存螢幕大å°"
#: builtin/mainmenu/tab_settings.lua
msgid "Bilinear Filter"
@@ -715,9 +683,8 @@ msgid "Fancy Leaves"
msgstr "è¯éº—葉å­"
#: builtin/mainmenu/tab_settings.lua
-#, fuzzy
msgid "Generate Normal Maps"
-msgstr "生æˆä¸€èˆ¬åœ°åœ–"
+msgstr "產生一般地圖"
#: builtin/mainmenu/tab_settings.lua
msgid "Mipmap"
@@ -733,11 +700,11 @@ msgstr "å¦"
#: builtin/mainmenu/tab_settings.lua
msgid "No Filter"
-msgstr "ç„¡éŽæ¿¾å™¨"
+msgstr "沒有éŽæ¿¾å™¨"
#: builtin/mainmenu/tab_settings.lua
msgid "No Mipmap"
-msgstr "無 Mip 貼圖"
+msgstr "沒有 Mip 貼圖"
#: builtin/mainmenu/tab_settings.lua
msgid "Node Highlighting"
@@ -745,7 +712,7 @@ msgstr "çªé¡¯ç¯€é»ž"
#: builtin/mainmenu/tab_settings.lua
msgid "Node Outlining"
-msgstr "çªé¡¯ç¯€é»ž"
+msgstr "加入節點外框"
#: builtin/mainmenu/tab_settings.lua
msgid "None"
@@ -769,7 +736,7 @@ msgstr "ç²’å­"
#: builtin/mainmenu/tab_settings.lua
msgid "Reset singleplayer world"
-msgstr "é‡ç½®å–®äººéŠæˆ²ä¸–ç•Œ"
+msgstr "é‡è¨­å–®äººéŠæˆ²ä¸–ç•Œ"
#: builtin/mainmenu/tab_settings.lua
msgid "Screen:"
@@ -785,7 +752,7 @@ msgstr "著色器"
#: builtin/mainmenu/tab_settings.lua
msgid "Shaders (unavailable)"
-msgstr ""
+msgstr "著色器(無法使用)"
#: builtin/mainmenu/tab_settings.lua
msgid "Simple Leaves"
@@ -808,9 +775,8 @@ msgid "Tone Mapping"
msgstr "色調映射"
#: builtin/mainmenu/tab_settings.lua
-#, fuzzy
msgid "Touchthreshold: (px)"
-msgstr "碰觸é™å€¼ï¼ˆåƒç´ ï¼‰"
+msgstr "觸控閾值:(åƒç´ ï¼‰"
#: builtin/mainmenu/tab_settings.lua
msgid "Trilinear Filter"
@@ -821,9 +787,8 @@ msgid "Waving Leaves"
msgstr "葉å­æ“ºå‹•"
#: builtin/mainmenu/tab_settings.lua
-#, fuzzy
msgid "Waving Liquids"
-msgstr "擺動節點"
+msgstr "擺動液體"
#: builtin/mainmenu/tab_settings.lua
msgid "Waving Plants"
@@ -835,7 +800,7 @@ msgstr "是"
#: builtin/mainmenu/tab_simple_main.lua
msgid "Config mods"
-msgstr "設定 mod"
+msgstr "設定 Mod"
#: builtin/mainmenu/tab_simple_main.lua
msgid "Main"
@@ -867,7 +832,7 @@ msgstr "正在載入æ質..."
#: src/client/client.cpp
msgid "Rebuilding shaders..."
-msgstr "正在é‡æ–°æ§‹å»ºè‘—色器..."
+msgstr "正在é‡æ–°çµ„建著色器..."
#: src/client/clientlauncher.cpp
msgid "Connection error (timed out?)"
@@ -879,7 +844,7 @@ msgstr "找ä¸åˆ°æˆ–無法載入éŠæˆ² \""
#: src/client/clientlauncher.cpp
msgid "Invalid gamespec."
-msgstr "無效的éŠæˆ²è¦æ ¼ã€‚"
+msgstr "éŠæˆ²è¦æ ¼ç„¡æ•ˆã€‚"
#: src/client/clientlauncher.cpp
msgid "Main Menu"
@@ -895,16 +860,24 @@ msgstr "玩家å稱太長。"
#: src/client/clientlauncher.cpp
msgid "Please choose a name!"
-msgstr "è«‹é¸æ“‡åå­—!"
+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: "
msgstr "æ供的世界路徑ä¸å­˜åœ¨ï¼š "
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string. Put either "no" or "yes"
+#. into the translation field (literally).
+#. Choose "yes" if the language requires use of the fallback
+#. font, "no" otherwise.
+#. The fallback font is (normally) required for languages with
+#. non-Latin script, like Chinese.
+#. When in doubt, test your translation.
#: src/client/fontengine.cpp
msgid "needs_fallback_font"
msgstr "yes"
@@ -935,12 +908,13 @@ msgstr "- 模å¼ï¼š "
#: src/client/game.cpp
msgid "- Port: "
-msgstr "- 埠: "
+msgstr "- 連線埠: "
#: src/client/game.cpp
msgid "- Public: "
msgstr "- 公開: "
+#. ~ PvP = Player versus Player
#: src/client/game.cpp
msgid "- PvP: "
msgstr "- PvP: "
@@ -950,42 +924,36 @@ msgid "- Server Name: "
msgstr "- 伺æœå™¨å稱: "
#: src/client/game.cpp
-#, fuzzy
msgid "Automatic forward disabled"
-msgstr "å‰é€²éµ"
+msgstr "å·²åœç”¨è‡ªå‹•å‰é€²"
#: src/client/game.cpp
-#, fuzzy
msgid "Automatic forward enabled"
-msgstr "å‰é€²éµ"
+msgstr "已啟用自動å‰é€²"
#: src/client/game.cpp
-#, 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"
-msgstr ""
+msgstr "å·²åœç”¨ç”¨æˆ¶ç«¯æŒ‡ä»¤ç¨¿"
#: src/client/game.cpp
msgid "Connecting to server..."
@@ -1030,7 +998,7 @@ msgstr ""
#: src/client/game.cpp
msgid "Creating client..."
-msgstr "正在建立客戶端..."
+msgstr "正在建立用戶端..."
#: src/client/game.cpp
msgid "Creating server..."
@@ -1038,16 +1006,15 @@ msgstr "正在建立伺æœå™¨..."
#: src/client/game.cpp
msgid "Debug info and profiler graph hidden"
-msgstr ""
+msgstr "已隱è—除錯資訊åŠåˆ†æžåœ–"
#: src/client/game.cpp
-#, fuzzy
msgid "Debug info shown"
-msgstr "除錯資訊切æ›æŒ‰éµ"
+msgstr "已顯示除錯資訊"
#: src/client/game.cpp
msgid "Debug info, profiler graph, and wireframe hidden"
-msgstr ""
+msgstr "已隱è—除錯資訊ã€åˆ†æžåœ–åŠç·šæ¡†"
#: src/client/game.cpp
msgid ""
@@ -1079,19 +1046,19 @@ 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"
-msgstr "離開到é¸å–®"
+msgstr "離開,回到é¸å–®"
#: src/client/game.cpp
msgid "Exit to OS"
-msgstr "離開到作業系統"
+msgstr "離開,回到作業系統"
#: src/client/game.cpp
msgid "Fast mode disabled"
@@ -1103,7 +1070,7 @@ msgstr "已啟用快速模å¼"
#: src/client/game.cpp
msgid "Fast mode enabled (note: no 'fast' privilege)"
-msgstr ""
+msgstr "已啟用快速模å¼ï¼ˆè¨»ï¼šæ²’有「fastã€æ¬Šé™ï¼‰"
#: src/client/game.cpp
msgid "Fly mode disabled"
@@ -1115,17 +1082,15 @@ msgstr "已啟用飛行模å¼"
#: src/client/game.cpp
msgid "Fly mode enabled (note: no 'fly' privilege)"
-msgstr ""
+msgstr "已啟用飛行模å¼ï¼ˆè¨»ï¼šæ²’有「flyã€æ¬Šé™ï¼‰"
#: src/client/game.cpp
-#, fuzzy
msgid "Fog disabled"
-msgstr "è‹¥åœç”¨ "
+msgstr "å·²åœç”¨éœ§æ°£"
#: src/client/game.cpp
-#, fuzzy
msgid "Fog enabled"
-msgstr "已啟用"
+msgstr "已啟用霧氣"
#: src/client/game.cpp
msgid "Game info:"
@@ -1141,11 +1106,11 @@ msgstr "正在主æŒä¼ºæœå™¨"
#: src/client/game.cpp
msgid "Item definitions..."
-msgstr "物å“定義..."
+msgstr "定義物å“..."
#: src/client/game.cpp
msgid "KiB/s"
-msgstr "KiB/s"
+msgstr "KiB/秒"
#: src/client/game.cpp
msgid "Media..."
@@ -1153,53 +1118,51 @@ msgstr "媒體..."
#: src/client/game.cpp
msgid "MiB/s"
-msgstr "MiB/s"
+msgstr "MiB/秒"
#: src/client/game.cpp
msgid "Minimap currently disabled by game or mod"
-msgstr ""
+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 "é›·é”模å¼çš„迷你地圖,放大 1 å€"
#: src/client/game.cpp
msgid "Minimap in radar mode, Zoom x2"
-msgstr ""
+msgstr "é›·é”模å¼çš„迷你地圖,放大 2 å€"
#: 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 ""
+msgstr "å·²åœç”¨ç©¿ç‰†æ¨¡å¼"
#: 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 "已啟用穿牆模å¼ï¼ˆè¨»ï¼šæ²’有「noclipã€æ¬Šé™ï¼‰"
#: src/client/game.cpp
msgid "Node definitions..."
@@ -1215,15 +1178,15 @@ msgstr "é–‹å•Ÿ"
#: src/client/game.cpp
msgid "Pitch move mode disabled"
-msgstr ""
+msgstr "å·²åœç”¨ Pitch 移動模å¼"
#: src/client/game.cpp
msgid "Pitch move mode enabled"
-msgstr ""
+msgstr "已啟用 Pitch 移動模å¼"
#: src/client/game.cpp
msgid "Profiler graph shown"
-msgstr ""
+msgstr "已顯示分æžåœ–"
#: src/client/game.cpp
msgid "Remote server"
@@ -1235,7 +1198,7 @@ msgstr "正在解æžåœ°å€â€¦â€¦"
#: src/client/game.cpp
msgid "Shutting down..."
-msgstr "關閉..."
+msgstr "正在關閉..."
#: src/client/game.cpp
msgid "Singleplayer"
@@ -1246,86 +1209,81 @@ 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 "音é‡å·²èª¿æ•´ç‚º%d%%"
+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
msgid "Volume changed to %d%%"
-msgstr "音é‡å·²èª¿æ•´ç‚º%d%%"
+msgstr "音é‡å·²èª¿æ•´ç‚º %d%%"
#: src/client/game.cpp
msgid "Wireframe shown"
-msgstr ""
+msgstr "已顯示線框"
#: src/client/game.cpp
msgid "Zoom currently disabled by game or mod"
-msgstr ""
+msgstr "é è¿‘調整目å‰å·²è¢«éŠæˆ²æˆ–模組åœç”¨"
#: src/client/game.cpp src/gui/modalMenu.cpp
msgid "ok"
msgstr "確定"
#: src/client/gameui.cpp
-#, fuzzy
msgid "Chat hidden"
-msgstr "èŠå¤©æŒ‰éµ"
+msgstr "éš±è—èŠå¤©å®¤"
#: src/client/gameui.cpp
msgid "Chat shown"
-msgstr ""
+msgstr "顯示èŠå¤©å®¤"
#: src/client/gameui.cpp
msgid "HUD hidden"
-msgstr ""
+msgstr "å·²éš±è— HUD"
#: src/client/gameui.cpp
msgid "HUD shown"
-msgstr ""
+msgstr "已顯示 HUD"
#: src/client/gameui.cpp
-#, fuzzy
msgid "Profiler hidden"
-msgstr "分æžå™¨"
+msgstr "已隱è—分æžå™¨"
#: src/client/gameui.cpp
#, c-format
msgid "Profiler shown (page %d of %d)"
-msgstr ""
+msgstr "已顯示分æžå™¨ï¼ˆç¬¬ %d é ï¼Œå…± %d é ï¼‰"
#: src/client/keycode.cpp
msgid "Apps"
msgstr "應用程å¼"
#: src/client/keycode.cpp
-#, fuzzy
msgid "Backspace"
-msgstr "Back"
+msgstr "退格éµ"
#: src/client/keycode.cpp
msgid "Caps Lock"
-msgstr "Caps Lock"
+msgstr "大寫鎖定éµ"
#: src/client/keycode.cpp
msgid "Clear"
@@ -1369,7 +1327,7 @@ msgstr "è½‰æ› IME"
#: src/client/keycode.cpp
msgid "IME Escape"
-msgstr "逃脫 IME"
+msgstr "跳脫 IME"
#: src/client/keycode.cpp
msgid "IME Mode Change"
@@ -1393,20 +1351,21 @@ msgstr "å·¦éµ"
#: src/client/keycode.cpp
msgid "Left Control"
-msgstr "左邊 Control"
+msgstr "å·¦ Control"
#: src/client/keycode.cpp
msgid "Left Menu"
-msgstr "左邊é¸å–®éµ"
+msgstr "å·¦é¸å–®éµ"
#: src/client/keycode.cpp
msgid "Left Shift"
-msgstr "左邊 Shift"
+msgstr "å·¦ Shift"
#: src/client/keycode.cpp
msgid "Left Windows"
-msgstr "左方視窗"
+msgstr "å·¦ Windows éµ"
+#. ~ Key name, common on Windows keyboards
#: src/client/keycode.cpp
msgid "Menu"
msgstr "é¸å–®"
@@ -1417,7 +1376,7 @@ msgstr "中éµ"
#: src/client/keycode.cpp
msgid "Num Lock"
-msgstr "Num Lock"
+msgstr "數字鎖定éµ"
#: src/client/keycode.cpp
msgid "Numpad *"
@@ -1433,7 +1392,7 @@ msgstr "æ•¸å­—éµ -"
#: src/client/keycode.cpp
msgid "Numpad ."
-msgstr "數字éµè‡ºã€‚"
+msgstr "æ•¸å­—éµ ."
#: src/client/keycode.cpp
msgid "Numpad /"
@@ -1485,11 +1444,11 @@ msgstr "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"
@@ -1497,8 +1456,9 @@ msgstr "æš«åœ"
#: src/client/keycode.cpp
msgid "Play"
-msgstr "玩"
+msgstr "éŠçŽ©"
+#. ~ "Print screen" key
#: src/client/keycode.cpp
msgid "Print"
msgstr "列å°"
@@ -1517,24 +1477,25 @@ msgstr "å³éµ"
#: src/client/keycode.cpp
msgid "Right Control"
-msgstr "å³é‚Š Control"
+msgstr "å³ Control"
#: src/client/keycode.cpp
msgid "Right Menu"
-msgstr "å³é‚Šé¸å–®éµ"
+msgstr "å³é¸å–®éµ"
#: src/client/keycode.cpp
msgid "Right Shift"
-msgstr "å³é‚Š Shift"
+msgstr "å³ Shift"
#: src/client/keycode.cpp
msgid "Right Windows"
-msgstr "å³æ–¹è¦–窗"
+msgstr "å³ Windows éµ"
#: src/client/keycode.cpp
msgid "Scroll Lock"
-msgstr "Scroll Lock"
+msgstr "æ²å‹•éŽ–定éµ"
+#. ~ Key name
#: src/client/keycode.cpp
msgid "Select"
msgstr "é¸æ“‡"
@@ -1549,11 +1510,11 @@ msgstr "ç¡çœ "
#: src/client/keycode.cpp
msgid "Snapshot"
-msgstr "螢幕截圖"
+msgstr "å¿«ç…§"
#: src/client/keycode.cpp
msgid "Space"
-msgstr "Space"
+msgstr "空白éµ"
#: src/client/keycode.cpp
msgid "Tab"
@@ -1573,7 +1534,7 @@ msgstr "X 按鈕 2"
#: src/client/keycode.cpp src/gui/guiKeyChangeMenu.cpp
msgid "Zoom"
-msgstr "縮放"
+msgstr "é è¿‘調整"
#: src/gui/guiConfirmRegistration.cpp src/gui/guiPasswordChange.cpp
msgid "Passwords do not match!"
@@ -1581,7 +1542,7 @@ msgstr "密碼ä¸ç¬¦åˆï¼"
#: src/gui/guiConfirmRegistration.cpp
msgid "Register and Join"
-msgstr ""
+msgstr "註冊並加入"
#: src/gui/guiConfirmRegistration.cpp
#, c-format
@@ -1592,33 +1553,33 @@ msgid ""
"Please retype your password and click 'Register and Join' to confirm account "
"creation, or click 'Cancel' to abort."
msgstr ""
+"您第一次使用「%sã€å稱加入這個伺æœå™¨ã€‚\n"
+"如您繼續,å³æœƒåœ¨é€™å°ä¼ºæœå™¨ä½¿ç”¨ä½ çš„憑證建立新帳戶。\n"
+"è«‹é‡æ–°è¼¸å…¥æ‚¨çš„密碼,後按下「註冊並加入ã€ç¢ºèªå¸³æˆ¶å»ºç«‹ï¼Œæˆ–按「å–消ã€ä¸­æ­¢ã€‚"
#: src/gui/guiFormSpecMenu.cpp
msgid "Proceed"
-msgstr "開始"
+msgstr "繼續"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "\"Special\" = climb down"
-msgstr "「使用ã€=å‘下攀爬"
+msgstr "\"Special\" = å‘下攀爬"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Autoforward"
-msgstr "å‰é€²"
+msgstr "自動å‰é€²"
#: src/gui/guiKeyChangeMenu.cpp src/settings_translation_file.cpp
msgid "Automatic jumping"
-msgstr ""
+msgstr "自動跳èº"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Backward"
msgstr "後退"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Change camera"
-msgstr "變更按éµ"
+msgstr "變更相機"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Chat"
@@ -1633,9 +1594,8 @@ msgid "Console"
msgstr "終端機"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Dec. range"
-msgstr "視野"
+msgstr "é™ä½Žè¦–野"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Dec. volume"
@@ -1654,9 +1614,8 @@ msgid "Forward"
msgstr "å‰é€²"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Inc. range"
-msgstr "視野"
+msgstr "æ高視野"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Inc. volume"
@@ -1672,7 +1631,7 @@ msgstr "è·³èº"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Key already in use"
-msgstr "此按éµå·²è¢«ä½¿ç”¨"
+msgstr "已使用此按éµ"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Keybindings. (If this menu screws up, remove stuff from minetest.conf)"
@@ -1688,7 +1647,7 @@ msgstr "éœéŸ³"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Next item"
-msgstr "下一個項目"
+msgstr "下一個物å“"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Prev. item"
@@ -1700,7 +1659,7 @@ msgstr "é¸æ“‡ç¯„åœ"
#: src/gui/guiKeyChangeMenu.cpp src/settings_translation_file.cpp
msgid "Screenshot"
-msgstr "螢幕截圖"
+msgstr "螢幕擷å–"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Sneak"
@@ -1708,44 +1667,39 @@ msgstr "潛行"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Special"
-msgstr ""
+msgstr "特殊"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Toggle HUD"
-msgstr "切æ›é£›è¡Œ"
+msgstr "åˆ‡æ› HUD"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Toggle chat log"
-msgstr "切æ›å¿«é€Ÿ"
+msgstr "切æ›èŠå¤©è¨˜éŒ„"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Toggle fast"
-msgstr "切æ›å¿«é€Ÿ"
+msgstr "切æ›å¿«é€Ÿæ¨¡å¼"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Toggle fly"
-msgstr "切æ›é£›è¡Œ"
+msgstr "切æ›é£›è¡Œæ¨¡å¼"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Toggle fog"
-msgstr "切æ›é£›è¡Œ"
+msgstr "切æ›éœ§æ°£"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Toggle minimap"
-msgstr "切æ›ç„¡çœç•¥"
+msgstr "切æ›è¿·ä½ åœ°åœ–"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Toggle noclip"
-msgstr "切æ›ç„¡çœç•¥"
+msgstr "切æ›ç©¿ç‰†æ¨¡å¼"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Toggle pitchmove"
-msgstr "切æ›å¿«é€Ÿ"
+msgstr "åˆ‡æ› Pitch 移動模å¼"
#: src/gui/guiKeyChangeMenu.cpp
msgid "press key"
@@ -1772,19 +1726,23 @@ msgid "Exit"
msgstr "離開"
#: src/gui/guiVolumeChange.cpp
-#, fuzzy
msgid "Muted"
-msgstr "éœéŸ³"
+msgstr "å·²éœéŸ³"
#: src/gui/guiVolumeChange.cpp
msgid "Sound Volume: "
msgstr "音é‡ï¼š "
+#. ~ Imperative, as in "Enter/type in text".
+#. Don't forget the space.
#: src/gui/modalMenu.cpp
msgid "Enter "
msgstr "輸入 "
-#: src/network/clientpackethandler.cpp
+#. ~ DO NOT TRANSLATE THIS LITERALLY!
+#. This is a special string which needs to contain the translation's
+#. language code (e.g. "de" for German).
+#: src/network/clientpackethandler.cpp src/script/lua_api/l_client.cpp
msgid "LANG_CODE"
msgstr "zh_TW"
@@ -1793,13 +1751,16 @@ 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
+#, fuzzy
msgid ""
"(Android) Use virtual joystick to trigger \"aux\" button.\n"
"If enabled, virtual joystick will also tap \"aux\" button when out of main "
"circle."
-msgstr ""
+msgstr "(Android) 使用虛擬æ–桿觸發 \"aux\" 按éµã€‚\n"
#: src/settings_translation_file.cpp
#, fuzzy
@@ -1808,7 +1769,7 @@ msgid ""
"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"
+"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."
@@ -1839,31 +1800,33 @@ 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 "控制波狀丘陵地之形狀或大å°çš„ 2D 雜訊值。"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid "2D noise that controls the shape/size of step mountains."
-msgstr ""
+msgstr "控制 Step mountains 之形狀或大å°çš„ 2D 雜訊值。"
#: src/settings_translation_file.cpp
msgid "2D noise that controls the size/occurrence of ridged mountain ranges."
-msgstr ""
+msgstr "控制山脊範åœä¹‹å¤§å°æˆ–產狀的 2D 雜訊值。"
#: src/settings_translation_file.cpp
msgid "2D noise that controls the size/occurrence of rolling hills."
-msgstr ""
+msgstr "控制波狀丘陵地之大å°æˆ–產狀的 2D 雜訊值。"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid "2D noise that controls the size/occurrence of step mountain ranges."
-msgstr ""
+msgstr "控制 Step mountains 範åœä¹‹å½¢ç‹€æˆ–大å°çš„ 2D 雜訊值。"
#: src/settings_translation_file.cpp
msgid "2D noise that locates the river valleys and channels."
-msgstr ""
+msgstr "定ä½æ²³è°·åŠæ²³é“çš„ 2D 雜訊值。"
#: src/settings_translation_file.cpp
msgid "3D clouds"
@@ -1875,35 +1838,33 @@ msgstr "3D 模å¼"
#: src/settings_translation_file.cpp
msgid "3D noise defining giant caverns."
-msgstr "產生大型洞穴時用的雜訊值。"
+msgstr "定義大型洞穴時用的雜訊值。"
#: src/settings_translation_file.cpp
msgid ""
"3D noise defining mountain structure and height.\n"
"Also defines structure of floatland mountain terrain."
msgstr ""
-"產生高山çµæ§‹èˆ‡é«˜åº¦æ™‚用的雜訊值。\n"
-"åŒæ™‚用來產生空島山地形çµæ§‹ã€‚"
+"定義高山çµæ§‹èˆ‡é«˜åº¦æ‰€ç”¨çš„ 3D 雜訊值。\n"
+"åŒæ™‚用來定義空島山地形çµæ§‹ã€‚"
#: src/settings_translation_file.cpp
msgid "3D noise defining structure of river canyon walls."
-msgstr "產生河æµå³½è°·æ™‚用的雜訊值。"
+msgstr "定義河æµå³½è°·çµæ§‹æ‰€ç”¨çš„ 3D 雜訊值。"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "3D noise defining terrain."
-msgstr "產生大型洞穴時用的雜訊值。"
+msgstr "定義地形所用的 3D 雜訊值。"
#: src/settings_translation_file.cpp
msgid "3D noise for mountain overhangs, cliffs, etc. Usually small variations."
-msgstr ""
+msgstr "懸空ã€æ‡¸å´–等山丘的 3D 雜訊值。通常是å°è®Šç•°ã€‚"
#: src/settings_translation_file.cpp
msgid "3D noise that determines number of dungeons per mapchunk."
-msgstr ""
+msgstr "決定æ¯å€‹åœ°åœ–å€å¡Šä¸­åœ°åŸŽæ•¸é‡çš„ 3D 雜訊值。"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"3D support.\n"
"Currently supported:\n"
@@ -1918,12 +1879,14 @@ msgid ""
msgstr ""
"3D 支æ´ã€‚\n"
"ç›®å‰å·²æ”¯æ´ï¼š\n"
-"- 無:無 3D 輸出。\n"
-"- 浮雕:é’色ï¼å“紅色彩色 3D。\n"
-"- 交錯的:基於å振螢幕的奇ï¼å¶è¡Œæ”¯æ´ã€‚\n"
-"- 頂底:將螢幕分離為頂部ï¼åº•éƒ¨ã€‚\n"
-"- 一邊一個:將螢幕分離為一邊一個。\n"
-"- ç¿»é ï¼šåŸºæ–¼å››é‡ç·©è¡çš„ 3D。"
+"- none:無 3D 輸出。\n"
+"- anaglyph:é’色ï¼å“紅色彩色 3D。\n"
+"- interlaced:基於å振螢幕的奇ï¼å¶è¡Œæ”¯æ´ã€‚\n"
+"- topbottom:將螢幕分æˆé ‚ï¼åº•éƒ¨ã€‚\n"
+"- sidebyside:將螢幕分離為一邊一個。\n"
+"- crossview: é¬¥é›žçœ¼å¼ 3D\n"
+"- pageflip:基於四é‡ç·©è¡çš„ 3D。\n"
+"註:interlaced 模å¼éœ€è¦å•Ÿç”¨è‘—色器。"
#: src/settings_translation_file.cpp
msgid ""
@@ -1935,16 +1898,15 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "A message to be displayed to all clients when the server crashes."
-msgstr "當伺æœå™¨ç•¶æ©Ÿæ™‚è¦é¡¯ç¤ºåœ¨æ‰€æœ‰å®¢æˆ¶ç«¯ä¸Šçš„訊æ¯ã€‚"
+msgstr "當伺æœå™¨ç•¶æ©Ÿæ™‚è¦é¡¯ç¤ºåœ¨æ‰€æœ‰ç”¨æˆ¶ç«¯ä¸Šçš„訊æ¯ã€‚"
#: src/settings_translation_file.cpp
msgid "A message to be displayed to all clients when the server shuts down."
-msgstr "當伺æœå™¨é—œæ©Ÿæ™‚è¦é¡¯ç¤ºåœ¨æ‰€æœ‰å®¢æˆ¶ç«¯ä¸Šçš„訊æ¯ã€‚"
+msgstr "當伺æœå™¨é—œæ©Ÿæ™‚è¦é¡¯ç¤ºåœ¨æ‰€æœ‰ç”¨æˆ¶ç«¯ä¸Šçš„訊æ¯ã€‚"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "ABM interval"
-msgstr "地圖儲存間隔"
+msgstr "ABM é–“éš”"
#: src/settings_translation_file.cpp
msgid "Absolute limit of emerge queues"
@@ -1952,18 +1914,17 @@ msgstr "發生佇列的絕å°é™åˆ¶"
#: src/settings_translation_file.cpp
msgid "Acceleration in air"
-msgstr "在空氣中的加速"
+msgstr "空氣中的加速度"
#: src/settings_translation_file.cpp
msgid "Acceleration of gravity, in nodes per second per second."
-msgstr ""
+msgstr "æ¯ç§’中æ¯ç§’節點的é‡åŠ›åŠ é€Ÿåº¦ã€‚"
#: src/settings_translation_file.cpp
msgid "Active Block Modifiers"
msgstr "活動å€å¡Šèª¿æ•´å™¨"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Active block management interval"
msgstr "活動å€å¡Šç®¡ç†é–“éš”"
@@ -1973,7 +1934,7 @@ msgstr "活動å€å¡Šç¯„åœ"
#: src/settings_translation_file.cpp
msgid "Active object send range"
-msgstr "活動目標發é€ç¯„åœ"
+msgstr "活動目標傳é€ç¯„åœ"
#: src/settings_translation_file.cpp
msgid ""
@@ -1996,30 +1957,25 @@ msgid ""
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."
+msgid ""
+"Alters the light curve by applying 'gamma correction' to it.\n"
+"Higher values make middle and lower light levels brighter.\n"
+"Value '1.0' leaves the light curve unaltered.\n"
+"This only has significant effect on daylight and artificial\n"
+"light, it has very little effect on natural night light."
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Altitude chill"
-msgstr "高度寒冷"
+msgstr "寒冷海拔"
#: src/settings_translation_file.cpp
msgid "Always fly and fast"
-msgstr "總是啟用飛行與快速"
+msgstr "總是啟用飛行與快速模å¼"
#: src/settings_translation_file.cpp
msgid "Ambient occlusion gamma"
@@ -2027,12 +1983,11 @@ msgstr "環境é®è”½å…‰"
#: src/settings_translation_file.cpp
msgid "Amount of messages a player may send per 10 seconds."
-msgstr ""
+msgstr "çŽ©å®¶æ¯ 10 秒能傳é€çš„訊æ¯é‡"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Amplifies the valleys."
-msgstr "放大山谷"
+msgstr "放大山谷。"
#: src/settings_translation_file.cpp
msgid "Anisotropic filtering"
@@ -2043,31 +1998,32 @@ msgid "Announce server"
msgstr "公佈伺æœå™¨"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Announce to this serverlist."
-msgstr "公佈伺æœå™¨"
+msgstr "公佈至此伺æœå™¨æ¸…單。"
#: src/settings_translation_file.cpp
msgid "Append item name"
-msgstr ""
+msgstr "將物å“å稱加至末尾"
#: src/settings_translation_file.cpp
msgid "Append item name to tooltip."
-msgstr ""
+msgstr "將物å“å稱加至工具æ示的末尾。"
#: src/settings_translation_file.cpp
msgid "Apple trees noise"
-msgstr "蘋果樹噪音"
+msgstr "蘋果樹雜訊"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Arm inertia"
-msgstr ""
+msgstr "慣性手臂"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
"Arm inertia, gives a more realistic movement of\n"
"the arm when the camera moves."
-msgstr ""
+msgstr "慣性手臂,當相機移動時æ供更加真實的手臂é‹å‹•ã€‚"
#: src/settings_translation_file.cpp
msgid "Ask to reconnect after crash"
@@ -2088,7 +2044,7 @@ msgid ""
"optimization.\n"
"Stated in mapblocks (16 nodes)."
msgstr ""
-"在這樣的è·é›¢ä¸‹ï¼Œä¼ºæœå™¨å°‡ç©æ¥µæœ€ä½³åŒ–那些è¦å‚³é€çµ¦å®¢æˆ¶ç«¯çš„方塊。\n"
+"在這樣的è·é›¢ä¸‹ï¼Œä¼ºæœå™¨å°‡ç©æ¥µæœ€ä½³åŒ–那些è¦å‚³é€çµ¦ç”¨æˆ¶ç«¯çš„方塊。\n"
"較å°çš„值å¯èƒ½æœƒæå‡æ•ˆèƒ½ï¼Œä½†ä»£åƒ¹æ˜¯ä¸€äº›å¯è¦‹çš„彩ç¾å•é¡Œã€‚\n"
"(有一些在水中與洞穴中的方塊將ä¸æœƒè¢«å½©ç¾ï¼Œä»¥åŠæœ‰æ™‚在陸地上)\n"
"將此值設定為大於 max_block_send_distance 將會åœç”¨é€™å€‹æœ€ä½³åŒ–。\n"
@@ -2141,11 +2097,11 @@ msgstr "基礎特權"
#: src/settings_translation_file.cpp
msgid "Beach noise"
-msgstr "æµ·ç˜å™ªéŸ³"
+msgstr "æµ·ç˜é›œè¨Š"
#: src/settings_translation_file.cpp
msgid "Beach noise threshold"
-msgstr "æµ·ç˜å™ªéŸ³é–¾å€¼"
+msgstr "æµ·ç˜é›œè¨Šé–¾å€¼"
#: src/settings_translation_file.cpp
msgid "Bilinear filtering"
@@ -2157,11 +2113,11 @@ msgstr "ç¶å®šåœ°å€"
#: src/settings_translation_file.cpp
msgid "Biome API temperature and humidity noise parameters"
-msgstr "Biome API 溫度與濕度 噪音 åƒæ•¸"
+msgstr "Biome API 溫度與濕度 雜訊 åƒæ•¸"
#: src/settings_translation_file.cpp
msgid "Biome noise"
-msgstr "生物噪音"
+msgstr "生物雜訊"
#: src/settings_translation_file.cpp
msgid "Bits per pixel (aka color depth) in fullscreen mode."
@@ -2173,6 +2129,26 @@ msgid "Block send optimize distance"
msgstr "å€å¡Šå‚³é€æœ€ä½³åŒ–è·é›¢"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Bold and italic font path"
+msgstr "等寬字型路徑"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Bold and italic monospace font path"
+msgstr "等寬字型路徑"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Bold font path"
+msgstr "字型路徑"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Bold monospace font path"
+msgstr "等寬字型路徑"
+
+#: src/settings_translation_file.cpp
msgid "Build inside player"
msgstr "在玩家內構建"
@@ -2186,8 +2162,8 @@ 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"
+"Camera 'near clipping plane' distance in nodes, between 0 and 0.25\n"
+"Only works on GLES platforms. 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 ""
@@ -2206,15 +2182,15 @@ msgstr "æ”影機切æ›æ›´æ–°æŒ‰éµ"
#: src/settings_translation_file.cpp
msgid "Cave noise"
-msgstr "洞穴噪音"
+msgstr "洞穴雜訊"
#: src/settings_translation_file.cpp
msgid "Cave noise #1"
-msgstr "洞穴噪音 #1"
+msgstr "洞穴雜訊 #1"
#: src/settings_translation_file.cpp
msgid "Cave noise #2"
-msgstr "洞穴噪音 #2"
+msgstr "洞穴雜訊 #2"
#: src/settings_translation_file.cpp
msgid "Cave width"
@@ -2222,11 +2198,11 @@ msgstr "洞穴寬度"
#: src/settings_translation_file.cpp
msgid "Cave1 noise"
-msgstr "洞穴1噪音"
+msgstr "洞穴1 雜訊"
#: src/settings_translation_file.cpp
msgid "Cave2 noise"
-msgstr "洞穴2噪音"
+msgstr "洞穴2 雜訊"
#: src/settings_translation_file.cpp
msgid "Cavern limit"
@@ -2234,7 +2210,7 @@ msgstr "洞穴極é™"
#: src/settings_translation_file.cpp
msgid "Cavern noise"
-msgstr "洞穴噪音"
+msgstr "洞穴雜訊"
#: src/settings_translation_file.cpp
msgid "Cavern taper"
@@ -2250,7 +2226,9 @@ msgid "Cavern upper limit"
msgstr "洞穴極é™"
#: src/settings_translation_file.cpp
-msgid "Center of light curve mid-boost."
+msgid ""
+"Center of light curve boost range.\n"
+"Where 0.0 is minimum light level, 1.0 is maximum light level."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2268,23 +2246,20 @@ msgid "Chat key"
msgstr "èŠå¤©æŒ‰éµ"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Chat message count limit"
-msgstr "連線時的狀態訊æ¯"
+msgstr "èŠå¤©è¨Šæ¯æ•¸ä¸Šé™"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Chat message format"
-msgstr "連線時的狀態訊æ¯"
+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"
@@ -2312,20 +2287,20 @@ msgstr "清除é€æ˜Žæ質"
#: src/settings_translation_file.cpp
msgid "Client"
-msgstr "客戶端"
+msgstr "用戶端"
#: src/settings_translation_file.cpp
msgid "Client and Server"
-msgstr "客戶端與伺æœå™¨"
+msgstr "用戶端與伺æœå™¨"
#: src/settings_translation_file.cpp
msgid "Client modding"
-msgstr "客戶端修改"
+msgstr "用戶端修改"
#: src/settings_translation_file.cpp
#, fuzzy
msgid "Client side modding restrictions"
-msgstr "客戶端修改"
+msgstr "用戶端修改"
#: src/settings_translation_file.cpp
msgid "Client side node lookup range restriction"
@@ -2345,7 +2320,7 @@ msgstr "雲朵"
#: src/settings_translation_file.cpp
msgid "Clouds are a client side effect."
-msgstr "雲朵是客戶端的特效。"
+msgstr "雲朵是用戶端的特效。"
#: src/settings_translation_file.cpp
msgid "Clouds in menu"
@@ -2456,17 +2431,11 @@ msgid "Controls steepness/height of hills."
msgstr "控制山丘的陡度ï¼æ·±åº¦ã€‚"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
-"Controls the density of mountain-type floatlands.\n"
-"Is a noise offset added to the 'mgv7_np_mountain' noise value."
+"Controls width of tunnels, a smaller value creates wider tunnels.\n"
+"Value >= 10.0 completely disables generation of tunnels and avoids the\n"
+"intensive noise calculations."
msgstr ""
-"控制山地的浮地密度。\n"
-"是加入到 'np_mountain' 噪音值的補償。"
-
-#: 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"
@@ -2501,18 +2470,13 @@ msgid "Damage"
msgstr "傷害"
#: src/settings_translation_file.cpp
-#, fuzzy
-msgid "Darkness sharpness"
-msgstr "湖泊å¡åº¦"
-
-#: src/settings_translation_file.cpp
msgid "Debug info toggle key"
msgstr "除錯資訊切æ›æŒ‰éµ"
#: src/settings_translation_file.cpp
#, fuzzy
msgid "Debug log file size threshold"
-msgstr "沙漠噪音閾值"
+msgstr "沙漠雜訊閾值"
#: src/settings_translation_file.cpp
msgid "Debug log level"
@@ -2523,7 +2487,7 @@ msgid "Dec. volume key"
msgstr "音é‡æ¸›å°‘éµ"
#: src/settings_translation_file.cpp
-msgid "Decrease this to increase liquid resistence to movement."
+msgid "Decrease this to increase liquid resistance to movement."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2567,14 +2531,6 @@ msgstr ""
"åªæœƒåœ¨èˆ‡ cURL 一åŒç·¨è­¯çš„情æ³ä¸‹æ‰æœƒæœ‰å½±éŸ¿ã€‚"
#: src/settings_translation_file.cpp
-msgid ""
-"Defines areas of floatland smooth terrain.\n"
-"Smooth floatlands occur when noise > 0."
-msgstr ""
-"定義浮地的平整地形å€ã€‚\n"
-"平整的浮地會在噪音 > 0 時產生。"
-
-#: src/settings_translation_file.cpp
msgid "Defines areas where trees have apples."
msgstr "定義樹上有蘋果的å€åŸŸã€‚"
@@ -2645,12 +2601,12 @@ 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"
-"網格更新速率,從而減少在較慢客戶端上的抖動。"
+"在用戶端上的網格間更新延é²ï¼Œä»¥æ¯«ç§’為單ä½ã€‚增加它就會減慢\n"
+"網格更新速率,從而減少在較慢用戶端上的抖動。"
#: src/settings_translation_file.cpp
msgid "Delay in sending blocks after building"
-msgstr "建造åŽç™¼é€å€å¡Šå‰å»¶é²çš„時間"
+msgstr "建造åŽå‚³é€å€å¡Šå‰å»¶é²çš„時間"
#: src/settings_translation_file.cpp
msgid "Delay showing tooltips, stated in milliseconds."
@@ -2661,12 +2617,6 @@ 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 "您會發ç¾å¤§åž‹æ´žç©´çš„深度。"
@@ -2683,7 +2633,7 @@ msgstr "伺æœå™¨çš„æ述,會在玩家加入時顯示,也會顯示在伺æœ
#: src/settings_translation_file.cpp
msgid "Desert noise threshold"
-msgstr "沙漠噪音閾值"
+msgstr "沙漠雜訊閾值"
#: src/settings_translation_file.cpp
#, fuzzy
@@ -2740,23 +2690,24 @@ msgid "Dungeon minimum Y"
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Dungeon noise"
-msgstr "山噪音"
+msgstr "地城雜訊"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Enable IPv6 support (for both client and server).\n"
+"Required for IPv6 connections to work at all."
+msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Enable Lua modding support on client.\n"
"This support is experimental and API can change."
msgstr ""
-"在客戶端上啟用 Lua 修改支æ´ã€‚\n"
+"在用戶端上啟用 Lua 修改支æ´ã€‚\n"
"這個支æ´æ˜¯å¯¦é©—性的,且 API å¯èƒ½æœƒè®Šå‹•ã€‚"
#: src/settings_translation_file.cpp
-msgid "Enable VBO"
-msgstr "啟用 VBO"
-
-#: src/settings_translation_file.cpp
msgid "Enable console window"
msgstr "啟用終端機視窗"
@@ -2812,8 +2763,8 @@ msgid ""
"to new servers, but they may not support all new features that you are "
"expecting."
msgstr ""
-"啟用以讓舊的客戶端無法連線。\n"
-"較舊的客戶端在這個æ„義上相容,它們ä¸æœƒåœ¨é€£ç·šè‡³\n"
+"啟用以讓舊的用戶端無法連線。\n"
+"較舊的用戶端在這個æ„義上相容,它們ä¸æœƒåœ¨é€£ç·šè‡³\n"
"新伺æœå™¨æ™‚當掉,但它們å¯èƒ½æœƒä¸æ”¯æ´ä¸€äº›æ‚¨é æœŸæœƒæœ‰çš„新功能。"
#: src/settings_translation_file.cpp
@@ -2829,6 +2780,12 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
+"Enable vertex buffer objects.\n"
+"This should greatly improve graphics performance."
+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 ""
@@ -2839,13 +2796,22 @@ msgstr ""
#, fuzzy
msgid ""
"Enable/disable running an IPv6 server.\n"
-"Ignored if bind_address is set."
+"Ignored if bind_address is set.\n"
+"Needs enable_ipv6 to be enabled."
msgstr ""
"啟用ï¼åœç”¨åŸ·è¡Œ IPv6 伺æœå™¨ã€‚IPv6 伺æœå™¨å¯èƒ½æœƒé™åˆ¶åªæœ‰\n"
-"IPv6 客戶端æ‰èƒ½é€£ç·šï¼Œå–決於系統設定。\n"
+"IPv6 用戶端æ‰èƒ½é€£ç·šï¼Œå–決於系統設定。\n"
"當 bind_address 被設定時將會被忽略。"
#: src/settings_translation_file.cpp
+msgid ""
+"Enables Hable's 'Uncharted 2' filmic tone mapping.\n"
+"Simulates the tone curve of photographic film and how this approximates the\n"
+"appearance of high dynamic range images. Mid-range contrast is slightly\n"
+"enhanced, highlights and shadows are gradually compressed."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Enables animation of inventory items."
msgstr "啟用物å“欄物å“動畫。"
@@ -2865,10 +2831,6 @@ 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 "啟用å°åœ°åœ–。"
@@ -2889,6 +2851,14 @@ msgstr ""
"必須啟用著色器。"
#: src/settings_translation_file.cpp
+msgid ""
+"Enables the sound system.\n"
+"If disabled, this completely disables all sounds everywhere and the in-game\n"
+"sound controls will be non-functional.\n"
+"Changing this setting requires a restart."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Engine profiling data print interval"
msgstr "引擎性能資料å°å‡ºé–“éš”"
@@ -2914,14 +2884,15 @@ msgstr "FSAA"
#: src/settings_translation_file.cpp
msgid "Factor noise"
-msgstr "噪音係數"
+msgstr "雜訊係數"
#: src/settings_translation_file.cpp
msgid "Fall bobbing factor"
msgstr "墜è½æ™ƒå‹•å› ç´ "
#: src/settings_translation_file.cpp
-msgid "Fallback font"
+#, fuzzy
+msgid "Fallback font path"
msgstr "備用字型"
#: src/settings_translation_file.cpp
@@ -2976,7 +2947,7 @@ msgid ""
"the\n"
"Multiplayer Tab."
msgstr ""
-"在 客戶端/伺æœå™¨æ¸…å–®/ 中的檔案包å«äº†é¡¯ç¤ºåœ¨å¤šäººéŠæˆ²åˆ†é ä¸­æ‚¨æœ€æ„›çš„伺æœå™¨ã€‚"
+"在 用戶端/伺æœå™¨æ¸…å–®/ 中的檔案包å«äº†é¡¯ç¤ºåœ¨å¤šäººéŠæˆ²åˆ†é ä¸­æ‚¨æœ€æ„›çš„伺æœå™¨ã€‚"
#: src/settings_translation_file.cpp
#, fuzzy
@@ -2985,7 +2956,7 @@ msgstr "填充深度"
#: src/settings_translation_file.cpp
msgid "Filler depth noise"
-msgstr "填充深度噪音"
+msgstr "填充深度雜訊"
#: src/settings_translation_file.cpp
msgid "Filmic tone mapping"
@@ -3009,14 +2980,12 @@ msgid "Filtering"
msgstr "éŽæ¿¾å™¨"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "First of 4 2D noises that together define hill/mountain range height."
-msgstr "二之一 一åŒå®šç¾©éš§é“çš„ 3D 噪音。"
+msgstr "四之一 一åŒå®šç¾©å±±ä¸˜ç¯„åœé«˜åº¦çš„ 2D 雜訊。"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "First of two 3D noises that together define tunnels."
-msgstr "二之一 一åŒå®šç¾©éš§é“çš„ 3D 噪音。"
+msgstr "二之一 一åŒå®šç¾©éš§é“çš„ 3D 雜訊。"
#: src/settings_translation_file.cpp
msgid "Fixed map seed"
@@ -3027,31 +2996,6 @@ 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
-#, fuzzy
-msgid "Floatland mountain exponent"
-msgstr "浮地山密度"
-
-#: src/settings_translation_file.cpp
-msgid "Floatland mountain height"
-msgstr "浮地山高度"
-
-#: src/settings_translation_file.cpp
msgid "Fly key"
msgstr "飛行按éµ"
@@ -3064,17 +3008,20 @@ msgid "Fog"
msgstr "霧"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Fog start"
-msgstr "霧開始"
+msgstr "霧氣開始"
#: src/settings_translation_file.cpp
msgid "Fog toggle key"
-msgstr "霧切æ›éµ"
+msgstr "霧氣切æ›éµ"
#: src/settings_translation_file.cpp
-msgid "Font path"
-msgstr "字型路徑"
+msgid "Font bold by default"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font italic by default"
+msgstr ""
#: src/settings_translation_file.cpp
msgid "Font shadow"
@@ -3085,16 +3032,20 @@ msgid "Font shadow alpha"
msgstr "字型陰影 alpha 值"
#: src/settings_translation_file.cpp
-msgid "Font shadow alpha (opaqueness, between 0 and 255)."
-msgstr "å­—åž‹é™°å½± alpha(ä¸é€æ˜Žåº¦ï¼Œä»‹æ–¼ 0 到 255)。"
+msgid "Font size"
+msgstr "字型大å°"
+
+#: src/settings_translation_file.cpp
+msgid "Font size of the default font in point (pt)."
+msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font shadow offset, if 0 then shadow will not be drawn."
-msgstr "å­—åž‹é™°å½±å移,若為 0 則陰影將ä¸æœƒè¢«ç¹ªè£½ã€‚"
+msgid "Font size of the fallback font in point (pt)."
+msgstr ""
#: src/settings_translation_file.cpp
-msgid "Font size"
-msgstr "字型大å°"
+msgid "Font size of the monospace font in point (pt)."
+msgstr ""
#: src/settings_translation_file.cpp
msgid ""
@@ -3102,6 +3053,8 @@ msgid ""
"placeholders:\n"
"@name, @message, @timestamp (optional)"
msgstr ""
+"玩家èŠå¤©è¨Šæ¯çš„æ ¼å¼ï¼Œä»¥ä¸‹å­—串皆是有效的佔ä½ç¬¦è™Ÿï¼š\n"
+"@nameã€@messageã€@timestamp(å¯é¸ï¼‰"
#: src/settings_translation_file.cpp
msgid "Format of screenshots."
@@ -3148,9 +3101,8 @@ msgid "Forward key"
msgstr "å‰é€²éµ"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Fourth of 4 2D noises that together define hill/mountain range height."
-msgstr "二之一 一åŒå®šç¾©éš§é“çš„ 3D 噪音。"
+msgstr "四之四 一åŒå®šç¾©å±±ä¸˜ç¯„åœé«˜åº¦çš„ 2D 雜訊。"
#: src/settings_translation_file.cpp
msgid "Fractal type"
@@ -3158,7 +3110,7 @@ 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
@@ -3169,12 +3121,12 @@ msgstr "Freetype å­—åž‹"
msgid ""
"From how far blocks are generated for clients, stated in mapblocks (16 "
"nodes)."
-msgstr "è¦åœ¨å®¢æˆ¶ç«¯ä¸Šå¾žå¤šé çš„å€å¡Šé–‹å§‹ç”Ÿæˆï¼Œä»¥åœ°åœ–å€å¡Šè¨ˆç®—(16 個節點)。"
+msgstr "è¦åœ¨ç”¨æˆ¶ç«¯ä¸Šå¾žå¤šé çš„å€å¡Šé–‹å§‹ç”Ÿæˆï¼Œä»¥åœ°åœ–å€å¡Šè¨ˆç®—(16 個節點)。"
#: src/settings_translation_file.cpp
msgid ""
"From how far blocks are sent to clients, stated in mapblocks (16 nodes)."
-msgstr "è¦æŠŠå¤šé çš„å€å¡Šé€åˆ°å®¢æˆ¶ç«¯ï¼Œä»¥åœ°åœ–å€å¡Šè¨ˆç®—(16 個節點)。"
+msgstr "è¦æŠŠå¤šé çš„å€å¡Šé€åˆ°ç”¨æˆ¶ç«¯ï¼Œä»¥åœ°åœ–å€å¡Šè¨ˆç®—(16 個節點)。"
#: src/settings_translation_file.cpp
msgid ""
@@ -3210,10 +3162,6 @@ msgid "GUI scaling filter txr2img"
msgstr "圖形使用者介é¢ç¸®æ”¾æ¯”例éŽæ¿¾å™¨ txr2img"
#: src/settings_translation_file.cpp
-msgid "Gamma"
-msgstr "Gamma"
-
-#: src/settings_translation_file.cpp
msgid "Generate normalmaps"
msgstr "生æˆä¸€èˆ¬åœ°åœ–"
@@ -3235,11 +3183,15 @@ msgstr ""
"以「noã€é–‹é ­çš„旗標字串將會用於明確的åœç”¨å®ƒå€‘。"
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at maximum light level."
+msgid ""
+"Gradient of light curve at maximum light level.\n"
+"Controls the contrast of the highest light levels."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Gradient of light curve at minimum light level."
+msgid ""
+"Gradient of light curve at minimum light level.\n"
+"Controls the contrast of the lowest light levels."
msgstr ""
#: src/settings_translation_file.cpp
@@ -3255,9 +3207,8 @@ msgid "Ground level"
msgstr "地é¢é«˜åº¦"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Ground noise"
-msgstr "泥土噪音"
+msgstr "地é¢é›œè¨Š"
#: src/settings_translation_file.cpp
#, fuzzy
@@ -3273,8 +3224,9 @@ msgid "HUD toggle key"
msgstr "HUD 切æ›éµ"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Handling for deprecated lua api calls:\n"
+"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)."
@@ -3299,11 +3251,11 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Heat blend noise"
-msgstr "熱 æ··åˆ å™ªéŸ³"
+msgstr "熱 æ··åˆ é›œè¨Š"
#: src/settings_translation_file.cpp
msgid "Heat noise"
-msgstr "熱 噪音"
+msgstr "熱 雜訊"
#: src/settings_translation_file.cpp
msgid "Height component of the initial window size."
@@ -3311,11 +3263,11 @@ msgstr "åˆå§‹è¦–窗大å°çš„高度組件。"
#: src/settings_translation_file.cpp
msgid "Height noise"
-msgstr "高度噪音"
+msgstr "高度雜訊"
#: src/settings_translation_file.cpp
msgid "Height select noise"
-msgstr "高度 é¸æ“‡ 噪音"
+msgstr "高度 é¸æ“‡ 雜訊"
#: src/settings_translation_file.cpp
msgid "High-precision FPU"
@@ -3330,24 +3282,20 @@ msgid "Hill threshold"
msgstr "山丘閾值"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hilliness1 noise"
-msgstr "å¡åº¦å™ªéŸ³"
+msgstr "多丘陵1 雜訊"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hilliness2 noise"
-msgstr "å¡åº¦å™ªéŸ³"
+msgstr "多丘陵2 雜訊"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hilliness3 noise"
-msgstr "å¡åº¦å™ªéŸ³"
+msgstr "多丘陵3 雜訊"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hilliness4 noise"
-msgstr "å¡åº¦å™ªéŸ³"
+msgstr "多丘陵4 雜訊"
#: src/settings_translation_file.cpp
msgid "Homepage of server, to be displayed in the serverlist."
@@ -3373,171 +3321,139 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Hotbar next key"
-msgstr "Hotbar 下一個éµ"
+msgstr "å¿«æ·åˆ—下一個éµ"
#: src/settings_translation_file.cpp
msgid "Hotbar previous key"
-msgstr "Hotbar 上一個éµ"
+msgstr "å¿«æ·åˆ—上一個éµ"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 1 key"
-msgstr "Hotbar 下一個éµ"
+msgstr "å¿«æ·åˆ—第 1 個槽的按éµ"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 10 key"
-msgstr "Hotbar 下一個éµ"
+msgstr "å¿«æ·åˆ—第 10 個槽的按éµ"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 11 key"
-msgstr "Hotbar 下一個éµ"
+msgstr "å¿«æ·åˆ—第 11 個槽的按éµ"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 12 key"
-msgstr "Hotbar 下一個éµ"
+msgstr "å¿«æ·åˆ—第 12 個槽的按éµ"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 13 key"
-msgstr "Hotbar 下一個éµ"
+msgstr "å¿«æ·åˆ—第 13 個槽的按éµ"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 14 key"
-msgstr "Hotbar 下一個éµ"
+msgstr "å¿«æ·åˆ—第 14 個槽的按éµ"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 15 key"
-msgstr "Hotbar 下一個éµ"
+msgstr "å¿«æ·åˆ—第 15 個槽的按éµ"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 16 key"
-msgstr "Hotbar 下一個éµ"
+msgstr "å¿«æ·åˆ—第 16 個槽的按éµ"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 17 key"
-msgstr "Hotbar 下一個éµ"
+msgstr "å¿«æ·åˆ—第 17 個槽的按éµ"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 18 key"
-msgstr "Hotbar 下一個éµ"
+msgstr "å¿«æ·åˆ—第 18 個槽的按éµ"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 19 key"
-msgstr "Hotbar 下一個éµ"
+msgstr "å¿«æ·åˆ—第 19 個槽的按éµ"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 2 key"
-msgstr "Hotbar 下一個éµ"
+msgstr "å¿«æ·åˆ—第 2 個槽的按éµ"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 20 key"
-msgstr "Hotbar 下一個éµ"
+msgstr "å¿«æ·åˆ—第 20 個槽的按éµ"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 21 key"
-msgstr "Hotbar 下一個éµ"
+msgstr "å¿«æ·åˆ—第 21 個槽的按éµ"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 22 key"
-msgstr "Hotbar 下一個éµ"
+msgstr "å¿«æ·åˆ—第 22 個槽的按éµ"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 23 key"
-msgstr "Hotbar 下一個éµ"
+msgstr "å¿«æ·åˆ—第 23 個槽的按éµ"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 24 key"
-msgstr "Hotbar 下一個éµ"
+msgstr "å¿«æ·åˆ—第 24 個槽的按éµ"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 25 key"
-msgstr "Hotbar 下一個éµ"
+msgstr "å¿«æ·åˆ—第 25 個槽的按éµ"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 26 key"
-msgstr "Hotbar 下一個éµ"
+msgstr "å¿«æ·åˆ—第 26 個槽的按éµ"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 27 key"
-msgstr "Hotbar 下一個éµ"
+msgstr "å¿«æ·åˆ—第 27 個槽的按éµ"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 28 key"
-msgstr "Hotbar 下一個éµ"
+msgstr "å¿«æ·åˆ—第 28 個槽的按éµ"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 29 key"
-msgstr "Hotbar 下一個éµ"
+msgstr "å¿«æ·åˆ—第 29 個槽的按éµ"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 3 key"
-msgstr "Hotbar 下一個éµ"
+msgstr "å¿«æ·åˆ—第 3 個槽的按éµ"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 30 key"
-msgstr "Hotbar 下一個éµ"
+msgstr "å¿«æ·åˆ—第 30 個槽的按éµ"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 31 key"
-msgstr "Hotbar 下一個éµ"
+msgstr "å¿«æ·åˆ—第 31 個槽的按éµ"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 32 key"
-msgstr "Hotbar 下一個éµ"
+msgstr "å¿«æ·åˆ—第 32 個槽的按éµ"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 4 key"
-msgstr "Hotbar 下一個éµ"
+msgstr "å¿«æ·åˆ—第 4 個槽的按éµ"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 5 key"
-msgstr "Hotbar 下一個éµ"
+msgstr "å¿«æ·åˆ—第 5 個槽的按éµ"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 6 key"
-msgstr "Hotbar 下一個éµ"
+msgstr "å¿«æ·åˆ—第 6 個槽的按éµ"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 7 key"
-msgstr "Hotbar 下一個éµ"
+msgstr "å¿«æ·åˆ—第 7 個槽的按éµ"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 8 key"
-msgstr "Hotbar 下一個éµ"
+msgstr "å¿«æ·åˆ—第 8 個槽的按éµ"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 9 key"
-msgstr "Hotbar 下一個éµ"
+msgstr "å¿«æ·åˆ—第 9 個槽的按éµ"
#: src/settings_translation_file.cpp
#, fuzzy
@@ -3546,6 +3462,13 @@ msgstr "æ²³æµå¤šæ·±"
#: src/settings_translation_file.cpp
msgid ""
+"How fast liquid waves will move. Higher = faster.\n"
+"If negative, liquid waves will move backwards.\n"
+"Requires waving liquids to be enabled."
+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 ""
@@ -3559,11 +3482,11 @@ 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."
@@ -3578,10 +3501,6 @@ msgid "IPv6 server"
msgstr "IPv6 伺æœå™¨"
#: src/settings_translation_file.cpp
-msgid "IPv6 support."
-msgstr "IPv6 支æ´ã€‚"
-
-#: 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."
@@ -3606,9 +3525,9 @@ msgid ""
"so that the utility of noclip mode is reduced."
msgstr ""
"若啟用,伺æœå™¨å°‡æœƒåŸ·è¡ŒåŸºæ–¼çŽ©å®¶çœ¼ç›ä½ç½®çš„\n"
-"地圖å€å¡Šé˜»æ“‹å‰”除。這樣å¯ä»¥æ¸›å°‘å‘客戶端發\n"
-"é€ 50-80% çš„å€å¡Šæ•¸ã€‚客戶端將ä¸æœƒæ”¶åˆ°æœ€\n"
-"ä¸å¯èƒ½çœ‹è¦‹çš„內容,而使 noclip 模å¼çš„效用é™ä½Žã€‚"
+"地圖å€å¡Šé˜»æ“‹å‰”除。這樣å¯ä»¥æ¸›å°‘å‘用戶端發\n"
+"é€ 50-80% çš„å€å¡Šæ•¸ã€‚用戶端將ä¸æœƒæ”¶åˆ°æœ€\n"
+"ä¸å¯èƒ½çœ‹è¦‹çš„內容,而使穿牆模å¼çš„效用é™ä½Žã€‚"
#: src/settings_translation_file.cpp
msgid ""
@@ -3617,7 +3536,7 @@ msgid ""
"This requires the \"noclip\" privilege on the server."
msgstr ""
"若與飛行模å¼ä¸€åŒå•Ÿç”¨ï¼ŒçŽ©å®¶å°±å¯ä»¥é£›éŽå›ºé«”節點。\n"
-"這需è¦åœ¨ä¼ºæœå™¨ä¸Šçš„「noclipã€ç‰¹æ¬Šã€‚"
+"這需è¦åœ¨ä¼ºæœå™¨ä¸Šçš„「noclipã€æ¬Šé™ã€‚"
#: src/settings_translation_file.cpp
#, fuzzy
@@ -3757,7 +3676,7 @@ 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"
@@ -3776,6 +3695,16 @@ msgid "Invert vertical mouse movement."
msgstr "å轉滑鼠移動的方å‘。"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Italic font path"
+msgstr "等寬字型路徑"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Italic monospace font path"
+msgstr "等寬字型路徑"
+
+#: src/settings_translation_file.cpp
msgid "Item entity TTL"
msgstr "物å“主體 TTL"
@@ -4044,288 +3973,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 ""
-"在 hotbar é¸å–下一個物å“的按éµã€‚\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 ""
-"在 hotbar é¸å–下一個物å“的按éµã€‚\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 ""
-"在 hotbar é¸å–下一個物å“的按éµã€‚\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 ""
-"在 hotbar é¸å–下一個物å“的按éµã€‚\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 ""
-"在 hotbar é¸å–下一個物å“的按éµã€‚\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 ""
-"在 hotbar é¸å–下一個物å“的按éµã€‚\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 ""
-"在 hotbar é¸å–下一個物å“的按éµã€‚\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 ""
-"在 hotbar é¸å–下一個物å“的按éµã€‚\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 ""
-"在 hotbar é¸å–下一個物å“的按éµã€‚\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 ""
-"在 hotbar é¸å–下一個物å“的按éµã€‚\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 ""
-"在 hotbar é¸å–下一個物å“的按éµã€‚\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 ""
-"在 hotbar é¸å–下一個物å“的按éµã€‚\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 ""
-"在 hotbar é¸å–下一個物å“的按éµã€‚\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 ""
-"在 hotbar é¸å–下一個物å“的按éµã€‚\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 ""
-"在 hotbar é¸å–下一個物å“的按éµã€‚\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 ""
-"在 hotbar é¸å–下一個物å“的按éµã€‚\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 ""
-"在 hotbar é¸å–下一個物å“的按éµã€‚\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 ""
-"在 hotbar é¸å–下一個物å“的按éµã€‚\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 ""
-"在 hotbar é¸å–下一個物å“的按éµã€‚\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 ""
-"在 hotbar é¸å–下一個物å“的按éµã€‚\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 ""
-"在 hotbar é¸å–下一個物å“的按éµã€‚\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 ""
-"在 hotbar é¸å–下一個物å“的按éµã€‚\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 ""
-"在 hotbar é¸å–下一個物å“的按éµã€‚\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 ""
-"在 hotbar é¸å–下一個物å“的按éµã€‚\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 ""
-"在 hotbar é¸å–下一個物å“的按éµã€‚\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 ""
-"在 hotbar é¸å–上一個物å“的按éµã€‚\n"
+"é¸å–å¿«æ·åˆ—中第 4 個槽的按éµã€‚\n"
"請見 http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4335,18 +4238,17 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"在 hotbar é¸å–下一個物å“的按éµã€‚\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 ""
-"在 hotbar é¸å–下一個物å“的按éµã€‚\n"
+"é¸å–å¿«æ·åˆ—中第 9 個槽的按éµã€‚\n"
"請見 http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4356,62 +4258,57 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"在 hotbar é¸å–上一個物å“的按éµã€‚\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 ""
-"在 hotbar é¸å–下一個物å“的按éµã€‚\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 ""
-"在 hotbar é¸å–下一個物å“的按éµã€‚\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 ""
-"在 hotbar é¸å–下一個物å“的按éµã€‚\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 ""
-"在 hotbar é¸å–下一個物å“的按éµã€‚\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 ""
-"在 hotbar é¸å–下一個物å“的按éµã€‚\n"
+"é¸å–å¿«æ·åˆ—中第 3 個槽的按éµã€‚\n"
"請見 http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4505,18 +4402,17 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"åˆ‡æ› noclip 模å¼çš„按éµã€‚\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 ""
-"åˆ‡æ› noclip 模å¼çš„按éµã€‚\n"
+"åˆ‡æ› Pitch Move 模å¼çš„按éµã€‚\n"
"請見 http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4531,13 +4427,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 ""
-"切æ›é¡¯ç¤ºèŠå¤©çš„按éµã€‚\n"
+"用來切æ›èŠå¤©é¡¯ç¤ºçš„按éµã€‚\n"
"請見 http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4552,13 +4447,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 ""
-"切æ›é¡¯ç¤ºéœ§çš„按éµã€‚\n"
+"切æ›é¡¯ç¤ºéœ§æ°£çš„按éµã€‚\n"
"請見 http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4633,13 +4527,20 @@ msgid "Large cave depth"
msgstr "大型洞穴深度"
#: src/settings_translation_file.cpp
-msgid "Large chat console key"
-msgstr "大èŠå¤©çµ‚端機按éµ"
+msgid "Large cave maximum number"
+msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
-msgid "Lava depth"
-msgstr "大型洞穴深度"
+msgid "Large cave minimum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large cave proportion flooded"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large chat console key"
+msgstr "大èŠå¤©çµ‚端機按éµ"
#: src/settings_translation_file.cpp
msgid "Leaves style"
@@ -4671,6 +4572,15 @@ msgstr "伺æœå™¨ tick 的長度與相關物件的間隔通常é€éŽç¶²è·¯æ›´æ–°
#: src/settings_translation_file.cpp
#, fuzzy
+msgid ""
+"Length of liquid waves.\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+"設定為真以啟用擺動的樹葉。\n"
+"å¿…é ˆåŒæ™‚啟用著色器。"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Length of time between Active Block Modifier (ABM) execution cycles"
msgstr "在 ABM 執行循環間的時間長度"
@@ -4704,19 +4614,27 @@ msgstr ""
"- verbose"
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost"
+msgid "Light curve boost"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost center"
+msgid "Light curve boost center"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Light curve mid boost spread"
+msgid "Light curve boost spread"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Lightness sharpness"
+msgid "Light curve gamma"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve high gradient"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve low gradient"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4833,19 +4751,20 @@ msgid "Map generation attributes specific to Mapgen Carpathian."
msgstr ""
#: src/settings_translation_file.cpp
+#, fuzzy
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."
+"Map generation attributes specific to Mapgen Flat.\n"
+"Occasional lakes and hills can be added to the flat world."
msgstr ""
+"專用於 Mapgen flat 的地圖生æˆå±¬æ€§ã€‚\n"
+"å¯èƒ½æœƒæœ‰å°‘數的湖泊或是丘陵會在æ‰å¹³çš„世界中生æˆã€‚\n"
+"未在旗標字串中指定的旗標將ä¸æœƒè‡ªé è¨­å€¼ä¿®æ”¹ã€‚\n"
+"以「noã€é–‹é ­çš„旗標字串將會用於明確的åœç”¨å®ƒå€‘。"
#: src/settings_translation_file.cpp
#, fuzzy
msgid ""
-"Map generation attributes specific to Mapgen flat.\n"
+"Map generation attributes specific to Mapgen Fractal.\n"
"'terrain' enables the generation of non-fractal terrain:\n"
"ocean, islands and underground."
msgstr ""
@@ -4855,15 +4774,14 @@ msgstr ""
"以「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."
+"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 ""
-"專用於 Mapgen flat 的地圖生æˆå±¬æ€§ã€‚\n"
-"å¯èƒ½æœƒæœ‰å°‘數的湖泊或是丘陵會在æ‰å¹³çš„世界中生æˆã€‚\n"
-"未在旗標字串中指定的旗標將ä¸æœƒè‡ªé è¨­å€¼ä¿®æ”¹ã€‚\n"
-"以「noã€é–‹é ­çš„旗標字串將會用於明確的åœç”¨å®ƒå€‘。"
#: src/settings_translation_file.cpp
msgid "Map generation attributes specific to Mapgen v5."
@@ -5033,8 +4951,16 @@ msgid "Maximum hotbar width"
msgstr "å¿«æ·åˆ—最大寬度"
#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of large caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
-"Maximum liquid resistence. Controls deceleration when entering liquid at\n"
+"Maximum liquid resistance. Controls deceleration when entering liquid at\n"
"high speed."
msgstr ""
@@ -5074,7 +5000,7 @@ msgid ""
"Maximum number of mapblocks for client to be kept in memory.\n"
"Set to -1 for unlimited amount."
msgstr ""
-"è¦ä¿ç•™åœ¨è¨˜æ†¶é«”中的客戶端地圖å€å¡Šæœ€å¤§å€¼ã€‚\n"
+"è¦ä¿ç•™åœ¨è¨˜æ†¶é«”中的用戶端地圖å€å¡Šæœ€å¤§å€¼ã€‚\n"
"設定為 -1 則ä¸é™åˆ¶æ•¸é‡ã€‚"
#: src/settings_translation_file.cpp
@@ -5085,7 +5011,7 @@ msgid ""
msgstr ""
"æ¯å€‹å‚³é€æ­¥é©Ÿè¦å‚³é€çš„最大å°åŒ…數,若您的網路連線緩慢\n"
"請試著é™ä½Žå®ƒï¼Œä½†è«‹ä¸è¦é™ä½Žåˆ°ä½Žæ–¼å…©å€çš„目標\n"
-"客戶端數。"
+"用戶端數。"
#: src/settings_translation_file.cpp
#, fuzzy
@@ -5093,9 +5019,8 @@ msgid "Maximum number of players that can be connected simultaneously."
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."
@@ -5115,7 +5040,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Maximum simultaneous block sends per client"
-msgstr "æ¯å€‹å®¢æˆ¶ç«¯æœ€å¤§åŒæ™‚傳é€å€å¡Šæ•¸"
+msgstr "æ¯å€‹ç”¨æˆ¶ç«¯æœ€å¤§åŒæ™‚傳é€å€å¡Šæ•¸"
#: src/settings_translation_file.cpp
msgid "Maximum size of the out chat queue"
@@ -5168,6 +5093,14 @@ msgid "Minimap scan height"
msgstr "迷你地圖掃æ高度"
#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of large caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Minimum limit of random number of small caves per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
#, fuzzy
msgid "Minimum texture size"
msgstr "éŽæ¿¾å™¨çš„最大æ質大å°"
@@ -5194,21 +5127,20 @@ msgstr "等寬字型大å°"
#: src/settings_translation_file.cpp
msgid "Mountain height noise"
-msgstr "山高度 噪音"
+msgstr "山高度 雜訊"
#: src/settings_translation_file.cpp
msgid "Mountain noise"
-msgstr "山噪音"
+msgstr "山雜訊"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mountain variation noise"
-msgstr "山高度 噪音"
+msgstr "山變異 雜訊"
#: src/settings_translation_file.cpp
#, fuzzy
msgid "Mountain zero level"
-msgstr "山噪音"
+msgstr "山雜訊"
#: src/settings_translation_file.cpp
msgid "Mouse sensitivity"
@@ -5220,7 +5152,7 @@ msgstr "滑鼠éˆæ•åº¦å€æ•¸ã€‚"
#: src/settings_translation_file.cpp
msgid "Mud noise"
-msgstr "泥土噪音"
+msgstr "泥土雜訊"
#: src/settings_translation_file.cpp
msgid ""
@@ -5253,7 +5185,7 @@ msgid ""
"When starting from the main menu, this is overridden."
msgstr ""
"玩家å稱。\n"
-"當執行伺æœå™¨æ™‚,以此å稱連線的客戶端å³ç‚ºç®¡ç†å“¡ã€‚\n"
+"當執行伺æœå™¨æ™‚,以此å稱連線的用戶端å³ç‚ºç®¡ç†å“¡ã€‚\n"
"當從主é¸å–®å•Ÿå‹•æ™‚,這個將會被覆寫。"
#: src/settings_translation_file.cpp
@@ -5262,7 +5194,7 @@ msgid ""
msgstr "伺æœå™¨å稱,當玩家加入時會顯示,也會顯示在伺æœå™¨æ¸…單中。"
#: src/settings_translation_file.cpp
-msgid "Near clipping plane"
+msgid "Near plane"
msgstr ""
#: src/settings_translation_file.cpp
@@ -5283,11 +5215,11 @@ msgstr "新使用這需è¦è¼¸å…¥é€™å€‹å¯†ç¢¼ã€‚"
#: src/settings_translation_file.cpp
msgid "Noclip"
-msgstr "Noclip"
+msgstr "穿牆"
#: src/settings_translation_file.cpp
msgid "Noclip key"
-msgstr "Noclip 按éµ"
+msgstr "穿牆按éµ"
#: src/settings_translation_file.cpp
msgid "Node highlighting"
@@ -5299,7 +5231,7 @@ msgstr "NodeTimer é–“éš”"
#: src/settings_translation_file.cpp
msgid "Noises"
-msgstr "噪音"
+msgstr "雜訊"
#: src/settings_translation_file.cpp
msgid "Normalmaps sampling"
@@ -5354,6 +5286,16 @@ msgstr "ä¸é€æ˜Žæ¶²é«”"
#: src/settings_translation_file.cpp
msgid ""
+"Opaqueness (alpha) of the shadow behind the default font, between 0 and 255."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Opaqueness (alpha) of the shadow behind the fallback font, between 0 and 255."
+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."
@@ -5393,8 +5335,13 @@ msgid "Parallax occlusion strength"
msgstr "視差é®è”½å¼·åº¦"
#: src/settings_translation_file.cpp
-msgid "Path to TrueTypeFont or bitmap."
-msgstr "TrueType 字型或點陣字的路徑。"
+msgid ""
+"Path of the fallback font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font will be used for certain languages or if the default font is "
+"unavailable."
+msgstr ""
#: src/settings_translation_file.cpp
msgid "Path to save screenshots at."
@@ -5411,6 +5358,22 @@ msgid "Path to texture directory. All textures are first searched from here."
msgstr "æ質目錄的路徑。所有æ質都會先從這裡æœå°‹ã€‚"
#: src/settings_translation_file.cpp
+msgid ""
+"Path to the default font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"The fallback font will be used if the font cannot be loaded."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Path to the monospace font.\n"
+"If “freetype†setting is enabled: Must be a TrueType font.\n"
+"If “freetype†setting is disabled: Must be a bitmap or XML vectors font.\n"
+"This font is used for e.g. the console and profiler screen."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Pause on lost window focus"
msgstr ""
@@ -5490,6 +5453,10 @@ msgid "Profiling"
msgstr "分æž"
#: src/settings_translation_file.cpp
+msgid "Proportion of large caves that contain liquid."
+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 "
@@ -5513,7 +5480,12 @@ msgstr "範åœé¸æ“‡éµ"
#: src/settings_translation_file.cpp
msgid "Recent Chat Messages"
-msgstr ""
+msgstr "最近èŠå¤©è¨Šæ¯"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Regular font path"
+msgstr "報告路徑"
#: src/settings_translation_file.cpp
msgid "Remote media"
@@ -5528,6 +5500,8 @@ msgid ""
"Remove color codes from incoming chat messages\n"
"Use this to stop players from being able to use color in their messages"
msgstr ""
+"移除傳入èŠå¤©è¨Šæ¯çš„色彩碼\n"
+"使用這個能防止玩家在訊æ¯ä¸­ä½¿ç”¨è‰²å½©"
#: src/settings_translation_file.cpp
msgid "Replaces the default main menu with a custom one."
@@ -5552,22 +5526,20 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Ridge mountain spread noise"
-msgstr "水下山脊噪音"
+msgstr "山脊展開雜訊"
#: src/settings_translation_file.cpp
msgid "Ridge noise"
-msgstr "山脊噪音"
+msgstr "山脊雜訊"
#: src/settings_translation_file.cpp
msgid "Ridge underwater noise"
-msgstr "水下山脊噪音"
+msgstr "水下山脊雜訊"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Ridged mountain size noise"
-msgstr "水下山脊噪音"
+msgstr "山脊大å°é›œè¨Š"
#: src/settings_translation_file.cpp
msgid "Right key"
@@ -5593,9 +5565,8 @@ msgid "River depth"
msgstr "æ²³æµæ·±åº¦"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "River noise"
-msgstr "æ²³æµå™ªéŸ³"
+msgstr "æ²³æµé›œè¨Š"
#: src/settings_translation_file.cpp
#, fuzzy
@@ -5613,11 +5584,11 @@ 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"
@@ -5633,7 +5604,7 @@ 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."
@@ -5690,17 +5661,15 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Seabed noise"
-msgstr "海底噪音"
+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"
@@ -5727,24 +5696,24 @@ msgstr "寬度é¸å–框"
#, fuzzy
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."
+"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 ""
"從 9 種公å¼è£¡é¸å– 18 種碎形。\n"
"1 = 4D \"Roundy\" mandelbrot set.\n"
@@ -5812,30 +5781,33 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Set the maximum character length of a chat message sent by clients."
-msgstr ""
+msgstr "設定用戶端傳é€ä¹‹èŠå¤©è¨Šæ¯çš„最大字元長度。"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Set to true enables waving leaves.\n"
+"Set to true to enable waving leaves.\n"
"Requires shaders to be enabled."
msgstr ""
"設定為真以啟用擺動的樹葉。\n"
"å¿…é ˆåŒæ™‚啟用著色器。"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Set to true enables waving plants.\n"
+"Set to true to enable waving liquids (like water).\n"
"Requires shaders to be enabled."
msgstr ""
-"設定為真以啟用擺動的æ¤ç‰©ã€‚\n"
+"設定為真以啟用波動的水。\n"
"å¿…é ˆåŒæ™‚啟用著色器。"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Set to true enables waving water.\n"
+"Set to true to enable waving plants.\n"
"Requires shaders to be enabled."
msgstr ""
-"設定為真以啟用波動的水。\n"
+"設定為真以啟用擺動的æ¤ç‰©ã€‚\n"
"å¿…é ˆåŒæ™‚啟用著色器。"
#: src/settings_translation_file.cpp
@@ -5854,8 +5826,18 @@ msgstr ""
"這僅在 OpenGL 視訊後端上æ‰èƒ½é‹ä½œã€‚"
#: src/settings_translation_file.cpp
-msgid "Shadow limit"
-msgstr "é™°å½±é™åˆ¶"
+#, fuzzy
+msgid ""
+"Shadow offset (in pixels) of the default font. If 0, then shadow will not be "
+"drawn."
+msgstr "å­—åž‹é™°å½±å移,若為 0 則陰影將ä¸æœƒè¢«ç¹ªè£½ã€‚"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid ""
+"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not "
+"be drawn."
+msgstr "å­—åž‹é™°å½±å移,若為 0 則陰影將ä¸æœƒè¢«ç¹ªè£½ã€‚"
#: src/settings_translation_file.cpp
msgid "Shape of the minimap. Enabled = round, disabled = square."
@@ -5903,6 +5885,14 @@ msgid "Slope and fill work together to modify the heights."
msgstr "å¡åº¦èˆ‡å¡«å……一åŒé‹ä½œä¾†ä¿®æ”¹é«˜åº¦"
#: src/settings_translation_file.cpp
+msgid "Small cave maximum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Small cave minimum number"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Small-scale humidity variation for blending biomes on borders."
msgstr "在邊界上的混åˆç”Ÿæ…‹çš„溼度變化。"
@@ -5964,15 +5954,16 @@ 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"
+"用戶端從指定的 URL 而ä¸æ˜¯ä½¿ç”¨ UDP 抓å–媒體。\n"
"$filename 應該å¯ä»¥é€éŽ cURL 從 $remote_media$filename å­˜å–。\n"
"(當然,remote_media 部份應以斜線çµæŸï¼‰ã€‚\n"
"沒有在其中的檔案將會以平常的方å¼æŠ“å–。"
#: src/settings_translation_file.cpp
msgid ""
-"Spread of light curve mid-boost.\n"
-"Standard deviation of the mid-boost gaussian."
+"Spread of light curve boost range.\n"
+"Controls the width of the range to be boosted.\n"
+"Standard deviation of the light curve boost Gaussian."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5981,24 +5972,27 @@ msgstr "éœæ…‹é‡ç”Ÿé»ž"
#: src/settings_translation_file.cpp
msgid "Steepness noise"
-msgstr "å¡åº¦å™ªéŸ³"
+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 "生æˆä¹‹ä¸€èˆ¬åœ°åœ–的強度。"
#: src/settings_translation_file.cpp
-msgid "Strength of light curve mid-boost."
+msgid ""
+"Strength of light curve boost.\n"
+"The 3 'boost' parameters define a range of the light\n"
+"curve that is boosted in brightness."
msgstr ""
#: src/settings_translation_file.cpp
@@ -6022,9 +6016,8 @@ 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"
@@ -6037,11 +6030,11 @@ msgstr "地形高度"
#: src/settings_translation_file.cpp
msgid "Terrain higher noise"
-msgstr "地形高處噪音"
+msgstr "地形高處雜訊"
#: src/settings_translation_file.cpp
msgid "Terrain noise"
-msgstr "地形噪音"
+msgstr "地形雜訊"
#: src/settings_translation_file.cpp
msgid ""
@@ -6049,7 +6042,7 @@ msgid ""
"Controls proportion of world area covered by hills.\n"
"Adjust towards 0.0 for a larger proportion."
msgstr ""
-"山丘的地形噪音閾值。\n"
+"山丘的地形雜訊閾值。\n"
"控制山丘覆蓋世界的比例。\n"
"å¾€ 0.0 調整一å–得較大的比例。"
@@ -6059,13 +6052,13 @@ msgid ""
"Controls proportion of world area covered by lakes.\n"
"Adjust towards 0.0 for a larger proportion."
msgstr ""
-"湖泊的地形噪音閾值。\n"
+"湖泊的地形雜訊閾值。\n"
"控制湖泊覆蓋世界的比例。\n"
"å¾€ 0.0 調整一å–得較大的比例。"
#: src/settings_translation_file.cpp
msgid "Terrain persistence noise"
-msgstr "地形æŒçºŒæ€§å™ªéŸ³"
+msgstr "地形æŒçºŒæ€§é›œè¨Š"
#: src/settings_translation_file.cpp
msgid "Texture path"
@@ -6112,6 +6105,15 @@ msgid "The length in pixels it takes for touch screen interaction to start."
msgstr ""
#: src/settings_translation_file.cpp
+msgid ""
+"The maximum height of the surface of waving liquids.\n"
+"4.0 = Wave height is two nodes.\n"
+"0.0 = Wave doesn't move at all.\n"
+"Default is 1.0 (1/2 node).\n"
+"Requires waving liquids to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "The network interface that the server listens on."
msgstr "伺æœå™¨è¦ç›£è½çš„網路介é¢ã€‚"
@@ -6202,13 +6204,8 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Third of 4 2D noises that together define hill/mountain range height."
-msgstr "二之一 一åŒå®šç¾©éš§é“çš„ 3D 噪音。"
-
-#: src/settings_translation_file.cpp
-msgid "This font will be used for certain languages."
-msgstr "這個字型將會被用於特定的語言。"
+msgstr "四之三 一åŒå®šç¾©å±±ä¸˜ç¯„åœé«˜åº¦çš„ 2D 雜訊。"
#: src/settings_translation_file.cpp
msgid ""
@@ -6232,7 +6229,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 ""
@@ -6255,21 +6252,22 @@ msgstr "工具æ示延é²"
#: src/settings_translation_file.cpp
#, fuzzy
msgid "Touch screen threshold"
-msgstr "æµ·ç˜å™ªéŸ³é–¾å€¼"
+msgstr "æµ·ç˜é›œè¨Šé–¾å€¼"
#: src/settings_translation_file.cpp
msgid "Trees noise"
-msgstr "樹林噪音"
+msgstr "樹林雜訊"
#: src/settings_translation_file.cpp
msgid "Trilinear filtering"
msgstr "三線性éŽæ¿¾å™¨"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
"True = 256\n"
"False = 128\n"
-"Useable to make minimap smoother on slower machines."
+"Usable to make minimap smoother on slower machines."
msgstr ""
"True = 256\n"
"False = 128\n"
@@ -6280,12 +6278,6 @@ msgid "Trusted mods"
msgstr "信任的 mod"
#: 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。"
@@ -6379,10 +6371,6 @@ 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 "最大山高變化(以節點計)。"
@@ -6396,7 +6384,7 @@ msgid ""
"When noise is < -0.55 terrain is near-flat."
msgstr ""
"垂直地形大å°çš„變化。\n"
-"當噪音 < -0.55 則地形近乎平å¦ã€‚"
+"當雜訊 < -0.55 則地形近乎平å¦ã€‚"
#: src/settings_translation_file.cpp
msgid "Varies depth of biome surface nodes."
@@ -6408,7 +6396,7 @@ msgid ""
"Defines the 'persistence' value for terrain_base and terrain_alt noises."
msgstr ""
"地形粗糙度變化。\n"
-"為 terrain_base 與 terrain_alt 噪音定義 'persistence' 值。"
+"為 terrain_base 與 terrain_alt 雜訊定義 'persistence' 值。"
#: src/settings_translation_file.cpp
msgid "Varies steepness of cliffs."
@@ -6461,6 +6449,15 @@ msgstr "音é‡"
#: src/settings_translation_file.cpp
#, fuzzy
msgid ""
+"Volume of all sounds.\n"
+"Requires the sound system to be enabled."
+msgstr ""
+"啟用視差é®è”½è²¼åœ–。\n"
+"必須啟用著色器。"
+
+#: 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"
"Alters the shape of the fractal.\n"
@@ -6501,29 +6498,30 @@ msgid "Waving leaves"
msgstr "葉å­æ“ºå‹•"
#: src/settings_translation_file.cpp
-msgid "Waving plants"
-msgstr "æ¤ç‰©æ“ºå‹•"
-
-#: src/settings_translation_file.cpp
-msgid "Waving water"
-msgstr "波動的水"
+#, fuzzy
+msgid "Waving liquids"
+msgstr "擺動節點"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wave height"
+msgid "Waving liquids wave height"
msgstr "波動的水高度"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wave speed"
+msgid "Waving liquids wave speed"
msgstr "波動的水速度"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water wavelength"
+msgid "Waving liquids wavelength"
msgstr "波動的水長度"
#: src/settings_translation_file.cpp
+msgid "Waving plants"
+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"
@@ -6569,7 +6567,9 @@ msgstr ""
#: src/settings_translation_file.cpp
#, fuzzy
msgid ""
-"Whether FreeType fonts are used, requires FreeType support to be compiled in."
+"Whether FreeType fonts are used, requires FreeType support to be compiled "
+"in.\n"
+"If disabled, bitmap and XML vectors fonts are used instead."
msgstr "是å¦ä½¿ç”¨ freetype 字型,需è¦å°‡ freetype 支æ´ç·¨è­¯é€²ä¾†ã€‚"
#: src/settings_translation_file.cpp
@@ -6581,7 +6581,7 @@ msgid ""
"Whether players are shown to clients without any range limit.\n"
"Deprecated, use the setting player_transfer_distance instead."
msgstr ""
-"玩家是å¦æ‡‰è©²åœ¨å®¢æˆ¶ç«¯ç„¡è·é›¢é™åˆ¶åœ°é¡¯ç¤ºã€‚\n"
+"玩家是å¦æ‡‰è©²åœ¨ç”¨æˆ¶ç«¯ç„¡è·é›¢é™åˆ¶åœ°é¡¯ç¤ºã€‚\n"
"已棄用,請用 setting player_transfer_distance 代替。"
#: src/settings_translation_file.cpp
@@ -6593,7 +6593,7 @@ 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
@@ -6602,8 +6602,16 @@ msgstr "是å¦å°‡å¯è¦–å€åŸŸå¤–模糊。"
#: src/settings_translation_file.cpp
msgid ""
+"Whether to mute sounds. You can unmute sounds at any time, unless the\n"
+"sound system is disabled (enable_sound=false).\n"
+"In-game, you can toggle the mute state with the mute key or by using the\n"
+"pause menu."
+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."
@@ -6678,10 +6686,6 @@ msgid "Y-level of cavern upper limit."
msgstr "洞穴上é™çš„ Y 高度。"
#: src/settings_translation_file.cpp
-msgid "Y-level of floatland midpoint and lake surface."
-msgstr "浮地中點與湖表é¢çš„ Y 高度。"
-
-#: src/settings_translation_file.cpp
#, fuzzy
msgid "Y-level of higher terrain that creates cliffs."
msgstr "較低地形與湖底的 Y 高度。"
@@ -6696,10 +6700,6 @@ msgid "Y-level of seabed."
msgstr "海底的 Y 高度。"
#: src/settings_translation_file.cpp
-msgid "Y-level to which floatland shadows extend."
-msgstr "浮地陰影擴展的 Y 高度。"
-
-#: src/settings_translation_file.cpp
msgid "cURL file download timeout"
msgstr "cURL 檔案下載逾時"
@@ -6711,6 +6711,100 @@ msgstr "cURL 並行é™åˆ¶"
msgid "cURL timeout"
msgstr "cURL 逾時"
+#~ 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"
+#~ "這個設定是給客戶端使用的,會被伺æœå™¨å¿½ç•¥ã€‚"
+
+#, fuzzy
+#~ msgid ""
+#~ "Controls the density of mountain-type floatlands.\n"
+#~ "Is a noise offset added to the 'mgv7_np_mountain' noise value."
+#~ msgstr ""
+#~ "控制山地的浮地密度。\n"
+#~ "是加入到 'np_mountain' 噪音值的補償。"
+
+#~ msgid "Controls width of tunnels, a smaller value creates wider tunnels."
+#~ msgstr "控制隧é“的寬度,較å°çš„值會創造出較寬的隧é“。"
+
+#, fuzzy
+#~ msgid "Darkness sharpness"
+#~ msgstr "湖泊å¡åº¦"
+
+#~ msgid ""
+#~ "Defines areas of floatland smooth terrain.\n"
+#~ "Smooth floatlands occur when noise > 0."
+#~ msgstr ""
+#~ "定義浮地的平整地形å€ã€‚\n"
+#~ "平整的浮地會在噪音 > 0 時產生。"
+
+#~ msgid "Enable VBO"
+#~ msgstr "啟用 VBO"
+
+#~ msgid "Enables filmic tone mapping"
+#~ msgstr "啟用電影色調映射"
+
+#~ msgid "Floatland base height noise"
+#~ msgstr "浮地基礎高度噪音"
+
+#~ msgid "Floatland base noise"
+#~ msgstr "浮地基礎噪音"
+
+#~ msgid "Floatland level"
+#~ msgstr "浮地高度"
+
+#~ msgid "Floatland mountain density"
+#~ msgstr "浮地山密度"
+
+#, fuzzy
+#~ msgid "Floatland mountain exponent"
+#~ msgstr "浮地山密度"
+
+#~ msgid "Floatland mountain height"
+#~ msgstr "浮地山高度"
+
+#~ msgid "Font shadow alpha (opaqueness, between 0 and 255)."
+#~ msgstr "å­—åž‹é™°å½± alpha(ä¸é€æ˜Žåº¦ï¼Œä»‹æ–¼ 0 到 255)。"
+
+#~ msgid "Gamma"
+#~ msgstr "Gamma"
+
+#~ msgid "IPv6 support."
+#~ msgstr "IPv6 支æ´ã€‚"
+
+#, fuzzy
+#~ msgid "Lava depth"
+#~ msgstr "大型洞穴深度"
+
+#~ msgid "Path to TrueTypeFont or bitmap."
+#~ msgstr "TrueType 字型或點陣字的路徑。"
+
+#~ msgid "Shadow limit"
+#~ msgstr "é™°å½±é™åˆ¶"
+
+#~ msgid "This font will be used for certain languages."
+#~ msgstr "這個字型將會被用於特定的語言。"
+
+#, fuzzy
+#~ msgid ""
+#~ "Typical maximum height, above and below midpoint, of floatland mountains."
+#~ msgstr "浮地山å€åŸŸçš„典型最大高度,高於與低於中點。"
+
+#~ msgid "Variation of hill height and lake depth on floatland smooth terrain."
+#~ msgstr "在平整浮地地形的山丘高度與湖泊深度變化。"
+
+#~ msgid "Waving water"
+#~ msgstr "波動的水"
+
+#~ msgid "Y-level of floatland midpoint and lake surface."
+#~ msgstr "浮地中點與湖表é¢çš„ Y 高度。"
+
+#~ msgid "Y-level to which floatland shadows extend."
+#~ msgstr "浮地陰影擴展的 Y 高度。"
+
#~ msgid "Waving Water"
#~ msgstr "波動的水"
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 70a5ab3c8..6afa5b8fe 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -108,7 +108,8 @@ if(BUILD_CLIENT)
if(ENABLE_GLES)
find_package(OpenGLES2 REQUIRED)
else()
- if(NOT WIN32) # Unix probably
+ # transitive dependency from Irrlicht (see longer explanation below)
+ if(NOT WIN32)
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})
@@ -274,24 +275,35 @@ if(WIN32)
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)")
+ set(LUA_DLL "" CACHE FILEPATH "Path to luajit-5.1.dll for installation (optional)")
endif()
endif()
else()
# Unix probably
if(BUILD_CLIENT)
- if(NOT HAIKU)
+ if(NOT HAIKU AND NOT APPLE)
find_package(X11 REQUIRED)
- endif(NOT HAIKU)
+ endif(NOT HAIKU AND NOT APPLE)
+
+ ##
+ # The following dependencies are transitive dependencies from Irrlicht.
+ # Minetest itself does not use them, but we link them so that statically
+ # linking Irrlicht works.
+ if(NOT HAIKU AND NOT APPLE)
+ # This way Xxf86vm is found on OpenBSD too
+ find_library(XXF86VM_LIBRARY Xxf86vm)
+ mark_as_advanced(XXF86VM_LIBRARY)
+ set(CLIENT_PLATFORM_LIBS ${CLIENT_PLATFORM_LIBS} ${XXF86VM_LIBRARY})
+ endif(NOT HAIKU AND NOT APPLE)
find_package(JPEG REQUIRED)
find_package(BZip2 REQUIRED)
find_package(PNG REQUIRED)
if(APPLE)
- find_library(CARBON_LIB Carbon)
- find_library(COCOA_LIB Cocoa)
- find_library(IOKIT_LIB IOKit)
+ find_library(CARBON_LIB Carbon REQUIRED)
+ find_library(COCOA_LIB Cocoa REQUIRED)
+ find_library(IOKIT_LIB IOKit REQUIRED)
mark_as_advanced(
CARBON_LIB
COCOA_LIB
@@ -299,7 +311,9 @@ else()
)
SET(CLIENT_PLATFORM_LIBS ${CLIENT_PLATFORM_LIBS} ${CARBON_LIB} ${COCOA_LIB} ${IOKIT_LIB})
endif(APPLE)
+ ##
endif(BUILD_CLIENT)
+
find_package(ZLIB REQUIRED)
set(PLATFORM_LIBS -lpthread ${CMAKE_DL_LIBS})
if(APPLE)
@@ -311,13 +325,6 @@ else()
endif(HAVE_LIBRT)
endif(APPLE)
- if(NOT HAIKU AND NOT APPLE)
- # This way Xxf86vm is found on OpenBSD too
- find_library(XXF86VM_LIBRARY Xxf86vm)
- mark_as_advanced(XXF86VM_LIBRARY)
- set(CLIENT_PLATFORM_LIBS ${CLIENT_PLATFORM_LIBS} ${XXF86VM_LIBRARY})
- endif(NOT HAIKU AND NOT APPLE)
-
# Prefer local iconv if installed
find_library(ICONV_LIBRARY iconv)
mark_as_advanced(ICONV_LIBRARY)
@@ -489,7 +496,6 @@ include_directories(
${PROJECT_SOURCE_DIR}
${IRRLICHT_INCLUDE_DIR}
${ZLIB_INCLUDE_DIR}
- ${CMAKE_BUILD_TYPE}
${PNG_INCLUDE_DIR}
${SOUND_INCLUDE_DIRS}
${SQLITE3_INCLUDE_DIR}
@@ -535,16 +541,9 @@ if(BUILD_CLIENT)
${PLATFORM_LIBS}
${CLIENT_PLATFORM_LIBS}
)
- if(APPLE)
- target_link_libraries(
- ${client_LIBS}
- ${ICONV_LIBRARY}
- )
- else()
- target_link_libraries(
- ${client_LIBS}
- )
- endif()
+ target_link_libraries(
+ ${client_LIBS}
+ )
if(ENABLE_GLES)
target_link_libraries(
${PROJECT_NAME}
@@ -646,8 +645,6 @@ set(GETTEXT_BLACKLISTED_LOCALES
he
ko
ky
- zh_CN
- zh_TW
)
option(APPLY_LOCALE_BLACKLIST "Use a blacklist to avoid broken locales" TRUE)
@@ -691,21 +688,20 @@ if(MSVC)
# /MD = dynamically link to MSVCRxxx.dll
set(CMAKE_C_FLAGS_RELEASE "/O2 /Ob2 /MD")
else()
+ # GCC or compatible compilers such as Clang
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
- # Probably GCC
- if(APPLE)
- SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -pagezero_size 10000 -image_base 100000000" )
- endif()
if(WARN_ALL)
set(RELEASE_WARNING_FLAGS "-Wall")
else()
set(RELEASE_WARNING_FLAGS "")
endif()
- if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
- # clang does not understand __extern_always_inline but libc headers use it
- set(OTHER_FLAGS "${OTHER_FLAGS} \"-D__extern_always_inline=extern __always_inline\"")
- set(OTHER_FLAGS "${OTHER_FLAGS} -Wsign-compare")
+ if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
+ set(WARNING_FLAGS "${WARNING_FLAGS} -Wsign-compare")
+ endif()
+ if(APPLE AND USE_LUAJIT)
+ # required per http://luajit.org/install.html
+ SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -pagezero_size 10000 -image_base 100000000")
endif()
if(MINGW)
@@ -717,7 +713,14 @@ else()
if(CMAKE_SYSTEM_NAME MATCHES "(Darwin|BSD|DragonFly)")
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -Os")
else()
- set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3 -ffast-math -fomit-frame-pointer")
+ set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3 -fomit-frame-pointer")
+ if(CMAKE_SYSTEM_NAME STREQUAL "Linux"
+ AND CMAKE_CXX_COMPILER_ID STREQUAL "Clang"
+ AND CMAKE_CXX_COMPILER_VERSION MATCHES "^9\\.")
+ # Clang 9 has broken -ffast-math on glibc
+ else()
+ set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -ffast-math")
+ endif()
endif(CMAKE_SYSTEM_NAME MATCHES "(Darwin|BSD|DragonFly)")
set(CMAKE_CXX_FLAGS_SEMIDEBUG "-g -O1 -Wall -Wabi ${WARNING_FLAGS} ${OTHER_FLAGS}")
set(CMAKE_CXX_FLAGS_DEBUG "-g -O0 -Wall -Wabi ${WARNING_FLAGS} ${OTHER_FLAGS}")
@@ -751,7 +754,7 @@ if(WIN32)
FILES_MATCHING PATTERN "*.dll")
install(DIRECTORY ${EXECUTABLE_OUTPUT_PATH}/MinSizeRel/
DESTINATION ${BINDIR}
- CONFIGURATIONS RelWithDebInfo
+ CONFIGURATIONS MinSizeRel
FILES_MATCHING PATTERN "*.dll")
else()
# Use the old-style way to install dll's
diff --git a/src/activeobject.h b/src/activeobject.h
index a319ef904..4a2de92cd 100644
--- a/src/activeobject.h
+++ b/src/activeobject.h
@@ -27,13 +27,13 @@ with this program; if not, write to the Free Software Foundation, Inc.,
enum ActiveObjectType {
ACTIVEOBJECT_TYPE_INVALID = 0,
ACTIVEOBJECT_TYPE_TEST = 1,
-// Deprecated stuff
+// Obsolete stuff
ACTIVEOBJECT_TYPE_ITEM = 2,
// ACTIVEOBJECT_TYPE_RAT = 3,
// ACTIVEOBJECT_TYPE_OERKKI1 = 4,
// ACTIVEOBJECT_TYPE_FIREFLY = 5,
ACTIVEOBJECT_TYPE_MOBV2 = 6,
-// End deprecated stuff
+// End obsolete stuff
ACTIVEOBJECT_TYPE_LUAENTITY = 7,
// Special type, not stored as a static object
ACTIVEOBJECT_TYPE_PLAYER = 100,
diff --git a/src/client/camera.cpp b/src/client/camera.cpp
index d1e76026d..871ea709d 100644
--- a/src/client/camera.cpp
+++ b/src/client/camera.cpp
@@ -20,6 +20,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "camera.h"
#include "debug.h"
#include "client.h"
+#include "config.h"
#include "map.h"
#include "clientmap.h" // MapDrawControl
#include "player.h"
@@ -39,6 +40,8 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#define CAMERA_OFFSET_STEP 200
#define WIELDMESH_OFFSET_X 55.0f
#define WIELDMESH_OFFSET_Y -35.0f
+#define WIELDMESH_AMPLITUDE_X 7.0f
+#define WIELDMESH_AMPLITUDE_Y 10.0f
Camera::Camera(MapDrawControl &draw_control, Client *client):
m_draw_control(draw_control),
@@ -234,7 +237,8 @@ void Camera::addArmInertia(f32 player_yaw)
m_last_cam_pos.X = player_yaw;
m_wieldmesh_offset.X = rangelim(m_wieldmesh_offset.X,
- WIELDMESH_OFFSET_X - 7.0f, WIELDMESH_OFFSET_X + 7.0f);
+ WIELDMESH_OFFSET_X - (WIELDMESH_AMPLITUDE_X * 0.5f),
+ WIELDMESH_OFFSET_X + (WIELDMESH_AMPLITUDE_X * 0.5f));
}
if (m_cam_vel.Y > 1.0f) {
@@ -249,7 +253,8 @@ void Camera::addArmInertia(f32 player_yaw)
m_last_cam_pos.Y = m_camera_direction.Y;
m_wieldmesh_offset.Y = rangelim(m_wieldmesh_offset.Y,
- WIELDMESH_OFFSET_Y - 10.0f, WIELDMESH_OFFSET_Y + 5.0f);
+ WIELDMESH_OFFSET_Y - (WIELDMESH_AMPLITUDE_Y * 0.5f),
+ WIELDMESH_OFFSET_Y + (WIELDMESH_AMPLITUDE_Y * 0.5f));
}
m_arm_dir = dir(m_wieldmesh_offset);
@@ -259,10 +264,10 @@ void Camera::addArmInertia(f32 player_yaw)
following a vector, with a smooth deceleration factor.
*/
- f32 dec_X = 0.12f * (m_cam_vel_old.X * (1.0f +
+ f32 dec_X = 0.35f * (std::min(15.0f, m_cam_vel_old.X) * (1.0f +
(1.0f - m_arm_dir.X))) * (gap_X / 20.0f);
- f32 dec_Y = 0.06f * (m_cam_vel_old.Y * (1.0f +
+ f32 dec_Y = 0.25f * (std::min(15.0f, m_cam_vel_old.Y) * (1.0f +
(1.0f - m_arm_dir.Y))) * (gap_Y / 15.0f);
if (gap_X < 0.1f)
@@ -285,9 +290,13 @@ void Camera::update(LocalPlayer* player, f32 frametime, f32 busytime, f32 tool_r
// Smooth the movement when walking up stairs
v3f old_player_position = m_playernode->getPosition();
v3f player_position = player->getPosition();
- if (player->isAttached && player->parent)
- player_position = player->parent->getPosition();
- //if(player->touching_ground && player_position.Y > old_player_position.Y)
+
+ // This is worse than `LocalPlayer::getPosition()` but
+ // mods expect the player head to be at the parent's position
+ // plus eye height.
+ if (player->getParent())
+ player_position = player->getParent()->getPosition();
+
if(player->touching_ground &&
player_position.Y > old_player_position.Y)
{
@@ -561,10 +570,16 @@ void Camera::update(LocalPlayer* player, f32 frametime, f32 busytime, f32 tool_r
void Camera::updateViewingRange()
{
f32 viewing_range = g_settings->getFloat("viewing_range");
- f32 near_plane = g_settings->getFloat("near_plane");
+
+ // Ignore near_plane setting on all other platforms to prevent abuse
+#if ENABLE_GLES
+ m_cameranode->setNearValue(rangelim(
+ g_settings->getFloat("near_plane"), 0.0f, 0.25f) * BS);
+#else
+ m_cameranode->setNearValue(0.1f * BS);
+#endif
m_draw_control.wanted_range = std::fmin(adjustDist(viewing_range, getFovMax()), 4000);
- m_cameranode->setNearValue(rangelim(near_plane, 0.0f, 0.5f) * BS);
if (m_draw_control.range_all) {
m_cameranode->setFarValue(100000.0);
return;
@@ -592,7 +607,7 @@ void Camera::wield(const ItemStack &item)
void Camera::drawWieldedTool(irr::core::matrix4* translation)
{
- // Clear Z buffer so that the wielded tool stay in front of world geometry
+ // Clear Z buffer so that the wielded tool stays in front of world geometry
m_wieldmgr->getVideoDriver()->clearZBuffer();
// Draw the wielded node (in a separate scene manager)
diff --git a/src/client/client.cpp b/src/client/client.cpp
index caa3cc78c..c6d28ce80 100644
--- a/src/client/client.cpp
+++ b/src/client/client.cpp
@@ -155,6 +155,7 @@ void Client::loadMods()
// complain about mods with unsatisfied dependencies
if (!modconf.isConsistent()) {
modconf.printUnsatisfiedModsError();
+ return;
}
// Print mods
@@ -200,14 +201,30 @@ void Client::scanModSubfolder(const std::string &mod_name, const std::string &mo
std::string full_path = mod_path + DIR_DELIM + mod_subpath;
std::vector<fs::DirListNode> mod = fs::GetDirListing(full_path);
for (const fs::DirListNode &j : mod) {
- std::string filename = j.name;
if (j.dir) {
- scanModSubfolder(mod_name, mod_path, mod_subpath
- + filename + DIR_DELIM);
+ scanModSubfolder(mod_name, mod_path, mod_subpath + j.name + DIR_DELIM);
continue;
}
- std::replace( mod_subpath.begin(), mod_subpath.end(), DIR_DELIM_CHAR, '/');
- m_mod_files[mod_name + ":" + mod_subpath + filename] = full_path + filename;
+ std::replace(mod_subpath.begin(), mod_subpath.end(), DIR_DELIM_CHAR, '/');
+
+ std::string real_path = full_path + j.name;
+ std::string vfs_path = mod_name + ":" + mod_subpath + j.name;
+ infostream << "Client::scanModSubfolder(): Loading \"" << real_path
+ << "\" as \"" << vfs_path << "\"." << std::endl;
+
+ std::ifstream is(real_path, std::ios::binary | std::ios::ate);
+ if(!is.good()) {
+ errorstream << "Client::scanModSubfolder(): Can't read file \""
+ << real_path << "\"." << std::endl;
+ continue;
+ }
+ auto size = is.tellg();
+ std::string contents(size, '\0');
+ is.seekg(0);
+ is.read(&contents[0], size);
+
+ infostream << " size: " << size << " bytes" << std::endl;
+ m_mod_vfs.emplace(vfs_path, contents);
}
}
@@ -294,6 +311,7 @@ void Client::connect(Address address, bool is_local_server)
{
initLocalMapSaving(address, m_address_name, is_local_server);
+ // Since we use TryReceive() a timeout here would be ineffective anyway
m_con->SetTimeoutMs(0);
m_con->Connect(address);
}
@@ -764,11 +782,20 @@ void Client::initLocalMapSaving(const Address &address,
return;
}
- const std::string world_path = porting::path_user
- + DIR_DELIM + "worlds"
- + DIR_DELIM + "server_"
+ std::string world_path;
+#define set_world_path(hostname) \
+ world_path = porting::path_user \
+ + DIR_DELIM + "worlds" \
+ + DIR_DELIM + "server_" \
+ hostname + "_" + std::to_string(address.getPort());
+ set_world_path(hostname);
+ if (!fs::IsDir(world_path)) {
+ std::string hostname_escaped = hostname;
+ str_replace(hostname_escaped, ':', '_');
+ set_world_path(hostname_escaped);
+ }
+#undef set_world_path
fs::CreateAllDirs(world_path);
m_localdb = new MapDatabaseSQLite3(world_path);
@@ -778,36 +805,31 @@ void Client::initLocalMapSaving(const Address &address,
void Client::ReceiveAll()
{
+ NetworkPacket pkt;
u64 start_ms = porting::getTimeMs();
- for(;;)
- {
+ const u64 budget = 100;
+ for(;;) {
// Limit time even if there would be huge amounts of data to
// process
- if(porting::getTimeMs() > start_ms + 100)
+ if (porting::getTimeMs() > start_ms + budget) {
+ infostream << "Client::ReceiveAll(): "
+ "Packet processing budget exceeded." << std::endl;
break;
+ }
+ pkt.clear();
try {
- Receive();
- g_profiler->graphAdd("client_received_packets", 1);
- }
- catch(con::NoIncomingDataException &e) {
- break;
- }
- catch(con::InvalidIncomingDataException &e) {
- infostream<<"Client::ReceiveAll(): "
+ if (!m_con->TryReceive(&pkt))
+ break;
+ ProcessData(&pkt);
+ } catch (const con::InvalidIncomingDataException &e) {
+ infostream << "Client::ReceiveAll(): "
"InvalidIncomingDataException: what()="
- <<e.what()<<std::endl;
+ << e.what() << std::endl;
}
}
}
-void Client::Receive()
-{
- NetworkPacket pkt;
- m_con->Receive(&pkt);
- ProcessData(&pkt);
-}
-
inline void Client::handleCommand(NetworkPacket* pkt)
{
const ToClientCommandHandler& opHandle = toClientCommandTable[pkt->getCommand()];
@@ -824,6 +846,7 @@ void Client::ProcessData(NetworkPacket *pkt)
//infostream<<"Client: received command="<<command<<std::endl;
m_packetcounter.add((u16)command);
+ g_profiler->graphAdd("client_received_packets", 1);
/*
If this check is removed, be sure to change the queue
@@ -1083,7 +1106,7 @@ void Client::sendRemovedSounds(std::vector<s32> &soundList)
pkt << (u16) (server_ids & 0xFFFF);
- for (int sound_id : soundList)
+ for (s32 sound_id : soundList)
pkt << sound_id;
Send(&pkt);
@@ -1296,7 +1319,7 @@ void Client::removeNode(v3s16 p)
* @param is_valid_position
* @return
*/
-MapNode Client::getNode(v3s16 p, bool *is_valid_position)
+MapNode Client::CSMGetNode(v3s16 p, bool *is_valid_position)
{
if (checkCSMRestrictionFlag(CSMRestrictionFlags::CSM_RF_LOOKUP_NODES)) {
v3s16 ppos = floatToInt(m_env.getLocalPlayer()->getPosition(), BS);
@@ -1308,6 +1331,31 @@ MapNode Client::getNode(v3s16 p, bool *is_valid_position)
return m_env.getMap().getNode(p, is_valid_position);
}
+int Client::CSMClampRadius(v3s16 pos, int radius)
+{
+ if (!checkCSMRestrictionFlag(CSMRestrictionFlags::CSM_RF_LOOKUP_NODES))
+ return radius;
+ // This is approximate and will cause some allowed nodes to be excluded
+ v3s16 ppos = floatToInt(m_env.getLocalPlayer()->getPosition(), BS);
+ u32 distance = ppos.getDistanceFrom(pos);
+ if (distance >= m_csm_restriction_noderange)
+ return 0;
+ return std::min<int>(radius, m_csm_restriction_noderange - distance);
+}
+
+v3s16 Client::CSMClampPos(v3s16 pos)
+{
+ if (!checkCSMRestrictionFlag(CSMRestrictionFlags::CSM_RF_LOOKUP_NODES))
+ return pos;
+ v3s16 ppos = floatToInt(m_env.getLocalPlayer()->getPosition(), BS);
+ const int range = m_csm_restriction_noderange;
+ return v3s16(
+ core::clamp<int>(pos.X, (int)ppos.X - range, (int)ppos.X + range),
+ core::clamp<int>(pos.Y, (int)ppos.Y - range, (int)ppos.Y + range),
+ core::clamp<int>(pos.Z, (int)ppos.Z - range, (int)ppos.Z + range)
+ );
+}
+
void Client::addNode(v3s16 p, MapNode n, bool remove_metadata)
{
//TimeTaker timer1("Client::addNode()");
@@ -1812,7 +1860,7 @@ ITextureSource* Client::getTextureSource()
{
return m_tsrc;
}
-IShaderSource* Client::getShaderSource()
+IWritableShaderSource* Client::getShaderSource()
{
return m_shsrc;
}
@@ -1864,14 +1912,20 @@ scene::IAnimatedMesh* Client::getMesh(const std::string &filename, bool cache)
return mesh;
}
-const std::string* Client::getModFile(const std::string &filename)
+const std::string* Client::getModFile(std::string filename)
{
- StringMap::const_iterator it = m_mod_files.find(filename);
- if (it == m_mod_files.end()) {
- errorstream << "Client::getModFile(): File not found: \"" << filename
- << "\"" << std::endl;
- return NULL;
- }
+ // strip dir delimiter from beginning of path
+ auto pos = filename.find_first_of(':');
+ if (pos == std::string::npos)
+ return nullptr;
+ pos++;
+ auto pos2 = filename.find_first_not_of('/', pos);
+ if (pos2 > pos)
+ filename.erase(pos, pos2 - pos);
+
+ StringMap::const_iterator it = m_mod_vfs.find(filename);
+ if (it == m_mod_vfs.end())
+ return nullptr;
return &it->second;
}
diff --git a/src/client/client.h b/src/client/client.h
index e3c931837..1291b944c 100644
--- a/src/client/client.h
+++ b/src/client/client.h
@@ -218,6 +218,9 @@ public:
void handleCommand_HudSetFlags(NetworkPacket* pkt);
void handleCommand_HudSetParam(NetworkPacket* pkt);
void handleCommand_HudSetSky(NetworkPacket* pkt);
+ void handleCommand_HudSetSun(NetworkPacket* pkt);
+ void handleCommand_HudSetMoon(NetworkPacket* pkt);
+ void handleCommand_HudSetStars(NetworkPacket* pkt);
void handleCommand_CloudParams(NetworkPacket* pkt);
void handleCommand_OverrideDayNightRatio(NetworkPacket* pkt);
void handleCommand_LocalPlayerAnimations(NetworkPacket* pkt);
@@ -261,14 +264,11 @@ public:
// Causes urgent mesh updates (unlike Map::add/removeNodeWithEvent)
void removeNode(v3s16 p);
- /**
- * Helper function for Client Side Modding
- * CSM restrictions are applied there, this should not be used for core engine
- * @param p
- * @param is_valid_position
- * @return
- */
- MapNode getNode(v3s16 p, bool *is_valid_position);
+ // helpers to enforce CSM restrictions
+ MapNode CSMGetNode(v3s16 p, bool *is_valid_position);
+ int CSMClampRadius(v3s16 pos, int radius);
+ v3s16 CSMClampPos(v3s16 pos);
+
void addNode(v3s16 p, MapNode n, bool remove_metadata = true);
void setPlayerControl(PlayerControl &control);
@@ -370,7 +370,7 @@ public:
const NodeDefManager* getNodeDefManager() override;
ICraftDefManager* getCraftDefManager() override;
ITextureSource* getTextureSource();
- virtual IShaderSource* getShaderSource();
+ virtual IWritableShaderSource* getShaderSource();
u16 allocateUnknownNodeId(const std::string &name) override;
virtual ISoundManager* getSoundManager();
MtEventManager* getEventManager();
@@ -378,7 +378,7 @@ public:
bool checkLocalPrivilege(const std::string &priv)
{ return checkPrivilege(priv); }
virtual scene::IAnimatedMesh* getMesh(const std::string &filename, bool cache = false);
- const std::string* getModFile(const std::string &filename);
+ const std::string* getModFile(std::string filename);
std::string getModStoragePath() const override;
bool registerModStorage(ModMetadata *meta) override;
@@ -413,6 +413,11 @@ public:
return m_address_name;
}
+ inline u64 getCSMRestrictionFlags() const
+ {
+ return m_csm_restriction_flags;
+ }
+
inline bool checkCSMRestrictionFlag(CSMRestrictionFlags flag) const
{
return m_csm_restriction_flags & flag;
@@ -451,7 +456,6 @@ private:
bool is_local_server);
void ReceiveAll();
- void Receive();
void sendPlayerPos();
@@ -560,7 +564,7 @@ private:
std::unordered_map<s32, int> m_sounds_server_to_client;
// And the other way!
std::unordered_map<int, s32> m_sounds_client_to_server;
- // And relations to objects
+ // Relation of client id to object id
std::unordered_map<int, u16> m_sounds_to_objects;
// Map server hud ids to client hud ids
@@ -576,8 +580,6 @@ private:
// Storage for mesh data for creating multiple instances of the same mesh
StringMap m_mesh_data;
- StringMap m_mod_files;
-
// own state
LocalClientState m_state;
@@ -588,11 +590,13 @@ private:
IntervalLimiter m_localdb_save_interval;
u16 m_cache_save_interval;
+ // Client modding
ClientScripting *m_script = nullptr;
bool m_modding_enabled;
std::unordered_map<std::string, ModMetadata *> m_mod_storages;
float m_mod_storage_save_timer = 10.0f;
std::vector<ModSpec> m_mods;
+ StringMap m_mod_vfs;
bool m_shutdown = false;
diff --git a/src/client/clientenvironment.cpp b/src/client/clientenvironment.cpp
index 5eb033302..52d133781 100644
--- a/src/client/clientenvironment.cpp
+++ b/src/client/clientenvironment.cpp
@@ -32,11 +32,66 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "raycast.h"
#include "voxelalgorithms.h"
#include "settings.h"
+#include "shader.h"
#include "content_cao.h"
#include <algorithm>
#include "client/renderingengine.h"
/*
+ CAOShaderConstantSetter
+*/
+
+//! Shader constant setter for passing material emissive color to the CAO object_shader
+class CAOShaderConstantSetter : public IShaderConstantSetter
+{
+public:
+ CAOShaderConstantSetter():
+ m_emissive_color_setting("emissiveColor")
+ {}
+
+ ~CAOShaderConstantSetter() override = default;
+
+ void onSetConstants(video::IMaterialRendererServices *services,
+ bool is_highlevel) override
+ {
+ if (!is_highlevel)
+ return;
+
+ // Ambient color
+ video::SColorf emissive_color(m_emissive_color);
+
+ float as_array[4] = {
+ emissive_color.r,
+ emissive_color.g,
+ emissive_color.b,
+ emissive_color.a,
+ };
+ m_emissive_color_setting.set(as_array, services);
+ }
+
+ void onSetMaterial(const video::SMaterial& material) override
+ {
+ m_emissive_color = material.EmissiveColor;
+ }
+
+private:
+ video::SColor m_emissive_color;
+ CachedPixelShaderSetting<float, 4> m_emissive_color_setting;
+};
+
+class CAOShaderConstantSetterFactory : public IShaderConstantSetterFactory
+{
+public:
+ CAOShaderConstantSetterFactory()
+ {}
+
+ virtual IShaderConstantSetter* create()
+ {
+ return new CAOShaderConstantSetter();
+ }
+};
+
+/*
ClientEnvironment
*/
@@ -47,6 +102,8 @@ ClientEnvironment::ClientEnvironment(ClientMap *map,
m_texturesource(texturesource),
m_client(client)
{
+ auto *shdrsrc = m_client->getShaderSource();
+ shdrsrc->addShaderConstantSetterFactory(new CAOShaderConstantSetterFactory());
}
ClientEnvironment::~ClientEnvironment()
diff --git a/src/client/clientevent.h b/src/client/clientevent.h
index 2a44717ce..f5689c25b 100644
--- a/src/client/clientevent.h
+++ b/src/client/clientevent.h
@@ -22,6 +22,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include <string>
#include "irrlichttypes_bloated.h"
#include "hud.h"
+#include "skyparams.h"
enum ClientEventType : u8
{
@@ -38,6 +39,9 @@ enum ClientEventType : u8
CE_HUDRM,
CE_HUDCHANGE,
CE_SET_SKY,
+ CE_SET_SUN,
+ CE_SET_MOON,
+ CE_SET_STARS,
CE_OVERRIDE_DAY_NIGHT_RATIO,
CE_CLOUD_PARAMS,
CLIENTEVENT_MAX,
@@ -131,6 +135,7 @@ struct ClientEvent
v2f *offset;
v3f *world_pos;
v2s32 *size;
+ s16 z_index;
} hudadd;
struct
{
@@ -146,13 +151,7 @@ struct ClientEvent
v3f *v3fdata;
v2s32 *v2s32data;
} hudchange;
- struct
- {
- video::SColor *bgcolor;
- std::string *type;
- std::vector<std::string> *params;
- bool clouds;
- } set_sky;
+ SkyboxParams *set_sky;
struct
{
bool do_override;
@@ -168,5 +167,8 @@ struct ClientEvent
f32 speed_x;
f32 speed_y;
} cloud_params;
+ SunParams *sun_params;
+ MoonParams *moon_params;
+ StarParams *star_params;
};
};
diff --git a/src/client/clientobject.h b/src/client/clientobject.h
index c673fff9a..12e0db35b 100644
--- a/src/client/clientobject.h
+++ b/src/client/clientobject.h
@@ -49,8 +49,10 @@ public:
virtual bool getSelectionBox(aabb3f *toset) const { return false; }
virtual bool collideWithObjects() const { return false; }
virtual const v3f getPosition() const { return v3f(0.0f); }
- virtual scene::ISceneNode *getSceneNode() { return NULL; }
- virtual scene::IAnimatedMeshSceneNode *getAnimatedMeshSceneNode() { return NULL; }
+ virtual scene::ISceneNode *getSceneNode() const
+ { return NULL; }
+ virtual scene::IAnimatedMeshSceneNode *getAnimatedMeshSceneNode() const
+ { return NULL; }
virtual bool isLocalPlayer() const { return false; }
virtual ClientActiveObject *getParent() const { return nullptr; };
diff --git a/src/client/content_cao.cpp b/src/client/content_cao.cpp
index 5521a6cf1..d148df522 100644
--- a/src/client/content_cao.cpp
+++ b/src/client/content_cao.cpp
@@ -46,6 +46,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "wieldmesh.h"
#include <algorithm>
#include <cmath>
+#include "client/shader.h"
class Settings;
struct ToolCapabilities;
@@ -352,6 +353,8 @@ void GenericCAO::initialize(const std::string &data)
player->setCAO(this);
}
}
+
+ m_enable_shaders = g_settings->getBool("enable_shaders");
}
void GenericCAO::processInitData(const std::string &data)
@@ -403,13 +406,17 @@ bool GenericCAO::getSelectionBox(aabb3f *toset) const
const v3f GenericCAO::getPosition() const
{
- if (getParent() != nullptr) {
- if (m_matrixnode)
- return m_matrixnode->getAbsolutePosition();
+ if (!getParent())
+ return pos_translator.val_current;
- return m_position;
+ // Calculate real position in world based on MatrixNode
+ if (m_matrixnode) {
+ v3s16 camera_offset = m_env->getCameraOffset();
+ return m_matrixnode->getAbsolutePosition() +
+ intToFloat(camera_offset, BS);
}
- return pos_translator.val_current;
+
+ return m_position;
}
const bool GenericCAO::isImmortal()
@@ -417,7 +424,7 @@ const bool GenericCAO::isImmortal()
return itemgroup_get(getGroups(), "immortal");
}
-scene::ISceneNode* GenericCAO::getSceneNode()
+scene::ISceneNode *GenericCAO::getSceneNode() const
{
if (m_meshnode) {
return m_meshnode;
@@ -437,7 +444,7 @@ scene::ISceneNode* GenericCAO::getSceneNode()
return NULL;
}
-scene::IAnimatedMeshSceneNode* GenericCAO::getAnimatedMeshSceneNode()
+scene::IAnimatedMeshSceneNode *GenericCAO::getAnimatedMeshSceneNode() const
{
return m_animated_meshnode;
}
@@ -573,25 +580,47 @@ void GenericCAO::addToScene(ITextureSource *tsrc)
return;
}
- video::E_MATERIAL_TYPE material_type = (m_prop.use_texture_alpha) ?
- video::EMT_TRANSPARENT_ALPHA_CHANNEL : video::EMT_TRANSPARENT_ALPHA_CHANNEL_REF;
+ if (m_enable_shaders) {
+ IShaderSource *shader_source = m_client->getShaderSource();
+ u32 shader_id = shader_source->getShader(
+ "object_shader",
+ TILE_MATERIAL_BASIC,
+ NDT_NORMAL);
+ m_material_type = shader_source->getShaderInfo(shader_id).material;
+ } else {
+ m_material_type = (m_prop.use_texture_alpha) ?
+ video::EMT_TRANSPARENT_ALPHA_CHANNEL : video::EMT_TRANSPARENT_ALPHA_CHANNEL_REF;
+ }
- if (m_prop.visual == "sprite") {
- infostream<<"GenericCAO::addToScene(): single_sprite"<<std::endl;
+ auto grabMatrixNode = [this] {
+ infostream << "GenericCAO::addToScene(): " << m_prop.visual << std::endl;
m_matrixnode = RenderingEngine::get_scene_manager()->
addDummyTransformationSceneNode();
m_matrixnode->grab();
+ };
+
+ auto setSceneNodeMaterial = [this] (scene::ISceneNode *node) {
+ node->setMaterialFlag(video::EMF_LIGHTING, false);
+ node->setMaterialFlag(video::EMF_BILINEAR_FILTER, false);
+ node->setMaterialFlag(video::EMF_FOG_ENABLE, true);
+ node->setMaterialType(m_material_type);
+
+ if (m_enable_shaders) {
+ node->setMaterialFlag(video::EMF_GOURAUD_SHADING, false);
+ node->setMaterialFlag(video::EMF_NORMALIZE_NORMALS, true);
+ }
+ };
+
+ if (m_prop.visual == "sprite") {
+ grabMatrixNode();
m_spritenode = RenderingEngine::get_scene_manager()->addBillboardSceneNode(
m_matrixnode, v2f(1, 1), v3f(0,0,0), -1);
m_spritenode->grab();
m_spritenode->setMaterialTexture(0,
tsrc->getTextureForMesh("unknown_node.png"));
- m_spritenode->setMaterialFlag(video::EMF_LIGHTING, false);
- m_spritenode->setMaterialFlag(video::EMF_BILINEAR_FILTER, false);
- m_spritenode->setMaterialType(material_type);
- m_spritenode->setMaterialFlag(video::EMF_FOG_ENABLE, true);
- u8 li = m_last_light;
- m_spritenode->setColor(video::SColor(255,li,li,li));
+
+ setSceneNodeMaterial(m_spritenode);
+
m_spritenode->setSize(v2f(m_prop.visual_size.X,
m_prop.visual_size.Y) * BS);
{
@@ -601,19 +630,19 @@ void GenericCAO::addToScene(ITextureSource *tsrc)
txs, tys, 0, 0);
}
} else if (m_prop.visual == "upright_sprite") {
+ grabMatrixNode();
scene::SMesh *mesh = new scene::SMesh();
double dx = BS * m_prop.visual_size.X / 2;
double dy = BS * m_prop.visual_size.Y / 2;
- u8 li = m_last_light;
- video::SColor c(255, li, li, li);
+ video::SColor c(0xFFFFFFFF);
{ // Front
scene::IMeshBuffer *buf = new scene::SMeshBuffer();
video::S3DVertex vertices[4] = {
- video::S3DVertex(-dx, -dy, 0, 0,0,0, c, 1,1),
- video::S3DVertex( dx, -dy, 0, 0,0,0, c, 0,1),
- video::S3DVertex( dx, dy, 0, 0,0,0, c, 0,0),
- video::S3DVertex(-dx, dy, 0, 0,0,0, c, 1,0),
+ video::S3DVertex(-dx, -dy, 0, 0,0,1, c, 1,1),
+ video::S3DVertex( dx, -dy, 0, 0,0,1, c, 0,1),
+ video::S3DVertex( dx, dy, 0, 0,0,1, c, 0,0),
+ video::S3DVertex(-dx, dy, 0, 0,0,1, c, 1,0),
};
if (m_is_player) {
// Move minimal Y position to 0 (feet position)
@@ -626,7 +655,14 @@ void GenericCAO::addToScene(ITextureSource *tsrc)
buf->getMaterial().setFlag(video::EMF_LIGHTING, false);
buf->getMaterial().setFlag(video::EMF_BILINEAR_FILTER, false);
buf->getMaterial().setFlag(video::EMF_FOG_ENABLE, true);
- buf->getMaterial().MaterialType = video::EMT_TRANSPARENT_ALPHA_CHANNEL;
+ buf->getMaterial().MaterialType = m_material_type;
+
+ if (m_enable_shaders) {
+ buf->getMaterial().EmissiveColor = c;
+ buf->getMaterial().setFlag(video::EMF_GOURAUD_SHADING, false);
+ buf->getMaterial().setFlag(video::EMF_NORMALIZE_NORMALS, true);
+ }
+
// Add to mesh
mesh->addMeshBuffer(buf);
buf->drop();
@@ -634,10 +670,10 @@ void GenericCAO::addToScene(ITextureSource *tsrc)
{ // Back
scene::IMeshBuffer *buf = new scene::SMeshBuffer();
video::S3DVertex vertices[4] = {
- video::S3DVertex( dx,-dy, 0, 0,0,0, c, 1,1),
- video::S3DVertex(-dx,-dy, 0, 0,0,0, c, 0,1),
- video::S3DVertex(-dx, dy, 0, 0,0,0, c, 0,0),
- video::S3DVertex( dx, dy, 0, 0,0,0, c, 1,0),
+ video::S3DVertex( dx,-dy, 0, 0,0,-1, c, 1,1),
+ video::S3DVertex(-dx,-dy, 0, 0,0,-1, c, 0,1),
+ video::S3DVertex(-dx, dy, 0, 0,0,-1, c, 0,0),
+ video::S3DVertex( dx, dy, 0, 0,0,-1, c, 1,0),
};
if (m_is_player) {
// Move minimal Y position to 0 (feet position)
@@ -650,14 +686,18 @@ void GenericCAO::addToScene(ITextureSource *tsrc)
buf->getMaterial().setFlag(video::EMF_LIGHTING, false);
buf->getMaterial().setFlag(video::EMF_BILINEAR_FILTER, false);
buf->getMaterial().setFlag(video::EMF_FOG_ENABLE, true);
- buf->getMaterial().MaterialType = video::EMT_TRANSPARENT_ALPHA_CHANNEL_REF;
+ buf->getMaterial().MaterialType = m_material_type;
+
+ if (m_enable_shaders) {
+ buf->getMaterial().EmissiveColor = c;
+ buf->getMaterial().setFlag(video::EMF_GOURAUD_SHADING, false);
+ buf->getMaterial().setFlag(video::EMF_NORMALIZE_NORMALS, true);
+ }
+
// Add to mesh
mesh->addMeshBuffer(buf);
buf->drop();
}
- m_matrixnode = RenderingEngine::get_scene_manager()->
- addDummyTransformationSceneNode();
- m_matrixnode->grab();
m_meshnode = RenderingEngine::get_scene_manager()->
addMeshSceneNode(mesh, m_matrixnode);
m_meshnode->grab();
@@ -666,55 +706,41 @@ void GenericCAO::addToScene(ITextureSource *tsrc)
// This is needed for changing the texture in the future
m_meshnode->setReadOnlyMaterials(true);
} else if (m_prop.visual == "cube") {
- infostream<<"GenericCAO::addToScene(): cube"<<std::endl;
+ grabMatrixNode();
scene::IMesh *mesh = createCubeMesh(v3f(BS,BS,BS));
- m_matrixnode = RenderingEngine::get_scene_manager()->
- addDummyTransformationSceneNode(nullptr);
- m_matrixnode->grab();
m_meshnode = RenderingEngine::get_scene_manager()->
addMeshSceneNode(mesh, m_matrixnode);
m_meshnode->grab();
mesh->drop();
m_meshnode->setScale(m_prop.visual_size);
- u8 li = m_last_light;
- setMeshColor(m_meshnode->getMesh(), video::SColor(255,li,li,li));
- m_meshnode->setMaterialFlag(video::EMF_LIGHTING, false);
- m_meshnode->setMaterialFlag(video::EMF_BILINEAR_FILTER, false);
- m_meshnode->setMaterialType(material_type);
- m_meshnode->setMaterialFlag(video::EMF_FOG_ENABLE, true);
+ setSceneNodeMaterial(m_meshnode);
} else if (m_prop.visual == "mesh") {
- infostream<<"GenericCAO::addToScene(): mesh"<<std::endl;
+ grabMatrixNode();
scene::IAnimatedMesh *mesh = m_client->getMesh(m_prop.mesh, true);
if (mesh) {
- m_matrixnode = RenderingEngine::get_scene_manager()->
- addDummyTransformationSceneNode(nullptr);
- m_matrixnode->grab();
m_animated_meshnode = RenderingEngine::get_scene_manager()->
addAnimatedMeshSceneNode(mesh, m_matrixnode);
m_animated_meshnode->grab();
mesh->drop(); // The scene node took hold of it
m_animated_meshnode->animateJoints(); // Needed for some animations
m_animated_meshnode->setScale(m_prop.visual_size);
- u8 li = m_last_light;
// set vertex colors to ensure alpha is set
- setMeshColor(m_animated_meshnode->getMesh(), video::SColor(255,li,li,li));
+ setMeshColor(m_animated_meshnode->getMesh(), video::SColor(0xFFFFFFFF));
+
+ setAnimatedMeshColor(m_animated_meshnode, video::SColor(0xFFFFFFFF));
- setAnimatedMeshColor(m_animated_meshnode, video::SColor(255,li,li,li));
+ setSceneNodeMaterial(m_animated_meshnode);
- m_animated_meshnode->setMaterialFlag(video::EMF_LIGHTING, true);
- m_animated_meshnode->setMaterialFlag(video::EMF_BILINEAR_FILTER, false);
- m_animated_meshnode->setMaterialType(material_type);
- m_animated_meshnode->setMaterialFlag(video::EMF_FOG_ENABLE, true);
m_animated_meshnode->setMaterialFlag(video::EMF_BACK_FACE_CULLING,
m_prop.backface_culling);
} else
errorstream<<"GenericCAO::addToScene(): Could not load mesh "<<m_prop.mesh<<std::endl;
} else if (m_prop.visual == "wielditem" || m_prop.visual == "item") {
+ grabMatrixNode();
ItemStack item;
- infostream << "GenericCAO::addToScene(): wielditem" << std::endl;
if (m_prop.wield_item.empty()) {
// Old format, only textures are specified.
infostream << "textures: " << m_prop.textures.size() << std::endl;
@@ -728,18 +754,13 @@ void GenericCAO::addToScene(ITextureSource *tsrc)
infostream << "serialized form: " << m_prop.wield_item << std::endl;
item.deSerialize(m_prop.wield_item, m_client->idef());
}
- m_matrixnode = RenderingEngine::get_scene_manager()->
- addDummyTransformationSceneNode(nullptr);
- m_matrixnode->grab();
m_wield_meshnode = new WieldMeshSceneNode(
RenderingEngine::get_scene_manager(), -1);
- m_wield_meshnode->setParent(m_matrixnode);
m_wield_meshnode->setItem(item, m_client,
(m_prop.visual == "wielditem"));
m_wield_meshnode->setScale(m_prop.visual_size / 2.0f);
- u8 li = m_last_light;
- m_wield_meshnode->setColor(video::SColor(255, li, li, li));
+ m_wield_meshnode->setColor(video::SColor(0xFFFFFFFF));
} else {
infostream<<"GenericCAO::addToScene(): \""<<m_prop.visual
<<"\" not supported"<<std::endl;
@@ -751,6 +772,9 @@ void GenericCAO::addToScene(ITextureSource *tsrc)
scene::ISceneNode *node = getSceneNode();
+ if (node && m_matrixnode)
+ node->setParent(m_matrixnode);
+
if (node && !m_prop.nametag.empty() && !m_is_local_player) {
// Add nametag
v3f pos;
@@ -764,6 +788,7 @@ void GenericCAO::addToScene(ITextureSource *tsrc)
updateAnimation();
updateBonePosition();
updateAttachments();
+ setNodeLight(m_last_light);
}
void GenericCAO::updateLight(u8 light_at_pos)
@@ -790,15 +815,46 @@ void GenericCAO::updateLightNoCheck(u8 light_at_pos)
return;
u8 li = decode_light(light_at_pos + m_glow);
+
if (li != m_last_light) {
m_last_light = li;
- video::SColor color(255,li,li,li);
+ setNodeLight(li);
+ }
+}
+
+void GenericCAO::setNodeLight(u8 light)
+{
+ video::SColor color(255, light, light, light);
+
+ if (m_prop.visual == "wielditem" || m_prop.visual == "item") {
+ // Since these types of visuals are using their own shader
+ // they should be handled separately
+ if (m_wield_meshnode)
+ m_wield_meshnode->setColor(color);
+ } else if (m_enable_shaders) {
+ scene::ISceneNode *node = getSceneNode();
+
+ if (node == nullptr)
+ return;
+
+ if (m_prop.visual == "upright_sprite") {
+ scene::IMesh *mesh = m_meshnode->getMesh();
+ for (u32 i = 0; i < mesh->getMeshBufferCount(); ++i) {
+ scene::IMeshBuffer *buf = mesh->getMeshBuffer(i);
+ video::SMaterial &material = buf->getMaterial();
+ material.EmissiveColor = color;
+ }
+ } else {
+ for (u32 i = 0; i < node->getMaterialCount(); ++i) {
+ video::SMaterial &material = node->getMaterial(i);
+ material.EmissiveColor = color;
+ }
+ }
+ } else {
if (m_meshnode) {
setMeshColor(m_meshnode->getMesh(), color);
} else if (m_animated_meshnode) {
setAnimatedMeshColor(m_animated_meshnode, color);
- } else if (m_wield_meshnode) {
- m_wield_meshnode->setColor(color);
} else if (m_spritenode) {
m_spritenode->setColor(color);
}
@@ -884,7 +940,7 @@ void GenericCAO::step(float dtime, ClientEnvironment *env)
// Apply animations if input detected and not attached
// or set idle animation
- if ((new_anim.X + new_anim.Y) > 0 && !player->isAttached) {
+ if ((new_anim.X + new_anim.Y) > 0 && !getParent()) {
allow_update = true;
m_animation_range = new_anim;
m_animation_speed = new_speed;
@@ -946,12 +1002,7 @@ void GenericCAO::step(float dtime, ClientEnvironment *env)
m_velocity = v3f(0,0,0);
m_acceleration = v3f(0,0,0);
pos_translator.val_current = m_position;
-
- if(m_is_local_player) // Update local player attachment position
- {
- LocalPlayer *player = m_env->getLocalPlayer();
- player->overridePosition = getParent()->getPosition();
- }
+ pos_translator.val_target = m_position;
} else {
rot_translator.translate(dtime);
v3f lastpos = pos_translator.val_current;
@@ -975,16 +1026,14 @@ void GenericCAO::step(float dtime, ClientEnvironment *env)
bool is_end_position = moveresult.collides;
pos_translator.update(m_position, is_end_position, dtime);
- pos_translator.translate(dtime);
- updateNodePos();
} else {
m_position += dtime * m_velocity + 0.5 * dtime * dtime * m_acceleration;
m_velocity += dtime * m_acceleration;
pos_translator.update(m_position, pos_translator.aim_is_end,
pos_translator.anim_time);
- pos_translator.translate(dtime);
- updateNodePos();
}
+ pos_translator.translate(dtime);
+ updateNodePos();
float moved = lastpos.getDistanceFrom(pos_translator.val_current);
m_step_distance_counter += moved;
@@ -1109,16 +1158,13 @@ void GenericCAO::updateTextures(std::string mod)
m_current_texture_modifier = mod;
m_glow = m_prop.glow;
- video::E_MATERIAL_TYPE material_type = (m_prop.use_texture_alpha) ?
- video::EMT_TRANSPARENT_ALPHA_CHANNEL : video::EMT_TRANSPARENT_ALPHA_CHANNEL_REF;
-
if (m_spritenode) {
if (m_prop.visual == "sprite") {
std::string texturestring = "unknown_node.png";
if (!m_prop.textures.empty())
texturestring = m_prop.textures[0];
texturestring += mod;
- m_spritenode->getMaterial(0).MaterialType = material_type;
+ m_spritenode->getMaterial(0).MaterialType = m_material_type;
m_spritenode->getMaterial(0).MaterialTypeParam = 0.5f;
m_spritenode->setMaterialTexture(0,
tsrc->getTextureForMesh(texturestring));
@@ -1154,7 +1200,7 @@ void GenericCAO::updateTextures(std::string mod)
// Set material flags and texture
video::SMaterial& material = m_animated_meshnode->getMaterial(i);
- material.MaterialType = material_type;
+ material.MaterialType = m_material_type;
material.MaterialTypeParam = 0.5f;
material.TextureLayer[0].Texture = texture;
material.setFlag(video::EMF_LIGHTING, true);
@@ -1201,7 +1247,7 @@ void GenericCAO::updateTextures(std::string mod)
// Set material flags and texture
video::SMaterial& material = m_meshnode->getMaterial(i);
- material.MaterialType = material_type;
+ material.MaterialType = m_material_type;
material.MaterialTypeParam = 0.5f;
material.setFlag(video::EMF_LIGHTING, false);
material.setFlag(video::EMF_BILINEAR_FILTER, false);
@@ -1348,7 +1394,8 @@ void GenericCAO::updateAttachments()
if (!parent) { // Detach or don't attach
if (m_matrixnode) {
- v3f old_pos = m_matrixnode->getAbsolutePosition();
+ v3f old_pos = getPosition();
+
m_matrixnode->setParent(m_smgr->getRootSceneNode());
getPosRotMatrix().setTranslation(old_pos);
m_matrixnode->updateAbsolutePosition();
@@ -1372,11 +1419,6 @@ void GenericCAO::updateAttachments()
m_matrixnode->updateAbsolutePosition();
}
}
- if (m_is_local_player) {
- LocalPlayer *player = m_env->getLocalPlayer();
- player->isAttached = parent;
- player->parent = parent;
- }
}
void GenericCAO::processMessage(const std::string &data)
diff --git a/src/client/content_cao.h b/src/client/content_cao.h
index 2c2d11077..7c29cbf17 100644
--- a/src/client/content_cao.h
+++ b/src/client/content_cao.h
@@ -125,6 +125,10 @@ private:
u8 m_last_light = 255;
bool m_is_visible = false;
s8 m_glow = 0;
+ // Material
+ video::E_MATERIAL_TYPE m_material_type;
+ // Settings
+ bool m_enable_shaders = false;
public:
GenericCAO(Client *client, ClientEnvironment *env);
@@ -165,9 +169,9 @@ public:
const bool isImmortal();
- scene::ISceneNode *getSceneNode();
+ scene::ISceneNode *getSceneNode() const;
- scene::IAnimatedMeshSceneNode *getAnimatedMeshSceneNode();
+ scene::IAnimatedMeshSceneNode *getAnimatedMeshSceneNode() const;
// m_matrixnode controls the position and rotation of the child node
// for all scene nodes, as a workaround for an Irrlicht problem with
@@ -234,6 +238,8 @@ public:
void updateLightNoCheck(u8 light_at_pos);
+ void setNodeLight(u8 light);
+
v3s16 getLightPosition();
void updateNodePos();
diff --git a/src/client/content_mapblock.cpp b/src/client/content_mapblock.cpp
index 4a0df6171..9b4fd221e 100644
--- a/src/client/content_mapblock.cpp
+++ b/src/client/content_mapblock.cpp
@@ -556,17 +556,24 @@ void MapblockMeshGenerator::drawLiquidSides()
for (int j = 0; j < 4; j++) {
const UV &vertex = base_vertices[j];
const v3s16 &base = face.p[vertex.u];
+ float v = vertex.v;
+
v3f pos;
- pos.X = (base.X - 0.5) * BS;
- pos.Z = (base.Z - 0.5) * BS;
- if (vertex.v)
- pos.Y = neighbor.is_same_liquid ? corner_levels[base.Z][base.X] : -0.5 * BS;
- else
- pos.Y = !top_is_same_liquid ? corner_levels[base.Z][base.X] : 0.5 * BS;
+ pos.X = (base.X - 0.5f) * BS;
+ pos.Z = (base.Z - 0.5f) * BS;
+ if (vertex.v) {
+ pos.Y = neighbor.is_same_liquid ? corner_levels[base.Z][base.X] : -0.5f * BS;
+ } else if (top_is_same_liquid) {
+ pos.Y = 0.5f * BS;
+ } else {
+ pos.Y = corner_levels[base.Z][base.X];
+ v += (0.5f * BS - corner_levels[base.Z][base.X]) / BS;
+ }
+
if (data->m_smooth_lighting)
color = blendLightColor(pos);
pos += origin;
- vertices[j] = video::S3DVertex(pos.X, pos.Y, pos.Z, 0, 0, 0, color, vertex.u, vertex.v);
+ vertices[j] = video::S3DVertex(pos.X, pos.Y, pos.Z, 0, 0, 0, color, vertex.u, v);
};
collector->append(tile_liquid, vertices, 4, quad_indices, 6);
}
@@ -860,17 +867,27 @@ void MapblockMeshGenerator::drawTorchlikeNode()
for (v3f &vertex : vertices) {
switch (wall) {
case DWM_YP:
- vertex.rotateXZBy(-45); break;
+ vertex.Y += -size + BS/2;
+ vertex.rotateXZBy(-45);
+ break;
case DWM_YN:
- vertex.rotateXZBy( 45); break;
+ vertex.Y += size - BS/2;
+ vertex.rotateXZBy(45);
+ break;
case DWM_XP:
- vertex.rotateXZBy( 0); break;
+ vertex.X += -size + BS/2;
+ break;
case DWM_XN:
- vertex.rotateXZBy(180); break;
+ vertex.X += -size + BS/2;
+ vertex.rotateXZBy(180);
+ break;
case DWM_ZP:
- vertex.rotateXZBy( 90); break;
+ vertex.X += -size + BS/2;
+ vertex.rotateXZBy(90);
+ break;
case DWM_ZN:
- vertex.rotateXZBy(-90); break;
+ vertex.X += -size + BS/2;
+ vertex.rotateXZBy(-90);
}
}
drawQuad(vertices);
diff --git a/src/client/fontengine.cpp b/src/client/fontengine.cpp
index 858d6780e..2b5841cd8 100644
--- a/src/client/fontengine.cpp
+++ b/src/client/fontengine.cpp
@@ -59,7 +59,12 @@ FontEngine::FontEngine(Settings* main_settings, gui::IGUIEnvironment* env) :
if (m_currentMode == FM_Standard) {
m_settings->registerChangedCallback("font_size", font_setting_changed, NULL);
+ m_settings->registerChangedCallback("font_bold", font_setting_changed, NULL);
+ m_settings->registerChangedCallback("font_italic", font_setting_changed, NULL);
m_settings->registerChangedCallback("font_path", font_setting_changed, NULL);
+ m_settings->registerChangedCallback("font_path_bold", font_setting_changed, NULL);
+ m_settings->registerChangedCallback("font_path_italic", font_setting_changed, NULL);
+ m_settings->registerChangedCallback("font_path_bolditalic", font_setting_changed, NULL);
m_settings->registerChangedCallback("font_shadow", font_setting_changed, NULL);
m_settings->registerChangedCallback("font_shadow_alpha", font_setting_changed, NULL);
}
@@ -96,36 +101,45 @@ void FontEngine::cleanCache()
}
/******************************************************************************/
-irr::gui::IGUIFont* FontEngine::getFont(unsigned int font_size, FontMode mode)
+irr::gui::IGUIFont *FontEngine::getFont(FontSpec spec)
{
- if (mode == FM_Unspecified) {
- mode = m_currentMode;
+ if (spec.mode == FM_Unspecified) {
+ spec.mode = m_currentMode;
} else if (m_currentMode == FM_Simple) {
// Freetype disabled -> Force simple mode
- mode = (mode == FM_Mono || mode == FM_SimpleMono) ?
- FM_SimpleMono : FM_Simple;
+ spec.mode = (spec.mode == FM_Mono ||
+ spec.mode == FM_SimpleMono) ?
+ FM_SimpleMono : FM_Simple;
+ // Support for those could be added, but who cares?
+ spec.bold = false;
+ spec.italic = false;
}
// Fallback to default size
- if (font_size == FONT_SIZE_UNSPECIFIED)
- font_size = m_default_size[mode];
-
- 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);
- }
+ if (spec.size == FONT_SIZE_UNSPECIFIED)
+ spec.size = m_default_size[spec.mode];
+
+ const auto &cache = m_font_cache[spec.getHash()];
+ auto it = cache.find(spec.size);
+ if (it != cache.end())
+ return it->second;
+
+ // Font does not yet exist
+ gui::IGUIFont *font = nullptr;
+ if (spec.mode == FM_Simple || spec.mode == FM_SimpleMono)
+ font = initSimpleFont(spec);
+ else
+ font = initFont(spec);
- const auto &font = cache.find(font_size);
- return font != cache.end() ? font->second : nullptr;
+ m_font_cache[spec.getHash()][spec.size] = font;
+
+ return font;
}
/******************************************************************************/
-unsigned int FontEngine::getTextHeight(unsigned int font_size, FontMode mode)
+unsigned int FontEngine::getTextHeight(const FontSpec &spec)
{
- irr::gui::IGUIFont* font = getFont(font_size, mode);
+ irr::gui::IGUIFont *font = getFont(spec);
// use current skin font as fallback
if (font == NULL) {
@@ -137,10 +151,9 @@ unsigned int FontEngine::getTextHeight(unsigned int font_size, FontMode mode)
}
/******************************************************************************/
-unsigned int FontEngine::getTextWidth(const std::wstring& text,
- unsigned int font_size, FontMode mode)
+unsigned int FontEngine::getTextWidth(const std::wstring &text, const FontSpec &spec)
{
- irr::gui::IGUIFont* font = getFont(font_size, mode);
+ irr::gui::IGUIFont *font = getFont(spec);
// use current skin font as fallback
if (font == NULL) {
@@ -153,9 +166,9 @@ unsigned int FontEngine::getTextWidth(const std::wstring& text,
/** get line height for a specific font (including empty room between lines) */
-unsigned int FontEngine::getLineHeight(unsigned int font_size, FontMode mode)
+unsigned int FontEngine::getLineHeight(const FontSpec &spec)
{
- irr::gui::IGUIFont* font = getFont(font_size, mode);
+ irr::gui::IGUIFont *font = getFont(spec);
// use current skin font as fallback
if (font == NULL) {
@@ -181,8 +194,20 @@ void FontEngine::readSettings()
m_default_size[FM_Fallback] = m_settings->getU16("fallback_font_size");
m_default_size[FM_Mono] = m_settings->getU16("mono_font_size");
+ /*~ DO NOT TRANSLATE THIS LITERALLY!
+ This is a special string. Put either "no" or "yes"
+ into the translation field (literally).
+ Choose "yes" if the language requires use of the fallback
+ font, "no" otherwise.
+ The fallback font is (normally) required for languages with
+ non-Latin script, like Chinese.
+ When in doubt, test your translation. */
m_currentMode = is_yes(gettext("needs_fallback_font")) ?
FM_Fallback : FM_Standard;
+
+ m_default_bold = m_settings->getBool("font_bold");
+ m_default_italic = m_settings->getBool("font_italic");
+
} else {
m_currentMode = FM_Simple;
}
@@ -226,18 +251,14 @@ void FontEngine::updateFontCache()
}
/******************************************************************************/
-void FontEngine::initFont(unsigned int basesize, FontMode mode)
+gui::IGUIFont *FontEngine::initFont(const FontSpec &spec)
{
- assert(mode != FM_Unspecified);
- assert(basesize != FONT_SIZE_UNSPECIFIED);
-
- if (m_font_cache[mode].find(basesize) != m_font_cache[mode].end())
- return;
-
+ assert(spec.mode != FM_Unspecified);
+ assert(spec.size != FONT_SIZE_UNSPECIFIED);
std::string setting_prefix = "";
- switch (mode) {
+ switch (spec.mode) {
case FM_Fallback:
setting_prefix = "fallback_";
break;
@@ -249,8 +270,15 @@ void FontEngine::initFont(unsigned int basesize, FontMode mode)
break;
}
+ std::string setting_suffix = "";
+ if (spec.bold)
+ setting_suffix.append("_bold");
+ if (spec.italic)
+ setting_suffix.append("_italic");
+
u32 size = std::floor(RenderingEngine::getDisplayDensity() *
- m_settings->getFloat("gui_scaling") * basesize);
+ m_settings->getFloat("gui_scaling") * spec.size);
+
if (size == 0) {
errorstream << "FontEngine: attempt to use font size 0" << std::endl;
errorstream << " display density: " << RenderingEngine::getDisplayDensity() << std::endl;
@@ -260,10 +288,14 @@ void FontEngine::initFont(unsigned int basesize, FontMode mode)
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);
+ g_settings->getU16NoEx(setting_prefix + "font_shadow_alpha",
+ font_shadow_alpha);
+
+ std::string wanted_font_path;
+ wanted_font_path = g_settings->get(setting_prefix + "font_path" + setting_suffix);
std::string fallback_settings[] = {
- m_settings->get(setting_prefix + "font_path"),
+ wanted_font_path,
m_settings->get("fallback_font_path"),
m_settings->getDefault(setting_prefix + "font_path")
};
@@ -274,10 +306,8 @@ void FontEngine::initFont(unsigned int basesize, FontMode mode)
font_path.c_str(), size, true, true, font_shadow,
font_shadow_alpha);
- if (font) {
- m_font_cache[mode][basesize] = font;
- return;
- }
+ if (font)
+ return font;
errorstream << "FontEngine: Cannot load '" << font_path <<
"'. Trying to fall back to another path." << std::endl;
@@ -296,12 +326,13 @@ void FontEngine::initFont(unsigned int basesize, FontMode mode)
}
/** initialize a font without freetype */
-void FontEngine::initSimpleFont(unsigned int basesize, FontMode mode)
+gui::IGUIFont *FontEngine::initSimpleFont(const FontSpec &spec)
{
- assert(mode == FM_Simple || mode == FM_SimpleMono);
+ assert(spec.mode == FM_Simple || spec.mode == FM_SimpleMono);
+ assert(spec.size != FONT_SIZE_UNSPECIFIED);
const std::string &font_path = m_settings->get(
- (mode == FM_SimpleMono) ? "mono_font_path" : "font_path");
+ (spec.mode == FM_SimpleMono) ? "mono_font_path" : "font_path");
size_t pos_dot = font_path.find_last_of('.');
std::string basename = font_path;
@@ -310,19 +341,16 @@ void FontEngine::initSimpleFont(unsigned int basesize, FontMode mode)
if (ending == ".ttf") {
errorstream << "FontEngine: Found font \"" << font_path
<< "\" but freetype is not available." << std::endl;
- return;
+ return nullptr;
}
if (ending == ".xml" || ending == ".png")
basename = font_path.substr(0, pos_dot);
- if (basesize == FONT_SIZE_UNSPECIFIED)
- basesize = DEFAULT_FONT_SIZE;
-
u32 size = std::floor(
RenderingEngine::getDisplayDensity() *
m_settings->getFloat("gui_scaling") *
- basesize);
+ spec.size);
irr::gui::IGUIFont *font = nullptr;
std::string font_extensions[] = { ".png", ".xml" };
@@ -340,7 +368,7 @@ void FontEngine::initSimpleFont(unsigned int basesize, FontMode mode)
path.str(""); // Clear
path << basename << "_" << (size + offset * sign) << ext;
- if (!fs::PathExists(path.str()))
+ if (!fs::PathExists(path.str()))
continue;
font = m_env->getFont(path.str().c_str());
@@ -364,6 +392,5 @@ void FontEngine::initSimpleFont(unsigned int basesize, FontMode mode)
}
}
- if (font)
- m_font_cache[mode][basesize] = font;
+ return font;
}
diff --git a/src/client/fontengine.h b/src/client/fontengine.h
index 62aa71897..53f14c45f 100644
--- a/src/client/fontengine.h
+++ b/src/client/fontengine.h
@@ -29,7 +29,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#define FONT_SIZE_UNSPECIFIED 0xFFFFFFFF
-enum FontMode {
+enum FontMode : u8 {
FM_Standard = 0,
FM_Mono,
FM_Fallback,
@@ -39,6 +39,24 @@ enum FontMode {
FM_Unspecified
};
+struct FontSpec {
+ FontSpec(unsigned int font_size, FontMode mode, bool bold, bool italic) :
+ size(font_size),
+ mode(mode),
+ bold(bold),
+ italic(italic) {}
+
+ u16 getHash()
+ {
+ return (mode << 2) | (bold << 1) | italic;
+ }
+
+ unsigned int size;
+ FontMode mode;
+ bool bold;
+ bool italic;
+};
+
class FontEngine
{
public:
@@ -47,30 +65,61 @@ public:
~FontEngine();
- /** get Font */
- irr::gui::IGUIFont* getFont(unsigned int font_size=FONT_SIZE_UNSPECIFIED,
- FontMode mode=FM_Unspecified);
+ // Get best possible font specified by FontSpec
+ irr::gui::IGUIFont *getFont(FontSpec spec);
+
+ irr::gui::IGUIFont *getFont(unsigned int font_size=FONT_SIZE_UNSPECIFIED,
+ FontMode mode=FM_Unspecified)
+ {
+ FontSpec spec(font_size, mode, m_default_bold, m_default_italic);
+ return getFont(spec);
+ }
/** get text height for a specific font */
- unsigned int getTextHeight(unsigned int font_size=FONT_SIZE_UNSPECIFIED,
- FontMode mode=FM_Unspecified);
+ unsigned int getTextHeight(const FontSpec &spec);
/** get text width if a text for a specific font */
- unsigned int getTextWidth(const std::string& text,
+ unsigned int getTextHeight(
unsigned int font_size=FONT_SIZE_UNSPECIFIED,
FontMode mode=FM_Unspecified)
{
- return getTextWidth(utf8_to_wide(text));
+ FontSpec spec(font_size, mode, m_default_bold, m_default_italic);
+ return getTextHeight(spec);
}
+ unsigned int getTextWidth(const std::wstring &text, const FontSpec &spec);
+
/** get text width if a text for a specific font */
unsigned int getTextWidth(const std::wstring& text,
unsigned int font_size=FONT_SIZE_UNSPECIFIED,
- FontMode mode=FM_Unspecified);
+ FontMode mode=FM_Unspecified)
+ {
+ FontSpec spec(font_size, mode, m_default_bold, m_default_italic);
+ return getTextWidth(text, spec);
+ }
+
+ unsigned int getTextWidth(const std::string &text, const FontSpec &spec)
+ {
+ return getTextWidth(utf8_to_wide(text), spec);
+ }
+
+ unsigned int getTextWidth(const std::string& text,
+ unsigned int font_size=FONT_SIZE_UNSPECIFIED,
+ FontMode mode=FM_Unspecified)
+ {
+ FontSpec spec(font_size, mode, m_default_bold, m_default_italic);
+ return getTextWidth(utf8_to_wide(text), spec);
+ }
/** get line height for a specific font (including empty room between lines) */
+ unsigned int getLineHeight(const FontSpec &spec);
+
unsigned int getLineHeight(unsigned int font_size=FONT_SIZE_UNSPECIFIED,
- FontMode mode=FM_Unspecified);
+ FontMode mode=FM_Unspecified)
+ {
+ FontSpec spec(font_size, mode, m_default_bold, m_default_italic);
+ return getLineHeight(spec);
+ }
/** get default font size */
unsigned int getDefaultFontSize();
@@ -86,10 +135,10 @@ private:
void updateFontCache();
/** initialize a new font */
- void initFont(unsigned int basesize, FontMode mode=FM_Unspecified);
+ gui::IGUIFont *initFont(const FontSpec &spec);
/** initialize a font without freetype */
- void initSimpleFont(unsigned int basesize, FontMode mode);
+ gui::IGUIFont *initSimpleFont(const FontSpec &spec);
/** update current minetest skin with font changes */
void updateSkin();
@@ -104,11 +153,15 @@ private:
gui::IGUIEnvironment* m_env = nullptr;
/** internal storage for caching fonts of different size */
- std::map<unsigned int, irr::gui::IGUIFont*> m_font_cache[FM_MaxMode];
+ std::map<unsigned int, irr::gui::IGUIFont*> m_font_cache[FM_MaxMode << 2];
/** default font size to use */
unsigned int m_default_size[FM_MaxMode];
+ /** default bold and italic */
+ bool m_default_bold = false;
+ bool m_default_italic = false;
+
/** current font engine mode */
FontMode m_currentMode = FM_Standard;
diff --git a/src/client/game.cpp b/src/client/game.cpp
index 450eb4e32..0201ded69 100644
--- a/src/client/game.cpp
+++ b/src/client/game.cpp
@@ -811,6 +811,9 @@ private:
void handleClientEvent_HudRemove(ClientEvent *event, CameraOrientation *cam);
void handleClientEvent_HudChange(ClientEvent *event, CameraOrientation *cam);
void handleClientEvent_SetSky(ClientEvent *event, CameraOrientation *cam);
+ void handleClientEvent_SetSun(ClientEvent *event, CameraOrientation *cam);
+ void handleClientEvent_SetMoon(ClientEvent *event, CameraOrientation *cam);
+ void handleClientEvent_SetStars(ClientEvent *event, CameraOrientation *cam);
void handleClientEvent_OverrideDayNigthRatio(ClientEvent *event,
CameraOrientation *cam);
void handleClientEvent_CloudParams(ClientEvent *event, CameraOrientation *cam);
@@ -2523,6 +2526,9 @@ const ClientEventHandler Game::clientEventHandler[CLIENTEVENT_MAX] = {
{&Game::handleClientEvent_HudRemove},
{&Game::handleClientEvent_HudChange},
{&Game::handleClientEvent_SetSky},
+ {&Game::handleClientEvent_SetSun},
+ {&Game::handleClientEvent_SetMoon},
+ {&Game::handleClientEvent_SetStars},
{&Game::handleClientEvent_OverrideDayNigthRatio},
{&Game::handleClientEvent_CloudParams},
};
@@ -2650,6 +2656,7 @@ void Game::handleClientEvent_HudAdd(ClientEvent *event, CameraOrientation *cam)
e->offset = *event->hudadd.offset;
e->world_pos = *event->hudadd.world_pos;
e->size = *event->hudadd.size;
+ e->z_index = event->hudadd.z_index;
hud_server_to_client[server_id] = player->addHud(e);
delete event->hudadd.pos;
@@ -2728,6 +2735,10 @@ void Game::handleClientEvent_HudChange(ClientEvent *event, CameraOrientation *ca
case HUD_STAT_SIZE:
e->size = *event->hudchange.v2s32data;
break;
+
+ case HUD_STAT_Z_INDEX:
+ e->z_index = event->hudchange.data;
+ break;
}
delete event->hudchange.v3fdata;
@@ -2739,41 +2750,85 @@ void Game::handleClientEvent_HudChange(ClientEvent *event, CameraOrientation *ca
void Game::handleClientEvent_SetSky(ClientEvent *event, CameraOrientation *cam)
{
sky->setVisible(false);
- // Whether clouds are visible in front of a custom skybox
- sky->setCloudsEnabled(event->set_sky.clouds);
+ // Whether clouds are visible in front of a custom skybox.
+ sky->setCloudsEnabled(event->set_sky->clouds);
if (skybox) {
skybox->remove();
skybox = NULL;
}
-
+ // Clear the old textures out in case we switch rendering type.
+ sky->clearSkyboxTextures();
// Handle according to type
- if (*event->set_sky.type == "regular") {
+ if (event->set_sky->type == "regular") {
+ // Shows the mesh skybox
sky->setVisible(true);
- sky->setCloudsEnabled(true);
- } else if (*event->set_sky.type == "skybox" &&
- event->set_sky.params->size() == 6) {
- sky->setFallbackBgColor(*event->set_sky.bgcolor);
- skybox = RenderingEngine::get_scene_manager()->addSkyBoxSceneNode(
- texture_src->getTextureForMesh((*event->set_sky.params)[0]),
- texture_src->getTextureForMesh((*event->set_sky.params)[1]),
- texture_src->getTextureForMesh((*event->set_sky.params)[2]),
- texture_src->getTextureForMesh((*event->set_sky.params)[3]),
- texture_src->getTextureForMesh((*event->set_sky.params)[4]),
- texture_src->getTextureForMesh((*event->set_sky.params)[5]));
- }
- // Handle everything else as plain color
- else {
- if (*event->set_sky.type != "plain")
+ // Update mesh based skybox colours if applicable.
+ sky->setSkyColors(*event->set_sky);
+ sky->setHorizonTint(
+ event->set_sky->sun_tint,
+ event->set_sky->moon_tint,
+ event->set_sky->tint_type
+ );
+ } else if (event->set_sky->type == "skybox" &&
+ event->set_sky->textures.size() == 6) {
+ // Disable the dyanmic mesh skybox:
+ sky->setVisible(false);
+ // Set fog colors:
+ sky->setFallbackBgColor(event->set_sky->bgcolor);
+ // Set sunrise and sunset fog tinting:
+ sky->setHorizonTint(
+ event->set_sky->sun_tint,
+ event->set_sky->moon_tint,
+ event->set_sky->tint_type
+ );
+ // Add textures to skybox.
+ for (int i = 0; i < 6; i++)
+ sky->addTextureToSkybox(event->set_sky->textures[i], i, texture_src);
+ } else {
+ // Handle everything else as plain color.
+ if (event->set_sky->type != "plain")
infostream << "Unknown sky type: "
- << (*event->set_sky.type) << std::endl;
-
- sky->setFallbackBgColor(*event->set_sky.bgcolor);
+ << (event->set_sky->type) << std::endl;
+ sky->setVisible(false);
+ sky->setFallbackBgColor(event->set_sky->bgcolor);
+ // Disable directional sun/moon tinting on plain or invalid skyboxes.
+ sky->setHorizonTint(
+ event->set_sky->bgcolor,
+ event->set_sky->bgcolor,
+ "custom"
+ );
}
+ delete event->set_sky;
+}
+
+void Game::handleClientEvent_SetSun(ClientEvent *event, CameraOrientation *cam)
+{
+ sky->setSunVisible(event->sun_params->visible);
+ sky->setSunTexture(event->sun_params->texture,
+ event->sun_params->tonemap, texture_src);
+ sky->setSunScale(event->sun_params->scale);
+ sky->setSunriseVisible(event->sun_params->sunrise_visible);
+ sky->setSunriseTexture(event->sun_params->sunrise, texture_src);
+ delete event->sun_params;
+}
- delete event->set_sky.bgcolor;
- delete event->set_sky.type;
- delete event->set_sky.params;
+void Game::handleClientEvent_SetMoon(ClientEvent *event, CameraOrientation *cam)
+{
+ sky->setMoonVisible(event->moon_params->visible);
+ sky->setMoonTexture(event->moon_params->texture,
+ event->moon_params->tonemap, texture_src);
+ sky->setMoonScale(event->moon_params->scale);
+ delete event->moon_params;
+}
+
+void Game::handleClientEvent_SetStars(ClientEvent *event, CameraOrientation *cam)
+{
+ sky->setStarsVisible(event->star_params->visible);
+ sky->setStarCount(event->star_params->count, false);
+ sky->setStarColor(event->star_params->starcolor);
+ sky->setStarScale(event->star_params->scale);
+ delete event->star_params;
}
void Game::handleClientEvent_OverrideDayNigthRatio(ClientEvent *event,
@@ -3061,6 +3116,9 @@ void Game::processPlayerInteraction(f32 dtime, bool show_hud, bool show_debug)
} else if (input->getLeftState()) {
// When button is held down in air, show continuous animation
runData.left_punch = true;
+ // Run callback even though item is not usable
+ if (input->getLeftClicked() && client->modsLoaded())
+ client->getScript()->on_item_use(selected_item, pointed);
} else if (input->getRightClicked()) {
handlePointingAtNothing(selected_item);
}
@@ -3698,7 +3756,7 @@ void Game::updateFrame(ProfilerGraph *graph, RunStats *stats, f32 dtime,
video::SColor clouds_dark = clouds->getColor()
.getInterpolated(video::SColor(255, 0, 0, 0), 0.9);
sky->overrideColors(clouds_dark, clouds->getColor());
- sky->setBodiesVisible(false);
+ sky->setInClouds(true);
runData.fog_range = std::fmin(runData.fog_range * 0.5f, 32.0f * BS);
// do not draw clouds after all
clouds->setVisible(false);
@@ -4126,6 +4184,7 @@ void Game::showPauseMenu()
<< strgettext("- Creative Mode: ") << creative << "\n";
if (!simple_singleplayer_mode) {
const std::string &pvp = g_settings->getBool("enable_pvp") ? on : off;
+ //~ PvP = Player versus Player
os << strgettext("- PvP: ") << pvp << "\n"
<< strgettext("- Public: ") << announced << "\n";
std::string server_name = g_settings->get("server_name");
diff --git a/src/client/gameui.cpp b/src/client/gameui.cpp
index 674d07fa6..138dfb4da 100644
--- a/src/client/gameui.cpp
+++ b/src/client/gameui.cpp
@@ -82,7 +82,6 @@ void GameUI::init()
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);
}
@@ -155,7 +154,7 @@ void GameUI::update(const RunStats &stats, Client *client, MapDrawControl *draw_
m_guitext2->setVisible(m_flags.show_debug);
- setStaticText(m_guitext_info, translate_string(m_infotext).c_str());
+ setStaticText(m_guitext_info, m_infotext.c_str());
m_guitext_info->setVisible(m_flags.show_hud && g_menumgr.menuCount() == 0);
static const float statustext_time_max = 1.5f;
@@ -169,7 +168,7 @@ void GameUI::update(const RunStats &stats, Client *client, MapDrawControl *draw_
}
}
- setStaticText(m_guitext_status, translate_string(m_statustext).c_str());
+ setStaticText(m_guitext_status, m_statustext.c_str());
m_guitext_status->setVisible(!m_statustext.empty());
if (!m_statustext.empty()) {
@@ -246,11 +245,12 @@ void GameUI::updateProfiler()
int lines = g_profiler->print(os, m_profiler_current_page, m_profiler_max_page);
++lines;
- std::wstring text = utf8_to_wide(os.str());
- setStaticText(m_guitext_profiler, text.c_str());
+ EnrichedString str(utf8_to_wide(os.str()));
+ str.setBackground(video::SColor(120, 0, 0, 0));
+ setStaticText(m_guitext_profiler, str);
core::dimension2d<u32> size = m_guitext_profiler->getOverrideFont()->
- getDimension(text.c_str());
+ getDimension(str.c_str());
core::position2di upper_left(6, 50);
core::position2di lower_right = upper_left;
lower_right.X += size.Width + 10;
diff --git a/src/client/guiscalingfilter.cpp b/src/client/guiscalingfilter.cpp
index 2ff57ab74..4262331bd 100644
--- a/src/client/guiscalingfilter.cpp
+++ b/src/client/guiscalingfilter.cpp
@@ -171,7 +171,8 @@ void draw2DImageFilterScaled(video::IVideoDriver *driver, video::ITexture *txr,
}
void draw2DImage9Slice(video::IVideoDriver *driver, video::ITexture *texture,
- const core::rect<s32> &rect, const core::rect<s32> &middle)
+ const core::rect<s32> &rect, const core::rect<s32> &middle,
+ const core::rect<s32> *cliprect)
{
const video::SColor color(255,255,255,255);
const video::SColor colors[] = {color,color,color,color};
@@ -222,9 +223,7 @@ void draw2DImage9Slice(video::IVideoDriver *driver, video::ITexture *texture,
break;
}
- draw2DImageFilterScaled(driver, texture, dest,
- src,
- NULL/*&AbsoluteClippingRect*/, colors, true);
+ draw2DImageFilterScaled(driver, texture, dest, src, cliprect, colors, true);
}
}
}
diff --git a/src/client/guiscalingfilter.h b/src/client/guiscalingfilter.h
index 181009551..b703d91f0 100644
--- a/src/client/guiscalingfilter.h
+++ b/src/client/guiscalingfilter.h
@@ -53,4 +53,5 @@ void draw2DImageFilterScaled(video::IVideoDriver *driver, video::ITexture *txr,
* 9-slice / segment drawing
*/
void draw2DImage9Slice(video::IVideoDriver *driver, video::ITexture *texture,
- const core::rect<s32> &rect, const core::rect<s32> &middle);
+ const core::rect<s32> &rect, const core::rect<s32> &middle,
+ const core::rect<s32> *cliprect = nullptr);
diff --git a/src/client/hud.cpp b/src/client/hud.cpp
index 291d03816..37de6640b 100644
--- a/src/client/hud.cpp
+++ b/src/client/hud.cpp
@@ -221,19 +221,13 @@ void Hud::drawItems(v2s32 upperleftpos, v2s32 screen_offset, s32 itemcount,
// Store hotbar_image in member variable, used by drawItem()
if (hotbar_image != player->hotbar_image) {
hotbar_image = player->hotbar_image;
- if (!hotbar_image.empty())
- use_hotbar_image = tsrc->isKnownSourceImage(hotbar_image);
- else
- use_hotbar_image = false;
+ use_hotbar_image = !hotbar_image.empty();
}
// Store hotbar_selected_image in member variable, used by drawItem()
if (hotbar_selected_image != player->hotbar_selected_image) {
hotbar_selected_image = player->hotbar_selected_image;
- if (!hotbar_selected_image.empty())
- use_hotbar_selected_image = tsrc->isKnownSourceImage(hotbar_selected_image);
- else
- use_hotbar_selected_image = false;
+ use_hotbar_selected_image = !hotbar_selected_image.empty();
}
// draw customized item background
@@ -283,11 +277,25 @@ void Hud::drawLuaElements(const v3s16 &camera_offset)
{
u32 text_height = g_fontengine->getTextHeight();
irr::gui::IGUIFont* font = g_fontengine->getFont();
+
+ // Reorder elements by z_index
+ std::vector<size_t> ids;
+
for (size_t i = 0; i != player->maxHudId(); i++) {
HudElement *e = player->getHud(i);
if (!e)
continue;
+ auto it = ids.begin();
+ while (it != ids.end() && player->getHud(*it)->z_index <= e->z_index)
+ ++it;
+
+ ids.insert(it, i);
+ }
+
+ for (size_t i : ids) {
+ HudElement *e = player->getHud(i);
+
v2s32 pos(floor(e->pos.X * (float) m_screensize.X + 0.5),
floor(e->pos.Y * (float) m_screensize.Y + 0.5));
switch (e->type) {
@@ -608,23 +616,24 @@ void Hud::resizeHotbar() {
struct MeshTimeInfo {
u64 time;
- scene::IMesh *mesh;
+ scene::IMesh *mesh = nullptr;
};
-void drawItemStack(video::IVideoDriver *driver,
+void drawItemStack(
+ video::IVideoDriver *driver,
gui::IGUIFont *font,
const ItemStack &item,
const core::rect<s32> &rect,
const core::rect<s32> *clip,
Client *client,
- ItemRotationKind rotation_kind)
+ ItemRotationKind rotation_kind,
+ const v3s16 &angle,
+ const v3s16 &rotation_speed)
{
static MeshTimeInfo rotation_time_infos[IT_ROT_NONE];
- static thread_local bool enable_animations =
- g_settings->getBool("inventory_items_animations");
if (item.empty()) {
- if (rotation_kind < IT_ROT_NONE) {
+ if (rotation_kind < IT_ROT_NONE && rotation_kind != IT_ROT_OTHER) {
rotation_time_infos[rotation_kind].mesh = NULL;
}
return;
@@ -639,7 +648,7 @@ void drawItemStack(video::IVideoDriver *driver,
s32 delta = 0;
if (rotation_kind < IT_ROT_NONE) {
MeshTimeInfo &ti = rotation_time_infos[rotation_kind];
- if (mesh != ti.mesh) {
+ if (mesh != ti.mesh && rotation_kind != IT_ROT_OTHER) {
ti.mesh = mesh;
ti.time = porting::getTimeMs();
} else {
@@ -677,9 +686,16 @@ void drawItemStack(video::IVideoDriver *driver,
core::matrix4 matrix;
matrix.makeIdentity();
+ static thread_local bool enable_animations =
+ g_settings->getBool("inventory_items_animations");
+
if (enable_animations) {
- float timer_f = (float) delta / 5000.0;
- matrix.setRotationDegrees(core::vector3df(0, 360 * timer_f, 0));
+ float timer_f = (float) delta / 5000.f;
+ matrix.setRotationDegrees(v3f(
+ angle.X + rotation_speed.X * 3.60f * timer_f,
+ angle.Y + rotation_speed.Y * 3.60f * timer_f,
+ angle.Z + rotation_speed.Z * 3.60f * timer_f)
+ );
}
driver->setTransform(video::ETS_WORLD, matrix);
@@ -695,15 +711,18 @@ void drawItemStack(video::IVideoDriver *driver,
// because these meshes are not buffered.
assert(buf->getHardwareMappingHint_Vertex() == scene::EHM_NEVER);
video::SColor c = basecolor;
+
if (imesh->buffer_colors.size() > j) {
ItemPartColor *p = &imesh->buffer_colors[j];
if (p->override_base)
c = p->color;
}
+
if (imesh->needs_shading)
colorizeMeshBuffer(buf, &c);
else
setMeshBufferColor(buf, c);
+
video::SMaterial &material = buf->getMaterial();
material.MaterialType = video::EMT_TRANSPARENT_ALPHA_CHANNEL_REF;
material.Lighting = false;
@@ -726,12 +745,12 @@ void drawItemStack(video::IVideoDriver *driver,
}
}
- if(def.type == ITEM_TOOL && item.wear != 0)
- {
+ if (def.type == ITEM_TOOL && item.wear != 0) {
// Draw a progressbar
- float barheight = rect.getHeight()/16;
- float barpad_x = rect.getWidth()/16;
- float barpad_y = rect.getHeight()/16;
+ float barheight = rect.getHeight() / 16;
+ float barpad_x = rect.getWidth() / 16;
+ float barpad_y = rect.getHeight() / 16;
+
core::rect<s32> progressrect(
rect.UpperLeftCorner.X + barpad_x,
rect.LowerRightCorner.Y - barpad_y - barheight,
@@ -739,18 +758,19 @@ void drawItemStack(video::IVideoDriver *driver,
rect.LowerRightCorner.Y - barpad_y);
// Shrink progressrect by amount of tool damage
- float wear = item.wear / 65535.0;
+ float wear = item.wear / 65535.0f;
int progressmid =
wear * progressrect.UpperLeftCorner.X +
- (1-wear) * progressrect.LowerRightCorner.X;
+ (1 - wear) * progressrect.LowerRightCorner.X;
// Compute progressbar color
// wear = 0.0: green
// wear = 0.5: yellow
// wear = 1.0: red
- video::SColor color(255,255,255,255);
+ video::SColor color(255, 255, 255, 255);
int wear_i = MYMIN(std::floor(wear * 600), 511);
wear_i = MYMIN(wear_i + 10, 511);
+
if (wear_i <= 255)
color.set(255, wear_i, 255, 0);
else
@@ -760,18 +780,17 @@ void drawItemStack(video::IVideoDriver *driver,
progressrect2.LowerRightCorner.X = progressmid;
driver->draw2DRectangle(color, progressrect2, clip);
- color = video::SColor(255,0,0,0);
+ color = video::SColor(255, 0, 0, 0);
progressrect2 = progressrect;
progressrect2.UpperLeftCorner.X = progressmid;
driver->draw2DRectangle(color, progressrect2, clip);
}
- if(font != NULL && item.count >= 2)
- {
+ if (font != NULL && item.count >= 2) {
// Get the item count as a string
std::string text = itos(item.count);
v2u32 dim = font->getDimension(utf8_to_wide(text).c_str());
- v2s32 sdim(dim.X,dim.Y);
+ v2s32 sdim(dim.X, dim.Y);
core::rect<s32> rect2(
/*rect.UpperLeftCorner,
@@ -780,10 +799,23 @@ void drawItemStack(video::IVideoDriver *driver,
sdim
);
- video::SColor bgcolor(128,0,0,0);
+ video::SColor bgcolor(128, 0, 0, 0);
driver->draw2DRectangle(bgcolor, rect2, clip);
- video::SColor color(255,255,255,255);
+ video::SColor color(255, 255, 255, 255);
font->draw(text.c_str(), rect2, color, false, false, clip);
}
}
+
+void drawItemStack(
+ video::IVideoDriver *driver,
+ gui::IGUIFont *font,
+ const ItemStack &item,
+ const core::rect<s32> &rect,
+ const core::rect<s32> *clip,
+ Client *client,
+ ItemRotationKind rotation_kind)
+{
+ drawItemStack(driver, font, item, rect, clip, client, rotation_kind,
+ v3s16(0, 0, 0), v3s16(0, 100, 0));
+}
diff --git a/src/client/hud.h b/src/client/hud.h
index 693d2adee..d9b5e0686 100644
--- a/src/client/hud.h
+++ b/src/client/hud.h
@@ -122,6 +122,7 @@ enum ItemRotationKind
IT_ROT_SELECTED,
IT_ROT_HOVERED,
IT_ROT_DRAGGED,
+ IT_ROT_OTHER,
IT_ROT_NONE, // Must be last, also serves as number
};
@@ -133,4 +134,15 @@ void drawItemStack(video::IVideoDriver *driver,
Client *client,
ItemRotationKind rotation_kind);
+void drawItemStack(
+ video::IVideoDriver *driver,
+ gui::IGUIFont *font,
+ const ItemStack &item,
+ const core::rect<s32> &rect,
+ const core::rect<s32> *clip,
+ Client *client,
+ ItemRotationKind rotation_kind,
+ const v3s16 &angle,
+ const v3s16 &rotation_speed);
+
#endif
diff --git a/src/client/keycode.cpp b/src/client/keycode.cpp
index 646d181e0..6a0e9f569 100644
--- a/src/client/keycode.cpp
+++ b/src/client/keycode.cpp
@@ -109,6 +109,7 @@ static const struct table_key table[] = {
DEFINEKEY1(KEY_RETURN, N_("Return"))
DEFINEKEY1(KEY_SHIFT, N_("Shift"))
DEFINEKEY1(KEY_CONTROL, N_("Control"))
+ //~ Key name, common on Windows keyboards
DEFINEKEY1(KEY_MENU, N_("Menu"))
DEFINEKEY1(KEY_PAUSE, N_("Pause"))
DEFINEKEY1(KEY_CAPITAL, N_("Caps Lock"))
@@ -121,7 +122,9 @@ static const struct table_key table[] = {
DEFINEKEY1(KEY_UP, N_("Up"))
DEFINEKEY1(KEY_RIGHT, N_("Right"))
DEFINEKEY1(KEY_DOWN, N_("Down"))
+ //~ Key name
DEFINEKEY1(KEY_SELECT, N_("Select"))
+ //~ "Print screen" key
DEFINEKEY1(KEY_PRINT, N_("Print"))
DEFINEKEY1(KEY_EXECUT, N_("Execute"))
DEFINEKEY1(KEY_SNAPSHOT, N_("Snapshot"))
diff --git a/src/client/localplayer.cpp b/src/client/localplayer.cpp
index c086d860a..c20c3619f 100644
--- a/src/client/localplayer.cpp
+++ b/src/client/localplayer.cpp
@@ -184,8 +184,8 @@ void LocalPlayer::move(f32 dtime, Environment *env, f32 pos_max_d,
v3f position = getPosition();
// Copy parent position if local player is attached
- if (isAttached) {
- setPosition(overridePosition);
+ if (getParent()) {
+ setPosition(m_cao->getPosition());
added_velocity = v3f(0.0f); // ignored
return;
}
@@ -474,7 +474,7 @@ 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) {
+ if (getParent()) {
setSpeed(v3f(0.0f));
return;
}
@@ -706,6 +706,11 @@ v3f LocalPlayer::getEyeOffset() const
return v3f(0.0f, BS * eye_height, 0.0f);
}
+ClientActiveObject *LocalPlayer::getParent() const
+{
+ return m_cao ? m_cao->getParent() : nullptr;
+}
+
bool LocalPlayer::isDead() const
{
FATAL_ERROR_IF(!getCAO(), "LocalPlayer's CAO isn't initialized");
@@ -764,8 +769,8 @@ void LocalPlayer::old_move(f32 dtime, Environment *env, f32 pos_max_d,
v3f position = getPosition();
// Copy parent position if local player is attached
- if (isAttached) {
- setPosition(overridePosition);
+ if (getParent()) {
+ setPosition(m_cao->getPosition());
m_sneak_node_exists = false;
added_velocity = v3f(0.0f);
return;
diff --git a/src/client/localplayer.h b/src/client/localplayer.h
index 45dc6776e..95dceb1f4 100644
--- a/src/client/localplayer.h
+++ b/src/client/localplayer.h
@@ -47,12 +47,9 @@ public:
LocalPlayer(Client *client, const char *name);
virtual ~LocalPlayer() = default;
- ClientActiveObject *parent = nullptr;
-
// Initialize hp to 0, so that no hearts will be shown if server
// doesn't support health points
u16 hp = 0;
- bool isAttached = false;
bool touching_ground = false;
// This oscillates so that the player jumps a bit above the surface
bool in_liquid = false;
@@ -72,8 +69,6 @@ public:
// Temporary option for old move code
bool physics_override_new_move = true;
- v3f overridePosition;
-
void move(f32 dtime, Environment *env, f32 pos_max_d);
void move(f32 dtime, Environment *env, f32 pos_max_d,
std::vector<CollisionInfo> *collision_info);
@@ -112,6 +107,8 @@ public:
GenericCAO *getCAO() const { return m_cao; }
+ ClientActiveObject *getParent() const;
+
void setCAO(GenericCAO *toset)
{
assert(!m_cao); // Pre-condition
diff --git a/src/client/mapblock_mesh.cpp b/src/client/mapblock_mesh.cpp
index 2bfaa7a4f..a5bee6b88 100644
--- a/src/client/mapblock_mesh.cpp
+++ b/src/client/mapblock_mesh.cpp
@@ -795,6 +795,7 @@ static void getTileInfo(
v3s16 &p_corrected,
v3s16 &face_dir_corrected,
u16 *lights,
+ u8 &waving,
TileSpec &tile
)
{
@@ -842,6 +843,7 @@ static void getTileInfo(
getNodeTile(n, p_corrected, face_dir_corrected, data, tile);
const ContentFeatures &f = ndef->get(n);
+ waving = f.waving;
tile.emissive_light = f.light_source;
// eg. water and glass
@@ -876,6 +878,10 @@ static void updateFastFaceRow(
const v3s16 &&face_dir,
std::vector<FastFace> &dest)
{
+ static thread_local const bool waving_liquids =
+ g_settings->getBool("enable_shaders") &&
+ g_settings->getBool("enable_waving_water");
+
v3s16 p = startpos;
u16 continuous_tiles_count = 1;
@@ -884,10 +890,11 @@ static void updateFastFaceRow(
v3s16 p_corrected;
v3s16 face_dir_corrected;
u16 lights[4] = {0, 0, 0, 0};
+ u8 waving;
TileSpec tile;
getTileInfo(data, p, face_dir,
makes_face, p_corrected, face_dir_corrected,
- lights, tile);
+ lights, waving, tile);
// Unroll this variable which has a significant build cost
TileSpec next_tile;
@@ -910,12 +917,15 @@ static void updateFastFaceRow(
getTileInfo(data, p_next, face_dir,
next_makes_face, next_p_corrected,
next_face_dir_corrected, next_lights,
+ waving,
next_tile);
if (next_makes_face == makes_face
&& next_p_corrected == p_corrected + translate_dir
&& next_face_dir_corrected == face_dir_corrected
&& memcmp(next_lights, lights, ARRLEN(lights) * sizeof(u16)) == 0
+ // Don't apply fast faces to waving water.
+ && (waving != 3 || !waving_liquids)
&& next_tile.isTileable(tile)) {
next_is_different = false;
continuous_tiles_count++;
diff --git a/src/client/shader.cpp b/src/client/shader.cpp
index f36ff3d85..eda415ce6 100644
--- a/src/client/shader.cpp
+++ b/src/client/shader.cpp
@@ -188,7 +188,7 @@ public:
delete setter;
}
- virtual void OnSetConstants(video::IMaterialRendererServices *services, s32 userData)
+ virtual void OnSetConstants(video::IMaterialRendererServices *services, s32 userData) override
{
video::IVideoDriver *driver = services->getVideoDriver();
sanity_check(driver != NULL);
@@ -198,6 +198,12 @@ public:
for (IShaderConstantSetter *setter : m_setters)
setter->onSetConstants(services, is_highlevel);
}
+
+ virtual void OnSetMaterial(const video::SMaterial& material) override
+ {
+ for (IShaderConstantSetter *setter : m_setters)
+ setter->onSetMaterial(material);
+ }
};
diff --git a/src/client/shader.h b/src/client/shader.h
index 583c776f4..109d39336 100644
--- a/src/client/shader.h
+++ b/src/client/shader.h
@@ -67,6 +67,8 @@ public:
virtual ~IShaderConstantSetter() = default;
virtual void onSetConstants(video::IMaterialRendererServices *services,
bool is_highlevel) = 0;
+ virtual void onSetMaterial(const video::SMaterial& material)
+ { }
};
diff --git a/src/client/sky.cpp b/src/client/sky.cpp
index 346cd0642..7a7b188ce 100644
--- a/src/client/sky.cpp
+++ b/src/client/sky.cpp
@@ -18,22 +18,23 @@ with this program; if not, write to the Free Software Foundation, Inc.,
*/
#include "sky.h"
+#include "ITexture.h"
#include "IVideoDriver.h"
#include "ISceneManager.h"
#include "ICameraSceneNode.h"
#include "S3DVertex.h"
#include "client/tile.h"
-#include "noise.h" // easeCurve
+#include "noise.h" // easeCurve
#include "profiler.h"
#include "util/numeric.h"
#include <cmath>
#include "client/renderingengine.h"
#include "settings.h"
-#include "camera.h" // CameraModes
+#include "camera.h" // CameraModes
#include "config.h"
+using namespace irr::core;
-
-Sky::Sky(s32 id, ITextureSource *tsrc):
+Sky::Sky(s32 id, ITextureSource *tsrc) :
scene::ISceneNode(RenderingEngine::get_scene_manager()->getRootSceneNode(),
RenderingEngine::get_scene_manager(), id)
{
@@ -67,44 +68,51 @@ Sky::Sky(s32 id, ITextureSource *tsrc):
m_materials[2].MaterialType = video::EMT_TRANSPARENT_ALPHA_CHANNEL;
//m_materials[2].MaterialType = video::EMT_TRANSPARENT_ADD_COLOR;
- m_sun_texture = tsrc->isKnownSourceImage("sun.png") ?
- tsrc->getTextureForMesh("sun.png") : NULL;
- m_moon_texture = tsrc->isKnownSourceImage("moon.png") ?
- tsrc->getTextureForMesh("moon.png") : NULL;
- m_sun_tonemap = tsrc->isKnownSourceImage("sun_tonemap.png") ?
- tsrc->getTexture("sun_tonemap.png") : NULL;
- m_moon_tonemap = tsrc->isKnownSourceImage("moon_tonemap.png") ?
- tsrc->getTexture("moon_tonemap.png") : NULL;
+ // Ensures that sun and moon textures and tonemaps are correct.
+ setSkyDefaults();
+ m_sun_texture = tsrc->isKnownSourceImage(m_sun_params.texture) ?
+ tsrc->getTextureForMesh(m_sun_params.texture) : NULL;
+ m_moon_texture = tsrc->isKnownSourceImage(m_moon_params.texture) ?
+ tsrc->getTextureForMesh(m_moon_params.texture) : NULL;
+ m_sun_tonemap = tsrc->isKnownSourceImage(m_sun_params.tonemap) ?
+ tsrc->getTexture(m_sun_params.tonemap) : NULL;
+ m_moon_tonemap = tsrc->isKnownSourceImage(m_moon_params.tonemap) ?
+ tsrc->getTexture(m_moon_params.tonemap) : NULL;
if (m_sun_texture) {
m_materials[3] = mat;
m_materials[3].setTexture(0, m_sun_texture);
m_materials[3].MaterialType = video::EMT_TRANSPARENT_ALPHA_CHANNEL;
+ // Disables texture filtering
+ m_materials[3].setFlag(video::E_MATERIAL_FLAG::EMF_BILINEAR_FILTER, false);
+ m_materials[3].setFlag(video::E_MATERIAL_FLAG::EMF_TRILINEAR_FILTER, false);
+ m_materials[3].setFlag(video::E_MATERIAL_FLAG::EMF_ANISOTROPIC_FILTER, false);
+ // Use tonemaps if available
if (m_sun_tonemap)
m_materials[3].Lighting = true;
}
-
if (m_moon_texture) {
m_materials[4] = mat;
m_materials[4].setTexture(0, m_moon_texture);
m_materials[4].MaterialType = video::EMT_TRANSPARENT_ALPHA_CHANNEL;
+ // Disables texture filtering
+ m_materials[4].setFlag(video::E_MATERIAL_FLAG::EMF_BILINEAR_FILTER, false);
+ m_materials[4].setFlag(video::E_MATERIAL_FLAG::EMF_TRILINEAR_FILTER, false);
+ m_materials[4].setFlag(video::E_MATERIAL_FLAG::EMF_ANISOTROPIC_FILTER, false);
+ // Use tonemaps if available
if (m_moon_tonemap)
m_materials[4].Lighting = true;
}
- for (v3f &star : m_stars) {
- star = v3f(
- myrand_range(-10000, 10000),
- myrand_range(-10000, 10000),
- myrand_range(-10000, 10000)
- );
- star.normalize();
+ for (int i = 5; i < 11; i++) {
+ m_materials[i] = mat;
+ m_materials[i].Lighting = true;
+ m_materials[i].MaterialType = video::EMT_SOLID;
}
-
m_directional_colored_fog = g_settings->getBool("directional_colored_fog");
+ setStarCount(1000, true);
}
-
void Sky::OnRegisterSceneNode()
{
if (IsVisible)
@@ -113,12 +121,8 @@ void Sky::OnRegisterSceneNode()
scene::ISceneNode::OnRegisterSceneNode();
}
-
void Sky::render()
{
- if (!m_visible)
- return;
-
video::IVideoDriver *driver = SceneManager->getVideoDriver();
scene::ICameraSceneNode *camera = SceneManager->getActiveCamera();
@@ -205,143 +209,103 @@ void Sky::render()
video::SColor cloudyfogcolor = m_bgcolor;
- // Draw far cloudy fog thing blended with skycolor
- for (u32 j = 0; j < 4; j++) {
- video::SColor c = cloudyfogcolor.getInterpolated(m_skycolor, 0.45);
- vertices[0] = video::S3DVertex(-1, 0.08, -1, 0, 0, 1, c, t, t);
- vertices[1] = video::S3DVertex( 1, 0.08, -1, 0, 0, 1, c, o, t);
- vertices[2] = video::S3DVertex( 1, 0.12, -1, 0, 0, 1, c, o, o);
- vertices[3] = video::S3DVertex(-1, 0.12, -1, 0, 0, 1, c, t, o);
- for (video::S3DVertex &vertex : vertices) {
- if (j == 0)
- // Don't switch
- {}
- else if (j == 1)
- // Switch from -Z (south) to +X (east)
- vertex.Pos.rotateXZBy(90);
- else if (j == 2)
- // Switch from -Z (south) to -X (west)
- vertex.Pos.rotateXZBy(-90);
- else
- // Switch from -Z (south) to +Z (north)
- vertex.Pos.rotateXZBy(-180);
- }
- driver->drawIndexedTriangleFan(&vertices[0], 4, indices, 2);
- }
+ // Abort rendering if we're in the clouds.
+ // Stops rendering a pure white hole in the bottom of the skybox.
+ if (m_in_clouds)
+ return;
- // Draw far cloudy fog thing at and below all horizons
- for (u32 j = 0; j < 4; j++) {
- video::SColor c = cloudyfogcolor;
- vertices[0] = video::S3DVertex(-1, -1.0, -1, 0, 0, 1, c, t, t);
- vertices[1] = video::S3DVertex( 1, -1.0, -1, 0, 0, 1, c, o, t);
- vertices[2] = video::S3DVertex( 1, 0.08, -1, 0, 0, 1, c, o, o);
- vertices[3] = video::S3DVertex(-1, 0.08, -1, 0, 0, 1, c, t, o);
- for (video::S3DVertex &vertex : vertices) {
- if (j == 0)
- // Don't switch
- {}
- else if (j == 1)
- // Switch from -Z (south) to +X (east)
- vertex.Pos.rotateXZBy(90);
- else if (j == 2)
- // Switch from -Z (south) to -X (west)
- vertex.Pos.rotateXZBy(-90);
- else
- // Switch from -Z (south) to +Z (north)
- vertex.Pos.rotateXZBy(-180);
+ // Draw the six sided skybox,
+ if (m_sky_params.textures.size() == 6) {
+ for (u32 j = 5; j < 11; j++) {
+ video::SColor c(255, 255, 255, 255);
+ driver->setMaterial(m_materials[j]);
+ // Use 1.05 rather than 1.0 to avoid colliding with the
+ // sun, moon and stars, as this is a background skybox.
+ vertices[0] = video::S3DVertex(-1.05, -1.05, -1.05, 0, 0, 1, c, t, t);
+ vertices[1] = video::S3DVertex( 1.05, -1.05, -1.05, 0, 0, 1, c, o, t);
+ vertices[2] = video::S3DVertex( 1.05, 1.05, -1.05, 0, 0, 1, c, o, o);
+ vertices[3] = video::S3DVertex(-1.05, 1.05, -1.05, 0, 0, 1, c, t, o);
+ for (video::S3DVertex &vertex : vertices) {
+ if (j == 5) { // Top texture
+ vertex.Pos.rotateYZBy(90);
+ vertex.Pos.rotateXZBy(90);
+ } else if (j == 6) { // Bottom texture
+ vertex.Pos.rotateYZBy(-90);
+ vertex.Pos.rotateXZBy(90);
+ } else if (j == 7) { // Left texture
+ vertex.Pos.rotateXZBy(90);
+ } else if (j == 8) { // Right texture
+ vertex.Pos.rotateXZBy(-90);
+ } else if (j == 9) { // Front texture, do nothing
+ // Irrlicht doesn't like it when vertexes are left
+ // alone and not rotated for some reason.
+ vertex.Pos.rotateXZBy(0);
+ } else {// Back texture
+ vertex.Pos.rotateXZBy(180);
+ }
+ }
+ driver->drawIndexedTriangleFan(&vertices[0], 4, indices, 2);
}
- driver->drawIndexedTriangleFan(&vertices[0], 4, indices, 2);
}
- // If sun, moon and stars are (temporarily) disabled, abort here
- if (!m_bodies_visible)
- return;
-
- // Draw stars before sun and moon to be behind them
- do {
+ // Draw far cloudy fog thing blended with skycolor
+ if (m_visible) {
driver->setMaterial(m_materials[1]);
- // Tune values so that stars first appear just after the sun
- // disappears over the horizon, and disappear just before the sun
- // appears over the horizon.
- // Also tune so that stars are at full brightness from time 20000 to
- // time 4000.
- float starbrightness = MYMAX(0, MYMIN(1,
- (0.25 - fabs(wicked_time_of_day < 0.5 ?
- wicked_time_of_day : (1.0 - wicked_time_of_day))) * 20));
- float f = starbrightness;
- float d = 0.007 / 2;
- video::SColor starcolor(255, f * 90, f * 90, f * 90);
- // Stars are only drawn when brighter than skycolor
- if (starcolor.getBlue() < m_skycolor.getBlue())
- break;
-#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++) {
- indices[i * 3 + 0] = i * 3 + 0;
- indices[i * 3 + 1] = i * 3 + 1;
- indices[i * 3 + 2] = i * 3 + 2;
- v3f r = m_stars[i];
- core::CMatrix4<f32> a;
- a.buildRotateFromTo(v3f(0, 1, 0), r);
- v3f p = v3f(-d, 1, -d);
- v3f p1 = v3f(d, 1, 0);
- v3f p2 = v3f(-d, 1, d);
- a.rotateVect(p);
- a.rotateVect(p1);
- a.rotateVect(p2);
- p.rotateXYBy(wicked_time_of_day * 360 - 90);
- p1.rotateXYBy(wicked_time_of_day * 360 - 90);
- p2.rotateXYBy(wicked_time_of_day * 360 - 90);
- vertices[i * 3 + 0].Pos = p;
- vertices[i * 3 + 0].Color = starcolor;
- vertices[i * 3 + 1].Pos = p1;
- vertices[i * 3 + 1].Color = starcolor;
- vertices[i * 3 + 2].Pos = p2;
- vertices[i * 3 + 2].Color = starcolor;
+ for (u32 j = 0; j < 4; j++) {
+ video::SColor c = cloudyfogcolor.getInterpolated(m_skycolor, 0.45);
+ vertices[0] = video::S3DVertex(-1, 0.08, -1, 0, 0, 1, c, t, t);
+ vertices[1] = video::S3DVertex( 1, 0.08, -1, 0, 0, 1, c, o, t);
+ vertices[2] = video::S3DVertex( 1, 0.12, -1, 0, 0, 1, c, o, o);
+ vertices[3] = video::S3DVertex(-1, 0.12, -1, 0, 0, 1, c, t, o);
+ for (video::S3DVertex &vertex : vertices) {
+ if (j == 0)
+ // Don't switch
+ {}
+ else if (j == 1)
+ // Switch from -Z (south) to +X (east)
+ vertex.Pos.rotateXZBy(90);
+ else if (j == 2)
+ // Switch from -Z (south) to -X (west)
+ vertex.Pos.rotateXZBy(-90);
+ else
+ // Switch from -Z (south) to +Z (north)
+ vertex.Pos.rotateXZBy(-180);
+ }
+ driver->drawIndexedTriangleFan(&vertices[0], 4, indices, 2);
}
- driver->drawIndexedTriangleList(vertices, SKY_STAR_COUNT * 3,
- indices, SKY_STAR_COUNT);
-#else
- u16 indices[SKY_STAR_COUNT * 4];
- video::S3DVertex vertices[SKY_STAR_COUNT * 4];
- for (u32 i = 0; i < SKY_STAR_COUNT; i++) {
- indices[i * 4 + 0] = i * 4 + 0;
- indices[i * 4 + 1] = i * 4 + 1;
- indices[i * 4 + 2] = i * 4 + 2;
- indices[i * 4 + 3] = i * 4 + 3;
- v3f r = m_stars[i];
- core::CMatrix4<f32> a;
- a.buildRotateFromTo(v3f(0, 1, 0), r);
- v3f p = v3f(-d, 1, -d);
- v3f p1 = v3f( d, 1, -d);
- v3f p2 = v3f( d, 1, d);
- v3f p3 = v3f(-d, 1, d);
- a.rotateVect(p);
- a.rotateVect(p1);
- a.rotateVect(p2);
- a.rotateVect(p3);
- p.rotateXYBy(wicked_time_of_day * 360 - 90);
- p1.rotateXYBy(wicked_time_of_day * 360 - 90);
- p2.rotateXYBy(wicked_time_of_day * 360 - 90);
- p3.rotateXYBy(wicked_time_of_day * 360 - 90);
- vertices[i * 4 + 0].Pos = p;
- vertices[i * 4 + 0].Color = starcolor;
- vertices[i * 4 + 1].Pos = p1;
- vertices[i * 4 + 1].Color = starcolor;
- vertices[i * 4 + 2].Pos = p2;
- vertices[i * 4 + 2].Color = starcolor;
- vertices[i * 4 + 3].Pos = p3;
- vertices[i * 4 + 3].Color = starcolor;
+
+ // Draw far cloudy fog thing at and below all horizons
+ for (u32 j = 0; j < 4; j++) {
+ video::SColor c = cloudyfogcolor;
+ vertices[0] = video::S3DVertex(-1, -1.0, -1, 0, 0, 1, c, t, t);
+ vertices[1] = video::S3DVertex( 1, -1.0, -1, 0, 0, 1, c, o, t);
+ vertices[2] = video::S3DVertex( 1, 0.08, -1, 0, 0, 1, c, o, o);
+ vertices[3] = video::S3DVertex(-1, 0.08, -1, 0, 0, 1, c, t, o);
+ for (video::S3DVertex &vertex : vertices) {
+ if (j == 0)
+ // Don't switch
+ {}
+ else if (j == 1)
+ // Switch from -Z (south) to +X (east)
+ vertex.Pos.rotateXZBy(90);
+ else if (j == 2)
+ // Switch from -Z (south) to -X (west)
+ vertex.Pos.rotateXZBy(-90);
+ else
+ // Switch from -Z (south) to +Z (north)
+ vertex.Pos.rotateXZBy(-180);
+ }
+ driver->drawIndexedTriangleFan(&vertices[0], 4, indices, 2);
}
- driver->drawVertexPrimitiveList(vertices, SKY_STAR_COUNT * 4,
- indices, SKY_STAR_COUNT, video::EVT_STANDARD,
- scene::EPT_QUADS, video::EIT_16BIT);
-#endif
- } while (false);
+ }
+
+ // Draw stars before sun and moon to be behind them
+ if (m_star_params.visible)
+ draw_stars(driver, wicked_time_of_day);
- // Draw sunrise/sunset horizon glow texture (textures/base/pack/sunrisebg.png)
- {
+ // Draw sunrise/sunset horizon glow texture
+ // (textures/base/pack/sunrisebg.png)
+ if (m_sun_params.sunrise_visible) {
driver->setMaterial(m_materials[2]);
float mid1 = 0.25;
float mid = wicked_time_of_day < 0.5 ? mid1 : (1.0 - mid1);
@@ -366,53 +330,52 @@ void Sky::render()
}
// Draw sun
- if (wicked_time_of_day > 0.15 && wicked_time_of_day < 0.85) {
+ if (m_sun_params.visible)
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_params.visible)
draw_moon(driver, moonsize, mooncolor, mooncolor2, wicked_time_of_day);
- }
// Draw far cloudy fog thing below all horizons in front of sun, moon
// and stars.
- driver->setMaterial(m_materials[1]);
+ if (m_visible) {
+ driver->setMaterial(m_materials[1]);
- for (u32 j = 0; j < 4; j++) {
- video::SColor c = cloudyfogcolor;
- vertices[0] = video::S3DVertex(-1, -1.0, -1, 0, 0, 1, c, t, t);
- vertices[1] = video::S3DVertex( 1, -1.0, -1, 0, 0, 1, c, o, t);
- vertices[2] = video::S3DVertex( 1, -0.02, -1, 0, 0, 1, c, o, o);
- vertices[3] = video::S3DVertex(-1, -0.02, -1, 0, 0, 1, c, t, o);
- for (video::S3DVertex &vertex : vertices) {
- if (j == 0)
- // Don't switch
- {}
- else if (j == 1)
- // Switch from -Z (south) to +X (east)
- vertex.Pos.rotateXZBy(90);
- else if (j == 2)
- // Switch from -Z (south) to -X (west)
- vertex.Pos.rotateXZBy(-90);
- else
- // Switch from -Z (south) to +Z (north)
- vertex.Pos.rotateXZBy(-180);
+ for (u32 j = 0; j < 4; j++) {
+ video::SColor c = cloudyfogcolor;
+ vertices[0] = video::S3DVertex(-1, -1.0, -1, 0, 0, 1, c, t, t);
+ vertices[1] = video::S3DVertex( 1, -1.0, -1, 0, 0, 1, c, o, t);
+ vertices[2] = video::S3DVertex( 1, -0.02, -1, 0, 0, 1, c, o, o);
+ vertices[3] = video::S3DVertex(-1, -0.02, -1, 0, 0, 1, c, t, o);
+ for (video::S3DVertex &vertex : vertices) {
+ if (j == 0)
+ // Don't switch
+ {}
+ else if (j == 1)
+ // Switch from -Z (south) to +X (east)
+ vertex.Pos.rotateXZBy(90);
+ else if (j == 2)
+ // Switch from -Z (south) to -X (west)
+ vertex.Pos.rotateXZBy(-90);
+ else
+ // Switch from -Z (south) to +Z (north)
+ vertex.Pos.rotateXZBy(-180);
+ }
+ driver->drawIndexedTriangleFan(&vertices[0], 4, indices, 2);
}
+
+ // Draw bottom far cloudy fog thing in front of sun, moon and stars
+ video::SColor c = cloudyfogcolor;
+ vertices[0] = video::S3DVertex(-1, -1.0, -1, 0, 1, 0, c, t, t);
+ vertices[1] = video::S3DVertex( 1, -1.0, -1, 0, 1, 0, c, o, t);
+ vertices[2] = video::S3DVertex( 1, -1.0, 1, 0, 1, 0, c, o, o);
+ vertices[3] = video::S3DVertex(-1, -1.0, 1, 0, 1, 0, c, t, o);
driver->drawIndexedTriangleFan(&vertices[0], 4, indices, 2);
}
-
- // Draw bottom far cloudy fog thing in front of sun, moon and stars
- video::SColor c = cloudyfogcolor;
- vertices[0] = video::S3DVertex(-1, -1.0, -1, 0, 1, 0, c, t, t);
- vertices[1] = video::S3DVertex( 1, -1.0, -1, 0, 1, 0, c, o, t);
- vertices[2] = video::S3DVertex( 1, -1.0, 1, 0, 1, 0, c, o, o);
- vertices[3] = video::S3DVertex(-1, -1.0, 1, 0, 1, 0, c, t, o);
- driver->drawIndexedTriangleFan(&vertices[0], 4, indices, 2);
}
}
-
void Sky::update(float time_of_day, float time_brightness,
float direct_brightness, bool sunlight_seen,
CameraMode cam_mode, float yaw, float pitch)
@@ -426,7 +389,7 @@ void Sky::update(float time_of_day, float time_brightness,
m_first_update = false;
for (u32 i = 0; i < 100; i++) {
update(time_of_day, time_brightness, direct_brightness,
- sunlight_seen, cam_mode, yaw, pitch);
+ sunlight_seen, cam_mode, yaw, pitch);
}
return;
}
@@ -434,7 +397,7 @@ void Sky::update(float time_of_day, float time_brightness,
m_time_of_day = time_of_day;
m_time_brightness = time_brightness;
m_sunlight_seen = sunlight_seen;
- m_bodies_visible = true;
+ m_in_clouds = false;
bool is_dawn = (time_brightness >= 0.20 && time_brightness < 0.35);
@@ -452,19 +415,17 @@ void Sky::update(float time_of_day, float time_brightness,
video::SColorf cloudcolor_bright_dawn_f(1.0, 0.7, 0.5);
*/
- video::SColorf bgcolor_bright_normal_f = video::SColor(255, 155, 193, 240);
- video::SColorf bgcolor_bright_indoor_f = video::SColor(255, 100, 100, 100);
- video::SColorf bgcolor_bright_dawn_f = video::SColor(255, 186, 193, 240);
- video::SColorf bgcolor_bright_night_f = video::SColor(255, 64, 144, 255);
+ video::SColorf bgcolor_bright_normal_f = m_sky_params.sky_color.day_horizon;
+ video::SColorf bgcolor_bright_indoor_f = m_sky_params.sky_color.indoors;
+ video::SColorf bgcolor_bright_dawn_f = m_sky_params.sky_color.dawn_horizon;
+ video::SColorf bgcolor_bright_night_f = m_sky_params.sky_color.night_horizon;
- video::SColorf skycolor_bright_normal_f = video::SColor(255, 140, 186, 250);
- video::SColorf skycolor_bright_dawn_f = video::SColor(255, 180, 186, 250);
- video::SColorf skycolor_bright_night_f = video::SColor(255, 0, 107, 255);
+ video::SColorf skycolor_bright_normal_f = m_sky_params.sky_color.day_sky;
+ video::SColorf skycolor_bright_dawn_f = m_sky_params.sky_color.dawn_sky;
+ video::SColorf skycolor_bright_night_f = m_sky_params.sky_color.night_sky;
- // pure white: becomes "diffuse light component" for clouds
- video::SColorf cloudcolor_bright_normal_f = video::SColor(255, 255, 255, 255);
- // dawn-factoring version of pure white (note: R is above 1.0)
- video::SColorf cloudcolor_bright_dawn_f(255.0f/240.0f, 223.0f/240.0f, 191.0f/255.0f);
+ video::SColorf cloudcolor_bright_normal_f = m_cloudcolor_day_f;
+ video::SColorf cloudcolor_bright_dawn_f = m_cloudcolor_dawn_f;
float cloud_color_change_fraction = 0.95;
if (sunlight_seen) {
@@ -558,13 +519,17 @@ void Sky::update(float time_of_day, float time_brightness,
f32 pointcolor_light = rangelim(m_time_brightness * 3, 0.2, 1);
video::SColorf pointcolor_sun_f(1, 1, 1, 1);
- if (m_sun_tonemap) {
+ // Use tonemap only if default sun/moon tinting is used
+ // which keeps previous behaviour.
+ if (m_sun_tonemap && m_default_tint) {
pointcolor_sun_f.r = pointcolor_light *
(float)m_materials[3].EmissiveColor.getRed() / 255;
pointcolor_sun_f.b = pointcolor_light *
(float)m_materials[3].EmissiveColor.getBlue() / 255;
pointcolor_sun_f.g = pointcolor_light *
(float)m_materials[3].EmissiveColor.getGreen() / 255;
+ } else if (!m_default_tint) {
+ pointcolor_sun_f = m_sky_params.sun_tint;
} else {
pointcolor_sun_f.r = pointcolor_light * 1;
pointcolor_sun_f.b = pointcolor_light *
@@ -573,9 +538,23 @@ void Sky::update(float time_of_day, float time_brightness,
(rangelim(m_time_brightness, 0.05, 0.15) - 0.05) * 10 * 0.625);
}
- video::SColorf pointcolor_moon_f(0.5 * pointcolor_light,
- 0.6 * pointcolor_light, 0.8 * pointcolor_light, 1);
- if (m_moon_tonemap) {
+ video::SColorf pointcolor_moon_f;
+ if (m_default_tint) {
+ pointcolor_moon_f = video::SColorf(
+ 0.5 * pointcolor_light,
+ 0.6 * pointcolor_light,
+ 0.8 * pointcolor_light,
+ 1
+ );
+ } else {
+ pointcolor_moon_f = video::SColorf(
+ (m_sky_params.moon_tint.getRed() / 255) * pointcolor_light,
+ (m_sky_params.moon_tint.getGreen() / 255) * pointcolor_light,
+ (m_sky_params.moon_tint.getBlue() / 255) * pointcolor_light,
+ 1
+ );
+ }
+ if (m_moon_tonemap && m_default_tint) {
pointcolor_moon_f.r = pointcolor_light *
(float)m_materials[4].EmissiveColor.getRed() / 255;
pointcolor_moon_f.b = pointcolor_light *
@@ -640,7 +619,12 @@ void Sky::draw_sun(video::IVideoDriver *driver, float sunsize, const video::SCol
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};
+ const float sunsizes[4] = {
+ (sunsize * 1.7f) * m_sun_params.scale,
+ (sunsize * 1.2f) * m_sun_params.scale,
+ (sunsize) * m_sun_params.scale,
+ (sunsize * 0.7f) * m_sun_params.scale
+ };
video::SColor c1 = suncolor;
video::SColor c2 = suncolor;
c1.setAlpha(0.05 * 255);
@@ -653,7 +637,7 @@ void Sky::draw_sun(video::IVideoDriver *driver, float sunsize, const video::SCol
}
} else {
driver->setMaterial(m_materials[3]);
- float d = sunsize * 1.7;
+ float d = (sunsize * 1.7) * m_sun_params.scale;
video::SColor c;
if (m_sun_tonemap)
c = video::SColor(0, 0, 0, 0);
@@ -668,31 +652,32 @@ void Sky::draw_sun(video::IVideoDriver *driver, float sunsize, const video::SCol
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
- */
+/*
+ * 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
- };
+ (-moonsize * 1.9f) * m_moon_params.scale,
+ (-moonsize * 1.3f) * m_moon_params.scale,
+ (-moonsize) * m_moon_params.scale,
+ (-moonsize) * m_moon_params.scale
+ };
const float moonsizes_2[4] = {
- moonsize * 1.9f,
- moonsize * 1.3f,
- moonsize,
- moonsize * 0.6f
- };
+ (moonsize * 1.9f) * m_moon_params.scale,
+ (moonsize * 1.3f) * m_moon_params.scale,
+ (moonsize) *m_moon_params.scale,
+ (moonsize * 0.6f) * m_moon_params.scale
+ };
video::SColor c1 = mooncolor;
video::SColor c2 = mooncolor;
c1.setAlpha(0.05 * 255);
@@ -705,7 +690,7 @@ void Sky::draw_moon(video::IVideoDriver *driver, float moonsize, const video::SC
}
} else {
driver->setMaterial(m_materials[4]);
- float d = moonsize * 1.9;
+ float d = (moonsize * 1.9) * m_moon_params.scale;
video::SColor c;
if (m_moon_tonemap)
c = video::SColor(0, 0, 0, 0);
@@ -717,14 +702,106 @@ void Sky::draw_moon(video::IVideoDriver *driver, float moonsize, const video::SC
}
}
+void Sky::draw_stars(video::IVideoDriver * driver, float wicked_time_of_day)
+{
+ driver->setMaterial(m_materials[1]);
+ // Tune values so that stars first appear just after the sun
+ // disappears over the horizon, and disappear just before the sun
+ // appears over the horizon.
+ // Also tune so that stars are at full brightness from time 20000
+ // to time 4000.
+
+ float tod = wicked_time_of_day < 0.5f ? wicked_time_of_day : (1.0f - wicked_time_of_day);
+ float starbrightness = clamp((0.25f - fabsf(tod)) * 20.0f, 0.0f, 1.0f);
+
+ float f = starbrightness;
+ float d = (0.006 / 2) * m_star_params.scale;
+
+ video::SColor starcolor = m_star_params.starcolor;
+ starcolor.setAlpha(f * m_star_params.starcolor.getAlpha());
+
+ // Stars are only drawn when not fully transparent
+ if (m_star_params.starcolor.getAlpha() < 1)
+ return;
+#if ENABLE_GLES
+ u16 *indices = new u16[m_star_params.count * 3];
+ video::S3DVertex *vertices =
+ new video::S3DVertex[m_star_params.count * 3];
+ for (u32 i = 0; i < m_star_params.count; i++) {
+ indices[i * 3 + 0] = i * 3 + 0;
+ indices[i * 3 + 1] = i * 3 + 1;
+ indices[i * 3 + 2] = i * 3 + 2;
+ v3f r = m_stars[i];
+ core::CMatrix4<f32> a;
+ a.buildRotateFromTo(v3f(0, 1, 0), r);
+ v3f p = v3f(-d, 1, -d);
+ v3f p1 = v3f(d, 1, 0);
+ v3f p2 = v3f(-d, 1, d);
+ a.rotateVect(p);
+ a.rotateVect(p1);
+ a.rotateVect(p2);
+ p.rotateXYBy(wicked_time_of_day * 360 - 90);
+ p1.rotateXYBy(wicked_time_of_day * 360 - 90);
+ p2.rotateXYBy(wicked_time_of_day * 360 - 90);
+ vertices[i * 3 + 0].Pos = p;
+ vertices[i * 3 + 0].Color = starcolor;
+ vertices[i * 3 + 1].Pos = p1;
+ vertices[i * 3 + 1].Color = starcolor;
+ vertices[i * 3 + 2].Pos = p2;
+ vertices[i * 3 + 2].Color = starcolor;
+ }
+ driver->drawIndexedTriangleList(vertices, m_star_params.count * 3,
+ indices, m_star_params.count);
+ delete[] indices;
+ delete[] vertices;
+#else
+ u16 *indices = new u16[m_star_params.count * 4];
+ video::S3DVertex *vertices =
+ new video::S3DVertex[m_star_params.count * 4];
+ for (u32 i = 0; i < m_star_params.count; i++) {
+ indices[i * 4 + 0] = i * 4 + 0;
+ indices[i * 4 + 1] = i * 4 + 1;
+ indices[i * 4 + 2] = i * 4 + 2;
+ indices[i * 4 + 3] = i * 4 + 3;
+ v3f r = m_stars[i];
+ core::CMatrix4<f32> a;
+ a.buildRotateFromTo(v3f(0, 1, 0), r);
+ v3f p = v3f(-d, 1, -d);
+ v3f p1 = v3f(d, 1, -d);
+ v3f p2 = v3f(d, 1, d);
+ v3f p3 = v3f(-d, 1, d);
+ a.rotateVect(p);
+ a.rotateVect(p1);
+ a.rotateVect(p2);
+ a.rotateVect(p3);
+ p.rotateXYBy(wicked_time_of_day * 360 - 90);
+ p1.rotateXYBy(wicked_time_of_day * 360 - 90);
+ p2.rotateXYBy(wicked_time_of_day * 360 - 90);
+ p3.rotateXYBy(wicked_time_of_day * 360 - 90);
+ vertices[i * 4 + 0].Pos = p;
+ vertices[i * 4 + 0].Color = starcolor;
+ vertices[i * 4 + 1].Pos = p1;
+ vertices[i * 4 + 1].Color = starcolor;
+ vertices[i * 4 + 2].Pos = p2;
+ vertices[i * 4 + 2].Color = starcolor;
+ vertices[i * 4 + 3].Pos = p3;
+ vertices[i * 4 + 3].Color = starcolor;
+ }
+ driver->drawVertexPrimitiveList(vertices, m_star_params.count * 4,
+ indices, m_star_params.count, video::EVT_STANDARD,
+ scene::EPT_QUADS, video::EIT_16BIT);
+ delete[] indices;
+ delete[] vertices;
+#endif
+}
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
- */
+ * 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;
@@ -738,11 +815,11 @@ void Sky::draw_sky_body(std::array<video::S3DVertex, 4> &vertices, float pos_1,
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
- */
+ * 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
@@ -750,3 +827,151 @@ void Sky::place_sky_body(
vertex.Pos.rotateXYBy(day_position);
}
}
+
+void Sky::setSunTexture(std::string sun_texture,
+ std::string sun_tonemap, ITextureSource *tsrc)
+{
+ // Ignore matching textures (with modifiers) entirely,
+ // but lets at least update the tonemap before hand.
+ m_sun_params.tonemap = sun_tonemap;
+ m_sun_tonemap = tsrc->isKnownSourceImage(m_sun_params.tonemap) ?
+ tsrc->getTexture(m_sun_params.tonemap) : NULL;
+ m_materials[3].Lighting = !!m_sun_tonemap;
+
+ if (m_sun_params.texture == sun_texture)
+ return;
+ m_sun_params.texture = sun_texture;
+
+ if (sun_texture != "") {
+ // We want to ensure the texture exists first.
+ m_sun_texture = tsrc->getTextureForMesh(m_sun_params.texture);
+
+ if (m_sun_texture) {
+ m_materials[3] = m_materials[0];
+ m_materials[3].setTexture(0, m_sun_texture);
+ m_materials[3].MaterialType = video::
+ EMT_TRANSPARENT_ALPHA_CHANNEL;
+ // Disables texture filtering
+ m_materials[3].setFlag(
+ video::E_MATERIAL_FLAG::EMF_BILINEAR_FILTER, false);
+ m_materials[3].setFlag(
+ video::E_MATERIAL_FLAG::EMF_TRILINEAR_FILTER, false);
+ m_materials[3].setFlag(
+ video::E_MATERIAL_FLAG::EMF_ANISOTROPIC_FILTER, false);
+ }
+ } else {
+ m_sun_texture = nullptr;
+ }
+}
+
+void Sky::setSunriseTexture(std::string sunglow_texture,
+ ITextureSource* tsrc)
+{
+ // Ignore matching textures (with modifiers) entirely.
+ if (m_sun_params.sunrise == sunglow_texture)
+ return;
+ m_sun_params.sunrise = sunglow_texture;
+ m_materials[2].setTexture(0, tsrc->getTextureForMesh(
+ sunglow_texture.empty() ? "sunrisebg.png" : sunglow_texture)
+ );
+}
+
+void Sky::setMoonTexture(std::string moon_texture,
+ std::string moon_tonemap, ITextureSource *tsrc)
+{
+ // Ignore matching textures (with modifiers) entirely,
+ // but lets at least update the tonemap before hand.
+ m_moon_params.tonemap = moon_tonemap;
+ m_moon_tonemap = tsrc->isKnownSourceImage(m_moon_params.tonemap) ?
+ tsrc->getTexture(m_moon_params.tonemap) : NULL;
+ m_materials[4].Lighting = !!m_moon_tonemap;
+
+ if (m_moon_params.texture == moon_texture)
+ return;
+ m_moon_params.texture = moon_texture;
+
+ if (moon_texture != "") {
+ // We want to ensure the texture exists first.
+ m_moon_texture = tsrc->getTextureForMesh(m_moon_params.texture);
+
+ if (m_moon_texture) {
+ m_materials[4] = m_materials[0];
+ m_materials[4].setTexture(0, m_moon_texture);
+ m_materials[4].MaterialType = video::
+ EMT_TRANSPARENT_ALPHA_CHANNEL;
+ // Disables texture filtering
+ m_materials[4].setFlag(
+ video::E_MATERIAL_FLAG::EMF_BILINEAR_FILTER, false);
+ m_materials[4].setFlag(
+ video::E_MATERIAL_FLAG::EMF_TRILINEAR_FILTER, false);
+ m_materials[4].setFlag(
+ video::E_MATERIAL_FLAG::EMF_ANISOTROPIC_FILTER, false);
+ }
+ } else {
+ m_moon_texture = nullptr;
+ }
+}
+
+void Sky::setStarCount(u16 star_count, bool force_update)
+{
+ // Allow force updating star count at game init.
+ if (m_star_params.count != star_count || force_update) {
+ m_star_params.count = star_count;
+ m_stars.clear();
+ // Rebuild the stars surrounding the camera
+ for (u16 i = 0; i < star_count; i++) {
+ v3f star = v3f(
+ myrand_range(-10000, 10000),
+ myrand_range(-10000, 10000),
+ myrand_range(-10000, 10000)
+ );
+
+ star.normalize();
+ m_stars.emplace_back(star);
+ }
+ }
+}
+
+void Sky::setSkyColors(const SkyboxParams sky)
+{
+ m_sky_params.sky_color = sky.sky_color;
+}
+
+void Sky::setHorizonTint(video::SColor sun_tint, video::SColor moon_tint,
+ std::string use_sun_tint)
+{
+ // Change sun and moon tinting:
+ m_sky_params.sun_tint = sun_tint;
+ m_sky_params.moon_tint = moon_tint;
+ // Faster than comparing strings every rendering frame
+ if (use_sun_tint == "default")
+ m_default_tint = true;
+ else if (use_sun_tint == "custom")
+ m_default_tint = false;
+ else
+ m_default_tint = true;
+}
+
+void Sky::addTextureToSkybox(std::string texture, int material_id,
+ ITextureSource *tsrc)
+{
+ // Sanity check for more than six textures.
+ if (material_id + 5 >= SKY_MATERIAL_COUNT)
+ return;
+ // Keep a list of texture names handy.
+ m_sky_params.textures.emplace_back(texture);
+ video::ITexture *result = tsrc->getTextureForMesh(texture);
+ m_materials[material_id+5] = m_materials[0];
+ m_materials[material_id+5].setTexture(0, result);
+ m_materials[material_id+5].MaterialType = video::EMT_SOLID;
+}
+
+// To be called once at game init to setup default values.
+void Sky::setSkyDefaults()
+{
+ SkyboxDefaults sky_defaults;
+ m_sky_params.sky_color = sky_defaults.getSkyColorDefaults();
+ m_sun_params = sky_defaults.getSunDefaults();
+ m_moon_params = sky_defaults.getMoonDefaults();
+ m_star_params = sky_defaults.getStarDefaults();
+}
diff --git a/src/client/sky.h b/src/client/sky.h
index 9cff20e08..8637f96d4 100644
--- a/src/client/sky.h
+++ b/src/client/sky.h
@@ -21,11 +21,11 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include <array>
#include "camera.h"
#include "irrlichttypes_extrabloated.h"
+#include "skyparams.h"
#pragma once
-#define SKY_MATERIAL_COUNT 5
-#define SKY_STAR_COUNT 200
+#define SKY_MATERIAL_COUNT 12
class ITextureSource;
@@ -45,8 +45,6 @@ public:
// Used by Irrlicht for optimizing rendering
virtual video::SMaterial &getMaterial(u32 i) { return m_materials[i]; }
-
- // Used by Irrlicht for optimizing rendering
virtual u32 getMaterialCount() const { return SKY_MATERIAL_COUNT; }
void update(float m_time_of_day, float time_brightness, float direct_brightness,
@@ -64,6 +62,23 @@ public:
return m_visible ? m_skycolor : m_fallback_bg_color;
}
+ void setSunVisible(bool sun_visible) { m_sun_params.visible = sun_visible; }
+ void setSunTexture(std::string sun_texture,
+ std::string sun_tonemap, ITextureSource *tsrc);
+ void setSunScale(f32 sun_scale) { m_sun_params.scale = sun_scale; }
+ void setSunriseVisible(bool glow_visible) { m_sun_params.sunrise_visible = glow_visible; }
+ void setSunriseTexture(std::string sunglow_texture, ITextureSource* tsrc);
+
+ void setMoonVisible(bool moon_visible) { m_moon_params.visible = moon_visible; }
+ void setMoonTexture(std::string moon_texture,
+ std::string moon_tonemap, ITextureSource *tsrc);
+ void setMoonScale(f32 moon_scale) { m_moon_params.scale = moon_scale; }
+
+ void setStarsVisible(bool stars_visible) { m_star_params.visible = stars_visible; }
+ void setStarCount(u16 star_count, bool force_update);
+ void setStarColor(video::SColor star_color) { m_star_params.starcolor = star_color; }
+ void setStarScale(f32 star_scale) { m_star_params.scale = star_scale; }
+
bool getCloudsVisible() const { return m_clouds_visible && m_clouds_enabled; }
const video::SColorf &getCloudColor() const { return m_cloudcolor_f; }
@@ -79,12 +94,16 @@ public:
m_bgcolor = bgcolor;
m_skycolor = skycolor;
}
- void setBodiesVisible(bool visible) { m_bodies_visible = visible; }
-
+ void setSkyColors(const SkyboxParams sky);
+ void setHorizonTint(video::SColor sun_tint, video::SColor moon_tint,
+ std::string use_sun_tint);
+ void setInClouds(bool clouds) { m_in_clouds = clouds; }
+ void clearSkyboxTextures() { m_sky_params.textures.clear(); }
+ void addTextureToSkybox(std::string texture, int material_id,
+ ITextureSource *tsrc);
private:
aabb3f m_box;
video::SMaterial m_materials[SKY_MATERIAL_COUNT];
-
// How much sun & moon transition should affect horizon color
float m_horizon_blend()
{
@@ -134,25 +153,46 @@ private:
bool m_clouds_visible; // Whether clouds are disabled due to player underground
bool m_clouds_enabled = true; // Initialised to true, reset only by set_sky API
bool m_directional_colored_fog;
- bool m_bodies_visible = true; // sun, moon, stars
+ bool m_in_clouds = true; // Prevent duplicating bools to remember old values
+
video::SColorf m_bgcolor_bright_f = video::SColorf(1.0f, 1.0f, 1.0f, 1.0f);
video::SColorf m_skycolor_bright_f = video::SColorf(1.0f, 1.0f, 1.0f, 1.0f);
video::SColorf m_cloudcolor_bright_f = video::SColorf(1.0f, 1.0f, 1.0f, 1.0f);
video::SColor m_bgcolor;
video::SColor m_skycolor;
video::SColorf m_cloudcolor_f;
- v3f m_stars[SKY_STAR_COUNT];
+
+ // pure white: becomes "diffuse light component" for clouds
+ video::SColorf m_cloudcolor_day_f = video::SColorf(1, 1, 1, 1);
+ // dawn-factoring version of pure white (note: R is above 1.0)
+ video::SColorf m_cloudcolor_dawn_f = video::SColorf(
+ 255.0f/240.0f,
+ 223.0f/240.0f,
+ 191.0f/255.0f
+ );
+
+ SkyboxParams m_sky_params;
+ SunParams m_sun_params;
+ MoonParams m_moon_params;
+ StarParams m_star_params;
+
+ bool m_default_tint = true;
+
+ std::vector<v3f> m_stars;
+
video::ITexture *m_sun_texture;
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);
+ 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);
+ 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);
+ float pos_1, float pos_2, const video::SColor &c);
+ void draw_stars(video::IVideoDriver *driver, float wicked_time_of_day);
+ void place_sky_body(std::array<video::S3DVertex, 4> &vertices,
+ float horizon_position, float day_position);
+ void setSkyDefaults();
};
diff --git a/src/client/tile.cpp b/src/client/tile.cpp
index 3d9e2470a..3189ab28c 100644
--- a/src/client/tile.cpp
+++ b/src/client/tile.cpp
@@ -1812,6 +1812,24 @@ bool TextureSource::generateImagePart(std::string part_of_name,
}
/*
+ Calculate the color of a single pixel drawn on top of another pixel.
+
+ This is a little more complicated than just video::SColor::getInterpolated
+ because getInterpolated does not handle alpha correctly. For example, a
+ pixel with alpha=64 drawn atop a pixel with alpha=128 should yield a
+ pixel with alpha=160, while getInterpolated would yield alpha=96.
+*/
+static inline video::SColor blitPixel(const video::SColor &src_c, const video::SColor &dst_c, u32 ratio)
+{
+ if (dst_c.getAlpha() == 0)
+ return src_c;
+ video::SColor out_c = src_c.getInterpolated(dst_c, (float)ratio / 255.0f);
+ out_c.setAlpha(dst_c.getAlpha() + (255 - dst_c.getAlpha()) *
+ src_c.getAlpha() * ratio / (255 * 255));
+ return out_c;
+}
+
+/*
Draw an image on top of an another one, using the alpha channel of the
source image
@@ -1830,7 +1848,7 @@ static void blit_with_alpha(video::IImage *src, video::IImage *dst,
s32 dst_y = dst_pos.Y + y0;
video::SColor src_c = src->getPixel(src_x, src_y);
video::SColor dst_c = dst->getPixel(dst_x, dst_y);
- dst_c = src_c.getInterpolated(dst_c, (float)src_c.getAlpha()/255.0f);
+ dst_c = blitPixel(src_c, dst_c, src_c.getAlpha());
dst->setPixel(dst_x, dst_y, dst_c);
}
}
@@ -1853,7 +1871,7 @@ static void blit_with_alpha_overlay(video::IImage *src, video::IImage *dst,
video::SColor dst_c = dst->getPixel(dst_x, dst_y);
if (dst_c.getAlpha() == 255 && src_c.getAlpha() != 0)
{
- dst_c = src_c.getInterpolated(dst_c, (float)src_c.getAlpha()/255.0f);
+ dst_c = blitPixel(src_c, dst_c, src_c.getAlpha());
dst->setPixel(dst_x, dst_y, dst_c);
}
}
diff --git a/src/clientiface.h b/src/clientiface.h
index 2b0ccfbb1..bf95df4a8 100644
--- a/src/clientiface.h
+++ b/src/clientiface.h
@@ -338,6 +338,7 @@ public:
u8 getMajor() const { return m_version_major; }
u8 getMinor() const { return m_version_minor; }
u8 getPatch() const { return m_version_patch; }
+ const std::string &getFull() const { return m_full_version; }
private:
// Version is stored in here after INIT before INIT2
u8 m_pending_serialization_version = SER_FMT_VER_INVALID;
diff --git a/src/constants.h b/src/constants.h
index 5ddb54656..7636b38e0 100644
--- a/src/constants.h
+++ b/src/constants.h
@@ -22,9 +22,9 @@ with this program; if not, write to the Free Software Foundation, Inc.,
/*
All kinds of constants.
- Cross-platform compatibility crap should go in porting.h.
+ Cross-platform compatibility stuff should go in porting.h.
- Some things here are legacy crap.
+ Some things here are legacy.
*/
/*
diff --git a/src/content/subgames.cpp b/src/content/subgames.cpp
index 39cdc056f..bf947cf85 100644
--- a/src/content/subgames.cpp
+++ b/src/content/subgames.cpp
@@ -23,7 +23,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "settings.h"
#include "log.h"
#include "util/strfnd.h"
-#include "defaultsettings.h" // for override_default_settings
+#include "defaultsettings.h" // for set_default_settings
#include "mapgen/mapgen.h" // for MapgenParams
#include "util/string.h"
@@ -298,7 +298,7 @@ bool loadGameConfAndInitWorld(const std::string &path, const SubgameSpec &gamesp
set_default_settings(g_settings);
Settings game_defaults;
getGameMinetestConfig(gamespec.path, game_defaults);
- override_default_settings(g_settings, &game_defaults);
+ g_settings->overrideDefaults(&game_defaults);
infostream << "Initializing world at " << path << std::endl;
diff --git a/src/content_sao.cpp b/src/content_sao.cpp
index 87e6466a9..75c3eaf37 100644
--- a/src/content_sao.cpp
+++ b/src/content_sao.cpp
@@ -653,7 +653,7 @@ u16 LuaEntitySAO::punch(v3f dir,
if (!damage_handled) {
if (result.did_punch) {
setHP((s32)getHP() - result.damage,
- PlayerHPChangeReason(PlayerHPChangeReason::SET_HP));
+ PlayerHPChangeReason(PlayerHPChangeReason::PLAYER_PUNCH, puncher));
std::string str = gob_cmd_punched(getHP());
// create message and add to list
@@ -663,10 +663,10 @@ u16 LuaEntitySAO::punch(v3f dir,
}
if (getHP() == 0 && !isGone()) {
- m_pending_removal = true;
clearParentAttachment();
clearChildAttachments();
m_env->getScriptIface()->luaentity_on_death(m_id, puncher);
+ m_pending_removal = true;
}
actionstream << puncher->getDescription() << " (id=" << puncher->getId() <<
@@ -675,6 +675,7 @@ u16 LuaEntitySAO::punch(v3f dir,
"), damage=" << (old_hp - (s32)getHP()) <<
(damage_handled ? " (handled by Lua)" : "") << std::endl;
+ // TODO: give Lua control over wear
return result.wear;
}
@@ -864,12 +865,11 @@ PlayerSAO::PlayerSAO(ServerEnvironment *env_, RemotePlayer *player_, session_t p
m_peer_id(peer_id_),
m_is_singleplayer(is_singleplayer)
{
- assert(m_peer_id != 0); // pre-condition
+ SANITY_CHECK(m_peer_id != PEER_ID_INEXISTENT);
m_prop.hp_max = PLAYER_MAX_HP_DEFAULT;
m_prop.breath_max = PLAYER_MAX_BREATH_DEFAULT;
m_prop.physical = false;
- m_prop.weight = 75;
m_prop.collisionbox = aabb3f(-0.3f, 0.0f, -0.3f, 0.3f, 1.77f, 0.3f);
m_prop.selectionbox = aabb3f(-0.3f, 0.0f, -0.3f, 0.3f, 1.77f, 0.3f);
m_prop.pointable = true;
@@ -985,7 +985,7 @@ std::string PlayerSAO::getClientInitializationData(u16 protocol_version)
void PlayerSAO::getStaticData(std::string * result) const
{
- FATAL_ERROR("Deprecated function");
+ FATAL_ERROR("Obsolete function");
}
void PlayerSAO::step(float dtime, bool send_recommended)
@@ -1394,7 +1394,7 @@ bool PlayerSAO::setWieldedItem(const ItemStack &item)
void PlayerSAO::disconnected()
{
- m_peer_id = 0;
+ m_peer_id = PEER_ID_INEXISTENT;
m_pending_removal = true;
}
diff --git a/src/craftdef.h b/src/craftdef.h
index 5971a89bf..7c14e702a 100644
--- a/src/craftdef.h
+++ b/src/craftdef.h
@@ -113,9 +113,6 @@ struct CraftOutput
Example: If ("bucket:bucket_water", "bucket:bucket_empty") is a
replacement pair, the crafting input slot that contained a water
bucket will contain an empty bucket after crafting.
-
- Note: replacements only work correctly when stack_max of the item
- to be replaced is 1. It is up to the mod writer to ensure this.
*/
struct CraftReplacements
{
@@ -410,10 +407,22 @@ public:
ICraftDefManager() = default;
virtual ~ICraftDefManager() = default;
- // The main crafting function
+ /**
+ * The main crafting function.
+ *
+ * @param input The input grid.
+ * @param output CraftOutput where the result is placed.
+ * @param output_replacements A vector of ItemStacks where replacements are
+ * placed if they cannot be placed in the input. Replacements can be placed
+ * in the input if the stack of the replaced item has a count of 1.
+ * @param decrementInput If true, consume or replace input items.
+ * @param gamedef
+ * @return true if a result was found, otherwise false.
+ */
virtual bool getCraftResult(CraftInput &input, CraftOutput &output,
std::vector<ItemStack> &output_replacements,
bool decrementInput, IGameDef *gamedef) const=0;
+
virtual std::vector<CraftDefinition*> getCraftRecipes(CraftOutput &output,
IGameDef *gamedef, unsigned limit=0) const=0;
diff --git a/src/daynightratio.h b/src/daynightratio.h
index 5986da5fc..538767cad 100644
--- a/src/daynightratio.h
+++ b/src/daynightratio.h
@@ -30,8 +30,8 @@ inline u32 time_to_daynight_ratio(float time_of_day, bool smooth)
t = 24000.0f - t;
const float values[9][2] = {
- {4250.0f + 125.0f, 150.0f},
- {4500.0f + 125.0f, 150.0f},
+ {4250.0f + 125.0f, 175.0f},
+ {4500.0f + 125.0f, 175.0f},
{4750.0f + 125.0f, 250.0f},
{5000.0f + 125.0f, 350.0f},
{5250.0f + 125.0f, 500.0f},
diff --git a/src/defaultsettings.cpp b/src/defaultsettings.cpp
index 01ee97a33..472522bf4 100644
--- a/src/defaultsettings.cpp
+++ b/src/defaultsettings.cpp
@@ -24,6 +24,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "config.h"
#include "constants.h"
#include "porting.h"
+#include "mapgen/mapgen.h" // Mapgen::setDefaultSettings
#include "util/string.h"
void set_default_settings(Settings *settings)
@@ -164,7 +165,9 @@ void set_default_settings(Settings *settings)
settings->setDefault("fps_max", "60");
settings->setDefault("pause_fps_max", "20");
settings->setDefault("viewing_range", "100");
+#if ENABLE_GLES
settings->setDefault("near_plane", "0.1");
+#endif
settings->setDefault("screen_w", "1024");
settings->setDefault("screen_h", "600");
settings->setDefault("autosave_screensize", "true");
@@ -292,9 +295,17 @@ void set_default_settings(Settings *settings)
#if USE_FREETYPE
settings->setDefault("freetype", "true");
settings->setDefault("font_path", porting::getDataPath("fonts" DIR_DELIM "Arimo-Regular.ttf"));
+ settings->setDefault("font_path_italic", porting::getDataPath("fonts" DIR_DELIM "Arimo-Italic.ttf"));
+ settings->setDefault("font_path_bold", porting::getDataPath("fonts" DIR_DELIM "Arimo-Bold.ttf"));
+ settings->setDefault("font_path_bold_italic", porting::getDataPath("fonts" DIR_DELIM "Arimo-BoldItalic.ttf"));
+ settings->setDefault("font_bold", "false");
+ settings->setDefault("font_italic", "false");
settings->setDefault("font_shadow", "1");
settings->setDefault("font_shadow_alpha", "127");
settings->setDefault("mono_font_path", porting::getDataPath("fonts" DIR_DELIM "Cousine-Regular.ttf"));
+ settings->setDefault("mono_font_path_italic", porting::getDataPath("fonts" DIR_DELIM "Cousine-Italic.ttf"));
+ settings->setDefault("mono_font_path_bold", porting::getDataPath("fonts" DIR_DELIM "Cousine-Bold.ttf"));
+ settings->setDefault("mono_font_path_bold_italic", porting::getDataPath("fonts" DIR_DELIM "Cousine-BoldItalic.ttf"));
settings->setDefault("fallback_font_path", porting::getDataPath("fonts" DIR_DELIM "DroidSansFallbackFull.ttf"));
settings->setDefault("fallback_font_shadow", "1");
@@ -418,10 +429,10 @@ void set_default_settings(Settings *settings)
settings->setDefault("water_level", "1");
settings->setDefault("mapgen_limit", "31000");
settings->setDefault("chunksize", "5");
- settings->setDefault("mg_flags", "caves,dungeons,light,decorations,biomes");
settings->setDefault("fixed_map_seed", "");
settings->setDefault("max_block_generate_distance", "8");
settings->setDefault("enable_mapgen_debug_info", "false");
+ Mapgen::setDefaultSettings(settings);
// Server list announcing
settings->setDefault("server_announce", "false");
@@ -489,10 +500,3 @@ void set_default_settings(Settings *settings)
#endif
}
-void override_default_settings(Settings *settings, Settings *from)
-{
- std::vector<std::string> names = from->getNames();
- for (const auto &name : names) {
- settings->setDefault(name, from->get(name));
- }
-}
diff --git a/src/gui/CMakeLists.txt b/src/gui/CMakeLists.txt
index 2307856a4..110a00595 100644
--- a/src/gui/CMakeLists.txt
+++ b/src/gui/CMakeLists.txt
@@ -1,16 +1,24 @@
set(gui_SRCS
+ ${CMAKE_CURRENT_SOURCE_DIR}/guiAnimatedImage.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/guiBackgroundImage.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/guiBox.cpp
${CMAKE_CURRENT_SOURCE_DIR}/guiButton.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/guiButtonImage.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/guiButtonItemImage.cpp
${CMAKE_CURRENT_SOURCE_DIR}/guiChatConsole.cpp
${CMAKE_CURRENT_SOURCE_DIR}/guiConfirmRegistration.cpp
${CMAKE_CURRENT_SOURCE_DIR}/guiEditBoxWithScrollbar.cpp
${CMAKE_CURRENT_SOURCE_DIR}/guiEngine.cpp
${CMAKE_CURRENT_SOURCE_DIR}/guiFormSpecMenu.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/guiInventoryList.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/guiItemImage.cpp
${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}/guiHyperText.cpp
${CMAKE_CURRENT_SOURCE_DIR}/guiVolumeChange.cpp
${CMAKE_CURRENT_SOURCE_DIR}/intlGUIEditBox.cpp
${CMAKE_CURRENT_SOURCE_DIR}/modalMenu.cpp
diff --git a/src/gui/StyleSpec.h b/src/gui/StyleSpec.h
index 29aae0836..999c1d237 100644
--- a/src/gui/StyleSpec.h
+++ b/src/gui/StyleSpec.h
@@ -17,7 +17,9 @@ with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
+#include "client/tile.h" // ITextureSource
#include "irrlichttypes_extrabloated.h"
+#include "util/string.h"
#include <array>
#pragma once
@@ -29,17 +31,24 @@ public:
{
TEXTCOLOR,
BGCOLOR,
+ BGCOLOR_HOVERED,
+ BGCOLOR_PRESSED,
NOCLIP,
BORDER,
BGIMG,
+ BGIMG_HOVERED,
+ BGIMG_MIDDLE,
BGIMG_PRESSED,
+ FGIMG,
+ FGIMG_HOVERED,
+ FGIMG_PRESSED,
ALPHA,
NUM_PROPERTIES,
NONE
};
private:
- std::array<bool, NUM_PROPERTIES> property_set;
+ std::array<bool, NUM_PROPERTIES> property_set{};
std::array<std::string, NUM_PROPERTIES> properties;
public:
@@ -49,14 +58,28 @@ public:
return TEXTCOLOR;
} else if (name == "bgcolor") {
return BGCOLOR;
+ } else if (name == "bgcolor_hovered") {
+ return BGCOLOR_HOVERED;
+ } else if (name == "bgcolor_pressed") {
+ return BGCOLOR_PRESSED;
} else if (name == "noclip") {
return NOCLIP;
} else if (name == "border") {
return BORDER;
} else if (name == "bgimg") {
return BGIMG;
+ } else if (name == "bgimg_hovered") {
+ return BGIMG_HOVERED;
+ } else if (name == "bgimg_middle") {
+ return BGIMG_MIDDLE;
} else if (name == "bgimg_pressed") {
return BGIMG_PRESSED;
+ } else if (name == "fgimg") {
+ return FGIMG;
+ } else if (name == "fgimg_hovered") {
+ return FGIMG_HOVERED;
+ } else if (name == "fgimg_pressed") {
+ return FGIMG_PRESSED;
} else if (name == "alpha") {
return ALPHA;
} else {
@@ -97,6 +120,52 @@ public:
return color;
}
+ irr::core::rect<s32> getRect(Property prop, irr::core::rect<s32> def) const
+ {
+ const auto &val = properties[prop];
+ if (val.empty())
+ return def;
+
+ irr::core::rect<s32> rect;
+ if (!parseRect(val, &rect))
+ return def;
+
+ return rect;
+ }
+
+ irr::core::rect<s32> getRect(Property prop) const
+ {
+ const auto &val = properties[prop];
+ FATAL_ERROR_IF(val.empty(), "Unexpected missing property");
+
+ irr::core::rect<s32> rect;
+ parseRect(val, &rect);
+ return rect;
+ }
+
+ video::ITexture *getTexture(Property prop, ISimpleTextureSource *tsrc,
+ video::ITexture *def) const
+ {
+ const auto &val = properties[prop];
+ if (val.empty()) {
+ return def;
+ }
+
+ video::ITexture *texture = tsrc->getTexture(val);
+
+ return texture;
+ }
+
+ video::ITexture *getTexture(Property prop, ISimpleTextureSource *tsrc) const
+ {
+ const auto &val = properties[prop];
+ FATAL_ERROR_IF(val.empty(), "Unexpected missing property");
+
+ video::ITexture *texture = tsrc->getTexture(val);
+
+ return texture;
+ }
+
bool getBool(Property prop, bool def) const
{
const auto &val = properties[prop];
@@ -132,4 +201,36 @@ public:
newspec |= other;
return newspec;
}
+
+private:
+ bool parseRect(const std::string &value, irr::core::rect<s32> *parsed_rect) const
+ {
+ irr::core::rect<s32> rect;
+ std::vector<std::string> v_rect = split(value, ',');
+
+ if (v_rect.size() == 1) {
+ s32 x = stoi(v_rect[0]);
+ rect.UpperLeftCorner = irr::core::vector2di(x, x);
+ rect.LowerRightCorner = irr::core::vector2di(-x, -x);
+ } else if (v_rect.size() == 2) {
+ s32 x = stoi(v_rect[0]);
+ s32 y = stoi(v_rect[1]);
+ rect.UpperLeftCorner = irr::core::vector2di(x, y);
+ rect.LowerRightCorner = irr::core::vector2di(-x, -y);
+ // `-x` is interpreted as `w - x`
+ } else if (v_rect.size() == 4) {
+ rect.UpperLeftCorner = irr::core::vector2di(
+ stoi(v_rect[0]), stoi(v_rect[1]));
+ rect.LowerRightCorner = irr::core::vector2di(
+ stoi(v_rect[2]), stoi(v_rect[3]));
+ } else {
+ warningstream << "Invalid rectangle string format: \"" << value
+ << "\"" << std::endl;
+ return false;
+ }
+
+ *parsed_rect = rect;
+
+ return true;
+ }
};
diff --git a/src/gui/guiAnimatedImage.cpp b/src/gui/guiAnimatedImage.cpp
new file mode 100644
index 000000000..b1447c45f
--- /dev/null
+++ b/src/gui/guiAnimatedImage.cpp
@@ -0,0 +1,73 @@
+#include "guiAnimatedImage.h"
+
+#include "client/guiscalingfilter.h"
+#include "client/tile.h" // ITextureSource
+#include "log.h"
+#include "porting.h"
+#include "util/string.h"
+#include <string>
+#include <vector>
+
+GUIAnimatedImage::GUIAnimatedImage(gui::IGUIEnvironment *env, gui::IGUIElement *parent,
+ s32 id, const core::rect<s32> &rectangle, const std::string &texture_name,
+ s32 frame_count, s32 frame_duration, ISimpleTextureSource *tsrc) :
+ gui::IGUIElement(gui::EGUIET_ELEMENT, env, parent, id, rectangle), m_tsrc(tsrc)
+{
+ m_texture = m_tsrc->getTexture(texture_name);
+
+ m_frame_count = std::max(frame_count, 1);
+ m_frame_duration = std::max(frame_duration, 0);
+
+ if (m_texture != nullptr) {
+ core::dimension2d<u32> size = m_texture->getOriginalSize();
+ if (size.Height < (u64)m_frame_count)
+ m_frame_count = size.Height;
+ } else {
+ // No need to step an animation if we have nothing to draw
+ m_frame_count = 1;
+ }
+}
+
+void GUIAnimatedImage::draw()
+{
+ // Render the current frame
+ if (m_texture != nullptr) {
+ video::IVideoDriver *driver = Environment->getVideoDriver();
+
+ const video::SColor color(255, 255, 255, 255);
+ const video::SColor colors[] = {color, color, color, color};
+
+ core::dimension2d<u32> size = m_texture->getOriginalSize();
+ size.Height /= m_frame_count;
+
+ draw2DImageFilterScaled(driver, m_texture, AbsoluteRect,
+ core::rect<s32>(core::position2d<s32>(0, size.Height * m_frame_idx), size),
+ NoClip ? nullptr : &AbsoluteClippingRect, colors, true);
+ }
+
+ // Step the animation
+ if (m_frame_count > 1 && m_frame_duration > 0) {
+ // Determine the delta time to step
+ u64 new_global_time = porting::getTimeMs();
+ if (m_global_time > 0)
+ m_frame_time += new_global_time - m_global_time;
+
+ m_global_time = new_global_time;
+
+ // Advance by the number of elapsed frames, looping if necessary
+ m_frame_idx += u32(m_frame_time / m_frame_duration);
+ m_frame_idx %= m_frame_count;
+
+ // If 1 or more frames have elapsed, reset the frame time counter with
+ // the remainder
+ m_frame_time %= m_frame_duration;
+ }
+}
+
+
+void GUIAnimatedImage::setFrameIndex(s32 frame)
+{
+ s32 idx = std::max(frame, 0);
+ if (idx > 0 && idx < m_frame_count)
+ m_frame_idx = idx;
+}
diff --git a/src/gui/guiAnimatedImage.h b/src/gui/guiAnimatedImage.h
new file mode 100644
index 000000000..f8e6a506e
--- /dev/null
+++ b/src/gui/guiAnimatedImage.h
@@ -0,0 +1,28 @@
+#pragma once
+
+#include "irrlichttypes_extrabloated.h"
+#include <string>
+
+class ISimpleTextureSource;
+
+class GUIAnimatedImage : public gui::IGUIElement {
+public:
+ GUIAnimatedImage(gui::IGUIEnvironment *env, gui::IGUIElement *parent,
+ s32 id, const core::rect<s32> &rectangle, const std::string &texture_name,
+ s32 frame_count, s32 frame_duration, ISimpleTextureSource *tsrc);
+
+ virtual void draw() override;
+
+ void setFrameIndex(s32 frame);
+ s32 getFrameIndex() const { return m_frame_idx; };
+
+private:
+ ISimpleTextureSource *m_tsrc;
+
+ video::ITexture *m_texture = nullptr;
+ u64 m_global_time = 0;
+ s32 m_frame_idx = 0;
+ s32 m_frame_count = 1;
+ u64 m_frame_duration = 1;
+ u64 m_frame_time = 0;
+};
diff --git a/src/gui/guiBackgroundImage.cpp b/src/gui/guiBackgroundImage.cpp
new file mode 100644
index 000000000..21c1e88cf
--- /dev/null
+++ b/src/gui/guiBackgroundImage.cpp
@@ -0,0 +1,69 @@
+/*
+Part of Minetest
+Copyright (C) 2013 RealBadAngel, Maciej Kasatkin <mk@realbadangel.pl>
+
+Permission to use, copy, modify, and distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+*/
+
+#include "guiBackgroundImage.h"
+#include "client/guiscalingfilter.h"
+#include "log.h"
+
+GUIBackgroundImage::GUIBackgroundImage(gui::IGUIEnvironment *env,
+ gui::IGUIElement *parent, s32 id, const core::rect<s32> &rectangle,
+ const std::string &name, const core::rect<s32> &middle,
+ ISimpleTextureSource *tsrc, bool autoclip) :
+ gui::IGUIElement(gui::EGUIET_ELEMENT, env, parent, id, rectangle),
+ m_name(name), m_middle(middle), m_tsrc(tsrc), m_autoclip(autoclip)
+{
+}
+
+void GUIBackgroundImage::draw()
+{
+ if (!IsVisible)
+ return;
+
+ video::ITexture *texture = m_tsrc->getTexture(m_name);
+
+ if (!texture) {
+ errorstream << "GUIBackgroundImage::draw() Unable to load texture:"
+ << std::endl;
+ errorstream << "\t" << m_name << std::endl;
+ return;
+ }
+
+ core::rect<s32> rect = AbsoluteRect;
+ if (m_autoclip)
+ rect.LowerRightCorner += Parent->getAbsolutePosition().getSize();
+
+ video::IVideoDriver *driver = Environment->getVideoDriver();
+
+ if (m_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())),
+ nullptr, colors, true);
+ } else {
+ core::rect<s32> middle = m_middle;
+ // `-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);
+ }
+
+ IGUIElement::draw();
+}
diff --git a/src/gui/guiBackgroundImage.h b/src/gui/guiBackgroundImage.h
new file mode 100644
index 000000000..31fbfd09c
--- /dev/null
+++ b/src/gui/guiBackgroundImage.h
@@ -0,0 +1,38 @@
+/*
+Part of Minetest
+Copyright (C) 2013 RealBadAngel, Maciej Kasatkin <mk@realbadangel.pl>
+
+Permission to use, copy, modify, and distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+*/
+
+#pragma once
+
+#include "irrlichttypes_extrabloated.h"
+#include "util/string.h"
+#include "client/tile.h" // ITextureSource
+
+class GUIBackgroundImage : public gui::IGUIElement
+{
+public:
+ GUIBackgroundImage(gui::IGUIEnvironment *env, gui::IGUIElement *parent, s32 id,
+ const core::rect<s32> &rectangle, const std::string &name,
+ const core::rect<s32> &middle, ISimpleTextureSource *tsrc, bool autoclip);
+
+ virtual void draw() override;
+
+private:
+ std::string m_name;
+ core::rect<s32> m_middle;
+ ISimpleTextureSource *m_tsrc;
+ bool m_autoclip;
+};
diff --git a/src/gui/guiBox.cpp b/src/gui/guiBox.cpp
new file mode 100644
index 000000000..7f329cc32
--- /dev/null
+++ b/src/gui/guiBox.cpp
@@ -0,0 +1,38 @@
+/*
+Minetest
+Copyright (C) 2013 celeron55, Perttu Ahola <celeron55@gmail.com>
+
+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 "guiBox.h"
+
+GUIBox::GUIBox(gui::IGUIEnvironment *env, gui::IGUIElement *parent, s32 id,
+ const core::rect<s32> &rectangle, const video::SColor &color) :
+ gui::IGUIElement(gui::EGUIET_ELEMENT, env, parent, id, rectangle),
+ m_color(color)
+{
+}
+
+void GUIBox::draw()
+{
+ if (!IsVisible)
+ return;
+
+ Environment->getVideoDriver()->draw2DRectangle(m_color, AbsoluteRect,
+ &AbsoluteClippingRect);
+
+ IGUIElement::draw();
+}
diff --git a/src/gui/guiBox.h b/src/gui/guiBox.h
new file mode 100644
index 000000000..5306fdf65
--- /dev/null
+++ b/src/gui/guiBox.h
@@ -0,0 +1,34 @@
+/*
+Minetest
+Copyright (C) 2013 celeron55, Perttu Ahola <celeron55@gmail.com>
+
+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 "irrlichttypes_extrabloated.h"
+
+class GUIBox : public gui::IGUIElement
+{
+public:
+ GUIBox(gui::IGUIEnvironment *env, gui::IGUIElement *parent, s32 id,
+ const core::rect<s32> &rectangle, const video::SColor &color);
+
+ virtual void draw() override;
+
+private:
+ video::SColor m_color;
+};
diff --git a/src/gui/guiButton.cpp b/src/gui/guiButton.cpp
index 60d330f4a..4c16ee237 100644
--- a/src/gui/guiButton.cpp
+++ b/src/gui/guiButton.cpp
@@ -5,15 +5,25 @@
#include "guiButton.h"
+#include "client/guiscalingfilter.h"
+#include "client/tile.h"
#include "IGUISkin.h"
#include "IGUIEnvironment.h"
#include "IVideoDriver.h"
#include "IGUIFont.h"
+#include "irrlicht_changes/static_text.h"
#include "porting.h"
+#include "StyleSpec.h"
using namespace irr;
using namespace gui;
+// Multiply with a color to get the default corresponding hovered color
+#define COLOR_HOVERED_MOD 1.25f
+
+// Multiply with a color to get the default corresponding pressed color
+#define COLOR_PRESSED_MOD 0.85f
+
//! constructor
GUIButton::GUIButton(IGUIEnvironment* environment, IGUIElement* parent,
s32 id, core::rect<s32> rectangle, bool noclip)
@@ -34,7 +44,17 @@ GUIButton::GUIButton(IGUIEnvironment* environment, IGUIElement* parent,
// PATCH
for (size_t i = 0; i < 4; i++) {
Colors[i] = Environment->getSkin()->getColor((EGUI_DEFAULT_COLOR)i);
+ HoveredColors[i] = irr::video::SColor(Colors[i].getAlpha(),
+ core::clamp<u32>(Colors[i].getRed() * COLOR_HOVERED_MOD, 0, 255),
+ core::clamp<u32>(Colors[i].getGreen() * COLOR_HOVERED_MOD, 0, 255),
+ core::clamp<u32>(Colors[i].getBlue() * COLOR_HOVERED_MOD, 0, 255));
+ PressedColors[i] = irr::video::SColor(Colors[i].getAlpha(),
+ core::clamp<u32>(Colors[i].getRed() * COLOR_PRESSED_MOD, 0, 255),
+ core::clamp<u32>(Colors[i].getGreen() * COLOR_PRESSED_MOD, 0, 255),
+ core::clamp<u32>(Colors[i].getBlue() * COLOR_PRESSED_MOD, 0, 255));
}
+ StaticText = gui::StaticText::add(Environment, Text.c_str(), core::rect<s32>(0,0,rectangle.getWidth(),rectangle.getHeight()), false, false, this, id);
+ StaticText->setTextAlignment(EGUIA_CENTER, EGUIA_CENTER);
// END PATCH
}
@@ -182,8 +202,12 @@ bool GUIButton::OnEvent(const SEvent& event)
case EET_MOUSE_INPUT_EVENT:
if (event.MouseInput.Event == EMIE_LMOUSE_PRESSED_DOWN)
{
- if (!IsPushButton)
+ // Sometimes formspec elements can receive mouse events when the
+ // mouse is outside of the formspec. Thus, we test the position here.
+ if ( !IsPushButton && AbsoluteClippingRect.isPointInside(
+ core::position2d<s32>(event.MouseInput.X, event.MouseInput.Y ))) {
setPressed(true);
+ }
return true;
}
@@ -247,13 +271,15 @@ void GUIButton::draw()
if (!Pressed)
{
// PATCH
- skin->drawColored3DButtonPaneStandard(this, AbsoluteRect, &AbsoluteClippingRect, Colors);
+ skin->drawColored3DButtonPaneStandard(this, AbsoluteRect, &AbsoluteClippingRect,
+ isHovered() ? HoveredColors : Colors);
// END PATCH
}
else
{
// PATCH
- skin->drawColored3DButtonPanePressed(this, AbsoluteRect, &AbsoluteClippingRect, Colors);
+ skin->drawColored3DButtonPanePressed(this,
+ AbsoluteRect, &AbsoluteClippingRect, PressedColors);
// END PATCH
}
}
@@ -281,10 +307,25 @@ void GUIButton::draw()
}
}
- driver->draw2DImage(ButtonImages[(u32)imageState].Texture,
- ScaleImage? AbsoluteRect : core::rect<s32>(pos, sourceRect.getSize()),
- sourceRect, &AbsoluteClippingRect,
- 0, UseAlphaChannel);
+ // PATCH
+ video::ITexture* texture = ButtonImages[(u32)imageState].Texture;
+ if (BgMiddle.getArea() == 0) {
+ driver->draw2DImage(texture,
+ ScaleImage? AbsoluteRect : core::rect<s32>(pos, sourceRect.getSize()),
+ sourceRect, &AbsoluteClippingRect,
+ 0, UseAlphaChannel);
+ } else {
+ core::rect<s32> middle = BgMiddle;
+ // `-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,
+ ScaleImage ? AbsoluteRect : core::rect<s32>(pos, sourceRect.getSize()),
+ middle, &AbsoluteClippingRect);
+ }
+ // END PATCH
}
if (SpriteBank)
@@ -302,7 +343,7 @@ void GUIButton::draw()
drawSprite(state, FocusTime, pos);
// mouse over / off animation
- state = Environment->getHovered() == this ? EGBS_BUTTON_MOUSE_OVER : EGBS_BUTTON_MOUSE_OFF;
+ state = isHovered() ? EGBS_BUTTON_MOUSE_OVER : EGBS_BUTTON_MOUSE_OFF;
drawSprite(state, HoverTime, pos);
}
else
@@ -312,23 +353,6 @@ void GUIButton::draw()
}
}
- 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();
}
@@ -356,10 +380,17 @@ void GUIButton::drawSprite(EGUI_BUTTON_STATE state, u32 startTime, const core::p
EGUI_BUTTON_IMAGE_STATE GUIButton::getImageState(bool pressed) const
{
+ // PATCH
+ return getImageState(pressed, ButtonImages);
+ // END PATCH
+}
+
+EGUI_BUTTON_IMAGE_STATE GUIButton::getImageState(bool pressed, const ButtonImage* images) 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)
+ bool mouseOver = isHovered();
if (isEnabled())
{
if ( pressed )
@@ -387,12 +418,13 @@ EGUI_BUTTON_IMAGE_STATE GUIButton::getImageState(bool pressed) const
}
// find a compatible state that has images
- while ( state != EGBIS_IMAGE_UP && !ButtonImages[(u32)state].Texture )
+ while ( state != EGBIS_IMAGE_UP && !images[(u32)state].Texture )
{
+ // PATCH
switch ( state )
{
case EGBIS_IMAGE_UP_FOCUSED:
- state = EGBIS_IMAGE_UP_MOUSEOVER;
+ state = EGBIS_IMAGE_UP;
break;
case EGBIS_IMAGE_UP_FOCUSED_MOUSEOVER:
state = EGBIS_IMAGE_UP_FOCUSED;
@@ -401,7 +433,7 @@ EGUI_BUTTON_IMAGE_STATE GUIButton::getImageState(bool pressed) const
state = EGBIS_IMAGE_DOWN;
break;
case EGBIS_IMAGE_DOWN_FOCUSED:
- state = EGBIS_IMAGE_DOWN_MOUSEOVER;
+ state = EGBIS_IMAGE_DOWN;
break;
case EGBIS_IMAGE_DOWN_FOCUSED_MOUSEOVER:
state = EGBIS_IMAGE_DOWN_FOCUSED;
@@ -415,6 +447,7 @@ EGUI_BUTTON_IMAGE_STATE GUIButton::getImageState(bool pressed) const
default:
state = EGBIS_IMAGE_UP;
}
+ // END PATCH
}
return state;
@@ -433,6 +466,8 @@ void GUIButton::setOverrideFont(IGUIFont* font)
if (OverrideFont)
OverrideFont->grab();
+
+ StaticText->setOverrideFont(font);
}
//! Gets the override font (if any)
@@ -457,6 +492,8 @@ void GUIButton::setOverrideColor(video::SColor color)
{
OverrideColor = color;
OverrideColorEnabled = true;
+
+ StaticText->setOverrideColor(color);
}
video::SColor GUIButton::getOverrideColor() const
@@ -490,6 +527,48 @@ void GUIButton::setImage(EGUI_BUTTON_IMAGE_STATE state, video::ITexture* image,
ButtonImages[stateIdx].SourceRect = sourceRect;
}
+// PATCH
+void GUIButton::setImage(video::ITexture* image)
+{
+ setImage(gui::EGBIS_IMAGE_UP, image);
+}
+
+void GUIButton::setImage(video::ITexture* image, const core::rect<s32>& pos)
+{
+ setImage(gui::EGBIS_IMAGE_UP, image, pos);
+}
+
+void GUIButton::setPressedImage(video::ITexture* image)
+{
+ setImage(gui::EGBIS_IMAGE_DOWN, image);
+}
+
+void GUIButton::setPressedImage(video::ITexture* image, const core::rect<s32>& pos)
+{
+ setImage(gui::EGBIS_IMAGE_DOWN, image, pos);
+}
+
+void GUIButton::setHoveredImage(video::ITexture* image)
+{
+ setImage(gui::EGBIS_IMAGE_UP_MOUSEOVER, image);
+ setImage(gui::EGBIS_IMAGE_UP_FOCUSED_MOUSEOVER, image);
+}
+
+void GUIButton::setHoveredImage(video::ITexture* image, const core::rect<s32>& pos)
+{
+ setImage(gui::EGBIS_IMAGE_UP_MOUSEOVER, image, pos);
+ setImage(gui::EGBIS_IMAGE_UP_FOCUSED_MOUSEOVER, image, pos);
+}
+
+//! Sets the text displayed by the button
+void GUIButton::setText(const wchar_t* text)
+{
+ StaticText->setText(text);
+
+ IGUIButton::setText(text);
+}
+// END PATCH
+
//! 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.
@@ -505,6 +584,14 @@ bool GUIButton::isPressed() const
return Pressed;
}
+// PATCH
+//! Returns if this element (or one of its direct children) is hovered
+bool GUIButton::isHovered() const
+{
+ IGUIElement *hovered = Environment->getHovered();
+ return hovered == this || (hovered != nullptr && hovered->getParent() == this);
+}
+// END PATCH
//! Sets the pressed state of the button if this is a pushbutton
void GUIButton::setPressed(bool pressed)
@@ -513,6 +600,24 @@ void GUIButton::setPressed(bool pressed)
{
ClickTime = porting::getTimeMs();
Pressed = pressed;
+
+ GUISkin* skin = dynamic_cast<GUISkin*>(Environment->getSkin());
+
+ for(IGUIElement *child : getChildren())
+ {
+ core::rect<s32> originalRect = child->getRelativePosition();
+ if (Pressed) {
+ child->setRelativePosition(originalRect +
+ core::dimension2d<s32>(
+ skin->getSize(irr::gui::EGDS_BUTTON_PRESSED_IMAGE_OFFSET_X),
+ skin->getSize(irr::gui::EGDS_BUTTON_PRESSED_IMAGE_OFFSET_Y)));
+ } else {
+ child->setRelativePosition(originalRect -
+ core::dimension2d<s32>(
+ skin->getSize(irr::gui::EGDS_BUTTON_PRESSED_IMAGE_OFFSET_X),
+ skin->getSize(irr::gui::EGDS_BUTTON_PRESSED_IMAGE_OFFSET_Y)));
+ }
+ }
}
}
@@ -644,6 +749,76 @@ void GUIButton::setColor(video::SColor color)
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);
+ HoveredColors[i] = irr::video::SColor(Colors[i].getAlpha(),
+ core::clamp<u32>(Colors[i].getRed() * COLOR_HOVERED_MOD, 0, 255),
+ core::clamp<u32>(Colors[i].getGreen() * COLOR_HOVERED_MOD, 0, 255),
+ core::clamp<u32>(Colors[i].getBlue() * COLOR_HOVERED_MOD, 0, 255));
+ PressedColors[i] = irr::video::SColor(Colors[i].getAlpha(),
+ core::clamp<u32>(Colors[i].getRed() * COLOR_PRESSED_MOD, 0, 255),
+ core::clamp<u32>(Colors[i].getGreen() * COLOR_PRESSED_MOD, 0, 255),
+ core::clamp<u32>(Colors[i].getBlue() * COLOR_PRESSED_MOD, 0, 255));
+ }
+}
+void GUIButton::setHoveredColor(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);
+ HoveredColors[i] = base.getInterpolated(color, d);
+ }
+}
+void GUIButton::setPressedColor(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);
+ PressedColors[i] = base.getInterpolated(color, d);
+ }
+}
+
+//! Set element properties from a StyleSpec
+void GUIButton::setFromStyle(const StyleSpec& style, ISimpleTextureSource *tsrc)
+{
+ if (style.isNotDefault(StyleSpec::BGCOLOR)) {
+ setColor(style.getColor(StyleSpec::BGCOLOR));
+ }
+ if (style.isNotDefault(StyleSpec::BGCOLOR_HOVERED)) {
+ setHoveredColor(style.getColor(StyleSpec::BGCOLOR_HOVERED));
+ }
+ if (style.isNotDefault(StyleSpec::BGCOLOR_PRESSED)) {
+ setPressedColor(style.getColor(StyleSpec::BGCOLOR_PRESSED));
+ }
+
+ if (style.isNotDefault(StyleSpec::TEXTCOLOR)) {
+ setOverrideColor(style.getColor(StyleSpec::TEXTCOLOR));
+ }
+ setNotClipped(style.getBool(StyleSpec::NOCLIP, isNotClipped()));
+ setDrawBorder(style.getBool(StyleSpec::BORDER, DrawBorder));
+ setUseAlphaChannel(style.getBool(StyleSpec::ALPHA, true));
+
+ const core::position2di buttonCenter(AbsoluteRect.getCenter());
+ core::position2d<s32> geom(buttonCenter);
+ if (style.isNotDefault(StyleSpec::BGIMG)) {
+ video::ITexture *texture = style.getTexture(StyleSpec::BGIMG, tsrc);
+
+ setImage(guiScalingImageButton(
+ Environment->getVideoDriver(), texture, geom.X, geom.Y));
+ setScaleImage(true);
+ }
+ if (style.isNotDefault(StyleSpec::BGIMG_HOVERED)) {
+ video::ITexture *hovered_texture = style.getTexture(StyleSpec::BGIMG_HOVERED, tsrc);
+
+ setHoveredImage(guiScalingImageButton(
+ Environment->getVideoDriver(), hovered_texture, geom.X, geom.Y));
+ setScaleImage(true);
+ }
+ if (style.isNotDefault(StyleSpec::BGIMG_PRESSED)) {
+ video::ITexture *pressed_texture = style.getTexture(StyleSpec::BGIMG_PRESSED, tsrc);
+
+ setPressedImage(guiScalingImageButton(
+ Environment->getVideoDriver(), pressed_texture, geom.X, geom.Y));
+ setScaleImage(true);
}
+ BgMiddle = style.getRect(StyleSpec::BGIMG_MIDDLE, BgMiddle);
}
// END PATCH
diff --git a/src/gui/guiButton.h b/src/gui/guiButton.h
index 63e29ccfc..3d1f98c32 100644
--- a/src/gui/guiButton.h
+++ b/src/gui/guiButton.h
@@ -6,6 +6,8 @@
#include "IrrCompileConfig.h"
+#include <IGUIStaticText.h>
+#include "irrlicht_changes/static_text.h"
#include "IGUIButton.h"
#include "IGUISpriteBank.h"
#include "ITexture.h"
@@ -64,6 +66,9 @@ using namespace irr;
#endif
+class ISimpleTextureSource;
+class StyleSpec;
+
class GUIButton : public gui::IGUIButton
{
public:
@@ -102,34 +107,33 @@ public:
//! Checks if an override color is enabled
virtual bool isOverrideColorEnabled(void) const;
+ // PATCH
//! 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,
+ video::ITexture* image=nullptr,
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);
- }
+ virtual void setImage(video::ITexture* image=nullptr) override;
//! 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);
- }
+ virtual void setImage(video::ITexture* image, const core::rect<s32>& pos) override;
//! 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);
- }
+ virtual void setPressedImage(video::ITexture* image=nullptr) override;
//! 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);
- }
+ virtual void setPressedImage(video::ITexture* image, const core::rect<s32>& pos) override;
+
+ //! Sets an image which should be displayed on the button when it is in hovered state.
+ virtual void setHoveredImage(video::ITexture* image=nullptr);
+
+ //! Sets the text displayed by the button
+ virtual void setText(const wchar_t* text) override;
+ // END PATCH
+
+ //! Sets an image which should be displayed on the button when it is in hovered state.
+ virtual void setHoveredImage(video::ITexture* image, const core::rect<s32>& pos);
//! Sets the sprite bank used by the button
virtual void setSpriteBank(gui::IGUISpriteBank* bank=0) override;
@@ -176,6 +180,11 @@ public:
//! Returns if the button is currently pressed
virtual bool isPressed() const override;
+ // PATCH
+ //! Returns if this element (or one of its direct children) is hovered
+ bool isHovered() const;
+ // END PATCH
+
//! Sets if the button should use the skin to draw its border
virtual void setDrawBorder(bool border=true) override;
@@ -215,6 +224,13 @@ public:
void setColor(video::SColor color);
+ // PATCH
+ void setHoveredColor(video::SColor color);
+ void setPressedColor(video::SColor color);
+
+ //! Set element properties from a StyleSpec
+ virtual void setFromStyle(const StyleSpec& style, ISimpleTextureSource *tsrc);
+ // END PATCH
//! Do not drop returned handle
@@ -225,28 +241,6 @@ 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))
@@ -288,6 +282,30 @@ private:
core::rect<s32> SourceRect;
};
+ gui::EGUI_BUTTON_IMAGE_STATE getImageState(bool pressed, const ButtonImage* images) 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;
+
ButtonImage ButtonImages[gui::EGBIS_COUNT];
gui::IGUIFont* OverrideFont;
@@ -307,4 +325,12 @@ private:
bool ScaleImage;
video::SColor Colors[4];
+ // PATCH
+ video::SColor HoveredColors[4];
+ video::SColor PressedColors[4];
+
+ gui::IGUIStaticText *StaticText;
+
+ core::rect<s32> BgMiddle;
+ // END PATCH
};
diff --git a/src/gui/guiButtonImage.cpp b/src/gui/guiButtonImage.cpp
new file mode 100644
index 000000000..02d920277
--- /dev/null
+++ b/src/gui/guiButtonImage.cpp
@@ -0,0 +1,160 @@
+/*
+Minetest
+Copyright (C) 2013 celeron55, Perttu Ahola <celeron55@gmail.com>
+
+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 "guiButtonImage.h"
+
+#include "client/guiscalingfilter.h"
+#include "debug.h"
+#include "IGUIEnvironment.h"
+#include "IGUIImage.h"
+#include "IVideoDriver.h"
+#include "StyleSpec.h"
+
+using namespace irr;
+using namespace gui;
+
+GUIButtonImage::GUIButtonImage(gui::IGUIEnvironment *environment,
+ gui::IGUIElement *parent, s32 id, core::rect<s32> rectangle, bool noclip)
+ : GUIButton (environment, parent, id, rectangle, noclip)
+{
+ m_image = Environment->addImage(
+ core::rect<s32>(0,0,rectangle.getWidth(),rectangle.getHeight()), this);
+ m_image->setScaleImage(isScalingImage());
+ sendToBack(m_image);
+}
+
+bool GUIButtonImage::OnEvent(const SEvent& event)
+{
+ bool result = GUIButton::OnEvent(event);
+
+ EGUI_BUTTON_IMAGE_STATE imageState = getImageState(isPressed(), m_foreground_images);
+ video::ITexture *texture = m_foreground_images[(u32)imageState].Texture;
+ if (texture != nullptr)
+ {
+ m_image->setImage(texture);
+ }
+
+ m_image->setVisible(texture != nullptr);
+
+ return result;
+}
+
+void GUIButtonImage::setForegroundImage(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 (m_foreground_images[stateIdx].Texture)
+ m_foreground_images[stateIdx].Texture->drop();
+
+ m_foreground_images[stateIdx].Texture = image;
+ m_foreground_images[stateIdx].SourceRect = sourceRect;
+
+ EGUI_BUTTON_IMAGE_STATE imageState = getImageState(isPressed(), m_foreground_images);
+ if (imageState == stateIdx)
+ m_image->setImage(image);
+}
+
+void GUIButtonImage::setForegroundImage(video::ITexture *image)
+{
+ setForegroundImage(gui::EGBIS_IMAGE_UP, image);
+}
+
+void GUIButtonImage::setForegroundImage(video::ITexture *image, const core::rect<s32> &pos)
+{
+ setForegroundImage(gui::EGBIS_IMAGE_UP, image, pos);
+}
+
+void GUIButtonImage::setPressedForegroundImage(video::ITexture *image)
+{
+ setForegroundImage(gui::EGBIS_IMAGE_DOWN, image);
+}
+
+void GUIButtonImage::setPressedForegroundImage(video::ITexture *image, const core::rect<s32> &pos)
+{
+ setForegroundImage(gui::EGBIS_IMAGE_DOWN, image, pos);
+}
+
+void GUIButtonImage::setHoveredForegroundImage(video::ITexture *image)
+{
+ setForegroundImage(gui::EGBIS_IMAGE_UP_MOUSEOVER, image);
+ setForegroundImage(gui::EGBIS_IMAGE_UP_FOCUSED_MOUSEOVER, image);
+}
+
+void GUIButtonImage::setHoveredForegroundImage(video::ITexture *image, const core::rect<s32> &pos)
+{
+ setForegroundImage(gui::EGBIS_IMAGE_UP_MOUSEOVER, image, pos);
+ setForegroundImage(gui::EGBIS_IMAGE_UP_FOCUSED_MOUSEOVER, image, pos);
+}
+
+void GUIButtonImage::setFromStyle(const StyleSpec &style, ISimpleTextureSource *tsrc)
+{
+ GUIButton::setFromStyle(style, tsrc);
+
+ video::IVideoDriver *driver = Environment->getVideoDriver();
+
+ const core::position2di buttonCenter(AbsoluteRect.getCenter());
+ core::position2d<s32> geom(buttonCenter);
+ if (style.isNotDefault(StyleSpec::FGIMG)) {
+ video::ITexture *texture = style.getTexture(StyleSpec::FGIMG, tsrc);
+
+ setForegroundImage(guiScalingImageButton(driver, texture, geom.X, geom.Y));
+ setScaleImage(true);
+ }
+ if (style.isNotDefault(StyleSpec::FGIMG_HOVERED)) {
+ video::ITexture *hovered_texture = style.getTexture(StyleSpec::FGIMG_HOVERED, tsrc);
+
+ setHoveredForegroundImage(guiScalingImageButton(driver, hovered_texture, geom.X, geom.Y));
+ setScaleImage(true);
+ }
+ if (style.isNotDefault(StyleSpec::FGIMG_PRESSED)) {
+ video::ITexture *pressed_texture = style.getTexture(StyleSpec::FGIMG_PRESSED, tsrc);
+
+ setPressedForegroundImage(guiScalingImageButton(driver, pressed_texture, geom.X, geom.Y));
+ setScaleImage(true);
+ }
+}
+
+void GUIButtonImage::setScaleImage(bool scaleImage)
+{
+ GUIButton::setScaleImage(scaleImage);
+ m_image->setScaleImage(scaleImage);
+}
+
+GUIButtonImage *GUIButtonImage::addButton(IGUIEnvironment *environment,
+ const core::rect<s32> &rectangle, IGUIElement *parent, s32 id,
+ const wchar_t *text, const wchar_t *tooltiptext)
+{
+ GUIButtonImage *button = new GUIButtonImage(environment,
+ parent ? parent : environment->getRootGUIElement(), id, rectangle);
+
+ if (text)
+ button->setText(text);
+
+ if (tooltiptext)
+ button->setToolTipText(tooltiptext);
+
+ button->drop();
+ return button;
+}
diff --git a/src/gui/guiButtonImage.h b/src/gui/guiButtonImage.h
new file mode 100644
index 000000000..15901ee5d
--- /dev/null
+++ b/src/gui/guiButtonImage.h
@@ -0,0 +1,59 @@
+/*
+Minetest
+Copyright (C) 2013 celeron55, Perttu Ahola <celeron55@gmail.com>
+
+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 "guiButton.h"
+#include "IGUIButton.h"
+
+using namespace irr;
+
+class GUIButtonImage : public GUIButton
+{
+public:
+ //! constructor
+ GUIButtonImage(gui::IGUIEnvironment *environment, gui::IGUIElement *parent,
+ s32 id, core::rect<s32> rectangle, bool noclip = false);
+
+ virtual bool OnEvent(const SEvent& event) override;
+
+ void setForegroundImage(gui::EGUI_BUTTON_IMAGE_STATE state,
+ video::ITexture *image = nullptr,
+ const core::rect<s32> &sourceRect = core::rect<s32>(0, 0, 0, 0));
+
+ void setForegroundImage(video::ITexture *image = nullptr);
+ void setForegroundImage(video::ITexture *image, const core::rect<s32> &pos);
+
+ void setPressedForegroundImage(video::ITexture *image = nullptr);
+ void setPressedForegroundImage(video::ITexture *image, const core::rect<s32> &pos);
+
+ void setHoveredForegroundImage(video::ITexture *image = nullptr);
+ void setHoveredForegroundImage(video::ITexture *image, const core::rect<s32> &pos);
+
+ virtual void setFromStyle(const StyleSpec &style, ISimpleTextureSource *tsrc) override;
+
+ virtual void setScaleImage(bool scaleImage=true) override;
+
+ //! Do not drop returned handle
+ static GUIButtonImage *addButton(gui::IGUIEnvironment *environment,
+ const core::rect<s32> &rectangle, IGUIElement *parent, s32 id,
+ const wchar_t *text, const wchar_t *tooltiptext = L"");
+
+private:
+ ButtonImage m_foreground_images[gui::EGBIS_COUNT];
+ gui::IGUIImage *m_image;
+};
diff --git a/src/gui/guiButtonItemImage.cpp b/src/gui/guiButtonItemImage.cpp
new file mode 100644
index 000000000..5c48b2acd
--- /dev/null
+++ b/src/gui/guiButtonItemImage.cpp
@@ -0,0 +1,57 @@
+/*
+Minetest
+Copyright (C) 2013 celeron55, Perttu Ahola <celeron55@gmail.com>
+
+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 "guiButtonItemImage.h"
+
+#include "client/client.h"
+#include "client/hud.h" // drawItemStack
+#include "guiItemImage.h"
+#include "IGUIEnvironment.h"
+#include "itemdef.h"
+
+using namespace irr;
+using namespace gui;
+
+GUIButtonItemImage::GUIButtonItemImage(gui::IGUIEnvironment *environment, gui::IGUIElement *parent,
+ s32 id, core::rect<s32> rectangle, std::string item, Client *client, bool noclip)
+ : GUIButton (environment, parent, id, rectangle, noclip)
+{
+ m_image = new GUIItemImage(environment, this, id,
+ core::rect<s32>(0,0,rectangle.getWidth(),rectangle.getHeight()),
+ item, getActiveFont(), client);
+ sendToBack(m_image);
+
+ m_item_name = item;
+ m_client = client;
+}
+
+GUIButtonItemImage *GUIButtonItemImage::addButton(IGUIEnvironment *environment,
+ const core::rect<s32> &rectangle, IGUIElement *parent, s32 id,
+ const wchar_t *text, std::string item, Client *client)
+{
+ GUIButtonItemImage *button = new GUIButtonItemImage(environment,
+ parent ? parent : environment->getRootGUIElement(),
+ id, rectangle, item, client);
+
+ if (text)
+ button->setText(text);
+
+ button->drop();
+ return button;
+}
diff --git a/src/gui/guiButtonItemImage.h b/src/gui/guiButtonItemImage.h
new file mode 100644
index 000000000..0a61874da
--- /dev/null
+++ b/src/gui/guiButtonItemImage.h
@@ -0,0 +1,45 @@
+/*
+Minetest
+Copyright (C) 2013 celeron55, Perttu Ahola <celeron55@gmail.com>
+
+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 "guiButton.h"
+#include "IGUIButton.h"
+
+using namespace irr;
+
+class Client;
+class GUIItemImage;
+
+class GUIButtonItemImage : public GUIButton
+{
+public:
+ //! constructor
+ GUIButtonItemImage(gui::IGUIEnvironment *environment, gui::IGUIElement *parent,
+ s32 id, core::rect<s32> rectangle, std::string item,
+ Client *client, bool noclip = false);
+
+ //! Do not drop returned handle
+ static GUIButtonItemImage *addButton(gui::IGUIEnvironment *environment,
+ const core::rect<s32> &rectangle, IGUIElement *parent, s32 id,
+ const wchar_t *text, std::string item, Client *client);
+
+private:
+ std::string m_item_name;
+ Client *m_client;
+ GUIItemImage *m_image;
+};
diff --git a/src/gui/guiConfirmRegistration.cpp b/src/gui/guiConfirmRegistration.cpp
index 6fe2a4fc4..0d8bdf54e 100644
--- a/src/gui/guiConfirmRegistration.cpp
+++ b/src/gui/guiConfirmRegistration.cpp
@@ -20,6 +20,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "guiConfirmRegistration.h"
#include "client/client.h"
+#include "guiButton.h"
#include <IGUICheckBox.h>
#include <IGUIButton.h>
#include <IGUIStaticText.h>
@@ -32,8 +33,9 @@ with this program; if not, write to the Free Software Foundation, Inc.,
// Continuing from guiPasswordChange.cpp
const int ID_confirmPassword = 262;
const int ID_confirm = 263;
-const int ID_message = 264;
+const int ID_intotext = 264;
const int ID_cancel = 265;
+const int ID_message = 266;
GUIConfirmRegistration::GUIConfirmRegistration(gui::IGUIEnvironment *env,
gui::IGUIElement *parent, s32 id, IMenuManager *menumgr, Client *client,
@@ -105,7 +107,7 @@ void GUIConfirmRegistration::regenerateGui(v2u32 screensize)
wchar_t *info_text_buf_wide = utf8_to_wide_c(info_text_buf);
gui::IGUIEditBox *e = new gui::intlGUIEditBox(info_text_buf_wide, true,
- Environment, this, ID_message, rect2, false, true);
+ Environment, this, ID_intotext, rect2, false, true);
delete[] info_text_buf_wide;
e->drop();
e->setMultiLine(true);
@@ -113,7 +115,7 @@ void GUIConfirmRegistration::regenerateGui(v2u32 screensize)
e->setTextAlignment(gui::EGUIA_UPPERLEFT, gui::EGUIA_CENTER);
}
- ypos += 210 * s;
+ ypos += 200 * s;
{
core::rect<s32> rect2(0, 0, 540 * s, 30 * s);
rect2 += topleft_client + v2s32(30 * s, ypos);
@@ -123,24 +125,24 @@ void GUIConfirmRegistration::regenerateGui(v2u32 screensize)
Environment->setFocus(e);
}
- ypos += 60 * s;
+ ypos += 50 * s;
{
core::rect<s32> rect2(0, 0, 230 * s, 35 * s);
rect2 = rect2 + v2s32(size.X / 2 - 220 * s, ypos);
text = wgettext("Register and Join");
- Environment->addButton(rect2, this, ID_confirm, text);
+ GUIButton::addButton(Environment, rect2, this, ID_confirm, text);
delete[] text;
}
{
core::rect<s32> rect2(0, 0, 120 * s, 35 * s);
rect2 = rect2 + v2s32(size.X / 2 + 70 * s, ypos);
text = wgettext("Cancel");
- Environment->addButton(rect2, this, ID_cancel, text);
+ GUIButton::addButton(Environment, rect2, this, ID_cancel, text);
delete[] text;
}
{
- core::rect<s32> rect2(0, 0, 200 * s, 20 * s);
- rect2 += topleft_client + v2s32(30 * s, ypos - 40 * s);
+ core::rect<s32> rect2(0, 0, 500 * s, 40 * s);
+ rect2 += topleft_client + v2s32(30 * s, ypos + 40 * s);
text = wgettext("Passwords do not match!");
IGUIElement *e = Environment->addStaticText(
text, rect2, false, true, this, ID_message);
diff --git a/src/gui/guiEditBoxWithScrollbar.cpp b/src/gui/guiEditBoxWithScrollbar.cpp
index 2f909f54f..442406688 100644
--- a/src/gui/guiEditBoxWithScrollbar.cpp
+++ b/src/gui/guiEditBoxWithScrollbar.cpp
@@ -1109,10 +1109,13 @@ void GUIEditBoxWithScrollBar::breakText()
m_broken_text_positions.push_back(last_line_start);
}
-// TODO: that function does interpret VAlign according to line-index (indexed line is placed on top-center-bottom)
-// but HAlign according to line-width (pixels) and not by row.
-// Intuitively I suppose HAlign handling is better as VScrollPos should handle the line-scrolling.
-// But please no one change this without also rewriting (and this time fucking testing!!!) autoscrolling (I noticed this when fixing the old autoscrolling).
+// TODO: that function does interpret VAlign according to line-index (indexed
+// line is placed on top-center-bottom) but HAlign according to line-width
+// (pixels) and not by row.
+// Intuitively I suppose HAlign handling is better as VScrollPos should handle
+// the line-scrolling.
+// But please no one change this without also rewriting (and this time
+// testing!!!) autoscrolling (I noticed this when fixing the old autoscrolling).
void GUIEditBoxWithScrollBar::setTextRect(s32 line)
{
if (line < 0)
diff --git a/src/gui/guiFormSpecMenu.cpp b/src/gui/guiFormSpecMenu.cpp
index 8d740237c..59cd130ef 100644
--- a/src/gui/guiFormSpecMenu.cpp
+++ b/src/gui/guiFormSpecMenu.cpp
@@ -21,22 +21,22 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include <cstdlib>
#include <algorithm>
#include <iterator>
-#include <sstream>
#include <limits>
-#include "guiButton.h"
+#include <sstream>
#include "guiFormSpecMenu.h"
+#include "guiScrollBar.h"
#include "guiTable.h"
#include "constants.h"
#include "gamedef.h"
#include "client/keycode.h"
#include "util/strfnd.h"
+#include <IGUIButton.h>
#include <IGUICheckBox.h>
+#include <IGUIComboBox.h>
#include <IGUIEditBox.h>
-#include <IGUIButton.h>
#include <IGUIStaticText.h>
#include <IGUIFont.h>
#include <IGUITabControl.h>
-#include <IGUIComboBox.h>
#include "client/renderingengine.h"
#include "log.h"
#include "client/tile.h" // ITextureSource
@@ -55,8 +55,19 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "util/string.h" // for parseColorString()
#include "irrlicht_changes/static_text.h"
#include "client/guiscalingfilter.h"
+#include "guiAnimatedImage.h"
+#include "guiBackgroundImage.h"
+#include "guiBox.h"
+#include "guiButton.h"
+#include "guiButtonImage.h"
+#include "guiButtonItemImage.h"
#include "guiEditBoxWithScrollbar.h"
+#include "guiInventoryList.h"
+#include "guiItemImage.h"
+#include "guiScrollBar.h"
+#include "guiTable.h"
#include "intlGUIEditBox.h"
+#include "guiHyperText.h"
#define MY_CHECKPOS(a,b) \
if (v_pos.size() != 2) { \
@@ -118,9 +129,20 @@ GUIFormSpecMenu::~GUIFormSpecMenu()
{
removeChildren();
- for (auto &table_it : m_tables) {
+ for (auto &table_it : m_tables)
table_it.second->drop();
- }
+ for (auto &inventorylist_it : m_inventorylists)
+ inventorylist_it->drop();
+ for (auto &checkbox_it : m_checkboxes)
+ checkbox_it.second->drop();
+ for (auto &scrollbar_it : m_scrollbars)
+ scrollbar_it.second->drop();
+ for (auto &background_it : m_backgrounds)
+ background_it->drop();
+ for (auto &tooltip_rect_it : m_tooltip_rects)
+ tooltip_rect_it.first->drop();
+ for (auto &clickthrough_it : m_clickthrough_elements)
+ clickthrough_it->drop();
delete m_selected_item;
delete m_form_src;
@@ -155,16 +177,15 @@ void GUIFormSpecMenu::removeChildren()
{
const core::list<gui::IGUIElement*> &children = getChildren();
- while(!children.empty()) {
+ while (!children.empty()) {
(*children.getLast())->remove();
}
- if(m_tooltip_element) {
+ if (m_tooltip_element) {
m_tooltip_element->remove();
m_tooltip_element->drop();
- m_tooltip_element = NULL;
+ m_tooltip_element = nullptr;
}
-
}
void GUIFormSpecMenu::setInitialFocus()
@@ -256,14 +277,9 @@ std::vector<std::string>* GUIFormSpecMenu::getDropDownValues(const std::string &
return NULL;
}
-v2s32 GUIFormSpecMenu::getElementBasePos(bool absolute,
- const std::vector<std::string> *v_pos)
+v2s32 GUIFormSpecMenu::getElementBasePos(const std::vector<std::string> *v_pos)
{
- v2s32 pos = padding;
- if (absolute)
- pos += AbsoluteRect.UpperLeftCorner;
-
- v2f32 pos_f = v2f32(pos.X, pos.Y) + pos_offset * spacing;
+ v2f32 pos_f = v2f32(padding.X, padding.Y) + pos_offset * spacing;
if (v_pos) {
pos_f.X += stof((*v_pos)[0]) * spacing.X;
pos_f.Y += stof((*v_pos)[1]) * spacing.Y;
@@ -271,18 +287,10 @@ 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)
+v2s32 GUIFormSpecMenu::getRealCoordinateBasePos(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);
+ return v2s32((stof(v_pos[0]) + pos_offset.X) * imgsize.X,
+ (stof(v_pos[1]) + pos_offset.Y) * imgsize.Y);
}
v2s32 GUIFormSpecMenu::getRealCoordinateGeometry(const std::vector<std::string> &v_geom)
@@ -343,7 +351,7 @@ void GUIFormSpecMenu::parseContainerEnd(parserData* data)
}
}
-void GUIFormSpecMenu::parseList(parserData* data, const std::string &element)
+void GUIFormSpecMenu::parseList(parserData *data, const std::string &element)
{
if (m_client == 0) {
warningstream<<"invalid use of 'list' with m_client==0"<<std::endl;
@@ -373,14 +381,7 @@ void GUIFormSpecMenu::parseList(parserData* data, const std::string &element)
else
loc.deSerialize(location);
- 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]);
@@ -393,15 +394,67 @@ void GUIFormSpecMenu::parseList(parserData* data, const std::string &element)
return;
}
- 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, data->real_coordinates);
+ // check for the existence of inventory and list
+ Inventory *inv = m_invmgr->getInventory(loc);
+ if (!inv) {
+ warningstream << "GUIFormSpecMenu::parseList(): "
+ << "The inventory location "
+ << "\"" << loc.dump() << "\" doesn't exist"
+ << std::endl;
+ return;
+ }
+ InventoryList *ilist = inv->getList(listname);
+ if (!ilist) {
+ warningstream << "GUIFormSpecMenu::parseList(): "
+ << "The inventory list \"" << listname << "\" "
+ << "@ \"" << loc.dump() << "\" doesn't exist"
+ << std::endl;
+ return;
+ }
+
+ // trim geom if it is larger than the actual inventory size
+ s32 list_size = (s32)ilist->getSize();
+ if (list_size < geom.X * geom.Y + start_i) {
+ list_size -= MYMAX(start_i, 0);
+ geom.Y = list_size / geom.X;
+ geom.Y += list_size % geom.X > 0 ? 1 : 0;
+ if (geom.Y <= 1)
+ geom.X = list_size;
+ }
+
+ if (!data->explicit_size)
+ warningstream << "invalid use of list without a size[] element" << std::endl;
+
+ FieldSpec spec(
+ "",
+ L"",
+ L"",
+ 258 + m_fields.size(),
+ 3
+ );
+
+ v2f32 slot_spacing = data->real_coordinates ?
+ v2f32(imgsize.X * 1.25f, imgsize.Y * 1.25f) : spacing;
+
+ v2s32 pos = data->real_coordinates ? getRealCoordinateBasePos(v_pos)
+ : getElementBasePos(&v_pos);
+
+ core::rect<s32> rect = core::rect<s32>(pos.X, pos.Y,
+ pos.X + (geom.X - 1) * slot_spacing.X + imgsize.X,
+ pos.Y + (geom.Y - 1) * slot_spacing.Y + imgsize.Y);
+
+ GUIInventoryList *e = new GUIInventoryList(Environment, this, spec.fid,
+ rect, m_invmgr, loc, listname, geom, start_i, imgsize, slot_spacing,
+ this, data->inventorylist_options, m_font);
+
+ m_inventorylists.push_back(e);
+ m_fields.push_back(spec);
return;
}
errorstream<< "Invalid list element(" << parts.size() << "): '" << element << "'" << std::endl;
}
-void GUIFormSpecMenu::parseListRing(parserData* data, const std::string &element)
+void GUIFormSpecMenu::parseListRing(parserData *data, const std::string &element)
{
if (m_client == 0) {
errorstream << "WARNING: invalid use of 'listring' with m_client==0" << std::endl;
@@ -428,10 +481,10 @@ void GUIFormSpecMenu::parseListRing(parserData* data, const std::string &element
if (element.empty() && m_inventorylists.size() > 1) {
size_t siz = m_inventorylists.size();
// insert the last two inv list elements into the list ring
- const ListDrawSpec &spa = m_inventorylists[siz - 2];
- const ListDrawSpec &spb = m_inventorylists[siz - 1];
- m_inventory_rings.emplace_back(spa.inventoryloc, spa.listname);
- m_inventory_rings.emplace_back(spb.inventoryloc, spb.listname);
+ const GUIInventoryList *spa = m_inventorylists[siz - 2];
+ const GUIInventoryList *spb = m_inventorylists[siz - 1];
+ m_inventory_rings.emplace_back(spa->getInventoryloc(), spa->getListname());
+ m_inventory_rings.emplace_back(spb->getInventoryloc(), spb->getListname());
return;
}
@@ -470,7 +523,7 @@ void GUIFormSpecMenu::parseCheckbox(parserData* data, const std::string &element
core::rect<s32> rect;
if (data->real_coordinates) {
- pos = getRealCoordinateBasePos(false, v_pos);
+ pos = getRealCoordinateBasePos(v_pos);
rect = core::rect<s32>(
pos.X,
@@ -479,7 +532,7 @@ void GUIFormSpecMenu::parseCheckbox(parserData* data, const std::string &element
pos.Y + y_center
);
} else {
- pos = getElementBasePos(false, &v_pos);
+ pos = getElementBasePos(&v_pos);
rect = core::rect<s32>(
pos.X,
pos.Y + imgsize.Y / 2 - y_center,
@@ -497,7 +550,7 @@ void GUIFormSpecMenu::parseCheckbox(parserData* data, const std::string &element
spec.ftype = f_CheckBox;
- gui::IGUICheckBox* e = Environment->addCheckBox(fselected, rect, this,
+ gui::IGUICheckBox *e = Environment->addCheckBox(fselected, rect, this,
spec.fid, spec.flabel.c_str());
auto style = getStyleForElement("checkbox", name);
@@ -507,7 +560,8 @@ void GUIFormSpecMenu::parseCheckbox(parserData* data, const std::string &element
Environment->setFocus(e);
}
- m_checkboxes.emplace_back(spec,e);
+ e->grab();
+ m_checkboxes.emplace_back(spec, e);
m_fields.push_back(spec);
return;
}
@@ -531,10 +585,10 @@ void GUIFormSpecMenu::parseScrollBar(parserData* data, const std::string &elemen
v2s32 dim;
if (data->real_coordinates) {
- pos = getRealCoordinateBasePos(false, v_pos);
+ pos = getRealCoordinateBasePos(v_pos);
dim = getRealCoordinateGeometry(v_geom);
} else {
- pos = getElementBasePos(false, &v_pos);
+ pos = getElementBasePos(&v_pos);
dim.X = stof(v_geom[0]) * spacing.X;
dim.Y = stof(v_geom[1]) * spacing.Y;
}
@@ -556,23 +610,87 @@ void GUIFormSpecMenu::parseScrollBar(parserData* data, const std::string &elemen
spec.ftype = f_ScrollBar;
spec.send = true;
- gui::IGUIScrollBar* e =
- Environment->addScrollBar(is_horizontal,rect,this,spec.fid);
+ GUIScrollBar *e = new GUIScrollBar(Environment, this, spec.fid, rect,
+ is_horizontal, true);
auto style = getStyleForElement("scrollbar", name);
e->setNotClipped(style.getBool(StyleSpec::NOCLIP, false));
+ e->setArrowsVisible(data->scrollbar_options.arrow_visiblity);
+
+ s32 max = data->scrollbar_options.max;
+ s32 min = data->scrollbar_options.min;
+
+ e->setMax(max);
+ e->setMin(min);
- e->setMax(1000);
- e->setMin(0);
e->setPos(stoi(parts[4]));
- e->setSmallStep(10);
- e->setLargeStep(100);
+
+ e->setSmallStep(data->scrollbar_options.small_step);
+ e->setLargeStep(data->scrollbar_options.large_step);
+
+ s32 scrollbar_size = is_horizontal ? dim.X : dim.Y;
+
+ e->setPageSize(scrollbar_size * (max - min + 1) / data->scrollbar_options.thumb_size);
m_scrollbars.emplace_back(spec,e);
m_fields.push_back(spec);
return;
}
- errorstream<< "Invalid scrollbar element(" << parts.size() << "): '" << element << "'" << std::endl;
+ errorstream << "Invalid scrollbar element(" << parts.size() << "): '" << element
+ << "'" << std::endl;
+}
+
+void GUIFormSpecMenu::parseScrollBarOptions(parserData* data, const std::string &element)
+{
+ std::vector<std::string> parts = split(element, ';');
+
+ if (parts.size() == 0) {
+ warningstream << "Invalid scrollbaroptions element(" << parts.size() << "): '" <<
+ element << "'" << std::endl;
+ return;
+ }
+
+ for (const std::string &i : parts) {
+ std::vector<std::string> options = split(i, '=');
+
+ if (options.size() != 2) {
+ warningstream << "Invalid scrollbaroptions option syntax: '" <<
+ element << "'" << std::endl;
+ continue; // Go to next option
+ }
+
+ if (options[0] == "max") {
+ data->scrollbar_options.max = stoi(options[1]);
+ continue;
+ } else if (options[0] == "min") {
+ data->scrollbar_options.min = stoi(options[1]);
+ continue;
+ } else if (options[0] == "smallstep") {
+ int value = stoi(options[1]);
+ data->scrollbar_options.small_step = value < 0 ? 10 : value;
+ continue;
+ } else if (options[0] == "largestep") {
+ int value = stoi(options[1]);
+ data->scrollbar_options.large_step = value < 0 ? 100 : value;
+ continue;
+ } else if (options[0] == "thumbsize") {
+ int value = stoi(options[1]);
+ data->scrollbar_options.thumb_size = value <= 0 ? 1 : value;
+ continue;
+ } else if (options[0] == "arrows") {
+ std::string value = trim(options[1]);
+ if (value == "hide")
+ data->scrollbar_options.arrow_visiblity = GUIScrollBar::HIDE;
+ else if (value == "show")
+ data->scrollbar_options.arrow_visiblity = GUIScrollBar::SHOW;
+ else // Auto hide/show
+ data->scrollbar_options.arrow_visiblity = GUIScrollBar::DEFAULT;
+ continue;
+ }
+
+ warningstream << "Invalid scrollbaroptions option(" << options[0] <<
+ "): '" << element << "'" << std::endl;
+ }
}
void GUIFormSpecMenu::parseImage(parserData* data, const std::string &element)
@@ -593,17 +711,42 @@ void GUIFormSpecMenu::parseImage(parserData* data, const std::string &element)
v2s32 geom;
if (data->real_coordinates) {
- pos = getRealCoordinateBasePos(true, v_pos);
+ pos = getRealCoordinateBasePos(v_pos);
geom = getRealCoordinateGeometry(v_geom);
} else {
- pos = getElementBasePos(true, &v_pos);
+ pos = getElementBasePos(&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;
- m_images.emplace_back(name, pos, geom);
+
+ video::ITexture *texture = m_tsrc->getTexture(name);
+ if (!texture) {
+ errorstream << "GUIFormSpecMenu::parseImage() Unable to load texture:"
+ << std::endl << "\t" << name << std::endl;
+ return;
+ }
+
+ FieldSpec spec(
+ name,
+ L"",
+ L"",
+ 258 + m_fields.size(),
+ 1
+ );
+ core::rect<s32> rect(pos, pos + geom);
+ gui::IGUIImage *e = Environment->addImage(rect, this, spec.fid, 0, true);
+ e->setImage(texture);
+ e->setScaleImage(true);
+ auto style = getStyleForElement("image", spec.fname);
+ e->setNotClipped(style.getBool(StyleSpec::NOCLIP, m_formspec_version < 3));
+ m_fields.push_back(spec);
+
+ // images should let events through
+ e->grab();
+ m_clickthrough_elements.push_back(e);
return;
}
@@ -613,16 +756,98 @@ void GUIFormSpecMenu::parseImage(parserData* data, const std::string &element)
MY_CHECKPOS("image", 0);
- v2s32 pos = getElementBasePos(true, &v_pos);
+ v2s32 pos = getElementBasePos(&v_pos);
if (!data->explicit_size)
warningstream<<"invalid use of image without a size[] element"<<std::endl;
- m_images.emplace_back(name, pos);
+
+ video::ITexture *texture = m_tsrc->getTexture(name);
+ if (!texture) {
+ errorstream << "GUIFormSpecMenu::parseImage() Unable to load texture:"
+ << std::endl << "\t" << name << std::endl;
+ return;
+ }
+
+ FieldSpec spec(
+ name,
+ L"",
+ L"",
+ 258 + m_fields.size()
+ );
+ gui::IGUIImage *e = Environment->addImage(texture, pos, true, this,
+ spec.fid, 0);
+ auto style = getStyleForElement("image", spec.fname);
+ e->setNotClipped(style.getBool(StyleSpec::NOCLIP, m_formspec_version < 3));
+ m_fields.push_back(spec);
+
+ // images should let events through
+ e->grab();
+ m_clickthrough_elements.push_back(e);
return;
}
errorstream<< "Invalid image element(" << parts.size() << "): '" << element << "'" << std::endl;
}
+void GUIFormSpecMenu::parseAnimatedImage(parserData *data, const std::string &element)
+{
+ std::vector<std::string> parts = split(element, ';');
+
+ if (parts.size() != 6 && parts.size() != 7 &&
+ !(parts.size() > 7 && m_formspec_version > FORMSPEC_API_VERSION)) {
+ errorstream << "Invalid animated_image element(" << parts.size()
+ << "): '" << element << "'" << std::endl;
+ return;
+ }
+
+ std::vector<std::string> v_pos = split(parts[0], ',');
+ std::vector<std::string> v_geom = split(parts[1], ',');
+ std::string name = parts[2];
+ std::string texture_name = unescape_string(parts[3]);
+ s32 frame_count = stoi(parts[4]);
+ s32 frame_duration = stoi(parts[5]);
+
+ MY_CHECKPOS("animated_image", 0);
+ MY_CHECKGEOM("animated_image", 1);
+
+ v2s32 pos;
+ v2s32 geom;
+
+ if (data->real_coordinates) {
+ pos = getRealCoordinateBasePos(v_pos);
+ geom = getRealCoordinateGeometry(v_geom);
+ } else {
+ pos = getElementBasePos(&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 animated_image without a size[] element" << std::endl;
+
+ FieldSpec spec(
+ name,
+ L"",
+ L"",
+ 258 + m_fields.size()
+ );
+ spec.ftype = f_AnimatedImage;
+ spec.send = true;
+
+ core::rect<s32> rect = core::rect<s32>(pos, pos + geom);
+
+ GUIAnimatedImage *e = new GUIAnimatedImage(Environment, this, spec.fid,
+ rect, texture_name, frame_count, frame_duration, m_tsrc);
+
+ if (parts.size() >= 7)
+ e->setFrameIndex(stoi(parts[6]) - 1);
+
+ auto style = getStyleForElement("animated_image", spec.fname, "image");
+ e->setNotClipped(style.getBool(StyleSpec::NOCLIP, false));
+ e->drop();
+
+ m_fields.push_back(spec);
+}
+
void GUIFormSpecMenu::parseItemImage(parserData* data, const std::string &element)
{
std::vector<std::string> parts = split(element,';');
@@ -641,17 +866,35 @@ void GUIFormSpecMenu::parseItemImage(parserData* data, const std::string &elemen
v2s32 geom;
if (data->real_coordinates) {
- pos = getRealCoordinateBasePos(true, v_pos);
+ pos = getRealCoordinateBasePos(v_pos);
geom = getRealCoordinateGeometry(v_geom);
} else {
- pos = getElementBasePos(true, &v_pos);
+ pos = getElementBasePos(&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;
- m_itemimages.emplace_back("", name, pos, geom);
+
+ FieldSpec spec(
+ "",
+ L"",
+ L"",
+ 258 + m_fields.size(),
+ 2
+ );
+ spec.ftype = f_ItemImage;
+
+ GUIItemImage *e = new GUIItemImage(Environment, this, spec.fid,
+ core::rect<s32>(pos, pos + geom), name, m_font, m_client);
+ auto style = getStyleForElement("item_image", spec.fname);
+ e->setNotClipped(style.getBool(StyleSpec::NOCLIP, false));
+
+ // item images should let events through
+ m_clickthrough_elements.push_back(e);
+
+ m_fields.push_back(spec);
return;
}
errorstream<< "Invalid ItemImage element(" << parts.size() << "): '" << element << "'" << std::endl;
@@ -678,12 +921,12 @@ void GUIFormSpecMenu::parseButton(parserData* data, const std::string &element,
core::rect<s32> rect;
if (data->real_coordinates) {
- pos = getRealCoordinateBasePos(false, v_pos);
+ pos = getRealCoordinateBasePos(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);
+ pos = getElementBasePos(&v_pos);
geom.X = (stof(v_geom[0]) * spacing.X) - (spacing.X - imgsize.X);
pos.Y += (stof(v_geom[1]) * (float)imgsize.Y)/2;
@@ -700,7 +943,7 @@ void GUIFormSpecMenu::parseButton(parserData* data, const std::string &element,
name,
wlabel,
L"",
- 258+m_fields.size()
+ 258 + m_fields.size()
);
spec.ftype = f_Button;
if(type == "button_exit")
@@ -709,34 +952,7 @@ void GUIFormSpecMenu::parseButton(parserData* data, const std::string &element,
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);
- }
+ e->setFromStyle(style, m_tsrc);
if (spec.fname == data->focused_fieldname) {
Environment->setFocus(e);
@@ -765,10 +981,10 @@ void GUIFormSpecMenu::parseBackground(parserData* data, const std::string &eleme
v2s32 geom;
if (data->real_coordinates) {
- pos = getRealCoordinateBasePos(true, v_pos);
+ pos = getRealCoordinateBasePos(v_pos);
geom = getRealCoordinateGeometry(v_geom);
} else {
- pos = getElementBasePos(true, &v_pos);
+ pos = getElementBasePos(&v_pos);
pos.X -= (spacing.X - (float)imgsize.X) / 2;
pos.Y -= (spacing.Y - (float)imgsize.Y) / 2;
@@ -779,7 +995,7 @@ void GUIFormSpecMenu::parseBackground(parserData* data, const std::string &eleme
bool clip = false;
if (parts.size() >= 4 && is_yes(parts[3])) {
if (data->real_coordinates) {
- pos = getRealCoordinateBasePos(false, v_pos) * -1;
+ pos = getRealCoordinateBasePos(v_pos) * -1;
geom = v2s32(0, 0);
} else {
pos.X = stoi(v_pos[0]); //acts as offset
@@ -812,8 +1028,33 @@ void GUIFormSpecMenu::parseBackground(parserData* data, const std::string &eleme
if (!data->explicit_size && !clip)
warningstream << "invalid use of unclipped background without a size[] element" << std::endl;
- m_backgrounds.emplace_back(name, pos, geom, middle, clip);
+ FieldSpec spec(
+ name,
+ L"",
+ L"",
+ 258 + m_fields.size()
+ );
+
+ core::rect<s32> rect;
+ if (!clip) {
+ // no auto_clip => position like normal image
+ rect = core::rect<s32>(pos, pos + geom);
+ } else {
+ // it will be auto-clipped when drawing
+ rect = core::rect<s32>(-pos, pos);
+ }
+
+ GUIBackgroundImage *e = new GUIBackgroundImage(Environment, this, spec.fid,
+ rect, name, middle, m_tsrc, clip);
+
+ FATAL_ERROR_IF(!e, "Failed to create background formspec element");
+ e->setNotClipped(true);
+
+ e->setVisible(false); // the element is drawn manually before all others
+
+ m_backgrounds.push_back(e);
+ m_fields.push_back(spec);
return;
}
errorstream<< "Invalid background element(" << parts.size() << "): '" << element << "'" << std::endl;
@@ -875,10 +1116,10 @@ void GUIFormSpecMenu::parseTable(parserData* data, const std::string &element)
v2s32 geom;
if (data->real_coordinates) {
- pos = getRealCoordinateBasePos(false, v_pos);
+ pos = getRealCoordinateBasePos(v_pos);
geom = getRealCoordinateGeometry(v_geom);
} else {
- pos = getElementBasePos(false, &v_pos);
+ pos = getElementBasePos(&v_pos);
geom.X = stof(v_geom[0]) * spacing.X;
geom.Y = stof(v_geom[1]) * spacing.Y;
}
@@ -889,7 +1130,7 @@ void GUIFormSpecMenu::parseTable(parserData* data, const std::string &element)
name,
L"",
L"",
- 258+m_fields.size()
+ 258 + m_fields.size()
);
spec.ftype = f_Table;
@@ -899,8 +1140,7 @@ void GUIFormSpecMenu::parseTable(parserData* data, const std::string &element)
}
//now really show table
- GUITable *e = new GUITable(Environment, this, spec.fid, rect,
- m_tsrc);
+ GUITable *e = new GUITable(Environment, this, spec.fid, rect, m_tsrc);
if (spec.fname == data->focused_fieldname) {
Environment->setFocus(e);
@@ -952,10 +1192,10 @@ void GUIFormSpecMenu::parseTextList(parserData* data, const std::string &element
v2s32 geom;
if (data->real_coordinates) {
- pos = getRealCoordinateBasePos(false, v_pos);
+ pos = getRealCoordinateBasePos(v_pos);
geom = getRealCoordinateGeometry(v_geom);
} else {
- pos = getElementBasePos(false, &v_pos);
+ pos = getElementBasePos(&v_pos);
geom.X = stof(v_geom[0]) * spacing.X;
geom.Y = stof(v_geom[1]) * spacing.Y;
}
@@ -966,7 +1206,7 @@ void GUIFormSpecMenu::parseTextList(parserData* data, const std::string &element
name,
L"",
L"",
- 258+m_fields.size()
+ 258 + m_fields.size()
);
spec.ftype = f_Table;
@@ -976,8 +1216,7 @@ void GUIFormSpecMenu::parseTextList(parserData* data, const std::string &element
}
//now really show list
- GUITable *e = new GUITable(Environment, this, spec.fid, rect,
- m_tsrc);
+ GUITable *e = new GUITable(Environment, this, spec.fid, rect, m_tsrc);
if (spec.fname == data->focused_fieldname) {
Environment->setFocus(e);
@@ -1030,11 +1269,11 @@ void GUIFormSpecMenu::parseDropDown(parserData* data, const std::string &element
MY_CHECKGEOM("dropdown",1);
- pos = getRealCoordinateBasePos(false, v_pos);
+ pos = getRealCoordinateBasePos(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);
+ pos = getElementBasePos(&v_pos);
s32 width = stof(parts[1]) * spacing.Y;
@@ -1046,14 +1285,14 @@ void GUIFormSpecMenu::parseDropDown(parserData* data, const std::string &element
name,
L"",
L"",
- 258+m_fields.size()
+ 258 + m_fields.size()
);
spec.ftype = f_DropDown;
spec.send = true;
//now really show list
- gui::IGUIComboBox *e = Environment->addComboBox(rect, this,spec.fid);
+ gui::IGUIComboBox *e = Environment->addComboBox(rect, this, spec.fid);
if (spec.fname == data->focused_fieldname) {
Environment->setFocus(e);
@@ -1097,8 +1336,8 @@ void GUIFormSpecMenu::parsePwdField(parserData* data, const std::string &element
{
std::vector<std::string> parts = split(element,';');
- if ((parts.size() == 4) || (parts.size() == 5) ||
- ((parts.size() > 5) && (m_formspec_version > FORMSPEC_API_VERSION)))
+ if ((parts.size() == 4) ||
+ ((parts.size() > 4) && (m_formspec_version > FORMSPEC_API_VERSION)))
{
std::vector<std::string> v_pos = split(parts[0],',');
std::vector<std::string> v_geom = split(parts[1],',');
@@ -1112,10 +1351,10 @@ void GUIFormSpecMenu::parsePwdField(parserData* data, const std::string &element
v2s32 geom;
if (data->real_coordinates) {
- pos = getRealCoordinateBasePos(false, v_pos);
+ pos = getRealCoordinateBasePos(v_pos);
geom = getRealCoordinateGeometry(v_geom);
} else {
- pos = getElementBasePos(false, &v_pos);
+ pos = getElementBasePos(&v_pos);
pos -= padding;
geom.X = (stof(v_geom[0]) * spacing.X) - (spacing.X - imgsize.X);
@@ -1133,7 +1372,9 @@ void GUIFormSpecMenu::parsePwdField(parserData* data, const std::string &element
name,
wlabel,
L"",
- 258+m_fields.size()
+ 258 + m_fields.size(),
+ 0,
+ ECI_IBEAM
);
spec.send = true;
@@ -1167,12 +1408,8 @@ void GUIFormSpecMenu::parsePwdField(parserData* data, const std::string &element
evt.KeyInput.PressedDown = true;
e->OnEvent(evt);
- if (parts.size() >= 5) {
- // TODO: remove after 2016-11-03
- warningstream << "pwdfield: use field_close_on_enter[name, enabled]" <<
- " instead of the 5th param" << std::endl;
- field_close_on_enter[name] = is_yes(parts[4]);
- }
+ // Note: Before 5.2.0 "parts.size() >= 5" resulted in a
+ // warning referring to field_close_on_enter[]!
m_fields.push_back(spec);
return;
@@ -1187,7 +1424,7 @@ void GUIFormSpecMenu::createTextField(parserData *data, FieldSpec &spec,
if (!is_editable && !is_multiline) {
// spec field id to 0, this stops submit searching for a value that isn't there
gui::StaticText::add(Environment, spec.flabel.c_str(), rect, false, true,
- this, spec.fid);
+ this, spec.fid);
return;
}
@@ -1204,20 +1441,21 @@ void GUIFormSpecMenu::createTextField(parserData *data, FieldSpec &spec,
IRRLICHT_VERSION_MAJOR == 1 && IRRLICHT_VERSION_MINOR < 9;
if (use_intl_edit_box && g_settings->getBool("freetype")) {
- e = new gui::intlGUIEditBox(spec.fdefault.c_str(),
- true, Environment, this, spec.fid, rect, is_editable, is_multiline);
- e->drop();
+ e = new gui::intlGUIEditBox(spec.fdefault.c_str(), true, Environment,
+ this, spec.fid, rect, is_editable, is_multiline);
} else {
if (is_multiline) {
e = new GUIEditBoxWithScrollBar(spec.fdefault.c_str(), true,
- Environment, this, spec.fid, rect, is_editable, true);
- e->drop();
+ Environment, this, spec.fid, rect, is_editable, true);
} else if (is_editable) {
- e = Environment->addEditBox(spec.fdefault.c_str(), rect, true,
- this, spec.fid);
+ e = Environment->addEditBox(spec.fdefault.c_str(), rect, true, this,
+ spec.fid);
+ e->grab();
}
}
+ auto style = getStyleForElement(is_multiline ? "textarea" : "field", spec.fname);
+
if (e) {
if (is_editable && spec.fname == data->focused_fieldname)
Environment->setFocus(e);
@@ -1237,26 +1475,30 @@ void GUIFormSpecMenu::createTextField(parserData *data, FieldSpec &spec,
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);
}
+
+ e->drop();
}
if (!spec.flabel.empty()) {
int font_height = g_fontengine->getTextHeight();
rect.UpperLeftCorner.Y -= font_height;
rect.LowerRightCorner.Y = rect.UpperLeftCorner.Y + font_height;
- gui::StaticText::add(Environment, spec.flabel.c_str(), rect, false, true,
- this, 0);
+ IGUIElement *t = gui::StaticText::add(Environment, spec.flabel.c_str(),
+ rect, false, true, this, 0);
+
+ if (t)
+ t->setNotClipped(style.getBool(StyleSpec::NOCLIP, false));
}
}
-void GUIFormSpecMenu::parseSimpleField(parserData* data,
- std::vector<std::string> &parts)
+void GUIFormSpecMenu::parseSimpleField(parserData *data,
+ std::vector<std::string> &parts)
{
std::string name = parts[0];
std::string label = parts[1];
@@ -1264,18 +1506,20 @@ void GUIFormSpecMenu::parseSimpleField(parserData* data,
core::rect<s32> rect;
- if(data->explicit_size)
- warningstream<<"invalid use of unpositioned \"field\" in inventory"<<std::endl;
+ if (data->explicit_size)
+ warningstream << "invalid use of unpositioned \"field\" in inventory" << std::endl;
- v2s32 pos = getElementBasePos(false, nullptr);
- pos.Y = ((m_fields.size()+2)*60);
+ v2s32 pos = getElementBasePos(nullptr);
+ pos.Y = (data->simple_field_count + 2) * 60;
v2s32 size = DesiredRect.getSize();
- rect = core::rect<s32>(size.X / 2 - 150, pos.Y,
- (size.X / 2 - 150) + 300, pos.Y + (m_btn_height*2));
+ rect = core::rect<s32>(
+ size.X / 2 - 150, pos.Y,
+ size.X / 2 - 150 + 300, pos.Y + m_btn_height * 2
+ );
- if(m_form_src)
+ if (m_form_src)
default_val = m_form_src->resolveText(default_val);
@@ -1285,25 +1529,21 @@ void GUIFormSpecMenu::parseSimpleField(parserData* data,
name,
wlabel,
utf8_to_wide(unescape_string(default_val)),
- 258+m_fields.size()
+ 258 + m_fields.size(),
+ 0,
+ ECI_IBEAM
);
createTextField(data, spec, rect, false);
- if (parts.size() >= 4) {
- // TODO: remove after 2016-11-03
- warningstream << "field/simple: use field_close_on_enter[name, enabled]" <<
- " instead of the 4th param" << std::endl;
- field_close_on_enter[name] = is_yes(parts[3]);
- }
-
m_fields.push_back(spec);
+
+ data->simple_field_count++;
}
void GUIFormSpecMenu::parseTextArea(parserData* data, std::vector<std::string>& parts,
const std::string &type)
{
-
std::vector<std::string> v_pos = split(parts[0],',');
std::vector<std::string> v_geom = split(parts[1],',');
std::string name = parts[2];
@@ -1317,10 +1557,10 @@ void GUIFormSpecMenu::parseTextArea(parserData* data, std::vector<std::string>&
v2s32 geom;
if (data->real_coordinates) {
- pos = getRealCoordinateBasePos(false, v_pos);
+ pos = getRealCoordinateBasePos(v_pos);
geom = getRealCoordinateGeometry(v_geom);
} else {
- pos = getElementBasePos(false, &v_pos);
+ pos = getElementBasePos(&v_pos);
pos -= padding;
geom.X = (stof(v_geom[0]) * spacing.X) - (spacing.X - imgsize.X);
@@ -1353,17 +1593,15 @@ void GUIFormSpecMenu::parseTextArea(parserData* data, std::vector<std::string>&
name,
wlabel,
utf8_to_wide(unescape_string(default_val)),
- 258+m_fields.size()
+ 258 + m_fields.size(),
+ 0,
+ ECI_IBEAM
);
createTextField(data, spec, rect, type == "textarea");
- if (parts.size() >= 6) {
- // TODO: remove after 2016-11-03
- warningstream << "field/textarea: use field_close_on_enter[name, enabled]" <<
- " instead of the 6th param" << std::endl;
- field_close_on_enter[name] = is_yes(parts[5]);
- }
+ // Note: Before 5.2.0 "parts.size() >= 6" resulted in a
+ // warning referring to field_close_on_enter[]!
m_fields.push_back(spec);
}
@@ -1378,8 +1616,8 @@ void GUIFormSpecMenu::parseField(parserData* data, const std::string &element,
return;
}
- if ((parts.size() == 5) || (parts.size() == 6) ||
- ((parts.size() > 6) && (m_formspec_version > FORMSPEC_API_VERSION)))
+ if ((parts.size() == 5) ||
+ ((parts.size() > 5) && (m_formspec_version > FORMSPEC_API_VERSION)))
{
parseTextArea(data,parts,type);
return;
@@ -1387,6 +1625,58 @@ void GUIFormSpecMenu::parseField(parserData* data, const std::string &element,
errorstream<< "Invalid field element(" << parts.size() << "): '" << element << "'" << std::endl;
}
+void GUIFormSpecMenu::parseHyperText(parserData *data, const std::string &element)
+{
+ std::vector<std::string> parts = split(element, ';');
+
+ if (parts.size() != 4 && m_formspec_version < FORMSPEC_API_VERSION) {
+ errorstream << "Invalid text element(" << parts.size() << "): '" << element << "'" << std::endl;
+ return;
+ }
+
+ std::vector<std::string> v_pos = split(parts[0], ',');
+ std::vector<std::string> v_geom = split(parts[1], ',');
+ std::string name = parts[2];
+ std::string text = parts[3];
+
+ MY_CHECKPOS("hypertext", 0);
+ MY_CHECKGEOM("hypertext", 1);
+
+ v2s32 pos;
+ v2s32 geom;
+
+ if (data->real_coordinates) {
+ pos = getRealCoordinateBasePos(v_pos);
+ geom = getRealCoordinateGeometry(v_geom);
+ } else {
+ pos = getElementBasePos(&v_pos);
+ pos -= padding;
+
+ geom.X = (stof(v_geom[0]) * spacing.X) - (spacing.X - imgsize.X);
+ geom.Y = (stof(v_geom[1]) * (float)imgsize.Y) - (spacing.Y - imgsize.Y);
+ pos.Y += m_btn_height;
+ }
+
+ core::rect<s32> rect = core::rect<s32>(pos.X, pos.Y, pos.X + geom.X, pos.Y + geom.Y);
+
+ if(m_form_src)
+ text = m_form_src->resolveText(text);
+
+ FieldSpec spec(
+ name,
+ utf8_to_wide(unescape_string(text)),
+ L"",
+ 258 + m_fields.size()
+ );
+
+ spec.ftype = f_HyperText;
+ GUIHyperText *e = new GUIHyperText(spec.flabel.c_str(), Environment, this,
+ spec.fid, rect, m_client, m_tsrc);
+ e->drop();
+
+ m_fields.push_back(spec);
+}
+
void GUIFormSpecMenu::parseLabel(parserData* data, const std::string &element)
{
std::vector<std::string> parts = split(element,';');
@@ -1418,7 +1708,7 @@ void GUIFormSpecMenu::parseLabel(parserData* data, const std::string &element)
// easily without sacrificing good line distance. If
// it was one whole imgsize, it would have too much
// spacing.
- v2s32 pos = getRealCoordinateBasePos(false, v_pos);
+ v2s32 pos = getRealCoordinateBasePos(v_pos);
// Labels are positioned by their center, not their top.
pos.Y += (((float) imgsize.Y) / -2) + (((float) imgsize.Y) * i / 2);
@@ -1439,7 +1729,7 @@ void GUIFormSpecMenu::parseLabel(parserData* data, const std::string &element)
// in the integer cases: 0.4 is not exactly
// representable in binary floating point.
- v2s32 pos = getElementBasePos(false, nullptr);
+ v2s32 pos = getElementBasePos(nullptr);
pos.X += stof(v_pos[0]) * spacing.X;
pos.Y += (stof(v_pos[1]) + 7.0f / 30.0f) * spacing.Y;
@@ -1455,10 +1745,11 @@ void GUIFormSpecMenu::parseLabel(parserData* data, const std::string &element)
"",
wlabel_colors,
L"",
- 258+m_fields.size()
+ 258 + m_fields.size(),
+ 4
);
gui::IGUIStaticText *e = gui::StaticText::add(Environment,
- spec.flabel.c_str(), rect, false, false, this, spec.fid);
+ spec.flabel.c_str(), rect, false, false, this, spec.fid);
e->setTextAlignment(gui::EGUIA_UPPERLEFT, gui::EGUIA_CENTER);
auto style = getStyleForElement("label", spec.fname);
@@ -1466,6 +1757,10 @@ void GUIFormSpecMenu::parseLabel(parserData* data, const std::string &element)
e->setOverrideColor(style.getColor(StyleSpec::TEXTCOLOR, video::SColor(0xFFFFFFFF)));
m_fields.push_back(spec);
+
+ // labels should let events through
+ e->grab();
+ m_clickthrough_elements.push_back(e);
}
return;
@@ -1491,7 +1786,7 @@ void GUIFormSpecMenu::parseVertLabel(parserData* data, const std::string &elemen
core::rect<s32> rect;
if (data->real_coordinates) {
- pos = getRealCoordinateBasePos(false, v_pos);
+ pos = getRealCoordinateBasePos(v_pos);
// Vertlabels are positioned by center, not left.
pos.X -= imgsize.X / 2;
@@ -1504,7 +1799,7 @@ void GUIFormSpecMenu::parseVertLabel(parserData* data, const std::string &elemen
(text.length() + 1));
} else {
- pos = getElementBasePos(false, &v_pos);
+ pos = getElementBasePos(&v_pos);
// As above, the length must be one longer. The width of
// the rect (15 pixels) seems rather arbitrary, but
@@ -1531,10 +1826,10 @@ void GUIFormSpecMenu::parseVertLabel(parserData* data, const std::string &elemen
"",
label,
L"",
- 258+m_fields.size()
+ 258 + m_fields.size()
);
gui::IGUIStaticText *e = gui::StaticText::add(Environment, spec.flabel.c_str(),
- rect, false, false, this, spec.fid);
+ rect, false, false, this, spec.fid);
e->setTextAlignment(gui::EGUIA_CENTER, gui::EGUIA_CENTER);
auto style = getStyleForElement("vertlabel", spec.fname, "label");
@@ -1542,6 +1837,10 @@ void GUIFormSpecMenu::parseVertLabel(parserData* data, const std::string &elemen
e->setOverrideColor(style.getColor(StyleSpec::TEXTCOLOR, video::SColor(0xFFFFFFFF)));
m_fields.push_back(spec);
+
+ // vertlabels should let events through
+ e->grab();
+ m_clickthrough_elements.push_back(e);
return;
}
errorstream<< "Invalid vertlabel element(" << parts.size() << "): '" << element << "'" << std::endl;
@@ -1583,10 +1882,10 @@ void GUIFormSpecMenu::parseImageButton(parserData* data, const std::string &elem
v2s32 geom;
if (data->real_coordinates) {
- pos = getRealCoordinateBasePos(false, v_pos);
+ pos = getRealCoordinateBasePos(v_pos);
geom = getRealCoordinateGeometry(v_geom);
} else {
- pos = getElementBasePos(false, &v_pos);
+ pos = getElementBasePos(&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);
}
@@ -1606,40 +1905,39 @@ void GUIFormSpecMenu::parseImageButton(parserData* data, const std::string &elem
name,
wlabel,
utf8_to_wide(image_name),
- 258+m_fields.size()
+ 258 + m_fields.size()
);
spec.ftype = f_Button;
if (type == "image_button_exit")
spec.is_exit = true;
- 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;
-
- gui::IGUIButton *e = Environment->addButton(rect, this, spec.fid, spec.flabel.c_str());
+ GUIButtonImage *e = GUIButtonImage::addButton(Environment, rect, this, spec.fid, spec.flabel.c_str());
if (spec.fname == data->focused_fieldname) {
Environment->setFocus(e);
}
auto style = getStyleForElement("image_button", spec.fname);
+ e->setFromStyle(style, m_tsrc);
- 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));
+ // We explicitly handle these arguments *after* the style properties in
+ // order to override them if they are provided
+ if (!image_name.empty())
+ {
+ video::ITexture *texture = m_tsrc->getTexture(image_name);
+ e->setForegroundImage(guiScalingImageButton(
+ Environment->getVideoDriver(), texture, geom.X, geom.Y));
+ }
+ if (!pressed_image_name.empty()) {
+ video::ITexture *pressed_texture = m_tsrc->getTexture(pressed_image_name);
+ e->setPressedForegroundImage(guiScalingImageButton(
+ Environment->getVideoDriver(), pressed_texture, geom.X, geom.Y));
+ }
e->setScaleImage(true);
+
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);
@@ -1695,7 +1993,7 @@ void GUIFormSpecMenu::parseTabHeader(parserData* data, const std::string &elemen
name,
L"",
L"",
- 258+m_fields.size()
+ 258 + m_fields.size()
);
spec.ftype = f_TabHeader;
@@ -1704,7 +2002,7 @@ void GUIFormSpecMenu::parseTabHeader(parserData* data, const std::string &elemen
v2s32 geom;
if (data->real_coordinates) {
- pos = getRealCoordinateBasePos(false, v_pos);
+ pos = getRealCoordinateBasePos(v_pos);
geom = getRealCoordinateGeometry(v_geom);
pos.Y -= geom.Y; // TabHeader base pos is the bottom, not the top.
@@ -1789,10 +2087,10 @@ void GUIFormSpecMenu::parseItemImageButton(parserData* data, const std::string &
v2s32 geom;
if (data->real_coordinates) {
- pos = getRealCoordinateBasePos(false, v_pos);
+ pos = getRealCoordinateBasePos(v_pos);
geom = getRealCoordinateGeometry(v_geom);
} else {
- pos = getElementBasePos(false, &v_pos);
+ pos = getElementBasePos(&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);
}
@@ -1811,35 +2109,28 @@ void GUIFormSpecMenu::parseItemImageButton(parserData* data, const std::string &
m_default_tooltip_bgcolor,
m_default_tooltip_color);
- FieldSpec spec(
+ // the spec for the button
+ FieldSpec spec_btn(
name,
utf8_to_wide(label),
utf8_to_wide(item_name),
- 258 + m_fields.size()
+ 258 + m_fields.size(),
+ 2
);
- gui::IGUIButton *e = Environment->addButton(rect, this, spec.fid, L"");
+ GUIButtonItemImage *e_btn = GUIButtonItemImage::addButton(Environment, rect, this, spec_btn.fid, spec_btn.flabel.c_str(), item_name, m_client);
- auto style = getStyleForElement("item_image_button", spec.fname, "image_button");
- e->setNotClipped(style.getBool(StyleSpec::NOCLIP, false));
- e->setDrawBorder(style.getBool(StyleSpec::BORDER, true));
+ auto style = getStyleForElement("item_image_button", spec_btn.fname, "image_button");
+ e_btn->setFromStyle(style, m_tsrc);
- if (spec.fname == data->focused_fieldname) {
- Environment->setFocus(e);
+ if (spec_btn.fname == data->focused_fieldname) {
+ Environment->setFocus(e_btn);
}
- spec.ftype = f_Button;
- rect+=data->basepos-padding;
- spec.rect=rect;
- m_fields.push_back(spec);
-
- 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);
+ spec_btn.ftype = f_Button;
+ rect += data->basepos-padding;
+ spec_btn.rect = rect;
+ m_fields.push_back(spec_btn);
return;
}
errorstream<< "Invalid ItemImagebutton element(" << parts.size() << "): '" << element << "'" << std::endl;
@@ -1862,10 +2153,10 @@ void GUIFormSpecMenu::parseBox(parserData* data, const std::string &element)
v2s32 geom;
if (data->real_coordinates) {
- pos = getRealCoordinateBasePos(true, v_pos);
+ pos = getRealCoordinateBasePos(v_pos);
geom = getRealCoordinateGeometry(v_geom);
} else {
- pos = getElementBasePos(true, &v_pos);
+ pos = getElementBasePos(&v_pos);
geom.X = stof(v_geom[0]) * spacing.X;
geom.Y = stof(v_geom[1]) * spacing.Y;
}
@@ -1873,11 +2164,27 @@ void GUIFormSpecMenu::parseBox(parserData* data, const std::string &element)
video::SColor tmp_color;
if (parseColorString(parts[2], tmp_color, false, 0x8C)) {
- BoxDrawSpec spec(pos, geom, tmp_color);
+ FieldSpec spec(
+ "",
+ L"",
+ L"",
+ 258 + m_fields.size(),
+ -2
+ );
+ spec.ftype = f_Box;
- m_boxes.push_back(spec);
- }
- else {
+ core::rect<s32> rect(pos, pos + geom);
+
+ GUIBox *e = new GUIBox(Environment, this, spec.fid, rect, tmp_color);
+
+ auto style = getStyleForElement("box", spec.fname);
+ e->setNotClipped(style.getBool(StyleSpec::NOCLIP, m_formspec_version < 3));
+
+ e->drop();
+
+ m_fields.push_back(spec);
+
+ } else {
errorstream<< "Invalid Box element(" << parts.size() << "): '" << element << "' INVALID COLOR" << std::endl;
}
return;
@@ -1888,21 +2195,36 @@ void GUIFormSpecMenu::parseBox(parserData* data, const std::string &element)
void GUIFormSpecMenu::parseBackgroundColor(parserData* data, const std::string &element)
{
std::vector<std::string> parts = split(element,';');
+ const u32 parameter_count = parts.size();
+
+ if ((parameter_count > 2 && m_formspec_version < 3) ||
+ (parameter_count > 3 && m_formspec_version <= FORMSPEC_API_VERSION)) {
+ errorstream << "Invalid bgcolor element(" << parameter_count << "): '"
+ << element << "'" << std::endl;
+ return;
+ }
- if (((parts.size() == 1) || (parts.size() == 2)) ||
- ((parts.size() > 2) && (m_formspec_version > FORMSPEC_API_VERSION))) {
+ // bgcolor
+ if (parameter_count >= 1 && parts[0] != "")
parseColorString(parts[0], m_bgcolor, false);
- if (parts.size() == 2) {
- std::string fullscreen = parts[1];
- m_bgfullscreen = is_yes(fullscreen);
+ // fullscreen
+ if (parameter_count >= 2) {
+ if (parts[1] == "both") {
+ m_bgnonfullscreen = true;
+ m_bgfullscreen = true;
+ } else if (parts[1] == "neither") {
+ m_bgnonfullscreen = false;
+ m_bgfullscreen = false;
+ } else if (parts[1] != "" || m_formspec_version < 3) {
+ m_bgfullscreen = is_yes(parts[1]);
+ m_bgnonfullscreen = !m_bgfullscreen;
}
-
- return;
}
- errorstream << "Invalid bgcolor element(" << parts.size() << "): '" << element << "'"
- << std::endl;
+ // fbgcolor
+ if (parameter_count >= 3 && parts[2] != "")
+ parseColorString(parts[2], m_fullscreen_bgcolor, false);
}
void GUIFormSpecMenu::parseListColors(parserData* data, const std::string &element)
@@ -1912,12 +2234,13 @@ void GUIFormSpecMenu::parseListColors(parserData* data, const std::string &eleme
if (((parts.size() == 2) || (parts.size() == 3) || (parts.size() == 5)) ||
((parts.size() > 5) && (m_formspec_version > FORMSPEC_API_VERSION)))
{
- parseColorString(parts[0], m_slotbg_n, false);
- parseColorString(parts[1], m_slotbg_h, false);
+ parseColorString(parts[0], data->inventorylist_options.slotbg_n, false);
+ parseColorString(parts[1], data->inventorylist_options.slotbg_h, false);
if (parts.size() >= 3) {
- if (parseColorString(parts[2], m_slotbordercolor, false)) {
- m_slotborder = true;
+ if (parseColorString(parts[2], data->inventorylist_options.slotbordercolor,
+ false)) {
+ data->inventorylist_options.slotborder = true;
}
}
if (parts.size() == 5) {
@@ -1928,6 +2251,14 @@ void GUIFormSpecMenu::parseListColors(parserData* data, const std::string &eleme
if (parseColorString(parts[4], tmp_color, false))
m_default_tooltip_color = tmp_color;
}
+
+ // update all already parsed inventorylists
+ for (GUIInventoryList *e : m_inventorylists) {
+ e->setSlotBGColors(data->inventorylist_options.slotbg_n,
+ data->inventorylist_options.slotbg_h);
+ e->setSlotBorders(data->inventorylist_options.slotborder,
+ data->inventorylist_options.slotbordercolor);
+ }
return;
}
errorstream<< "Invalid listcolors element(" << parts.size() << "): '" << element << "'" << std::endl;
@@ -1978,16 +2309,32 @@ void GUIFormSpecMenu::parseTooltip(parserData* data, const std::string &element)
v2s32 geom;
if (data->real_coordinates) {
- pos = getRealCoordinateBasePos(true, v_pos);
+ pos = getRealCoordinateBasePos(v_pos);
geom = getRealCoordinateGeometry(v_geom);
} else {
- pos = getElementBasePos(true, &v_pos);
+ pos = getElementBasePos(&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);
+ FieldSpec fieldspec(
+ "",
+ L"",
+ L"",
+ 258 + m_fields.size()
+ );
+
+ core::rect<s32> rect(pos, pos + geom);
+
+ gui::IGUIElement *e = new gui::IGUIElement(EGUIET_ELEMENT, Environment,
+ this, fieldspec.fid, rect);
+
+ // the element the rect tooltip is bound to should not block mouse-clicks
+ e->setVisible(false);
+
+ m_fields.push_back(fieldspec);
+ m_tooltip_rects.emplace_back(e, spec);
+
} else {
m_tooltips[parts[0]] = spec;
}
@@ -2034,7 +2381,7 @@ bool GUIFormSpecMenu::parseSizeDirect(parserData* data, const std::string &eleme
return false;
if (type == "invsize")
- log_deprecated("Deprecated formspec element \"invsize\" is used");
+ warningstream << "Deprecated formspec element \"invsize\" is used" << std::endl;
parseSize(data, description);
@@ -2120,13 +2467,6 @@ bool GUIFormSpecMenu::parseStyle(parserData *data, const std::string &element, b
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++) {
@@ -2156,10 +2496,21 @@ bool GUIFormSpecMenu::parseStyle(parserData *data, const std::string &element, b
spec.set(prop, value);
}
- if (style_type) {
- theme_by_type[selector] |= spec;
- } else {
- theme_by_name[selector] |= spec;
+ std::vector<std::string> selectors = split(parts[0], ',');
+ for (size_t sel = 0; sel < selectors.size(); sel++) {
+ std::string selector = trim(selectors[sel]);
+
+ if (selector.empty()) {
+ errorstream << "Invalid style element (Empty selector): '" << element
+ << "'" << std::endl;
+ continue;
+ }
+
+ if (style_type) {
+ theme_by_type[selector] |= spec;
+ } else {
+ theme_by_name[selector] |= spec;
+ }
}
return true;
@@ -2223,6 +2574,11 @@ void GUIFormSpecMenu::parseElement(parserData* data, const std::string &element)
return;
}
+ if (type == "animated_image") {
+ parseAnimatedImage(data, description);
+ return;
+ }
+
if (type == "item_image") {
parseItemImage(data, description);
return;
@@ -2278,6 +2634,11 @@ void GUIFormSpecMenu::parseElement(parserData* data, const std::string &element)
return;
}
+ if (type == "hypertext") {
+ parseHyperText(data,description);
+ return;
+ }
+
if (type == "label") {
parseLabel(data,description);
return;
@@ -2343,6 +2704,11 @@ void GUIFormSpecMenu::parseElement(parserData* data, const std::string &element)
return;
}
+ if (type == "scrollbaroptions") {
+ parseScrollBarOptions(data, description);
+ return;
+ }
+
// Ignore others
infostream << "Unknown DrawSpec: type=" << type << ", data=\"" << description << "\""
<< std::endl;
@@ -2385,37 +2751,45 @@ void GUIFormSpecMenu::regenerateGui(v2u32 screensize)
// Remove children
removeChildren();
- for (auto &table_it : m_tables) {
+ for (auto &table_it : m_tables)
table_it.second->drop();
- }
+ for (auto &inventorylist_it : m_inventorylists)
+ inventorylist_it->drop();
+ for (auto &checkbox_it : m_checkboxes)
+ checkbox_it.second->drop();
+ for (auto &scrollbar_it : m_scrollbars)
+ scrollbar_it.second->drop();
+ for (auto &background_it : m_backgrounds)
+ background_it->drop();
+ for (auto &tooltip_rect_it : m_tooltip_rects)
+ tooltip_rect_it.first->drop();
+ for (auto &clickthrough_it : m_clickthrough_elements)
+ clickthrough_it->drop();
mydata.size= v2s32(100,100);
mydata.screensize = screensize;
mydata.offset = v2f32(0.5f, 0.5f);
mydata.anchor = v2f32(0.5f, 0.5f);
+ mydata.simple_field_count = 0;
// Base position of contents of form
mydata.basepos = getBasePos();
- /* Convert m_init_draw_spec to m_inventorylists */
-
m_inventorylists.clear();
- m_images.clear();
m_backgrounds.clear();
- m_itemimages.clear();
m_tables.clear();
m_checkboxes.clear();
m_scrollbars.clear();
m_fields.clear();
- m_boxes.clear();
m_tooltips.clear();
m_tooltip_rects.clear();
m_inventory_rings.clear();
- m_static_texts.clear();
m_dropdowns.clear();
theme_by_name.clear();
theme_by_type.clear();
+ m_clickthrough_elements.clear();
+ m_bgnonfullscreen = true;
m_bgfullscreen = false;
m_formspec_version = 1;
@@ -2440,15 +2814,9 @@ void GUIFormSpecMenu::regenerateGui(v2u32 screensize)
);
}
- m_slotbg_n = video::SColor(255,128,128,128);
- m_slotbg_h = video::SColor(255,192,192,192);
-
m_default_tooltip_bgcolor = video::SColor(255,110,130,60);
m_default_tooltip_color = video::SColor(255,255,255,255);
- m_slotbordercolor = video::SColor(200,0,0,0);
- m_slotborder = false;
-
// Add tooltip
{
assert(!m_tooltip_element);
@@ -2654,6 +3022,9 @@ void GUIFormSpecMenu::regenerateGui(v2u32 screensize)
pos_offset = v2f32();
+ // used for formspec versions < 3
+ core::list<IGUIElement *>::Iterator legacy_sort_start = Children.getLast();
+
if (enable_prepends) {
// Backup the coordinates so that prepends can use the coordinates of choice.
bool rc_backup = mydata.real_coordinates;
@@ -2664,6 +3035,14 @@ void GUIFormSpecMenu::regenerateGui(v2u32 screensize)
for (const auto &element : prepend_elements)
parseElement(&mydata, element);
+ // legacy sorting for formspec versions < 3
+ if (m_formspec_version >= 3)
+ // prepends do not need to be reordered
+ legacy_sort_start = Children.getLast();
+ else if (version_backup >= 3)
+ // only prepends elements have to be reordered
+ legacySortElements(legacy_sort_start);
+
m_formspec_version = version_backup;
mydata.real_coordinates = rc_backup; // Restore coordinates
}
@@ -2679,30 +3058,31 @@ void GUIFormSpecMenu::regenerateGui(v2u32 screensize)
// If there are fields without explicit size[], add a "Proceed"
// button and adjust size to fit all the fields.
- if (!m_fields.empty() && !mydata.explicit_size) {
+ if (mydata.simple_field_count > 0 && !mydata.explicit_size) {
mydata.rect = core::rect<s32>(
- mydata.screensize.X/2 - 580/2,
- mydata.screensize.Y/2 - 300/2,
- mydata.screensize.X/2 + 580/2,
- mydata.screensize.Y/2 + 240/2+(m_fields.size()*60)
+ mydata.screensize.X / 2 - 580 / 2,
+ mydata.screensize.Y / 2 - 300 / 2,
+ mydata.screensize.X / 2 + 580 / 2,
+ mydata.screensize.Y / 2 + 240 / 2 + mydata.simple_field_count * 60
);
+
DesiredRect = mydata.rect;
recalculateAbsolutePosition(false);
mydata.basepos = getBasePos();
{
v2s32 pos = mydata.basepos;
- pos.Y = ((m_fields.size()+2)*60);
+ pos.Y = (mydata.simple_field_count + 2) * 60;
v2s32 size = DesiredRect.getSize();
- mydata.rect =
- core::rect<s32>(size.X/2-70, pos.Y,
- (size.X/2-70)+140, pos.Y + (m_btn_height*2));
+ mydata.rect = core::rect<s32>(
+ size.X / 2 - 70, pos.Y,
+ size.X / 2 - 70 + 140, pos.Y + m_btn_height * 2
+ );
const wchar_t *text = wgettext("Proceed");
- Environment->addButton(mydata.rect, this, 257, text);
+ GUIButton::addButton(Environment, mydata.rect, this, 257, text);
delete[] text;
}
-
}
//set initial focus if parser didn't set it
@@ -2713,6 +3093,51 @@ void GUIFormSpecMenu::regenerateGui(v2u32 screensize)
setInitialFocus();
skin->setFont(old_font);
+
+ // legacy sorting
+ if (m_formspec_version < 3)
+ legacySortElements(legacy_sort_start);
+}
+
+void GUIFormSpecMenu::legacySortElements(core::list<IGUIElement *>::Iterator from)
+{
+ /*
+ Draw order for formspec_version <= 2:
+ -3 bgcolor
+ -2 background
+ -1 box
+ 0 All other elements
+ 1 image
+ 2 item_image, item_image_button
+ 3 list
+ 4 label
+ */
+
+ if (from == Children.end())
+ from = Children.begin();
+ else
+ from++;
+
+ core::list<IGUIElement *>::Iterator to = Children.end();
+ // 1: Copy into a sortable container
+ std::vector<IGUIElement *> elements;
+ for (auto it = from; it != to; ++it)
+ elements.emplace_back(*it);
+
+ // 2: Sort the container
+ std::stable_sort(elements.begin(), elements.end(),
+ [this] (const IGUIElement *a, const IGUIElement *b) -> bool {
+ const FieldSpec *spec_a = getSpecByID(a->getID());
+ const FieldSpec *spec_b = getSpecByID(b->getID());
+ return spec_a && spec_b &&
+ spec_a->priority < spec_b->priority;
+ });
+
+ // 3: Re-assign the pointers
+ for (auto e : elements) {
+ *from = e;
+ from++;
+ }
}
#ifdef __ANDROID__
@@ -2724,13 +3149,13 @@ bool GUIFormSpecMenu::getAndroidUIInput()
std::string fieldname = m_jni_field_name;
m_jni_field_name.clear();
- for(std::vector<FieldSpec>::iterator iter = m_fields.begin();
+ for (std::vector<FieldSpec>::iterator iter = m_fields.begin();
iter != m_fields.end(); ++iter) {
if (iter->fname != fieldname) {
continue;
}
- IGUIElement* tochange = getElementFromId(iter->fid);
+ IGUIElement *tochange = getElementFromId(iter->fid, true);
if (tochange == 0) {
return false;
@@ -2748,135 +3173,18 @@ bool GUIFormSpecMenu::getAndroidUIInput()
}
#endif
-GUIFormSpecMenu::ItemSpec GUIFormSpecMenu::getItemAtPos(v2s32 p) const
+GUIInventoryList::ItemSpec GUIFormSpecMenu::getItemAtPos(v2s32 p) const
{
- core::rect<s32> imgrect(0,0,imgsize.X,imgsize.Y);
-
- 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;
+ core::rect<s32> imgrect(0, 0, imgsize.X, imgsize.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))
- {
- return ItemSpec(s.inventoryloc, s.listname, item_i);
- }
- }
+ for (const GUIInventoryList *e : m_inventorylists) {
+ s32 item_index = e->getItemIndexAtPos(p);
+ if (item_index != -1)
+ return GUIInventoryList::ItemSpec(e->getInventoryloc(), e->getListname(),
+ item_index);
}
- return ItemSpec(InventoryLocation(), "", -1);
-}
-
-void GUIFormSpecMenu::drawList(const ListDrawSpec &s, int layer,
- bool &item_hovered)
-{
- video::IVideoDriver* driver = Environment->getVideoDriver();
-
- Inventory *inv = m_invmgr->getInventory(s.inventoryloc);
- if(!inv){
- warningstream<<"GUIFormSpecMenu::drawList(): "
- <<"The inventory location "
- <<"\""<<s.inventoryloc.dump()<<"\" doesn't exist"
- <<std::endl;
- return;
- }
- InventoryList *ilist = inv->getList(s.listname);
- if(!ilist){
- warningstream<<"GUIFormSpecMenu::drawList(): "
- <<"The inventory list \""<<s.listname<<"\" @ \""
- <<s.inventoryloc.dump()<<"\" doesn't exist"
- <<std::endl;
- return;
- }
-
- core::rect<s32> imgrect(0,0,imgsize.X,imgsize.Y);
-
- for (s32 i = 0; i < s.geom.X * s.geom.Y; i++) {
- s32 item_i = i + s.start_item_i;
- if (item_i >= (s32)ilist->getSize())
- break;
-
- 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);
-
- bool selected = m_selected_item
- && m_invmgr->getInventory(m_selected_item->inventoryloc) == inv
- && m_selected_item->listname == s.listname
- && m_selected_item->i == item_i;
- bool hovering = rect.isPointInside(m_pointer);
- ItemRotationKind rotation_kind = selected ? IT_ROT_SELECTED :
- (hovering ? IT_ROT_HOVERED : IT_ROT_NONE);
-
- if (layer == 0) {
- if (hovering) {
- item_hovered = true;
- driver->draw2DRectangle(m_slotbg_h, rect, &AbsoluteClippingRect);
- } else {
- driver->draw2DRectangle(m_slotbg_n, rect, &AbsoluteClippingRect);
- }
- }
-
- //Draw inv slot borders
- if (m_slotborder) {
- s32 x1 = rect.UpperLeftCorner.X;
- s32 y1 = rect.UpperLeftCorner.Y;
- s32 x2 = rect.LowerRightCorner.X;
- s32 y2 = rect.LowerRightCorner.Y;
- s32 border = 1;
- driver->draw2DRectangle(m_slotbordercolor,
- core::rect<s32>(v2s32(x1 - border, y1 - border),
- v2s32(x2 + border, y1)), NULL);
- driver->draw2DRectangle(m_slotbordercolor,
- core::rect<s32>(v2s32(x1 - border, y2),
- v2s32(x2 + border, y2 + border)), NULL);
- driver->draw2DRectangle(m_slotbordercolor,
- core::rect<s32>(v2s32(x1 - border, y1),
- v2s32(x1, y2)), NULL);
- driver->draw2DRectangle(m_slotbordercolor,
- core::rect<s32>(v2s32(x2, y1),
- v2s32(x2 + border, y2)), NULL);
- }
-
- if (layer == 1) {
- 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
- 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);
- }
- }
- }
- }
+ return GUIInventoryList::ItemSpec(InventoryLocation(), "", -1);
}
void GUIFormSpecMenu::drawSelectedItem()
@@ -2884,9 +3192,10 @@ void GUIFormSpecMenu::drawSelectedItem()
video::IVideoDriver* driver = Environment->getVideoDriver();
if (!m_selected_item) {
+ // reset rotation time
drawItemStack(driver, m_font, ItemStack(),
- core::rect<s32>(v2s32(0, 0), v2s32(0, 0)),
- NULL, m_client, IT_ROT_DRAGGED);
+ core::rect<s32>(v2s32(0, 0), v2s32(0, 0)), NULL,
+ m_client, IT_ROT_DRAGGED);
return;
}
@@ -2918,22 +3227,31 @@ void GUIFormSpecMenu::drawMenu()
gui::IGUIFont *old_font = skin->getFont();
skin->setFont(m_font);
+ m_hovered_item_tooltips.clear();
+
updateSelectedItem();
video::IVideoDriver* driver = Environment->getVideoDriver();
+ /*
+ Draw background color
+ */
v2u32 screenSize = driver->getScreenSize();
core::rect<s32> allbg(0, 0, screenSize.X, screenSize.Y);
if (m_bgfullscreen)
driver->draw2DRectangle(m_fullscreen_bgcolor, allbg, &allbg);
- else
+ if (m_bgnonfullscreen)
driver->draw2DRectangle(m_bgcolor, AbsoluteRect, &AbsoluteClippingRect);
+ /*
+ Draw rect_mode tooltip
+ */
m_tooltip_element->setVisible(false);
for (const auto &pair : m_tooltip_rects) {
- if (pair.first.isPointInside(m_pointer)) {
+ const core::rect<s32> &rect = pair.first->getAbsoluteClippingRect();
+ if (rect.getArea() > 0 && rect.isPointInside(m_pointer)) {
const std::wstring &text = pair.second.tooltip;
if (!text.empty()) {
showTooltip(text, pair.second.color, pair.second.bgcolor);
@@ -2945,135 +3263,33 @@ void GUIFormSpecMenu::drawMenu()
/*
Draw backgrounds
*/
- for (const GUIFormSpecMenu::ImageDrawSpec &spec : m_backgrounds) {
- video::ITexture *texture = m_tsrc->getTexture(spec.name);
-
- if (texture != 0) {
- // Image size on screen
- 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();
- rect = core::rect<s32>(AbsoluteRect.UpperLeftCorner.X - spec.pos.X,
- AbsoluteRect.UpperLeftCorner.Y - spec.pos.Y,
- AbsoluteRect.UpperLeftCorner.X + absrec_size.Width + spec.pos.X,
- AbsoluteRect.UpperLeftCorner.Y + absrec_size.Height + spec.pos.Y);
- }
-
- 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;
- }
+ for (gui::IGUIElement *e : m_backgrounds) {
+ e->setVisible(true);
+ e->draw();
+ e->setVisible(false);
}
- /*
- Draw Boxes
- */
- for (const GUIFormSpecMenu::BoxDrawSpec &spec : m_boxes) {
- irr::video::SColor todraw = spec.color;
-
- core::rect<s32> rect(spec.pos.X,spec.pos.Y,
- spec.pos.X + spec.geom.X,spec.pos.Y + spec.geom.Y);
-
- driver->draw2DRectangle(todraw, rect, 0);
- }
+ // Some elements are only visible while being drawn
+ for (gui::IGUIElement *e : m_clickthrough_elements)
+ e->setVisible(true);
/*
Call base class
+ (This is where all the drawing happens.)
*/
gui::IGUIElement::draw();
- /*
- Draw images
- */
- for (const GUIFormSpecMenu::ImageDrawSpec &spec : m_images) {
- video::ITexture *texture = m_tsrc->getTexture(spec.name);
+ for (gui::IGUIElement *e : m_clickthrough_elements)
+ e->setVisible(false);
- if (texture != 0) {
- const core::dimension2d<u32>& img_origsize = texture->getOriginalSize();
- // Image size on screen
- core::rect<s32> imgrect;
-
- if (spec.scale)
- imgrect = core::rect<s32>(0,0,spec.geom.X, spec.geom.Y);
- else {
-
- imgrect = core::rect<s32>(0,0,img_origsize.Width,img_origsize.Height);
- }
- // Image rectangle on screen
- core::rect<s32> rect = imgrect + spec.pos;
- 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),img_origsize),
- NULL/*&AbsoluteClippingRect*/, colors, true);
- }
- else {
- errorstream << "GUIFormSpecMenu::drawMenu() Draw images unable to load texture:" << std::endl;
- errorstream << "\t" << spec.name << std::endl;
- }
+ // Draw hovered item tooltips
+ for (const std::string &tooltip : m_hovered_item_tooltips) {
+ showTooltip(utf8_to_wide(tooltip), m_default_tooltip_color,
+ m_default_tooltip_bgcolor);
}
- /*
- Draw item images
- */
- for (const GUIFormSpecMenu::ImageDrawSpec &spec : m_itemimages) {
- if (m_client == 0)
- break;
-
- IItemDefManager *idef = m_client->idef();
- ItemStack item;
- item.deSerialize(spec.item_name, idef);
- core::rect<s32> imgrect(0, 0, spec.geom.X, spec.geom.Y);
- // Viewport rectangle on screen
- core::rect<s32> rect = imgrect + spec.pos;
- if (spec.parent_button && spec.parent_button->isPressed()) {
-#if (IRRLICHT_VERSION_MAJOR == 1 && IRRLICHT_VERSION_MINOR < 8)
- rect += core::dimension2d<s32>(
- 0.05 * (float)rect.getWidth(), 0.05 * (float)rect.getHeight());
-#else
- rect += core::dimension2d<s32>(
- skin->getSize(irr::gui::EGDS_BUTTON_PRESSED_IMAGE_OFFSET_X),
- skin->getSize(irr::gui::EGDS_BUTTON_PRESSED_IMAGE_OFFSET_Y));
-#endif
- }
- drawItemStack(driver, m_font, item, rect, &AbsoluteClippingRect,
- m_client, IT_ROT_NONE);
- }
-
- /*
- Draw items
- Layer 0: Item slot rectangles
- Layer 1: Item images; prepare tooltip
- */
- bool item_hovered = false;
- for (int layer = 0; layer < 2; layer++) {
- for (const GUIFormSpecMenu::ListDrawSpec &spec : m_inventorylists) {
- drawList(spec, layer, item_hovered);
- }
- }
- if (!item_hovered) {
+ if (m_hovered_item_tooltips.empty()) {
+ // reset rotation time
drawItemStack(driver, m_font, ItemStack(),
core::rect<s32>(v2s32(0, 0), v2s32(0, 0)),
NULL, m_client, IT_ROT_HOVERED);
@@ -3085,32 +3301,18 @@ void GUIFormSpecMenu::drawMenu()
#endif
/*
- Draw static text elements
- */
- for (const GUIFormSpecMenu::StaticTextSpec &spec : m_static_texts) {
- core::rect<s32> rect = spec.rect;
- if (spec.parent_button && spec.parent_button->isPressed()) {
-#if (IRRLICHT_VERSION_MAJOR == 1 && IRRLICHT_VERSION_MINOR < 8)
- rect += core::dimension2d<s32>(
- 0.05 * (float)rect.getWidth(), 0.05 * (float)rect.getHeight());
-#else
- // Use image offset instead of text's because its a bit smaller
- // and fits better, also TEXT_OFFSET_X is always 0
- rect += core::dimension2d<s32>(
- skin->getSize(irr::gui::EGDS_BUTTON_PRESSED_IMAGE_OFFSET_X),
- skin->getSize(irr::gui::EGDS_BUTTON_PRESSED_IMAGE_OFFSET_Y));
-#endif
- }
- video::SColor color(255, 255, 255, 255);
- m_font->draw(spec.text.c_str(), rect, color, true, true, &rect);
- }
-
- /*
- Draw fields/buttons tooltips
+ Draw fields/buttons tooltips and update the mouse cursor
*/
gui::IGUIElement *hovered =
Environment->getRootGUIElement()->getElementFromPoint(m_pointer);
+#ifndef HAVE_TOUCHSCREENGUI
+ gui::ICursorControl *cursor_control = RenderingEngine::get_raw_device()->
+ getCursorControl();
+ gui::ECURSOR_ICON current_cursor_icon = cursor_control->getActiveIcon();
+#endif
+ bool hovered_element_found = false;
+
if (hovered != NULL) {
s32 id = hovered->getID();
@@ -3126,23 +3328,41 @@ void GUIFormSpecMenu::drawMenu()
}
}
- // Find and update the current tooltip
- if (id != -1 && delta >= m_tooltip_show_delay) {
+ // Find and update the current tooltip and cursor icon
+ if (id != -1) {
for (const FieldSpec &field : m_fields) {
if (field.fid != id)
continue;
- const std::wstring &text = m_tooltips[field.fname].tooltip;
- if (!text.empty())
- showTooltip(text, m_tooltips[field.fname].color,
- m_tooltips[field.fname].bgcolor);
+ if (delta >= m_tooltip_show_delay) {
+ const std::wstring &text = m_tooltips[field.fname].tooltip;
+ if (!text.empty())
+ showTooltip(text, m_tooltips[field.fname].color,
+ m_tooltips[field.fname].bgcolor);
+ }
+
+#ifndef HAVE_TOUCHSCREENGUI
+ if (field.ftype != f_HyperText && // Handled directly in guiHyperText
+ current_cursor_icon != field.fcursor_icon)
+ cursor_control->setActiveIcon(field.fcursor_icon);
+#endif
+
+ hovered_element_found = true;
break;
}
}
}
+ if (!hovered_element_found) {
+ // no element is hovered
+#ifndef HAVE_TOUCHSCREENGUI
+ if (current_cursor_icon != ECI_NORMAL)
+ cursor_control->setActiveIcon(ECI_NORMAL);
+#endif
+ }
+
m_tooltip_element->draw();
/*
@@ -3157,19 +3377,16 @@ void GUIFormSpecMenu::drawMenu()
void GUIFormSpecMenu::showTooltip(const std::wstring &text,
const irr::video::SColor &color, const irr::video::SColor &bgcolor)
{
- const std::wstring ntext = translate_string(text);
- m_tooltip_element->setOverrideColor(color);
- m_tooltip_element->setBackgroundColor(bgcolor);
- setStaticText(m_tooltip_element, ntext.c_str());
+ EnrichedString ntext(text);
+ ntext.setDefaultColor(color);
+ ntext.setBackground(bgcolor);
+
+ setStaticText(m_tooltip_element, ntext);
// Tooltip size and offset
s32 tooltip_width = m_tooltip_element->getTextWidth() + m_btn_height;
-#if (IRRLICHT_VERSION_MAJOR <= 1 && IRRLICHT_VERSION_MINOR <= 8 && IRRLICHT_VERSION_REVISION < 2) || USE_FREETYPE == 1
- std::vector<std::wstring> text_rows = str_split(ntext, L'\n');
- s32 tooltip_height = m_tooltip_element->getTextHeight() * text_rows.size() + 5;
-#else
s32 tooltip_height = m_tooltip_element->getTextHeight() + 5;
-#endif
+
v2u32 screenSize = Environment->getVideoDriver()->getScreenSize();
int tooltip_offset_x = m_btn_height;
int tooltip_offset_y = m_btn_height;
@@ -3206,11 +3423,11 @@ void GUIFormSpecMenu::updateSelectedItem()
// If craftresult is nonempty and nothing else is selected, select it now.
if (!m_selected_item) {
- for (const GUIFormSpecMenu::ListDrawSpec &s : m_inventorylists) {
- if (s.listname != "craftpreview")
+ for (const GUIInventoryList *e : m_inventorylists) {
+ if (e->getListname() != "craftpreview")
continue;
- Inventory *inv = m_invmgr->getInventory(s.inventoryloc);
+ Inventory *inv = m_invmgr->getInventory(e->getInventoryloc());
if (!inv)
continue;
@@ -3224,8 +3441,8 @@ void GUIFormSpecMenu::updateSelectedItem()
continue;
// Grab selected item from the crafting result list
- m_selected_item = new ItemSpec;
- m_selected_item->inventoryloc = s.inventoryloc;
+ m_selected_item = new GUIInventoryList::ItemSpec;
+ m_selected_item->inventoryloc = e->getInventoryloc();
m_selected_item->listname = "craftresult";
m_selected_item->i = 0;
m_selected_amount = item.count;
@@ -3246,16 +3463,12 @@ ItemStack GUIFormSpecMenu::verifySelectedItem()
// If the selected stack has become smaller, adjust m_selected_amount.
// Return the selected stack.
- if(m_selected_item)
- {
- if(m_selected_item->isValid())
- {
+ if (m_selected_item) {
+ if (m_selected_item->isValid()) {
Inventory *inv = m_invmgr->getInventory(m_selected_item->inventoryloc);
- if(inv)
- {
+ if (inv) {
InventoryList *list = inv->getList(m_selected_item->listname);
- if(list && (u32) m_selected_item->i < list->getSize())
- {
+ if (list && (u32) m_selected_item->i < list->getSize()) {
ItemStack stack = list->getItem(m_selected_item->i);
if (!m_selected_swap.empty()) {
if (m_selected_swap.name == stack.name &&
@@ -3273,7 +3486,7 @@ ItemStack GUIFormSpecMenu::verifySelectedItem()
// selection was not valid
delete m_selected_item;
- m_selected_item = NULL;
+ m_selected_item = nullptr;
m_selected_amount = 0;
m_selected_dragging = false;
}
@@ -3322,7 +3535,7 @@ void GUIFormSpecMenu::acceptInput(FormspecQuitMode quitmode=quit_mode_no)
}
for (const GUIFormSpecMenu::FieldSpec &s : m_fields) {
- if(s.send) {
+ if (s.send) {
std::string name = s.fname;
if (s.ftype == f_Button) {
fields[name] = wide_to_utf8(s.flabel);
@@ -3331,14 +3544,17 @@ void GUIFormSpecMenu::acceptInput(FormspecQuitMode quitmode=quit_mode_no)
if (table) {
fields[name] = table->checkEvent();
}
- }
- else if(s.ftype == f_DropDown) {
- // no dynamic cast possible due to some distributions shipped
- // without rtti support in irrlicht
- IGUIElement * element = getElementFromId(s.fid);
+ } else if (s.ftype == f_DropDown) {
+ // No dynamic cast possible due to some distributions shipped
+ // without rtti support in Irrlicht
+ IGUIElement *element = getElementFromId(s.fid, true);
gui::IGUIComboBox *e = NULL;
if ((element) && (element->getType() == gui::EGUIET_COMBO_BOX)) {
- e = static_cast<gui::IGUIComboBox*>(element);
+ e = static_cast<gui::IGUIComboBox *>(element);
+ } else {
+ warningstream << "GUIFormSpecMenu::acceptInput: dropdown "
+ << "field without dropdown element" << std::endl;
+ continue;
}
s32 selected = e->getSelected();
if (selected >= 0) {
@@ -3348,12 +3564,11 @@ void GUIFormSpecMenu::acceptInput(FormspecQuitMode quitmode=quit_mode_no)
fields[name] = (*dropdown_values)[selected];
}
}
- }
- else if (s.ftype == f_TabHeader) {
- // no dynamic cast possible due to some distributions shipped
- // without rttzi support in irrlicht
- IGUIElement * element = getElementFromId(s.fid);
- gui::IGUITabControl *e = NULL;
+ } else if (s.ftype == f_TabHeader) {
+ // No dynamic cast possible due to some distributions shipped
+ // without rtti support in Irrlicht
+ IGUIElement *element = getElementFromId(s.fid, true);
+ gui::IGUITabControl *e = nullptr;
if ((element) && (element->getType() == gui::EGUIET_TAB_CONTROL)) {
e = static_cast<gui::IGUITabControl *>(element);
}
@@ -3363,12 +3578,11 @@ void GUIFormSpecMenu::acceptInput(FormspecQuitMode quitmode=quit_mode_no)
ss << (e->getActiveTab() +1);
fields[name] = ss.str();
}
- }
- else if (s.ftype == f_CheckBox) {
- // no dynamic cast possible due to some distributions shipped
- // without rtti support in irrlicht
- IGUIElement * element = getElementFromId(s.fid);
- gui::IGUICheckBox *e = NULL;
+ } else if (s.ftype == f_CheckBox) {
+ // No dynamic cast possible due to some distributions shipped
+ // without rtti support in Irrlicht
+ IGUIElement *element = getElementFromId(s.fid, true);
+ gui::IGUICheckBox *e = nullptr;
if ((element) && (element->getType() == gui::EGUIET_CHECK_BOX)) {
e = static_cast<gui::IGUICheckBox*>(element);
}
@@ -3379,17 +3593,15 @@ void GUIFormSpecMenu::acceptInput(FormspecQuitMode quitmode=quit_mode_no)
else
fields[name] = "false";
}
- }
- else if (s.ftype == f_ScrollBar) {
- // no dynamic cast possible due to some distributions shipped
- // without rtti support in irrlicht
- IGUIElement * element = getElementFromId(s.fid);
- gui::IGUIScrollBar *e = NULL;
- if ((element) && (element->getType() == gui::EGUIET_SCROLL_BAR)) {
- e = static_cast<gui::IGUIScrollBar*>(element);
- }
-
- if (e != 0) {
+ } else if (s.ftype == f_ScrollBar) {
+ // No dynamic cast possible due to some distributions shipped
+ // without rtti support in Irrlicht
+ IGUIElement *element = getElementFromId(s.fid, true);
+ GUIScrollBar *e = nullptr;
+ if (element && element->getType() == gui::EGUIET_ELEMENT)
+ e = static_cast<GUIScrollBar *>(element);
+
+ if (e) {
std::stringstream os;
os << e->getPos();
if (s.fdefault == L"Changed")
@@ -3397,13 +3609,20 @@ void GUIFormSpecMenu::acceptInput(FormspecQuitMode quitmode=quit_mode_no)
else
fields[name] = "VAL:" + os.str();
}
- }
- else
- {
- IGUIElement* e = getElementFromId(s.fid);
- if(e != NULL) {
+ } else if (s.ftype == f_AnimatedImage) {
+ // No dynamic cast possible due to some distributions shipped
+ // without rtti support in Irrlicht
+ IGUIElement *element = getElementFromId(s.fid, true);
+ GUIAnimatedImage *e = nullptr;
+ if (element && element->getType() == gui::EGUIET_ELEMENT)
+ e = static_cast<GUIAnimatedImage *>(element);
+
+ if (e)
+ fields[name] = std::to_string(e->getFrameIndex() + 1);
+ } else {
+ IGUIElement *e = getElementFromId(s.fid, true);
+ if (e)
fields[name] = wide_to_utf8(e->getText());
- }
}
}
}
@@ -3412,9 +3631,9 @@ void GUIFormSpecMenu::acceptInput(FormspecQuitMode quitmode=quit_mode_no)
}
}
-static bool isChild(gui::IGUIElement * tocheck, gui::IGUIElement * parent)
+static bool isChild(gui::IGUIElement *tocheck, gui::IGUIElement *parent)
{
- while(tocheck != NULL) {
+ while (tocheck) {
if (tocheck == parent) {
return true;
}
@@ -3451,8 +3670,8 @@ bool GUIFormSpecMenu::preprocessEvent(const SEvent& event)
}
// Fix Esc/Return key being eaten by checkboxen and tables
- if(event.EventType==EET_KEY_INPUT_EVENT) {
- KeyPress kp(event.KeyInput);
+ if (event.EventType == EET_KEY_INPUT_EVENT) {
+ KeyPress kp(event.KeyInput);
if (kp == EscapeKey || kp == CancelKey
|| kp == getKeySetting("keymap_inventory")
|| event.KeyInput.Key==KEY_RETURN) {
@@ -3467,9 +3686,11 @@ bool GUIFormSpecMenu::preprocessEvent(const SEvent& event)
}
}
}
- // Mouse wheel events: send to hovered element instead of focused
- if(event.EventType==EET_MOUSE_INPUT_EVENT
- && event.MouseInput.Event == EMIE_MOUSE_WHEEL) {
+ // Mouse wheel and move events: send to hovered element instead of focused
+ if (event.EventType == EET_MOUSE_INPUT_EVENT &&
+ (event.MouseInput.Event == EMIE_MOUSE_WHEEL ||
+ (event.MouseInput.Event == EMIE_MOUSE_MOVED &&
+ event.MouseInput.ButtonStates == 0))) {
s32 x = event.MouseInput.X;
s32 y = event.MouseInput.Y;
gui::IGUIElement *hovered =
@@ -3477,7 +3698,7 @@ bool GUIFormSpecMenu::preprocessEvent(const SEvent& event)
core::position2d<s32>(x, y));
if (hovered && isMyChild(hovered)) {
hovered->OnEvent(event);
- return true;
+ return event.MouseInput.Event == EMIE_MOUSE_WHEEL;
}
}
@@ -3490,7 +3711,7 @@ bool GUIFormSpecMenu::preprocessEvent(const SEvent& event)
if (event.MouseInput.Event == EMIE_LMOUSE_PRESSED_DOWN) {
m_old_tooltip_id = -1;
}
- if (!isChild(hovered,this)) {
+ if (!isChild(hovered, this)) {
if (DoubleClickDetection(event)) {
return true;
}
@@ -3661,7 +3882,7 @@ bool GUIFormSpecMenu::OnEvent(const SEvent& event)
m_old_tooltip_id = -1;
updateSelectedItem();
- ItemSpec s = getItemAtPos(m_pointer);
+ GUIInventoryList::ItemSpec s = getItemAtPos(m_pointer);
Inventory *inv_selected = NULL;
Inventory *inv_s = NULL;
@@ -3763,8 +3984,9 @@ bool GUIFormSpecMenu::OnEvent(const SEvent& event)
case BET_DOWN:
// Some mouse button has been pressed
- //infostream<<"Mouse button "<<button<<" pressed at p=("
- // <<p.X<<","<<p.Y<<")"<<std::endl;
+ //infostream << "Mouse button " << button << " pressed at p=("
+ // << event.MouseInput.X << "," << event.MouseInput.Y << ")"
+ // << std::endl;
m_selected_dragging = false;
@@ -3774,7 +3996,7 @@ bool GUIFormSpecMenu::OnEvent(const SEvent& event)
} else if (!m_selected_item) {
if (s_count && button != BET_WHEEL_UP) {
// Non-empty stack has been clicked: select or shift-move it
- m_selected_item = new ItemSpec(s);
+ m_selected_item = new GUIInventoryList::ItemSpec(s);
u32 count;
if (button == BET_RIGHT)
@@ -4002,7 +4224,7 @@ bool GUIFormSpecMenu::OnEvent(const SEvent& event)
// if there are no items selected or the selected item
// belongs to craftresult list, proceed with crafting
- if (m_selected_item == NULL ||
+ if (!m_selected_item ||
!m_selected_item->isValid() || m_selected_item->listname == "craftresult") {
assert(inv_s);
@@ -4020,14 +4242,14 @@ bool GUIFormSpecMenu::OnEvent(const SEvent& event)
if (m_selected_amount == 0) {
m_selected_swap.clear();
delete m_selected_item;
- m_selected_item = NULL;
+ m_selected_item = nullptr;
m_selected_amount = 0;
m_selected_dragging = false;
}
m_old_pointer = m_pointer;
}
- if (event.EventType == EET_GUI_EVENT) {
+ if (event.EventType == EET_GUI_EVENT) {
if (event.GUIEvent.EventType == gui::EGET_TAB_CHANGED
&& isVisible()) {
// find the element that was clicked
@@ -4054,9 +4276,9 @@ bool GUIFormSpecMenu::OnEvent(const SEvent& event)
(event.GUIEvent.EventType == gui::EGET_CHECKBOX_CHANGED) ||
(event.GUIEvent.EventType == gui::EGET_COMBO_BOX_CHANGED) ||
(event.GUIEvent.EventType == gui::EGET_SCROLL_BAR_CHANGED)) {
- unsigned int btn_id = event.GUIEvent.Caller->getID();
+ s32 caller_id = event.GUIEvent.Caller->getID();
- if (btn_id == 257) {
+ if (caller_id == 257) {
if (m_allowclose) {
acceptInput(quit_mode_accept);
quitMenu();
@@ -4072,8 +4294,11 @@ bool GUIFormSpecMenu::OnEvent(const SEvent& event)
for (GUIFormSpecMenu::FieldSpec &s : m_fields) {
// if its a button, set the send field so
// lua knows which button was pressed
- if ((s.ftype == f_Button || s.ftype == f_CheckBox) &&
- s.fid == event.GUIEvent.Caller->getID()) {
+
+ if (caller_id != s.fid)
+ continue;
+
+ if (s.ftype == f_Button || s.ftype == f_CheckBox) {
s.send = true;
if (s.is_exit) {
if (m_allowclose) {
@@ -4089,8 +4314,7 @@ bool GUIFormSpecMenu::OnEvent(const SEvent& event)
s.send = false;
return true;
- } else if ((s.ftype == f_DropDown) &&
- (s.fid == event.GUIEvent.Caller->getID())) {
+ } else if (s.ftype == f_DropDown) {
// only send the changed dropdown
for (GUIFormSpecMenu::FieldSpec &s2 : m_fields) {
if (s2.ftype == f_DropDown) {
@@ -4108,11 +4332,14 @@ bool GUIFormSpecMenu::OnEvent(const SEvent& event)
}
}
return true;
- } else if ((s.ftype == f_ScrollBar) &&
- (s.fid == event.GUIEvent.Caller->getID())) {
+ } else if (s.ftype == f_ScrollBar) {
s.fdefault = L"Changed";
acceptInput(quit_mode_no);
s.fdefault = L"";
+ } else if (s.ftype == f_Unknown || s.ftype == f_HyperText) {
+ s.send = true;
+ acceptInput();
+ s.send = false;
}
}
}
@@ -4175,13 +4402,22 @@ bool GUIFormSpecMenu::OnEvent(const SEvent& event)
std::string GUIFormSpecMenu::getNameByID(s32 id)
{
for (FieldSpec &spec : m_fields) {
- if (spec.fid == id) {
+ if (spec.fid == id)
return spec.fname;
- }
}
return "";
}
+
+const GUIFormSpecMenu::FieldSpec *GUIFormSpecMenu::getSpecByID(s32 id)
+{
+ for (FieldSpec &spec : m_fields) {
+ if (spec.fid == id)
+ return &spec;
+ }
+ return nullptr;
+}
+
/**
* get label of element by id
* @param id of element
@@ -4190,9 +4426,8 @@ std::string GUIFormSpecMenu::getNameByID(s32 id)
std::wstring GUIFormSpecMenu::getLabelByID(s32 id)
{
for (FieldSpec &spec : m_fields) {
- if (spec.fid == id) {
+ if (spec.fid == id)
return spec.flabel;
- }
}
return L"";
}
diff --git a/src/gui/guiFormSpecMenu.h b/src/gui/guiFormSpecMenu.h
index 46df0930c..17bfef205 100644
--- a/src/gui/guiFormSpecMenu.h
+++ b/src/gui/guiFormSpecMenu.h
@@ -26,6 +26,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "irrlichttypes_extrabloated.h"
#include "inventorymanager.h"
#include "modalMenu.h"
+#include "guiInventoryList.h"
#include "guiTable.h"
#include "network/networkprotocol.h"
#include "client/joystick_controller.h"
@@ -36,6 +37,8 @@ with this program; if not, write to the Free Software Foundation, Inc.,
class InventoryManager;
class ISimpleTextureSource;
class Client;
+class GUIScrollBar;
+class TexturePool;
typedef enum {
f_Button,
@@ -44,6 +47,10 @@ typedef enum {
f_CheckBox,
f_DropDown,
f_ScrollBar,
+ f_Box,
+ f_ItemImage,
+ f_HyperText,
+ f_AnimatedImage,
f_Unknown
} FormspecFieldType;
@@ -75,51 +82,6 @@ public:
class GUIFormSpecMenu : public GUIModalMenu
{
- struct ItemSpec
- {
- ItemSpec() = default;
-
- ItemSpec(const InventoryLocation &a_inventoryloc,
- const std::string &a_listname,
- s32 a_i) :
- inventoryloc(a_inventoryloc),
- listname(a_listname),
- i(a_i)
- {
- }
-
- bool isValid() const { return i != -1; }
-
- InventoryLocation inventoryloc;
- std::string listname;
- s32 i = -1;
- };
-
- struct ListDrawSpec
- {
- ListDrawSpec() = default;
-
- ListDrawSpec(const InventoryLocation &a_inventoryloc,
- const std::string &a_listname,
- 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),
- real_coordinates(a_real_coordinates)
- {
- }
-
- InventoryLocation inventoryloc;
- std::string listname;
- v2s32 pos;
- v2s32 geom;
- s32 start_item_i;
- bool real_coordinates;
- };
-
struct ListRingSpec
{
ListRingSpec() = default;
@@ -135,121 +97,36 @@ class GUIFormSpecMenu : public GUIModalMenu
std::string listname;
};
- struct ImageDrawSpec
- {
- ImageDrawSpec():
- parent_button(NULL),
- clip(false)
- {
- }
-
- ImageDrawSpec(const std::string &a_name,
- const std::string &a_item_name,
- gui::IGUIButton *a_parent_button,
- const v2s32 &a_pos, const v2s32 &a_geom):
- name(a_name),
- item_name(a_item_name),
- parent_button(a_parent_button),
- pos(a_pos),
- geom(a_geom),
- scale(true),
- clip(false)
- {
- }
-
- ImageDrawSpec(const std::string &a_name,
- const std::string &a_item_name,
- const v2s32 &a_pos, const v2s32 &a_geom):
- name(a_name),
- item_name(a_item_name),
- parent_button(NULL),
- pos(a_pos),
- geom(a_geom),
- scale(true),
- clip(false)
- {
- }
-
- ImageDrawSpec(const std::string &a_name,
- const v2s32 &a_pos, const v2s32 &a_geom, bool clip=false):
- name(a_name),
- parent_button(NULL),
- pos(a_pos),
- geom(a_geom),
- scale(true),
- clip(clip)
- {
- }
-
- 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),
- pos(a_pos),
- scale(false),
- clip(false)
- {
- }
-
- std::string name;
- std::string item_name;
- gui::IGUIButton *parent_button;
- v2s32 pos;
- v2s32 geom;
- core::rect<s32> middle;
- bool scale;
- bool clip;
- };
-
struct FieldSpec
{
FieldSpec() = default;
FieldSpec(const std::string &name, const std::wstring &label,
- const std::wstring &default_text, int id) :
+ const std::wstring &default_text, s32 id, int priority = 0,
+ gui::ECURSOR_ICON cursor_icon = ECI_NORMAL) :
fname(name),
flabel(label),
fdefault(unescape_enriched(translate_string(default_text))),
fid(id),
send(false),
ftype(f_Unknown),
- is_exit(false)
+ is_exit(false),
+ priority(priority),
+ fcursor_icon(cursor_icon)
{
}
std::string fname;
std::wstring flabel;
std::wstring fdefault;
- int fid;
+ s32 fid;
bool send;
FormspecFieldType ftype;
bool is_exit;
+ // Draw priority for formspec version < 3
+ int priority;
core::rect<s32> rect;
- };
-
- struct BoxDrawSpec
- {
- BoxDrawSpec(v2s32 a_pos, v2s32 a_geom, irr::video::SColor a_color):
- pos(a_pos),
- geom(a_geom),
- color(a_color)
- {
- }
- v2s32 pos;
- v2s32 geom;
- irr::video::SColor color;
+ gui::ECURSOR_ICON fcursor_icon;
};
struct TooltipSpec
@@ -268,35 +145,6 @@ class GUIFormSpecMenu : public GUIModalMenu
irr::video::SColor color;
};
- struct StaticTextSpec
- {
- StaticTextSpec():
- parent_button(NULL)
- {
- }
-
- StaticTextSpec(const std::wstring &a_text,
- const core::rect<s32> &a_rect):
- text(a_text),
- rect(a_rect),
- parent_button(NULL)
- {
- }
-
- StaticTextSpec(const std::wstring &a_text,
- const core::rect<s32> &a_rect,
- gui::IGUIButton *a_parent_button):
- text(a_text),
- rect(a_rect),
- parent_button(a_parent_button)
- {
- }
-
- std::wstring text;
- core::rect<s32> rect;
- gui::IGUIButton *parent_button;
- };
-
public:
GUIFormSpecMenu(JoystickController *joystick,
gui::IGUIElement* parent, s32 id,
@@ -365,13 +213,37 @@ public:
m_focused_element = elementname;
}
+ Client *getClient() const
+ {
+ return m_client;
+ }
+
+ const GUIInventoryList::ItemSpec *getSelectedItem() const
+ {
+ return m_selected_item;
+ }
+
+ const u16 getSelectedAmount() const
+ {
+ return m_selected_amount;
+ }
+
+ bool doTooltipAppendItemname() const
+ {
+ return m_tooltip_append_itemname;
+ }
+
+ void addHoveredItemTooltip(const std::string &name)
+ {
+ m_hovered_item_tooltips.emplace_back(name);
+ }
+
/*
Remove and re-add (or reposition) stuff
*/
void regenerateGui(v2u32 screensize);
- ItemSpec getItemAtPos(v2s32 p) const;
- void drawList(const ListDrawSpec &s, int layer, bool &item_hovered);
+ GUIInventoryList::ItemSpec getItemAtPos(v2s32 p) const;
void drawSelectedItem();
void drawMenu();
void updateSelectedItem();
@@ -397,10 +269,9 @@ protected:
}
std::wstring getLabelByID(s32 id);
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);
+ const FieldSpec *getSpecByID(s32 id);
+ v2s32 getElementBasePos(const std::vector<std::string> *v_pos);
+ v2s32 getRealCoordinateBasePos(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;
@@ -425,23 +296,20 @@ protected:
std::string m_formspec_prepend;
InventoryLocation m_current_inventory_location;
- std::vector<ListDrawSpec> m_inventorylists;
+ std::vector<GUIInventoryList *> m_inventorylists;
std::vector<ListRingSpec> m_inventory_rings;
- std::vector<ImageDrawSpec> m_backgrounds;
- std::vector<ImageDrawSpec> m_images;
- std::vector<ImageDrawSpec> m_itemimages;
- std::vector<BoxDrawSpec> m_boxes;
+ std::vector<gui::IGUIElement *> m_backgrounds;
std::unordered_map<std::string, bool> field_close_on_enter;
std::vector<FieldSpec> m_fields;
- std::vector<StaticTextSpec> m_static_texts;
- std::vector<std::pair<FieldSpec,GUITable*> > m_tables;
- std::vector<std::pair<FieldSpec,gui::IGUICheckBox*> > m_checkboxes;
+ std::vector<std::pair<FieldSpec, GUITable *>> m_tables;
+ std::vector<std::pair<FieldSpec, gui::IGUICheckBox *>> m_checkboxes;
std::map<std::string, TooltipSpec> m_tooltips;
- std::vector<std::pair<irr::core::rect<s32>, TooltipSpec>> m_tooltip_rects;
- std::vector<std::pair<FieldSpec,gui::IGUIScrollBar*> > m_scrollbars;
- std::vector<std::pair<FieldSpec, std::vector<std::string> > > m_dropdowns;
+ std::vector<std::pair<gui::IGUIElement *, TooltipSpec>> m_tooltip_rects;
+ std::vector<std::pair<FieldSpec, GUIScrollBar *>> m_scrollbars;
+ std::vector<std::pair<FieldSpec, std::vector<std::string>>> m_dropdowns;
+ std::vector<gui::IGUIElement *> m_clickthrough_elements;
- ItemSpec *m_selected_item = nullptr;
+ GUIInventoryList::ItemSpec *m_selected_item = nullptr;
u16 m_selected_amount = 0;
bool m_selected_dragging = false;
ItemStack m_selected_swap;
@@ -459,16 +327,14 @@ protected:
bool m_lock = false;
v2u32 m_lockscreensize;
+ bool m_bgnonfullscreen;
bool m_bgfullscreen;
- bool m_slotborder;
video::SColor m_bgcolor;
video::SColor m_fullscreen_bgcolor;
- video::SColor m_slotbg_n;
- video::SColor m_slotbg_h;
- video::SColor m_slotbordercolor;
video::SColor m_default_tooltip_bgcolor;
video::SColor m_default_tooltip_color;
+
private:
IFormSource *m_form_src;
TextDest *m_text_dst;
@@ -479,6 +345,7 @@ private:
typedef struct {
bool explicit_size;
bool real_coordinates;
+ u8 simple_field_count;
v2f invsize;
v2s32 size;
v2f32 offset;
@@ -489,6 +356,18 @@ private:
std::string focused_fieldname;
GUITable::TableOptions table_options;
GUITable::TableColumns table_columns;
+
+ GUIInventoryList::Options inventorylist_options;
+
+ struct {
+ s32 max = 1000;
+ s32 min = 0;
+ s32 small_step = 10;
+ s32 large_step = 100;
+ s32 thumb_size = 1;
+ GUIScrollBar::ArrowVisibility arrow_visiblity = GUIScrollBar::DEFAULT;
+ } scrollbar_options;
+
// used to restore table selection/scroll/treeview state
std::unordered_map<std::string, GUITable::DynamicData> table_dyndata;
} parserData;
@@ -502,6 +381,7 @@ private:
fs_key_pendig current_keys_pending;
std::string current_field_enter_pending = "";
+ std::vector<std::string> m_hovered_item_tooltips;
void parseElement(parserData* data, const std::string &element);
@@ -512,6 +392,7 @@ private:
void parseListRing(parserData* data, const std::string &element);
void parseCheckbox(parserData* data, const std::string &element);
void parseImage(parserData* data, const std::string &element);
+ void parseAnimatedImage(parserData *data, const std::string &element);
void parseItemImage(parserData* data, const std::string &element);
void parseButton(parserData* data, const std::string &element,
const std::string &typ);
@@ -529,6 +410,7 @@ private:
void parseSimpleField(parserData* data,std::vector<std::string> &parts);
void parseTextArea(parserData* data,std::vector<std::string>& parts,
const std::string &type);
+ void parseHyperText(parserData *data, const std::string &element);
void parseLabel(parserData* data, const std::string &element);
void parseVertLabel(parserData* data, const std::string &element);
void parseImageButton(parserData* data, const std::string &element,
@@ -542,6 +424,7 @@ private:
bool parseVersionDirect(const std::string &data);
bool parseSizeDirect(parserData* data, const std::string &element);
void parseScrollBar(parserData* data, const std::string &element);
+ void parseScrollBarOptions(parserData *data, const std::string &element);
bool parsePositionDirect(parserData *data, const std::string &element);
void parsePosition(parserData *data, const std::string &element);
bool parseAnchorDirect(parserData *data, const std::string &element);
@@ -554,6 +437,13 @@ private:
const irr::video::SColor &bgcolor);
/**
+ * In formspec version < 2 the elements were not ordered properly. Some element
+ * types were drawn before others.
+ * This function sorts the elements in the old order for backwards compatibility.
+ */
+ void legacySortElements(core::list<IGUIElement *>::Iterator from);
+
+ /**
* check if event is part of a double click
* @param event event to evaluate
* @return true/false if a doubleclick was detected
diff --git a/src/gui/guiHyperText.cpp b/src/gui/guiHyperText.cpp
new file mode 100644
index 000000000..e107b5a3e
--- /dev/null
+++ b/src/gui/guiHyperText.cpp
@@ -0,0 +1,1158 @@
+/*
+Minetest
+Copyright (C) 2019 EvicenceBKidscode / Pierre-Yves Rollo <dev@pyrollo.com>
+
+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 "IGUIEnvironment.h"
+#include "IGUIElement.h"
+#include "guiScrollBar.h"
+#include "IGUIFont.h"
+#include <vector>
+#include <list>
+#include <unordered_map>
+using namespace irr::gui;
+#include "client/fontengine.h"
+#include <SColor.h>
+#include "client/tile.h"
+#include "IVideoDriver.h"
+#include "client/client.h"
+#include "client/renderingengine.h"
+#include "hud.h"
+#include "guiHyperText.h"
+#include "util/string.h"
+
+bool check_color(const std::string &str)
+{
+ irr::video::SColor color;
+ return parseColorString(str, color, false);
+}
+
+bool check_integer(const std::string &str)
+{
+ if (str.empty())
+ return false;
+
+ char *endptr = nullptr;
+ strtol(str.c_str(), &endptr, 10);
+
+ return *endptr == '\0';
+}
+
+// -----------------------------------------------------------------------------
+// ParsedText - A text parser
+
+void ParsedText::Element::setStyle(StyleList &style)
+{
+ this->underline = is_yes(style["underline"]);
+
+ video::SColor color;
+
+ if (parseColorString(style["color"], color, false))
+ this->color = color;
+ if (parseColorString(style["hovercolor"], color, false))
+ this->hovercolor = color;
+
+ unsigned int font_size = std::atoi(style["fontsize"].c_str());
+ FontMode font_mode = FM_Standard;
+ if (style["fontstyle"] == "mono")
+ font_mode = FM_Mono;
+
+ FontSpec spec(font_size, font_mode,
+ is_yes(style["bold"]), is_yes(style["italic"]));
+
+ // TODO: find a way to check font validity
+ // Build a new fontengine ?
+ this->font = g_fontengine->getFont(spec);
+
+ if (!this->font)
+ printf("No font found ! Size=%d, mode=%d, bold=%s, italic=%s\n",
+ font_size, font_mode, style["bold"].c_str(),
+ style["italic"].c_str());
+}
+
+void ParsedText::Paragraph::setStyle(StyleList &style)
+{
+ if (style["halign"] == "center")
+ this->halign = HALIGN_CENTER;
+ else if (style["halign"] == "right")
+ this->halign = HALIGN_RIGHT;
+ else if (style["halign"] == "justify")
+ this->halign = HALIGN_JUSTIFY;
+ else
+ this->halign = HALIGN_LEFT;
+}
+
+ParsedText::ParsedText(const wchar_t *text)
+{
+ // Default style
+ m_root_tag.name = "root";
+ m_root_tag.style["fontsize"] = "16";
+ m_root_tag.style["fontstyle"] = "normal";
+ m_root_tag.style["bold"] = "false";
+ m_root_tag.style["italic"] = "false";
+ m_root_tag.style["underline"] = "false";
+ m_root_tag.style["halign"] = "left";
+ m_root_tag.style["color"] = "#EEEEEE";
+ m_root_tag.style["hovercolor"] = "#FF0000";
+
+ m_active_tags.push_front(&m_root_tag);
+ m_style = m_root_tag.style;
+
+ // Default simple tags definitions
+ StyleList style;
+
+ style["color"] = "#0000FF";
+ style["underline"] = "true";
+ m_elementtags["action"] = style;
+ style.clear();
+
+ style["bold"] = "true";
+ m_elementtags["b"] = style;
+ style.clear();
+
+ style["italic"] = "true";
+ m_elementtags["i"] = style;
+ style.clear();
+
+ style["underline"] = "true";
+ m_elementtags["u"] = style;
+ style.clear();
+
+ style["fontstyle"] = "mono";
+ m_elementtags["mono"] = style;
+ style.clear();
+
+ style["fontsize"] = m_root_tag.style["fontsize"];
+ m_elementtags["normal"] = style;
+ style.clear();
+
+ style["fontsize"] = "24";
+ m_elementtags["big"] = style;
+ style.clear();
+
+ style["fontsize"] = "36";
+ m_elementtags["bigger"] = style;
+ style.clear();
+
+ style["halign"] = "center";
+ m_paragraphtags["center"] = style;
+ style.clear();
+
+ style["halign"] = "justify";
+ m_paragraphtags["justify"] = style;
+ style.clear();
+
+ style["halign"] = "left";
+ m_paragraphtags["left"] = style;
+ style.clear();
+
+ style["halign"] = "right";
+ m_paragraphtags["right"] = style;
+ style.clear();
+
+ m_element = NULL;
+ m_paragraph = NULL;
+ m_end_paragraph_reason = ER_NONE;
+
+ parse(text);
+}
+
+ParsedText::~ParsedText()
+{
+ for (auto &tag : m_not_root_tags)
+ delete tag;
+}
+
+void ParsedText::parse(const wchar_t *text)
+{
+ wchar_t c;
+ u32 cursor = 0;
+ bool escape = false;
+
+ while ((c = text[cursor]) != L'\0') {
+ cursor++;
+
+ if (c == L'\r') { // Mac or Windows breaks
+ if (text[cursor] == L'\n')
+ cursor++;
+ // If text has begun, don't skip empty line
+ if (m_paragraph) {
+ endParagraph(ER_NEWLINE);
+ enterElement(ELEMENT_SEPARATOR);
+ }
+ escape = false;
+ continue;
+ }
+
+ if (c == L'\n') { // Unix breaks
+ // If text has begun, don't skip empty line
+ if (m_paragraph) {
+ endParagraph(ER_NEWLINE);
+ enterElement(ELEMENT_SEPARATOR);
+ }
+ escape = false;
+ continue;
+ }
+
+ if (escape) {
+ escape = false;
+ pushChar(c);
+ continue;
+ }
+
+ if (c == L'\\') {
+ escape = true;
+ continue;
+ }
+
+ // Tag check
+ if (c == L'<') {
+ u32 newcursor = parseTag(text, cursor);
+ if (newcursor > 0) {
+ cursor = newcursor;
+ continue;
+ }
+ }
+
+ // Default behavior
+ pushChar(c);
+ }
+
+ endParagraph(ER_NONE);
+}
+
+void ParsedText::endElement()
+{
+ m_element = NULL;
+}
+
+void ParsedText::endParagraph(EndReason reason)
+{
+ if (!m_paragraph)
+ return;
+
+ EndReason previous = m_end_paragraph_reason;
+ m_end_paragraph_reason = reason;
+ if (m_empty_paragraph && (reason == ER_TAG ||
+ (reason == ER_NEWLINE && previous == ER_TAG))) {
+ // Ignore last empty paragraph
+ m_paragraph = nullptr;
+ m_paragraphs.pop_back();
+ return;
+ }
+ endElement();
+ m_paragraph = NULL;
+}
+
+void ParsedText::enterParagraph()
+{
+ if (!m_paragraph) {
+ m_paragraphs.emplace_back();
+ m_paragraph = &m_paragraphs.back();
+ m_paragraph->setStyle(m_style);
+ m_empty_paragraph = true;
+ }
+}
+
+void ParsedText::enterElement(ElementType type)
+{
+ enterParagraph();
+
+ if (!m_element || m_element->type != type) {
+ m_paragraph->elements.emplace_back();
+ m_element = &m_paragraph->elements.back();
+ m_element->type = type;
+ m_element->tags = m_active_tags;
+ m_element->setStyle(m_style);
+ }
+}
+
+void ParsedText::pushChar(wchar_t c)
+{
+ // New word if needed
+ if (c == L' ' || c == L'\t') {
+ if (!m_empty_paragraph)
+ enterElement(ELEMENT_SEPARATOR);
+ else
+ return;
+ } else {
+ m_empty_paragraph = false;
+ enterElement(ELEMENT_TEXT);
+ }
+ m_element->text += c;
+}
+
+ParsedText::Tag *ParsedText::newTag(const std::string &name, const AttrsList &attrs)
+{
+ endElement();
+ Tag *newtag = new Tag();
+ newtag->name = name;
+ newtag->attrs = attrs;
+ m_not_root_tags.push_back(newtag);
+ return newtag;
+}
+
+ParsedText::Tag *ParsedText::openTag(const std::string &name, const AttrsList &attrs)
+{
+ Tag *newtag = newTag(name, attrs);
+ m_active_tags.push_front(newtag);
+ return newtag;
+}
+
+bool ParsedText::closeTag(const std::string &name)
+{
+ bool found = false;
+ for (auto id = m_active_tags.begin(); id != m_active_tags.end(); ++id)
+ if ((*id)->name == name) {
+ m_active_tags.erase(id);
+ found = true;
+ break;
+ }
+ return found;
+}
+
+void ParsedText::parseGenericStyleAttr(
+ const std::string &name, const std::string &value, StyleList &style)
+{
+ // Color styles
+ if (name == "color" || name == "hovercolor") {
+ if (check_color(value))
+ style[name] = value;
+
+ // Boolean styles
+ } else if (name == "bold" || name == "italic" || name == "underline") {
+ style[name] = is_yes(value);
+
+ } else if (name == "size") {
+ if (check_integer(value))
+ style["fontsize"] = value;
+
+ } else if (name == "font") {
+ if (value == "mono" || value == "normal")
+ style["fontstyle"] = value;
+ }
+}
+
+void ParsedText::parseStyles(const AttrsList &attrs, StyleList &style)
+{
+ for (auto const &attr : attrs)
+ parseGenericStyleAttr(attr.first, attr.second, style);
+}
+
+void ParsedText::globalTag(const AttrsList &attrs)
+{
+ for (const auto &attr : attrs) {
+ // Only page level style
+ if (attr.first == "margin") {
+ if (check_integer(attr.second))
+ margin = stoi(attr.second.c_str());
+
+ } else if (attr.first == "valign") {
+ if (attr.second == "top")
+ valign = ParsedText::VALIGN_TOP;
+ else if (attr.second == "bottom")
+ valign = ParsedText::VALIGN_BOTTOM;
+ else if (attr.second == "middle")
+ valign = ParsedText::VALIGN_MIDDLE;
+ } else if (attr.first == "background") {
+ irr::video::SColor color;
+ if (attr.second == "none") {
+ background_type = BACKGROUND_NONE;
+ } else if (parseColorString(attr.second, color, false)) {
+ background_type = BACKGROUND_COLOR;
+ background_color = color;
+ }
+
+ // Inheriting styles
+
+ } else if (attr.first == "halign") {
+ if (attr.second == "left" || attr.second == "center" ||
+ attr.second == "right" ||
+ attr.second == "justify")
+ m_root_tag.style["halign"] = attr.second;
+
+ // Generic default styles
+
+ } else {
+ parseGenericStyleAttr(attr.first, attr.second, m_root_tag.style);
+ }
+ }
+}
+
+u32 ParsedText::parseTag(const wchar_t *text, u32 cursor)
+{
+ // Tag name
+ bool end = false;
+ std::string name = "";
+ wchar_t c = text[cursor];
+
+ if (c == L'/') {
+ end = true;
+ c = text[++cursor];
+ if (c == L'\0')
+ return 0;
+ }
+
+ while (c != ' ' && c != '>') {
+ name += c;
+ c = text[++cursor];
+ if (c == L'\0')
+ return 0;
+ }
+
+ // Tag attributes
+ AttrsList attrs;
+ while (c != L'>') {
+ std::string attr_name = "";
+ core::stringw attr_val = L"";
+
+ while (c == ' ') {
+ c = text[++cursor];
+ if (c == L'\0' || c == L'=')
+ return 0;
+ }
+
+ while (c != L' ' && c != L'=') {
+ attr_name += (char)c;
+ c = text[++cursor];
+ if (c == L'\0' || c == L'>')
+ return 0;
+ }
+
+ while (c == L' ') {
+ c = text[++cursor];
+ if (c == L'\0' || c == L'>')
+ return 0;
+ }
+
+ if (c != L'=')
+ return 0;
+
+ c = text[++cursor];
+
+ if (c == L'\0')
+ return 0;
+
+ while (c != L'>' && c != L' ') {
+ attr_val += c;
+ c = text[++cursor];
+ if (c == L'\0')
+ return 0;
+ }
+
+ attrs[attr_name] = stringw_to_utf8(attr_val);
+ }
+
+ ++cursor; // Last ">"
+
+ // Tag specific processing
+ StyleList style;
+
+ if (name == "global") {
+ if (end)
+ return 0;
+ globalTag(attrs);
+
+ } else if (name == "style") {
+ if (end) {
+ closeTag(name);
+ } else {
+ parseStyles(attrs, style);
+ openTag(name, attrs)->style = style;
+ }
+ endElement();
+ } else if (name == "img" || name == "item") {
+ if (end)
+ return 0;
+
+ // Name is a required attribute
+ if (!attrs.count("name"))
+ return 0;
+
+ // Rotate attribute is only for <item>
+ if (attrs.count("rotate") && name != "item")
+ return 0;
+
+ // Angle attribute is only for <item>
+ if (attrs.count("angle") && name != "item")
+ return 0;
+
+ // Ok, element can be created
+ newTag(name, attrs);
+
+ if (name == "img")
+ enterElement(ELEMENT_IMAGE);
+ else
+ enterElement(ELEMENT_ITEM);
+
+ m_element->text = utf8_to_stringw(attrs["name"]);
+
+ if (attrs.count("float")) {
+ if (attrs["float"] == "left")
+ m_element->floating = FLOAT_LEFT;
+ if (attrs["float"] == "right")
+ m_element->floating = FLOAT_RIGHT;
+ }
+
+ if (attrs.count("width")) {
+ int width = stoi(attrs["width"]);
+ if (width > 0)
+ m_element->dim.Width = width;
+ }
+
+ if (attrs.count("height")) {
+ int height = stoi(attrs["height"]);
+ if (height > 0)
+ m_element->dim.Height = height;
+ }
+
+ if (attrs.count("angle")) {
+ std::string str = attrs["angle"];
+ std::vector<std::string> parts = split(str, ',');
+ if (parts.size() == 3) {
+ m_element->angle = v3s16(
+ rangelim(stoi(parts[0]), -180, 180),
+ rangelim(stoi(parts[1]), -180, 180),
+ rangelim(stoi(parts[2]), -180, 180));
+ m_element->rotation = v3s16(0, 0, 0);
+ }
+ }
+
+ if (attrs.count("rotate")) {
+ if (attrs["rotate"] == "yes") {
+ m_element->rotation = v3s16(0, 100, 0);
+ } else {
+ std::string str = attrs["rotate"];
+ std::vector<std::string> parts = split(str, ',');
+ if (parts.size() == 3) {
+ m_element->rotation = v3s16 (
+ rangelim(stoi(parts[0]), -1000, 1000),
+ rangelim(stoi(parts[1]), -1000, 1000),
+ rangelim(stoi(parts[2]), -1000, 1000));
+ }
+ }
+ }
+
+ endElement();
+
+ } else if (name == "tag") {
+ // Required attributes
+ if (!attrs.count("name"))
+ return 0;
+
+ StyleList tagstyle;
+ parseStyles(attrs, tagstyle);
+
+ if (is_yes(attrs["paragraph"]))
+ m_paragraphtags[attrs["name"]] = tagstyle;
+ else
+ m_elementtags[attrs["name"]] = tagstyle;
+
+ } else if (name == "action") {
+ if (end) {
+ closeTag(name);
+ } else {
+ if (!attrs.count("name"))
+ return 0;
+ openTag(name, attrs)->style = m_elementtags["action"];
+ }
+
+ } else if (m_elementtags.count(name)) {
+ if (end) {
+ closeTag(name);
+ } else {
+ openTag(name, attrs)->style = m_elementtags[name];
+ }
+ endElement();
+
+ } else if (m_paragraphtags.count(name)) {
+ if (end) {
+ closeTag(name);
+ } else {
+ openTag(name, attrs)->style = m_paragraphtags[name];
+ }
+ endParagraph(ER_TAG);
+
+ } else
+ return 0; // Unknown tag
+
+ // Update styles accordingly
+ m_style.clear();
+ for (auto tag = m_active_tags.crbegin(); tag != m_active_tags.crend(); ++tag)
+ for (const auto &prop : (*tag)->style)
+ m_style[prop.first] = prop.second;
+
+ return cursor;
+}
+
+// -----------------------------------------------------------------------------
+// Text Drawer
+
+TextDrawer::TextDrawer(const wchar_t *text, Client *client,
+ gui::IGUIEnvironment *environment, ISimpleTextureSource *tsrc) :
+ m_text(text),
+ m_client(client), m_environment(environment)
+{
+ // Size all elements
+ for (auto &p : m_text.m_paragraphs) {
+ for (auto &e : p.elements) {
+ switch (e.type) {
+ case ParsedText::ELEMENT_SEPARATOR:
+ case ParsedText::ELEMENT_TEXT:
+ if (e.font) {
+ e.dim.Width = e.font->getDimension(e.text.c_str()).Width;
+ e.dim.Height = e.font->getDimension(L"Yy").Height;
+#if USE_FREETYPE
+ if (e.font->getType() == irr::gui::EGFT_CUSTOM) {
+ e.baseline = e.dim.Height - 1 -
+ ((irr::gui::CGUITTFont *)e.font)->getAscender() / 64;
+ }
+#endif
+ } else {
+ e.dim = {0, 0};
+ }
+ break;
+
+ case ParsedText::ELEMENT_IMAGE:
+ case ParsedText::ELEMENT_ITEM:
+ // Resize only non sized items
+ if (e.dim.Height != 0 && e.dim.Width != 0)
+ break;
+
+ // Default image and item size
+ core::dimension2d<u32> dim(80, 80);
+
+ if (e.type == ParsedText::ELEMENT_IMAGE) {
+ video::ITexture *texture =
+ m_client->getTextureSource()->
+ getTexture(stringw_to_utf8(e.text));
+ if (texture)
+ dim = texture->getOriginalSize();
+ }
+
+ if (e.dim.Height == 0)
+ if (e.dim.Width == 0)
+ e.dim = dim;
+ else
+ e.dim.Height = dim.Height * e.dim.Width /
+ dim.Width;
+ else
+ e.dim.Width = dim.Width * e.dim.Height /
+ dim.Height;
+ break;
+ }
+ }
+ }
+}
+
+// Get element at given coordinates. Coordinates are inner coordinates (starting
+// at 0,0).
+ParsedText::Element *TextDrawer::getElementAt(core::position2d<s32> pos)
+{
+ pos.Y -= m_voffset;
+ for (auto &p : m_text.m_paragraphs) {
+ for (auto &el : p.elements) {
+ core::rect<s32> rect(el.pos, el.dim);
+ if (rect.isPointInside(pos))
+ return &el;
+ }
+ }
+ return 0;
+}
+
+/*
+ This function places all elements according to given width. Elements have
+ been previously sized by constructor and will be later drawed by draw.
+ It may be called each time width changes and resulting height can be
+ retrieved using getHeight. See GUIHyperText constructor, it uses it once to
+ test if text fits in window and eventually another time if width is reduced
+ m_floating because of scrollbar added.
+*/
+void TextDrawer::place(const core::rect<s32> &dest_rect)
+{
+ m_floating.clear();
+ s32 y = 0;
+ s32 ymargin = m_text.margin;
+
+ // Iterator used :
+ // p - Current paragraph, walked only once
+ // el - Current element, walked only once
+ // e and f - local element and floating operators
+
+ for (auto &p : m_text.m_paragraphs) {
+ // Find and place floating stuff in paragraph
+ for (auto e = p.elements.begin(); e != p.elements.end(); ++e) {
+ if (e->floating != ParsedText::FLOAT_NONE) {
+ if (y)
+ e->pos.Y = y + std::max(ymargin, e->margin);
+ else
+ e->pos.Y = ymargin;
+
+ if (e->floating == ParsedText::FLOAT_LEFT)
+ e->pos.X = m_text.margin;
+ if (e->floating == ParsedText::FLOAT_RIGHT)
+ e->pos.X = dest_rect.getWidth() - e->dim.Width -
+ m_text.margin;
+
+ RectWithMargin floating;
+ floating.rect = core::rect<s32>(e->pos, e->dim);
+ floating.margin = e->margin;
+
+ m_floating.push_back(floating);
+ }
+ }
+
+ if (y)
+ y = y + std::max(ymargin, p.margin);
+
+ ymargin = p.margin;
+
+ // Place non floating stuff
+ std::vector<ParsedText::Element>::iterator el = p.elements.begin();
+
+ while (el != p.elements.end()) {
+ // Determine line width and y pos
+ s32 left, right;
+ s32 nexty = y;
+ do {
+ y = nexty;
+ nexty = 0;
+
+ // Inner left & right
+ left = m_text.margin;
+ right = dest_rect.getWidth() - m_text.margin;
+
+ for (const auto &f : m_floating) {
+ // Does floating rect intersect paragraph y line?
+ if (f.rect.UpperLeftCorner.Y - f.margin <= y &&
+ f.rect.LowerRightCorner.Y + f.margin >= y) {
+
+ // Next Y to try if no room left
+ if (!nexty || f.rect.LowerRightCorner.Y +
+ std::max(f.margin, p.margin) < nexty) {
+ nexty = f.rect.LowerRightCorner.Y +
+ std::max(f.margin, p.margin) + 1;
+ }
+
+ if (f.rect.UpperLeftCorner.X - f.margin <= left &&
+ f.rect.LowerRightCorner.X + f.margin < right) {
+ // float on left
+ if (f.rect.LowerRightCorner.X +
+ std::max(f.margin, p.margin) > left) {
+ left = f.rect.LowerRightCorner.X +
+ std::max(f.margin, p.margin);
+ }
+ } else if (f.rect.LowerRightCorner.X + f.margin >= right &&
+ f.rect.UpperLeftCorner.X - f.margin > left) {
+ // float on right
+ if (f.rect.UpperLeftCorner.X -
+ std::max(f.margin, p.margin) < right)
+ right = f.rect.UpperLeftCorner.X -
+ std::max(f.margin, p.margin);
+
+ } else if (f.rect.UpperLeftCorner.X - f.margin <= left &&
+ f.rect.LowerRightCorner.X + f.margin >= right) {
+ // float taking all space
+ left = right;
+ }
+ else
+ { // float in the middle -- should not occure yet, see that later
+ }
+ }
+ }
+ } while (nexty && right <= left);
+
+ u32 linewidth = right - left;
+ float x = left;
+
+ u32 charsheight = 0;
+ u32 charswidth = 0;
+ u32 wordcount = 0;
+
+ // Skip begining of line separators but include them in height
+ // computation.
+ while (el != p.elements.end() &&
+ el->type == ParsedText::ELEMENT_SEPARATOR) {
+ if (el->floating == ParsedText::FLOAT_NONE) {
+ el->drawwidth = 0;
+ if (charsheight < el->dim.Height)
+ charsheight = el->dim.Height;
+ }
+ el++;
+ }
+
+ std::vector<ParsedText::Element>::iterator linestart = el;
+ std::vector<ParsedText::Element>::iterator lineend = p.elements.end();
+
+ // First pass, find elements fitting into line
+ // (or at least one element)
+ while (el != p.elements.end() && (charswidth == 0 ||
+ charswidth + el->dim.Width <= linewidth)) {
+ if (el->floating == ParsedText::FLOAT_NONE) {
+ if (el->type != ParsedText::ELEMENT_SEPARATOR) {
+ lineend = el;
+ wordcount++;
+ }
+ charswidth += el->dim.Width;
+ if (charsheight < el->dim.Height)
+ charsheight = el->dim.Height;
+ }
+ el++;
+ }
+
+ // Empty line, nothing to place only go down line height
+ if (lineend == p.elements.end()) {
+ y += charsheight;
+ continue;
+ }
+
+ // Point to the first position outside line (may be end())
+ lineend++;
+
+ // Second pass, compute printable line width and adjustments
+ charswidth = 0;
+ s32 top = 0;
+ s32 bottom = 0;
+ for (auto e = linestart; e != lineend; ++e) {
+ if (e->floating == ParsedText::FLOAT_NONE) {
+ charswidth += e->dim.Width;
+ if (top < (s32)e->dim.Height - e->baseline)
+ top = e->dim.Height - e->baseline;
+ if (bottom < e->baseline)
+ bottom = e->baseline;
+ }
+ }
+
+ float extraspace = 0.f;
+
+ switch (p.halign) {
+ case ParsedText::HALIGN_CENTER:
+ x += (linewidth - charswidth) / 2.f;
+ break;
+ case ParsedText::HALIGN_JUSTIFY:
+ if (wordcount > 1 && // Justification only if at least two words
+ !(lineend == p.elements.end())) // Don't justify last line
+ extraspace = ((float)(linewidth - charswidth)) / (wordcount - 1);
+ break;
+ case ParsedText::HALIGN_RIGHT:
+ x += linewidth - charswidth;
+ break;
+ case ParsedText::HALIGN_LEFT:
+ break;
+ }
+
+ // Third pass, actually place everything
+ for (auto e = linestart; e != lineend; ++e) {
+ if (e->floating != ParsedText::FLOAT_NONE)
+ continue;
+
+ e->pos.X = x;
+ e->pos.Y = y;
+
+ switch (e->type) {
+ case ParsedText::ELEMENT_TEXT:
+ case ParsedText::ELEMENT_SEPARATOR:
+ e->pos.X = x;
+
+ // Align char baselines
+ e->pos.Y = y + top + e->baseline - e->dim.Height;
+
+ x += e->dim.Width;
+ if (e->type == ParsedText::ELEMENT_SEPARATOR)
+ x += extraspace;
+ break;
+
+ case ParsedText::ELEMENT_IMAGE:
+ case ParsedText::ELEMENT_ITEM:
+ x += e->dim.Width;
+ break;
+ }
+
+ // Draw width for separator can be different than element
+ // width. This will be important for char effects like
+ // underline.
+ e->drawwidth = x - e->pos.X;
+ }
+ y += charsheight;
+ } // Elements (actually lines)
+ } // Paragraph
+
+ // Check if float goes under paragraph
+ for (const auto &f : m_floating) {
+ if (f.rect.LowerRightCorner.Y >= y)
+ y = f.rect.LowerRightCorner.Y;
+ }
+
+ m_height = y + m_text.margin;
+ // Compute vertical offset according to vertical alignment
+ if (m_height < dest_rect.getHeight())
+ switch (m_text.valign) {
+ case ParsedText::VALIGN_BOTTOM:
+ m_voffset = dest_rect.getHeight() - m_height;
+ break;
+ case ParsedText::VALIGN_MIDDLE:
+ m_voffset = (dest_rect.getHeight() - m_height) / 2;
+ break;
+ case ParsedText::VALIGN_TOP:
+ default:
+ m_voffset = 0;
+ }
+ else
+ m_voffset = 0;
+}
+
+// Draw text in a rectangle with a given offset. Items are actually placed in
+// relative (to upper left corner) coordinates.
+void TextDrawer::draw(const core::rect<s32> &dest_rect,
+ const core::position2d<s32> &dest_offset)
+{
+ irr::video::IVideoDriver *driver = m_environment->getVideoDriver();
+ core::position2d<s32> offset = dest_rect.UpperLeftCorner + dest_offset;
+ offset.Y += m_voffset;
+
+ if (m_text.background_type == ParsedText::BACKGROUND_COLOR)
+ driver->draw2DRectangle(m_text.background_color, dest_rect);
+
+ for (auto &p : m_text.m_paragraphs) {
+ for (auto &el : p.elements) {
+ core::rect<s32> rect(el.pos + offset, el.dim);
+ if (!rect.isRectCollided(dest_rect))
+ continue;
+
+ switch (el.type) {
+ case ParsedText::ELEMENT_SEPARATOR:
+ case ParsedText::ELEMENT_TEXT: {
+ irr::video::SColor color = el.color;
+
+ for (auto tag : el.tags)
+ if (&(*tag) == m_hovertag)
+ color = el.hovercolor;
+
+ if (!el.font)
+ break;
+
+ if (el.type == ParsedText::ELEMENT_TEXT)
+ el.font->draw(el.text, rect, color, false, true,
+ &dest_rect);
+
+ if (el.underline && el.drawwidth) {
+ s32 linepos = el.pos.Y + offset.Y +
+ el.dim.Height - (el.baseline >> 1);
+
+ core::rect<s32> linerect(el.pos.X + offset.X,
+ linepos - (el.baseline >> 3) - 1,
+ el.pos.X + offset.X + el.drawwidth,
+ linepos + (el.baseline >> 3));
+
+ driver->draw2DRectangle(color, linerect, &dest_rect);
+ }
+ } break;
+
+ case ParsedText::ELEMENT_IMAGE: {
+ video::ITexture *texture =
+ m_client->getTextureSource()->getTexture(
+ stringw_to_utf8(el.text));
+ if (texture != 0)
+ m_environment->getVideoDriver()->draw2DImage(
+ texture, rect,
+ irr::core::rect<s32>(
+ core::position2d<s32>(0, 0),
+ texture->getOriginalSize()),
+ &dest_rect, 0, true);
+ } break;
+
+ case ParsedText::ELEMENT_ITEM: {
+ IItemDefManager *idef = m_client->idef();
+ ItemStack item;
+ item.deSerialize(stringw_to_utf8(el.text), idef);
+
+ drawItemStack(
+ m_environment->getVideoDriver(),
+ g_fontengine->getFont(), item, rect, &dest_rect,
+ m_client, IT_ROT_OTHER, el.angle, el.rotation
+ );
+ } break;
+ }
+ }
+ }
+}
+
+// -----------------------------------------------------------------------------
+// GUIHyperText - The formated text area formspec item
+
+//! constructor
+GUIHyperText::GUIHyperText(const wchar_t *text, IGUIEnvironment *environment,
+ IGUIElement *parent, s32 id, const core::rect<s32> &rectangle,
+ Client *client, ISimpleTextureSource *tsrc) :
+ IGUIElement(EGUIET_ELEMENT, environment, parent, id, rectangle),
+ m_client(client), m_vscrollbar(nullptr),
+ m_drawer(text, client, environment, tsrc), m_text_scrollpos(0, 0)
+{
+
+#ifdef _DEBUG
+ setDebugName("GUIHyperText");
+#endif
+
+ IGUISkin *skin = 0;
+ if (Environment)
+ skin = Environment->getSkin();
+
+ m_scrollbar_width = skin ? skin->getSize(gui::EGDS_SCROLLBAR_SIZE) : 16;
+
+ core::rect<s32> rect = irr::core::rect<s32>(
+ RelativeRect.getWidth() - m_scrollbar_width, 0,
+ RelativeRect.getWidth(), RelativeRect.getHeight());
+
+ m_vscrollbar = new GUIScrollBar(Environment, this, -1, rect, false, true);
+ m_vscrollbar->setVisible(false);
+}
+
+//! destructor
+GUIHyperText::~GUIHyperText()
+{
+ m_vscrollbar->remove();
+ m_vscrollbar->drop();
+}
+
+ParsedText::Element *GUIHyperText::getElementAt(s32 X, s32 Y)
+{
+ core::position2d<s32> pos{X, Y};
+ pos -= m_display_text_rect.UpperLeftCorner;
+ pos -= m_text_scrollpos;
+ return m_drawer.getElementAt(pos);
+}
+
+void GUIHyperText::checkHover(s32 X, s32 Y)
+{
+ m_drawer.m_hovertag = nullptr;
+
+ if (AbsoluteRect.isPointInside(core::position2d<s32>(X, Y))) {
+ ParsedText::Element *element = getElementAt(X, Y);
+
+ if (element) {
+ for (auto &tag : element->tags) {
+ if (tag->name == "action") {
+ m_drawer.m_hovertag = tag;
+ break;
+ }
+ }
+ }
+ }
+
+#ifndef HAVE_TOUCHSCREENGUI
+ if (m_drawer.m_hovertag)
+ RenderingEngine::get_raw_device()->getCursorControl()->setActiveIcon(
+ gui::ECI_HAND);
+ else
+ RenderingEngine::get_raw_device()->getCursorControl()->setActiveIcon(
+ gui::ECI_NORMAL);
+#endif
+}
+
+bool GUIHyperText::OnEvent(const SEvent &event)
+{
+ // Scroll bar
+ if (event.EventType == EET_GUI_EVENT &&
+ event.GUIEvent.EventType == EGET_SCROLL_BAR_CHANGED &&
+ event.GUIEvent.Caller == m_vscrollbar) {
+ m_text_scrollpos.Y = -m_vscrollbar->getPos();
+ }
+
+ // Reset hover if element left
+ if (event.EventType == EET_GUI_EVENT &&
+ event.GUIEvent.EventType == EGET_ELEMENT_LEFT) {
+ m_drawer.m_hovertag = nullptr;
+#ifndef HAVE_TOUCHSCREENGUI
+ gui::ICursorControl *cursor_control =
+ RenderingEngine::get_raw_device()->getCursorControl();
+ if (cursor_control->isVisible())
+ cursor_control->setActiveIcon(gui::ECI_NORMAL);
+#endif
+ }
+
+ if (event.EventType == EET_MOUSE_INPUT_EVENT) {
+ if (event.MouseInput.Event == EMIE_MOUSE_MOVED)
+ checkHover(event.MouseInput.X, event.MouseInput.Y);
+
+ if (event.MouseInput.Event == EMIE_MOUSE_WHEEL) {
+ m_vscrollbar->setPos(m_vscrollbar->getPos() -
+ event.MouseInput.Wheel * m_vscrollbar->getSmallStep());
+ m_text_scrollpos.Y = -m_vscrollbar->getPos();
+ m_drawer.draw(m_display_text_rect, m_text_scrollpos);
+ checkHover(event.MouseInput.X, event.MouseInput.Y);
+
+ } else if (event.MouseInput.Event == EMIE_LMOUSE_PRESSED_DOWN) {
+ ParsedText::Element *element = getElementAt(
+ event.MouseInput.X, event.MouseInput.Y);
+
+ if (element) {
+ for (auto &tag : element->tags) {
+ if (tag->name == "action") {
+ Text = core::stringw(L"action:") +
+ utf8_to_stringw(tag->attrs["name"]);
+ if (Parent) {
+ SEvent newEvent;
+ newEvent.EventType = EET_GUI_EVENT;
+ newEvent.GUIEvent.Caller = this;
+ newEvent.GUIEvent.Element = 0;
+ newEvent.GUIEvent.EventType = EGET_BUTTON_CLICKED;
+ Parent->OnEvent(newEvent);
+ }
+ break;
+ }
+ }
+ }
+ }
+ }
+
+ return IGUIElement::OnEvent(event);
+}
+
+//! draws the element and its children
+void GUIHyperText::draw()
+{
+ if (!IsVisible)
+ return;
+
+ // Text
+ m_display_text_rect = AbsoluteRect;
+ m_drawer.place(m_display_text_rect);
+
+ // Show scrollbar if text overflow
+ if (m_drawer.getHeight() > m_display_text_rect.getHeight()) {
+ m_vscrollbar->setSmallStep(m_display_text_rect.getHeight() * 0.1f);
+ m_vscrollbar->setLargeStep(m_display_text_rect.getHeight() * 0.5f);
+ m_vscrollbar->setMax(m_drawer.getHeight() - m_display_text_rect.getHeight());
+
+ m_vscrollbar->setVisible(true);
+
+ m_vscrollbar->setPageSize(s32(m_drawer.getHeight()));
+
+ core::rect<s32> smaller_rect = m_display_text_rect;
+
+ smaller_rect.LowerRightCorner.X -= m_scrollbar_width;
+ m_drawer.place(smaller_rect);
+ } else {
+ m_vscrollbar->setMax(0);
+ m_vscrollbar->setPos(0);
+ m_vscrollbar->setVisible(false);
+ }
+ m_drawer.draw(m_display_text_rect, m_text_scrollpos);
+
+ // draw children
+ IGUIElement::draw();
+}
diff --git a/src/gui/guiHyperText.h b/src/gui/guiHyperText.h
new file mode 100644
index 000000000..c55f8a705
--- /dev/null
+++ b/src/gui/guiHyperText.h
@@ -0,0 +1,229 @@
+/*
+Minetest
+Copyright (C) 2019 EvicenceBKidscode / Pierre-Yves Rollo <dev@pyrollo.com>
+
+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 "config.h" // for USE_FREETYPE
+
+using namespace irr;
+
+class ISimpleTextureSource;
+class Client;
+
+#if USE_FREETYPE
+#include "irrlicht_changes/CGUITTFont.h"
+#endif
+
+class ParsedText
+{
+public:
+ ParsedText(const wchar_t *text);
+ ~ParsedText();
+
+ enum ElementType
+ {
+ ELEMENT_TEXT,
+ ELEMENT_SEPARATOR,
+ ELEMENT_IMAGE,
+ ELEMENT_ITEM
+ };
+
+ enum BackgroundType
+ {
+ BACKGROUND_NONE,
+ BACKGROUND_COLOR
+ };
+
+ enum FloatType
+ {
+ FLOAT_NONE,
+ FLOAT_RIGHT,
+ FLOAT_LEFT
+ };
+
+ enum HalignType
+ {
+ HALIGN_CENTER,
+ HALIGN_LEFT,
+ HALIGN_RIGHT,
+ HALIGN_JUSTIFY
+ };
+
+ enum ValignType
+ {
+ VALIGN_MIDDLE,
+ VALIGN_TOP,
+ VALIGN_BOTTOM
+ };
+
+ typedef std::unordered_map<std::string, std::string> StyleList;
+ typedef std::unordered_map<std::string, std::string> AttrsList;
+
+ struct Tag
+ {
+ std::string name;
+ AttrsList attrs;
+ StyleList style;
+ };
+
+ struct Element
+ {
+ std::list<Tag *> tags;
+ ElementType type;
+ core::stringw text = "";
+
+ core::dimension2d<u32> dim;
+ core::position2d<s32> pos;
+ s32 drawwidth;
+
+ FloatType floating = FLOAT_NONE;
+
+ ValignType valign;
+
+ gui::IGUIFont *font;
+
+ irr::video::SColor color;
+ irr::video::SColor hovercolor;
+ bool underline;
+
+ s32 baseline = 0;
+
+ // img & item specific attributes
+ std::string name;
+ v3s16 angle{0, 0, 0};
+ v3s16 rotation{0, 0, 0};
+
+ s32 margin = 10;
+
+ void setStyle(StyleList &style);
+ };
+
+ struct Paragraph
+ {
+ std::vector<Element> elements;
+ HalignType halign;
+ s32 margin = 10;
+
+ void setStyle(StyleList &style);
+ };
+
+ std::vector<Paragraph> m_paragraphs;
+
+ // Element style
+ s32 margin = 3;
+ ValignType valign = VALIGN_TOP;
+ BackgroundType background_type = BACKGROUND_NONE;
+ irr::video::SColor background_color;
+
+ Tag m_root_tag;
+
+protected:
+ typedef enum { ER_NONE, ER_TAG, ER_NEWLINE } EndReason;
+
+ // Parser functions
+ void enterElement(ElementType type);
+ void endElement();
+ void enterParagraph();
+ void endParagraph(EndReason reason);
+ void pushChar(wchar_t c);
+ ParsedText::Tag *newTag(const std::string &name, const AttrsList &attrs);
+ ParsedText::Tag *openTag(const std::string &name, const AttrsList &attrs);
+ bool closeTag(const std::string &name);
+ void parseGenericStyleAttr(const std::string &name, const std::string &value,
+ StyleList &style);
+ void parseStyles(const AttrsList &attrs, StyleList &style);
+ void globalTag(const ParsedText::AttrsList &attrs);
+ u32 parseTag(const wchar_t *text, u32 cursor);
+ void parse(const wchar_t *text);
+
+ std::unordered_map<std::string, StyleList> m_elementtags;
+ std::unordered_map<std::string, StyleList> m_paragraphtags;
+
+ std::vector<Tag *> m_not_root_tags;
+ std::list<Tag *> m_active_tags;
+
+ // Current values
+ StyleList m_style;
+ Element *m_element;
+ Paragraph *m_paragraph;
+ bool m_empty_paragraph;
+ EndReason m_end_paragraph_reason;
+};
+
+class TextDrawer
+{
+public:
+ TextDrawer(const wchar_t *text, Client *client, gui::IGUIEnvironment *environment,
+ ISimpleTextureSource *tsrc);
+
+ void place(const core::rect<s32> &dest_rect);
+ inline s32 getHeight() { return m_height; };
+ void draw(const core::rect<s32> &dest_rect,
+ const core::position2d<s32> &dest_offset);
+ ParsedText::Element *getElementAt(core::position2d<s32> pos);
+ ParsedText::Tag *m_hovertag;
+
+protected:
+ struct RectWithMargin
+ {
+ core::rect<s32> rect;
+ s32 margin;
+ };
+
+ ParsedText m_text;
+ Client *m_client;
+ gui::IGUIEnvironment *m_environment;
+ s32 m_height;
+ s32 m_voffset;
+ std::vector<RectWithMargin> m_floating;
+};
+
+class GUIHyperText : public gui::IGUIElement
+{
+public:
+ //! constructor
+ GUIHyperText(const wchar_t *text, gui::IGUIEnvironment *environment,
+ gui::IGUIElement *parent, s32 id,
+ const core::rect<s32> &rectangle, Client *client,
+ ISimpleTextureSource *tsrc);
+
+ //! destructor
+ virtual ~GUIHyperText();
+
+ //! draws the element and its children
+ virtual void draw();
+
+ core::dimension2du getTextDimension();
+
+ bool OnEvent(const SEvent &event);
+
+protected:
+ // GUI members
+ Client *m_client;
+ GUIScrollBar *m_vscrollbar;
+ TextDrawer m_drawer;
+
+ // Positioning
+ u32 m_scrollbar_width;
+ core::rect<s32> m_display_text_rect;
+ core::position2d<s32> m_text_scrollpos;
+
+ ParsedText::Element *getElementAt(s32 X, s32 Y);
+ void checkHover(s32 X, s32 Y);
+};
diff --git a/src/gui/guiInventoryList.cpp b/src/gui/guiInventoryList.cpp
new file mode 100644
index 000000000..536471229
--- /dev/null
+++ b/src/gui/guiInventoryList.cpp
@@ -0,0 +1,217 @@
+/*
+Minetest
+Copyright (C) 2013 celeron55, Perttu Ahola <celeron55@gmail.com>
+
+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 "guiInventoryList.h"
+#include "guiFormSpecMenu.h"
+#include "client/hud.h"
+#include "client/client.h"
+
+GUIInventoryList::GUIInventoryList(gui::IGUIEnvironment *env,
+ gui::IGUIElement *parent,
+ s32 id,
+ const core::rect<s32> &rectangle,
+ InventoryManager *invmgr,
+ const InventoryLocation &inventoryloc,
+ const std::string &listname,
+ const v2s32 &geom,
+ const s32 start_item_i,
+ const v2s32 &slot_size,
+ const v2f32 &slot_spacing,
+ GUIFormSpecMenu *fs_menu,
+ const Options &options,
+ gui::IGUIFont *font) :
+ gui::IGUIElement(gui::EGUIET_ELEMENT, env, parent, id, rectangle),
+ m_invmgr(invmgr),
+ m_inventoryloc(inventoryloc),
+ m_listname(listname),
+ m_geom(geom),
+ m_start_item_i(start_item_i),
+ m_slot_size(slot_size),
+ m_slot_spacing(slot_spacing),
+ m_fs_menu(fs_menu),
+ m_options(options),
+ m_font(font),
+ m_hovered_i(-1)
+{
+}
+
+void GUIInventoryList::draw()
+{
+ if (!IsVisible)
+ return;
+
+ Inventory *inv = m_invmgr->getInventory(m_inventoryloc);
+ if (!inv) {
+ warningstream << "GUIInventoryList::draw(): "
+ << "The inventory location "
+ << "\"" << m_inventoryloc.dump() << "\" doesn't exist anymore"
+ << std::endl;
+ return;
+ }
+ InventoryList *ilist = inv->getList(m_listname);
+ if (!ilist) {
+ warningstream << "GUIInventoryList::draw(): "
+ << "The inventory list \"" << m_listname << "\" @ \""
+ << m_inventoryloc.dump() << "\" doesn't exist anymore"
+ << std::endl;
+ return;
+ }
+
+ video::IVideoDriver *driver = Environment->getVideoDriver();
+ Client *client = m_fs_menu->getClient();
+ const ItemSpec *selected_item = m_fs_menu->getSelectedItem();
+
+ core::rect<s32> imgrect(0, 0, m_slot_size.X, m_slot_size.Y);
+ v2s32 base_pos = AbsoluteRect.UpperLeftCorner;
+
+ for (s32 i = 0; i < m_geom.X * m_geom.Y; i++) {
+ s32 item_i = i + m_start_item_i;
+ if (item_i >= (s32)ilist->getSize())
+ break;
+
+ v2s32 p((i % m_geom.X) * m_slot_spacing.X,
+ (i / m_geom.X) * m_slot_spacing.Y);
+ core::rect<s32> rect = imgrect + base_pos + p;
+ ItemStack item = ilist->getItem(item_i);
+
+ bool selected = selected_item
+ && m_invmgr->getInventory(selected_item->inventoryloc) == inv
+ && selected_item->listname == m_listname
+ && selected_item->i == item_i;
+ core::rect<s32> clipped_rect(rect);
+ clipped_rect.clipAgainst(AbsoluteClippingRect);
+ bool hovering = m_hovered_i == item_i;
+ ItemRotationKind rotation_kind = selected ? IT_ROT_SELECTED :
+ (hovering ? IT_ROT_HOVERED : IT_ROT_NONE);
+
+ // layer 0
+ if (hovering) {
+ driver->draw2DRectangle(m_options.slotbg_h, rect, &AbsoluteClippingRect);
+ } else {
+ driver->draw2DRectangle(m_options.slotbg_n, rect, &AbsoluteClippingRect);
+ }
+
+ // Draw inv slot borders
+ if (m_options.slotborder) {
+ s32 x1 = rect.UpperLeftCorner.X;
+ s32 y1 = rect.UpperLeftCorner.Y;
+ s32 x2 = rect.LowerRightCorner.X;
+ s32 y2 = rect.LowerRightCorner.Y;
+ s32 border = 1;
+ core::rect<s32> clipping_rect = Parent ? Parent->getAbsoluteClippingRect()
+ : core::rect<s32>();
+ core::rect<s32> *clipping_rect_ptr = Parent ? &clipping_rect : nullptr;
+ driver->draw2DRectangle(m_options.slotbordercolor,
+ core::rect<s32>(v2s32(x1 - border, y1 - border),
+ v2s32(x2 + border, y1)), clipping_rect_ptr);
+ driver->draw2DRectangle(m_options.slotbordercolor,
+ core::rect<s32>(v2s32(x1 - border, y2),
+ v2s32(x2 + border, y2 + border)), clipping_rect_ptr);
+ driver->draw2DRectangle(m_options.slotbordercolor,
+ core::rect<s32>(v2s32(x1 - border, y1),
+ v2s32(x1, y2)), clipping_rect_ptr);
+ driver->draw2DRectangle(m_options.slotbordercolor,
+ core::rect<s32>(v2s32(x2, y1),
+ v2s32(x2 + border, y2)), clipping_rect_ptr);
+ }
+
+ // layer 1
+ if (selected)
+ item.takeItem(m_fs_menu->getSelectedAmount());
+
+ if (!item.empty()) {
+ // Draw item stack
+ drawItemStack(driver, m_font, item, rect, &AbsoluteClippingRect,
+ client, rotation_kind);
+ // Add hovering tooltip
+ if (hovering && !selected_item) {
+ std::string tooltip = item.getDescription(client->idef());
+ if (m_fs_menu->doTooltipAppendItemname())
+ tooltip += "\n[" + item.name + "]";
+ m_fs_menu->addHoveredItemTooltip(tooltip);
+ }
+ }
+ }
+
+ IGUIElement::draw();
+}
+
+bool GUIInventoryList::OnEvent(const SEvent &event)
+{
+ if (event.EventType != EET_MOUSE_INPUT_EVENT) {
+ if (event.EventType == EET_GUI_EVENT &&
+ event.GUIEvent.EventType == EGET_ELEMENT_LEFT) {
+ // element is no longer hovered
+ m_hovered_i = -1;
+ }
+ return IGUIElement::OnEvent(event);
+ }
+
+ m_hovered_i = getItemIndexAtPos(v2s32(event.MouseInput.X, event.MouseInput.Y));
+
+ if (m_hovered_i != -1)
+ return IGUIElement::OnEvent(event);
+
+ // no item slot at pos of mouse event => allow clicking through
+ // find the element that would be hovered if this inventorylist was invisible
+ bool was_visible = IsVisible;
+ IsVisible = false;
+ IGUIElement *hovered =
+ Environment->getRootGUIElement()->getElementFromPoint(
+ core::position2d<s32>(event.MouseInput.X, event.MouseInput.Y));
+
+ // if the player clicks outside of the formspec window, hovered is not
+ // m_fs_menu, but some other weird element (with ID -1). we do however need
+ // hovered to be m_fs_menu as item dropping when clicking outside of the
+ // formspec window is handled in its OnEvent callback
+ if (!hovered || hovered->getID() == -1)
+ hovered = m_fs_menu;
+
+ bool ret = hovered->OnEvent(event);
+
+ IsVisible = was_visible;
+
+ return ret;
+}
+
+s32 GUIInventoryList::getItemIndexAtPos(v2s32 p) const
+{
+ if (!IsVisible || AbsoluteClippingRect.getArea() <= 0 ||
+ !AbsoluteClippingRect.isPointInside(p))
+ return -1;
+
+ core::rect<s32> imgrect(0, 0, m_slot_size.X, m_slot_size.Y);
+ v2s32 base_pos = AbsoluteRect.UpperLeftCorner;
+
+ // instead of looping through each slot, we look where p would be in the grid
+ s32 i = (p.X - base_pos.X) / (s32)m_slot_spacing.X
+ + m_geom.X * ((p.Y - base_pos.Y) / (s32)m_slot_spacing.Y);
+
+ v2s32 p0((i % m_geom.X) * m_slot_spacing.X,
+ (i / m_geom.X) * m_slot_spacing.Y);
+
+ core::rect<s32> rect = imgrect + base_pos + p0;
+
+ rect.clipAgainst(AbsoluteClippingRect);
+
+ if (rect.getArea() > 0 && rect.isPointInside(p))
+ return i + m_start_item_i;
+
+ return -1;
+}
diff --git a/src/gui/guiInventoryList.h b/src/gui/guiInventoryList.h
new file mode 100644
index 000000000..fd2c3601b
--- /dev/null
+++ b/src/gui/guiInventoryList.h
@@ -0,0 +1,130 @@
+/*
+Minetest
+Copyright (C) 2013 celeron55, Perttu Ahola <celeron55@gmail.com>
+
+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 "inventorymanager.h"
+#include "irrlichttypes_extrabloated.h"
+#include "util/string.h"
+
+class GUIFormSpecMenu;
+
+class GUIInventoryList : public gui::IGUIElement
+{
+public:
+ struct ItemSpec
+ {
+ ItemSpec() = default;
+
+ ItemSpec(const InventoryLocation &a_inventoryloc,
+ const std::string &a_listname,
+ s32 a_i) :
+ inventoryloc(a_inventoryloc),
+ listname(a_listname),
+ i(a_i)
+ {
+ }
+
+ bool isValid() const { return i != -1; }
+
+ InventoryLocation inventoryloc;
+ std::string listname;
+ s32 i = -1;
+ };
+
+ // options for inventorylists that are setable with the lua api
+ struct Options {
+ // whether a one-pixel border for the slots should be drawn and its color
+ bool slotborder = false;
+ video::SColor slotbordercolor = video::SColor(200, 0, 0, 0);
+ // colors for normal and highlighted slot background
+ video::SColor slotbg_n = video::SColor(255, 128, 128, 128);
+ video::SColor slotbg_h = video::SColor(255, 192, 192, 192);
+ };
+
+ GUIInventoryList(gui::IGUIEnvironment *env,
+ gui::IGUIElement *parent,
+ s32 id,
+ const core::rect<s32> &rectangle,
+ InventoryManager *invmgr,
+ const InventoryLocation &inventoryloc,
+ const std::string &listname,
+ const v2s32 &geom,
+ const s32 start_item_i,
+ const v2s32 &slot_size,
+ const v2f32 &slot_spacing,
+ GUIFormSpecMenu *fs_menu,
+ const Options &options,
+ gui::IGUIFont *font);
+
+ virtual void draw() override;
+
+ virtual bool OnEvent(const SEvent &event) override;
+
+ const InventoryLocation &getInventoryloc() const
+ {
+ return m_inventoryloc;
+ }
+
+ const std::string &getListname() const
+ {
+ return m_listname;
+ }
+
+ void setSlotBGColors(const video::SColor &slotbg_n, const video::SColor &slotbg_h)
+ {
+ m_options.slotbg_n = slotbg_n;
+ m_options.slotbg_h = slotbg_h;
+ }
+
+ void setSlotBorders(bool slotborder, const video::SColor &slotbordercolor)
+ {
+ m_options.slotborder = slotborder;
+ m_options.slotbordercolor = slotbordercolor;
+ }
+
+ // returns -1 if not item is at pos p
+ s32 getItemIndexAtPos(v2s32 p) const;
+
+private:
+ InventoryManager *m_invmgr;
+ const InventoryLocation m_inventoryloc;
+ const std::string m_listname;
+
+ // specifies the width and height of the inventorylist in itemslots
+ const v2s32 m_geom;
+ // the first item's index in inventory
+ const s32 m_start_item_i;
+
+ // specifies how large the slot rects are
+ const v2s32 m_slot_size;
+ // specifies how large the space between slots is (space between is spacing-size)
+ const v2f32 m_slot_spacing;
+
+ // the GUIFormSpecMenu can have an item selected and co.
+ GUIFormSpecMenu *m_fs_menu;
+
+ Options m_options;
+
+ // the font
+ gui::IGUIFont *m_font;
+
+ // the index of the hovered item; -1 if no item is hovered
+ s32 m_hovered_i;
+};
diff --git a/src/gui/guiItemImage.cpp b/src/gui/guiItemImage.cpp
new file mode 100644
index 000000000..f93d5476c
--- /dev/null
+++ b/src/gui/guiItemImage.cpp
@@ -0,0 +1,52 @@
+/*
+Minetest
+Copyright (C) 2013 celeron55, Perttu Ahola <celeron55@gmail.com>
+
+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 "guiItemImage.h"
+#include "client/client.h"
+
+GUIItemImage::GUIItemImage(gui::IGUIEnvironment *env, gui::IGUIElement *parent,
+ s32 id, const core::rect<s32> &rectangle, const std::string &item_name,
+ gui::IGUIFont *font, Client *client) :
+ gui::IGUIElement(gui::EGUIET_ELEMENT, env, parent, id, rectangle),
+ m_item_name(item_name), m_font(font), m_client(client), m_label(core::stringw())
+{
+}
+
+void GUIItemImage::draw()
+{
+ if (!IsVisible)
+ return;
+
+ if (!m_client) {
+ IGUIElement::draw();
+ return;
+ }
+
+ IItemDefManager *idef = m_client->idef();
+ ItemStack item;
+ item.deSerialize(m_item_name, idef);
+ // Viewport rectangle on screen
+ core::rect<s32> rect = core::rect<s32>(AbsoluteRect);
+ drawItemStack(Environment->getVideoDriver(), m_font, item, rect,
+ &AbsoluteClippingRect, m_client, IT_ROT_NONE);
+ video::SColor color(255, 255, 255, 255);
+ m_font->draw(m_label, rect, color, true, true, &AbsoluteClippingRect);
+
+ IGUIElement::draw();
+}
diff --git a/src/gui/guiItemImage.h b/src/gui/guiItemImage.h
new file mode 100644
index 000000000..6fede6564
--- /dev/null
+++ b/src/gui/guiItemImage.h
@@ -0,0 +1,46 @@
+/*
+Minetest
+Copyright (C) 2013 celeron55, Perttu Ahola <celeron55@gmail.com>
+
+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 "irrlichttypes_extrabloated.h"
+#include "util/string.h"
+
+class Client;
+
+class GUIItemImage : public gui::IGUIElement
+{
+public:
+ GUIItemImage(gui::IGUIEnvironment *env, gui::IGUIElement *parent, s32 id,
+ const core::rect<s32> &rectangle, const std::string &item_name,
+ gui::IGUIFont *font, Client *client);
+
+ virtual void draw() override;
+
+ virtual void setText(const wchar_t *text) override
+ {
+ m_label = text;
+ }
+
+private:
+ std::string m_item_name;
+ gui::IGUIFont *m_font;
+ Client *m_client;
+ core::stringw m_label;
+};
diff --git a/src/gui/guiKeyChangeMenu.cpp b/src/gui/guiKeyChangeMenu.cpp
index ca331a7d4..3f270fc7a 100644
--- a/src/gui/guiKeyChangeMenu.cpp
+++ b/src/gui/guiKeyChangeMenu.cpp
@@ -21,6 +21,7 @@
#include "guiKeyChangeMenu.h"
#include "debug.h"
+#include "guiButton.h"
#include "serialization.h"
#include <string>
#include <IGUICheckBox.h>
@@ -85,8 +86,6 @@ GUIKeyChangeMenu::GUIKeyChangeMenu(gui::IGUIEnvironment* env,
GUIModalMenu(env, parent, id, menumgr)
{
init_keys();
- for (key_setting *ks : key_settings)
- key_used.push_back(ks->key);
}
GUIKeyChangeMenu::~GUIKeyChangeMenu()
@@ -111,6 +110,7 @@ void GUIKeyChangeMenu::removeChildren()
for (gui::IGUIElement *i : children_copy) {
i->remove();
}
+ key_used_text = nullptr;
}
void GUIKeyChangeMenu::regenerateGui(v2u32 screensize)
@@ -157,7 +157,7 @@ void GUIKeyChangeMenu::regenerateGui(v2u32 screensize)
core::rect<s32> rect(0, 0, 100 * s, 30 * 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);
+ k->button = GUIButton::addButton(Environment, rect, this, k->id, text);
delete[] text;
}
if ((i + 1) % KMaxButtonPerColumns == 0) {
@@ -217,16 +217,14 @@ void GUIKeyChangeMenu::regenerateGui(v2u32 screensize)
core::rect<s32> rect(0, 0, 100 * s, 30 * s);
rect += topleft + v2s32(size.X / 2 - 105 * s, size.Y - 40 * s);
const wchar_t *text = wgettext("Save");
- Environment->addButton(rect, this, GUI_ID_BACK_BUTTON,
- text);
+ GUIButton::addButton(Environment, rect, this, GUI_ID_BACK_BUTTON, text);
delete[] text;
}
{
core::rect<s32> rect(0, 0, 100 * s, 30 * s);
rect += topleft + v2s32(size.X / 2 + 5 * s, size.Y - 40 * s);
const wchar_t *text = wgettext("Cancel");
- Environment->addButton(rect, this, GUI_ID_ABORT_BUTTON,
- text);
+ GUIButton::addButton(Environment, rect, this, GUI_ID_ABORT_BUTTON, text);
delete[] text;
}
}
@@ -247,7 +245,13 @@ void GUIKeyChangeMenu::drawMenu()
bool GUIKeyChangeMenu::acceptInput()
{
for (key_setting *k : key_settings) {
- g_settings->set(k->setting_name, k->key.sym());
+ std::string default_key;
+ g_settings->getDefaultNoEx(k->setting_name, default_key);
+
+ if (k->key.sym() != default_key)
+ g_settings->set(k->setting_name, k->key.sym());
+ else
+ g_settings->remove(k->setting_name);
}
{
@@ -275,29 +279,28 @@ bool GUIKeyChangeMenu::acceptInput()
bool GUIKeyChangeMenu::resetMenu()
{
- if (activeKey >= 0)
- {
- for (key_setting *k : key_settings) {
- if (k->id == activeKey) {
- const wchar_t *text = wgettext(k->key.name());
- k->button->setText(text);
- delete[] text;
- break;
- }
- }
- activeKey = -1;
+ if (active_key) {
+ const wchar_t *text = wgettext(active_key->key.name());
+ active_key->button->setText(text);
+ delete[] text;
+ active_key = nullptr;
return false;
}
return true;
}
bool GUIKeyChangeMenu::OnEvent(const SEvent& event)
{
- if (event.EventType == EET_KEY_INPUT_EVENT && activeKey >= 0
+ if (event.EventType == EET_KEY_INPUT_EVENT && active_key
&& event.KeyInput.PressedDown) {
bool prefer_character = shift_down;
KeyPress kp(event.KeyInput, prefer_character);
+ if (event.KeyInput.Key == irr::KEY_DELETE)
+ kp = KeyPress(""); // To erase key settings
+ else if (event.KeyInput.Key == irr::KEY_ESCAPE)
+ kp = active_key->key; // Cancel
+
bool shift_went_down = false;
if(!shift_down &&
(event.KeyInput.Key == irr::KEY_SHIFT ||
@@ -305,51 +308,46 @@ bool GUIKeyChangeMenu::OnEvent(const SEvent& event)
event.KeyInput.Key == irr::KEY_RSHIFT))
shift_went_down = true;
- // Remove Key already in use message
- if(this->key_used_text)
- {
- this->key_used_text->remove();
- this->key_used_text = NULL;
- }
// Display Key already in use message
- if (std::find(this->key_used.begin(), this->key_used.end(), kp) != this->key_used.end())
- {
- core::rect < s32 > rect(0, 0, 600, 40);
+ bool key_in_use = false;
+ if (strcmp(kp.sym(), "") != 0) {
+ for (key_setting *ks : key_settings) {
+ if (ks != active_key && ks->key == kp) {
+ key_in_use = true;
+ break;
+ }
+ }
+ }
+
+ if (key_in_use && !this->key_used_text) {
+ core::rect<s32> rect(0, 0, 600, 40);
rect += v2s32(0, 0) + v2s32(25, 30);
const wchar_t *text = wgettext("Key already in use");
this->key_used_text = Environment->addStaticText(text,
rect, false, true, this, -1);
delete[] text;
- //infostream << "Key already in use" << std::endl;
+ } else if (!key_in_use && this->key_used_text) {
+ this->key_used_text->remove();
+ this->key_used_text = nullptr;
}
// But go on
{
- key_setting *k = NULL;
- for (key_setting *ks : key_settings) {
- if (ks->id == activeKey) {
- k = ks;
- break;
- }
- }
- FATAL_ERROR_IF(k == NULL, "Key setting not found");
- k->key = kp;
- const wchar_t *text = wgettext(k->key.name());
- k->button->setText(text);
+ active_key->key = kp;
+ const wchar_t *text = wgettext(kp.name());
+ active_key->button->setText(text);
delete[] text;
- this->key_used.push_back(kp);
-
// Allow characters made with shift
- if(shift_went_down){
+ if (shift_went_down){
shift_down = true;
return false;
}
- activeKey = -1;
+ active_key = nullptr;
return true;
}
- } else if (event.EventType == EET_KEY_INPUT_EVENT && activeKey < 0
+ } else if (event.EventType == EET_KEY_INPUT_EVENT && !active_key
&& event.KeyInput.PressedDown
&& event.KeyInput.Key == irr::KEY_ESCAPE) {
quitMenu();
@@ -378,24 +376,19 @@ bool GUIKeyChangeMenu::OnEvent(const SEvent& event)
quitMenu();
return true;
default:
- key_setting *k = NULL;
-
+ resetMenu();
for (key_setting *ks : key_settings) {
if (ks->id == event.GUIEvent.Caller->getID()) {
- k = ks;
+ active_key = ks;
break;
}
}
- FATAL_ERROR_IF(k == NULL, "Key setting not found");
+ FATAL_ERROR_IF(!active_key, "Key setting not found");
- resetMenu();
shift_down = false;
- activeKey = event.GUIEvent.Caller->getID();
const wchar_t *text = wgettext("press key");
- k->button->setText(text);
+ active_key->button->setText(text);
delete[] text;
- this->key_used.erase(std::remove(this->key_used.begin(),
- this->key_used.end(), k->key), this->key_used.end());
break;
}
Environment->setFocus(this);
diff --git a/src/gui/guiKeyChangeMenu.h b/src/gui/guiKeyChangeMenu.h
index 0aaa05e18..528827fd9 100644
--- a/src/gui/guiKeyChangeMenu.h
+++ b/src/gui/guiKeyChangeMenu.h
@@ -70,9 +70,8 @@ private:
void add_key(int id, const wchar_t *button_name, const std::string &setting_name);
bool shift_down = false;
- s32 activeKey = -1;
- std::vector<KeyPress> key_used;
+ key_setting *active_key = nullptr;
gui::IGUIStaticText *key_used_text = nullptr;
std::vector<key_setting *> key_settings;
};
diff --git a/src/gui/guiPasswordChange.cpp b/src/gui/guiPasswordChange.cpp
index 469c38dbe..af91ce84c 100644
--- a/src/gui/guiPasswordChange.cpp
+++ b/src/gui/guiPasswordChange.cpp
@@ -18,6 +18,7 @@ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#include "guiPasswordChange.h"
#include "client/client.h"
+#include "guiButton.h"
#include <IGUICheckBox.h>
#include <IGUIEditBox.h>
#include <IGUIButton.h>
@@ -145,14 +146,14 @@ void GUIPasswordChange::regenerateGui(v2u32 screensize)
core::rect<s32> rect(0, 0, 100 * s, 30 * s);
rect = rect + v2s32(size.X / 4 + 56 * s, ypos);
text = wgettext("Change");
- Environment->addButton(rect, this, ID_change, text);
+ GUIButton::addButton(Environment, rect, this, ID_change, text);
delete[] text;
}
{
core::rect<s32> rect(0, 0, 100 * s, 30 * s);
rect = rect + v2s32(size.X / 4 + 185 * s, ypos);
text = wgettext("Cancel");
- Environment->addButton(rect, this, ID_cancel, text);
+ GUIButton::addButton(Environment, rect, this, ID_cancel, text);
delete[] text;
}
diff --git a/src/gui/guiScrollBar.cpp b/src/gui/guiScrollBar.cpp
index f7218e733..b04ccb9d5 100644
--- a/src/gui/guiScrollBar.cpp
+++ b/src/gui/guiScrollBar.cpp
@@ -247,7 +247,7 @@ s32 GUIScrollBar::getPosFromMousePos(const core::position2di &pos) const
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;
+ return core::isnotzero(range()) ? s32(f32(p) / f32(w) * range() + 0.5f) + min_pos : 0;
}
void GUIScrollBar::setPos(const s32 &pos)
@@ -272,7 +272,8 @@ void GUIScrollBar::setPos(const s32 &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;
+ draw_center = s32((f32(scroll_pos - min_pos) * f) + (f32(thumb_size) * 0.5f)) +
+ border_size;
}
void GUIScrollBar::setSmallStep(const s32 &step)
@@ -315,6 +316,12 @@ void GUIScrollBar::setPageSize(const s32 &size)
setPos(scroll_pos);
}
+void GUIScrollBar::setArrowsVisible(ArrowVisibility visible)
+{
+ arrow_visibility = visible;
+ refreshControls();
+}
+
s32 GUIScrollBar::getPos() const
{
return scroll_pos;
@@ -419,7 +426,21 @@ void GUIScrollBar::refreshControls()
down_button->setAlignment(EGUIA_UPPERLEFT, EGUIA_LOWERRIGHT,
EGUIA_LOWERRIGHT, EGUIA_LOWERRIGHT);
}
- bool visible = (border_size != 0);
+
+ bool visible;
+ if (arrow_visibility == DEFAULT)
+ visible = (border_size != 0);
+ else if (arrow_visibility == HIDE) {
+ visible = false;
+ border_size = 0;
+ } else {
+ visible = true;
+ if (is_horizontal)
+ border_size = RelativeRect.getHeight();
+ else
+ border_size = RelativeRect.getWidth();
+ }
+
up_button->setVisible(visible);
down_button->setVisible(visible);
}
diff --git a/src/gui/guiScrollBar.h b/src/gui/guiScrollBar.h
index 349411fc1..29493bb99 100644
--- a/src/gui/guiScrollBar.h
+++ b/src/gui/guiScrollBar.h
@@ -23,6 +23,13 @@ public:
GUIScrollBar(IGUIEnvironment *environment, IGUIElement *parent, s32 id,
core::rect<s32> rectangle, bool horizontal, bool auto_scale);
+ enum ArrowVisibility
+ {
+ HIDE,
+ SHOW,
+ DEFAULT
+ };
+
virtual void draw();
virtual void updateAbsolutePosition();
virtual bool OnEvent(const SEvent &event);
@@ -39,6 +46,7 @@ public:
void setLargeStep(const s32 &step);
void setPos(const s32 &pos);
void setPageSize(const s32 &size);
+ void setArrowsVisible(ArrowVisibility visible);
private:
void refreshControls();
@@ -47,6 +55,7 @@ private:
IGUIButton *up_button;
IGUIButton *down_button;
+ ArrowVisibility arrow_visibility = DEFAULT;
bool is_dragging;
bool is_horizontal;
bool is_auto_scaling;
diff --git a/src/gui/guiVolumeChange.cpp b/src/gui/guiVolumeChange.cpp
index 45d2ee139..9428cde83 100644
--- a/src/gui/guiVolumeChange.cpp
+++ b/src/gui/guiVolumeChange.cpp
@@ -19,6 +19,7 @@ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#include "guiVolumeChange.h"
#include "debug.h"
+#include "guiButton.h"
#include "serialization.h"
#include <string>
#include <IGUICheckBox.h>
@@ -103,8 +104,7 @@ void GUIVolumeChange::regenerateGui(v2u32 screensize)
core::rect<s32> rect(0, 0, 80 * s, 30 * s);
rect = rect + v2s32(size.X / 2 - 80 * s / 2, size.Y / 2 + 55 * s);
const wchar_t *text = wgettext("Exit");
- Environment->addButton(rect, this, ID_soundExitButton,
- text);
+ GUIButton::addButton(Environment, rect, this, ID_soundExitButton, text);
delete[] text;
}
{
diff --git a/src/gui/modalMenu.cpp b/src/gui/modalMenu.cpp
index 30417943d..8fb6c6f0f 100644
--- a/src/gui/modalMenu.cpp
+++ b/src/gui/modalMenu.cpp
@@ -134,6 +134,8 @@ bool GUIModalMenu::preprocessEvent(const SEvent &event)
return retval;
m_jni_field_name = field_name;
+ /*~ Imperative, as in "Enter/type in text".
+ Don't forget the space. */
std::string message = gettext("Enter ");
std::string label = wide_to_utf8(getLabelByID(hovered->getID()));
if (label.empty())
diff --git a/src/gui/touchscreengui.h b/src/gui/touchscreengui.h
index 1f9adda22..2a3f24a3f 100644
--- a/src/gui/touchscreengui.h
+++ b/src/gui/touchscreengui.h
@@ -230,7 +230,7 @@ private:
int m_move_id = -1;
bool m_move_has_really_moved = false;
- s64 m_move_downtime = 0;
+ u64 m_move_downtime = 0;
bool m_move_sent_as_mouse_event = false;
v2s32 m_move_downlocation = v2s32(-10000, -10000);
@@ -296,7 +296,7 @@ private:
// doubleclick detection variables
struct key_event
{
- unsigned int down_time;
+ u64 down_time;
s32 x;
s32 y;
};
diff --git a/src/hud.cpp b/src/hud.cpp
index 8ada65274..7711e3a4a 100644
--- a/src/hud.cpp
+++ b/src/hud.cpp
@@ -43,6 +43,8 @@ const struct EnumString es_HudElementStat[] =
{HUD_STAT_ALIGN, "alignment"},
{HUD_STAT_OFFSET, "offset"},
{HUD_STAT_WORLD_POS, "world_pos"},
+ {HUD_STAT_SIZE, "size"},
+ {HUD_STAT_Z_INDEX, "z_index"},
{0, NULL},
};
diff --git a/src/hud.h b/src/hud.h
index bfb644303..23f189dff 100644
--- a/src/hud.h
+++ b/src/hud.h
@@ -74,7 +74,8 @@ enum HudElementStat {
HUD_STAT_ALIGN,
HUD_STAT_OFFSET,
HUD_STAT_WORLD_POS,
- HUD_STAT_SIZE
+ HUD_STAT_SIZE,
+ HUD_STAT_Z_INDEX,
};
struct HudElement {
@@ -90,6 +91,7 @@ struct HudElement {
v2f offset;
v3f world_pos;
v2s32 size;
+ s16 z_index = 0;
};
extern const EnumString es_HudElementType[];
diff --git a/src/inventorymanager.cpp b/src/inventorymanager.cpp
index 57b561477..5a24f95a4 100644
--- a/src/inventorymanager.cpp
+++ b/src/inventorymanager.cpp
@@ -861,7 +861,7 @@ void ICraftAction::apply(InventoryManager *mgr,
}
// Put the replacements in the inventory or drop them on the floor, if
- // the invenotry is full
+ // the inventory is full
for (auto &output_replacement : output_replacements) {
if (list_main)
output_replacement = list_main->addItem(output_replacement);
diff --git a/src/irrlicht_changes/CGUITTFont.h b/src/irrlicht_changes/CGUITTFont.h
index 43fc69287..cf64934a2 100644
--- a/src/irrlicht_changes/CGUITTFont.h
+++ b/src/irrlicht_changes/CGUITTFont.h
@@ -327,6 +327,8 @@ namespace gui
(const wchar_t* text, scene::ISceneManager* smgr, scene::ISceneNode* parent = 0,
const video::SColor& color = video::SColor(255, 0, 0, 0), bool center = false );
+ inline s32 getAscender() const { return font_metrics.ascender; }
+
protected:
bool use_monochrome;
bool use_transparency;
diff --git a/src/irrlicht_changes/static_text.cpp b/src/irrlicht_changes/static_text.cpp
index 5a0f82673..bf61cd64e 100644
--- a/src/irrlicht_changes/static_text.cpp
+++ b/src/irrlicht_changes/static_text.cpp
@@ -32,21 +32,15 @@ StaticText::StaticText(const EnrichedString &text, bool border,
bool background)
: IGUIStaticText(environment, parent, id, rectangle),
HAlign(EGUIA_UPPERLEFT), VAlign(EGUIA_UPPERLEFT),
- Border(border), OverrideColorEnabled(false), OverrideBGColorEnabled(false), WordWrap(false), Background(background),
+ Border(border), WordWrap(false), Background(background),
RestrainTextInside(true), RightToLeft(false),
- OverrideColor(video::SColor(101,255,255,255)), BGColor(video::SColor(101,210,210,210)),
OverrideFont(0), LastBreakFont(0)
{
#ifdef _DEBUG
setDebugName("StaticText");
#endif
- Text = text.c_str();
- cText = text;
- if (environment && environment->getSkin())
- {
- BGColor = environment->getSkin()->getColor(gui::EGDC_3D_FACE);
- }
+ setText(text);
}
@@ -73,12 +67,7 @@ void StaticText::draw()
// draw background
if (Background)
- {
- if ( !OverrideBGColorEnabled ) // skin-colors can change
- BGColor = skin->getColor(gui::EGDC_3D_FACE);
-
- driver->draw2DRectangle(BGColor, frameRect, &AbsoluteClippingRect);
- }
+ driver->draw2DRectangle(getBackgroundColor(), frameRect, &AbsoluteClippingRect);
// draw the border
@@ -89,97 +78,60 @@ void StaticText::draw()
}
// draw the text
- if (cText.size())
- {
- IGUIFont* font = getActiveFont();
-
- if (font)
+ IGUIFont *font = getActiveFont();
+ if (font && BrokenText.size()) {
+ if (font != LastBreakFont)
+ updateText();
+
+ core::rect<s32> r = frameRect;
+ s32 height_line = font->getDimension(L"A").Height + font->getKerningHeight();
+ s32 height_total = height_line * BrokenText.size();
+ if (VAlign == EGUIA_CENTER && WordWrap)
{
- if (!WordWrap)
- {
- // TODO: add colors here
- if (VAlign == EGUIA_LOWERRIGHT)
- {
- frameRect.UpperLeftCorner.Y = frameRect.LowerRightCorner.Y -
- font->getDimension(L"A").Height - font->getKerningHeight();
- }
- if (HAlign == EGUIA_LOWERRIGHT)
- {
- frameRect.UpperLeftCorner.X = frameRect.LowerRightCorner.X -
- font->getDimension(cText.c_str()).Width;
- }
+ r.UpperLeftCorner.Y = r.getCenter().Y - (height_total / 2);
+ }
+ else if (VAlign == EGUIA_LOWERRIGHT)
+ {
+ r.UpperLeftCorner.Y = r.LowerRightCorner.Y - height_total;
+ }
+ if (HAlign == EGUIA_LOWERRIGHT)
+ {
+ r.UpperLeftCorner.X = r.LowerRightCorner.X -
+ getTextWidth();
+ }
-#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
+ irr::video::SColor previous_color(255, 255, 255, 255);
+ for (const EnrichedString &str : BrokenText) {
+ if (HAlign == EGUIA_LOWERRIGHT)
{
- if (font != LastBreakFont)
- breakText();
-
- core::rect<s32> r = frameRect;
- s32 height = font->getDimension(L"A").Height + font->getKerningHeight();
- s32 totalHeight = height * BrokenText.size();
- if (VAlign == EGUIA_CENTER)
- {
- r.UpperLeftCorner.Y = r.getCenter().Y - (totalHeight / 2);
- }
- else if (VAlign == EGUIA_LOWERRIGHT)
- {
- r.UpperLeftCorner.Y = r.LowerRightCorner.Y - totalHeight;
- }
-
- irr::video::SColor previous_color(255, 255, 255, 255);
- for (u32 i=0; i<BrokenText.size(); ++i)
- {
- if (HAlign == EGUIA_LOWERRIGHT)
- {
- r.UpperLeftCorner.X = frameRect.LowerRightCorner.X -
- font->getDimension(BrokenText[i].c_str()).Width;
- }
-
- EnrichedString str = BrokenText[i];
+ r.UpperLeftCorner.X = frameRect.LowerRightCorner.X -
+ font->getDimension(str.c_str()).Width;
+ }
- //str = colorizeText(BrokenText[i].c_str(), colors, previous_color);
- //if (!colors.empty())
- // previous_color = colors[colors.size() - 1];
+ //str = colorizeText(BrokenText[i].c_str(), colors, previous_color);
+ //if (!colors.empty())
+ // previous_color = colors[colors.size() - 1];
#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
+ 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, VAlign == EGUIA_CENTER,
+ (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));
- }
+ {
+ // Draw non-colored text
+ font->draw(str.c_str(),
+ r, str.getDefaultColor(), // TODO: Implement colorization
+ HAlign == EGUIA_CENTER, VAlign == EGUIA_CENTER,
+ (RestrainTextInside ? &AbsoluteClippingRect : NULL));
+ }
- r.LowerRightCorner.Y += height;
- r.UpperLeftCorner.Y += height;
- }
- }
+ r.LowerRightCorner.Y += height_line;
+ r.UpperLeftCorner.Y += height_line;
}
}
@@ -201,7 +153,7 @@ void StaticText::setOverrideFont(IGUIFont* font)
if (OverrideFont)
OverrideFont->grab();
- breakText();
+ updateText();
}
//! Gets the override font (if any)
@@ -224,16 +176,15 @@ IGUIFont* StaticText::getActiveFont() const
//! Sets another color for the text.
void StaticText::setOverrideColor(video::SColor color)
{
- OverrideColor = color;
- OverrideColorEnabled = true;
+ ColoredText.setDefaultColor(color);
+ updateText();
}
//! Sets another color for the text.
void StaticText::setBackgroundColor(video::SColor color)
{
- BGColor = color;
- OverrideBGColorEnabled = true;
+ ColoredText.setBackground(color);
Background = true;
}
@@ -248,7 +199,10 @@ void StaticText::setDrawBackground(bool draw)
//! Gets the background color
video::SColor StaticText::getBackgroundColor() const
{
- return BGColor;
+ IGUISkin *skin = Environment->getSkin();
+
+ return (ColoredText.hasBackground() || !skin) ?
+ ColoredText.getBackground() : skin->getColor(gui::EGDC_3D_FACE);
}
@@ -298,7 +252,7 @@ const video::SColor& StaticText::getOverrideColor() const
video::SColor StaticText::getOverrideColor() const
#endif
{
- return OverrideColor;
+ return ColoredText.getDefaultColor();
}
@@ -306,13 +260,13 @@ video::SColor StaticText::getOverrideColor() const
//! color in the gui skin.
void StaticText::enableOverrideColor(bool enable)
{
- OverrideColorEnabled = enable;
+ // TODO
}
bool StaticText::isOverrideColorEnabled() const
{
- return OverrideColorEnabled;
+ return true;
}
@@ -321,7 +275,7 @@ bool StaticText::isOverrideColorEnabled() const
void StaticText::setWordWrap(bool enable)
{
WordWrap = enable;
- breakText();
+ updateText();
}
@@ -336,7 +290,7 @@ void StaticText::setRightToLeft(bool rtl)
if (RightToLeft != rtl)
{
RightToLeft = rtl;
- breakText();
+ updateText();
}
}
@@ -348,12 +302,23 @@ bool StaticText::isRightToLeft() const
//! Breaks the single text line.
-void StaticText::breakText()
+// Updates the font colors
+void StaticText::updateText()
{
- if (!WordWrap)
+ const EnrichedString &cText = ColoredText;
+ BrokenText.clear();
+
+ if (cText.hasBackground())
+ setBackgroundColor(cText.getBackground());
+ else
+ setDrawBackground(false);
+
+ if (!WordWrap) {
+ BrokenText.push_back(cText);
return;
+ }
- BrokenText.clear();
+ // Update word wrap
IGUISkin* skin = Environment->getSkin();
IGUIFont* font = getActiveFont();
@@ -574,25 +539,20 @@ void StaticText::breakText()
//! Sets the new caption of this element.
void StaticText::setText(const wchar_t* text)
{
- setText(EnrichedString(text));
+ setText(EnrichedString(text, getOverrideColor()));
}
-//! Sets the new caption of this element.
void StaticText::setText(const EnrichedString &text)
{
- IGUIElement::setText(text.c_str());
- cText = text;
- if (text.hasBackground()) {
- setBackgroundColor(text.getBackground());
- }
- breakText();
+ ColoredText = text;
+ IGUIElement::setText(ColoredText.c_str());
+ updateText();
}
-
void StaticText::updateAbsolutePosition()
{
IGUIElement::updateAbsolutePosition();
- breakText();
+ updateText();
}
@@ -603,39 +563,31 @@ s32 StaticText::getTextHeight() const
if (!font)
return 0;
- s32 height = font->getDimension(L"A").Height + font->getKerningHeight();
-
- if (WordWrap)
- height *= BrokenText.size();
-
- return height;
+ if (WordWrap) {
+ s32 height = font->getDimension(L"A").Height + font->getKerningHeight();
+ return height * BrokenText.size();
+ }
+ // There may be intentional new lines without WordWrap
+ return font->getDimension(BrokenText[0].c_str()).Height;
}
s32 StaticText::getTextWidth() const
{
- IGUIFont * font = getActiveFont();
- if(!font)
+ IGUIFont *font = getActiveFont();
+ if (!font)
return 0;
- if(WordWrap)
- {
- s32 widest = 0;
+ s32 widest = 0;
- for(u32 line = 0; line < BrokenText.size(); ++line)
- {
- s32 width = font->getDimension(BrokenText[line].c_str()).Width;
-
- if(width > widest)
- widest = width;
- }
+ for (const EnrichedString &line : BrokenText) {
+ s32 width = font->getDimension(line.c_str()).Width;
- return widest;
- }
- else
- {
- return font->getDimension(cText.c_str()).Width;
+ if (width > widest)
+ widest = width;
}
+
+ return widest;
}
@@ -647,14 +599,14 @@ void StaticText::serializeAttributes(io::IAttributes* out, io::SAttributeReadWri
IGUIStaticText::serializeAttributes(out,options);
out->addBool ("Border", Border);
- out->addBool ("OverrideColorEnabled",OverrideColorEnabled);
- out->addBool ("OverrideBGColorEnabled",OverrideBGColorEnabled);
+ out->addBool ("OverrideColorEnabled",true);
+ out->addBool ("OverrideBGColorEnabled",ColoredText.hasBackground());
out->addBool ("WordWrap", WordWrap);
out->addBool ("Background", Background);
out->addBool ("RightToLeft", RightToLeft);
out->addBool ("RestrainTextInside", RestrainTextInside);
- out->addColor ("OverrideColor", OverrideColor);
- out->addColor ("BGColor", BGColor);
+ out->addColor ("OverrideColor", ColoredText.getDefaultColor());
+ out->addColor ("BGColor", ColoredText.getBackground());
out->addEnum ("HTextAlign", HAlign, GUIAlignmentNames);
out->addEnum ("VTextAlign", VAlign, GUIAlignmentNames);
@@ -668,14 +620,14 @@ void StaticText::deserializeAttributes(io::IAttributes* in, io::SAttributeReadWr
IGUIStaticText::deserializeAttributes(in,options);
Border = in->getAttributeAsBool("Border");
- enableOverrideColor(in->getAttributeAsBool("OverrideColorEnabled"));
- OverrideBGColorEnabled = in->getAttributeAsBool("OverrideBGColorEnabled");
setWordWrap(in->getAttributeAsBool("WordWrap"));
Background = in->getAttributeAsBool("Background");
RightToLeft = in->getAttributeAsBool("RightToLeft");
RestrainTextInside = in->getAttributeAsBool("RestrainTextInside");
- OverrideColor = in->getAttributeAsColor("OverrideColor");
- BGColor = in->getAttributeAsColor("BGColor");
+ if (in->getAttributeAsBool("OverrideColorEnabled"))
+ ColoredText.setDefaultColor(in->getAttributeAsColor("OverrideColor"));
+ if (in->getAttributeAsBool("OverrideBGColorEnabled"))
+ ColoredText.setBackground(in->getAttributeAsColor("BGColor"));
setTextAlignment( (EGUI_ALIGNMENT) in->getAttributeAsEnumeration("HTextAlign", GUIAlignmentNames),
(EGUI_ALIGNMENT) in->getAttributeAsEnumeration("VTextAlign", GUIAlignmentNames));
diff --git a/src/irrlicht_changes/static_text.h b/src/irrlicht_changes/static_text.h
index 43c587284..1f111ea56 100644
--- a/src/irrlicht_changes/static_text.h
+++ b/src/irrlicht_changes/static_text.h
@@ -34,7 +34,8 @@ namespace gui
{
public:
- //! constructor
+ // StaticText is translated by EnrichedString.
+ // No need to use translate_string()
StaticText(const EnrichedString &text, bool border, IGUIEnvironment* environment,
IGUIElement* parent, s32 id, const core::rect<s32>& rectangle,
bool background = false);
@@ -201,23 +202,20 @@ namespace gui
private:
//! Breaks the single text line.
- void breakText();
+ void updateText();
EGUI_ALIGNMENT HAlign, VAlign;
bool Border;
- bool OverrideColorEnabled;
- bool OverrideBGColorEnabled;
bool WordWrap;
bool Background;
bool RestrainTextInside;
bool RightToLeft;
- video::SColor OverrideColor, BGColor;
gui::IGUIFont* OverrideFont;
gui::IGUIFont* LastBreakFont; // stored because: if skin changes, line break must be recalculated.
- EnrichedString cText;
- core::array< EnrichedString > BrokenText;
+ EnrichedString ColoredText;
+ std::vector<EnrichedString> BrokenText;
};
@@ -274,10 +272,7 @@ inline void setStaticText(irr::gui::IGUIStaticText *static_text, const EnrichedS
inline void setStaticText(irr::gui::IGUIStaticText *static_text, const wchar_t *text)
{
- auto color = static_text->isOverrideColorEnabled()
- ? static_text->getOverrideColor()
- : irr::video::SColor(255, 255, 255, 255);
- setStaticText(static_text, EnrichedString(text, color));
+ setStaticText(static_text, EnrichedString(text, static_text->getOverrideColor()));
}
#endif // _IRR_COMPILE_WITH_GUI_
diff --git a/src/light.cpp b/src/light.cpp
index 9b6f5c210..8196fedff 100644
--- a/src/light.cpp
+++ b/src/light.cpp
@@ -29,44 +29,48 @@ static u8 light_LUT[LIGHT_SUN + 1];
// The const ref to light_LUT is what is actually used in the code
const u8 *light_decode_table = light_LUT;
+
struct LightingParams {
- float a, b, c; // polynomial coefficients
- float boost, center, sigma; // normal boost parameters
- float gamma;
+ float a, b, c; // Lighting curve polynomial coefficients
+ float boost, center, sigma; // Lighting curve parametric boost
+ float gamma; // Lighting curve gamma correction
};
static LightingParams params;
+
float decode_light_f(float x)
{
- if (x >= 1.0f) // x is equal to 1.0f half the time
+ if (x >= 1.0f) // x is often 1.0f
return 1.0f;
x = std::fmax(x, 0.0f);
float brightness = ((params.a * x + params.b) * x + params.c) * x;
- brightness += params.boost * std::exp(-0.5f * sqr((x - params.center) / params.sigma));
- if (brightness <= 0.0f) // may happen if parameters are insane
+ brightness += params.boost *
+ std::exp(-0.5f * sqr((x - params.center) / params.sigma));
+ if (brightness <= 0.0f) // May happen if parameters are extreme
return 0.0f;
if (brightness >= 1.0f)
return 1.0f;
return powf(brightness, 1.0f / params.gamma);
}
+
// Initialize or update the light value tables using the specified gamma
void set_light_table(float gamma)
{
-// Lighting curve derivatives
- const float alpha = g_settings->getFloat("lighting_alpha");
- const float beta = g_settings->getFloat("lighting_beta");
-// Lighting curve coefficients
+// Lighting curve bounding gradients
+ const float alpha = rangelim(g_settings->getFloat("lighting_alpha"), 0.0f, 3.0f);
+ const float beta = rangelim(g_settings->getFloat("lighting_beta"), 0.0f, 3.0f);
+// Lighting curve polynomial coefficients
params.a = alpha + beta - 2.0f;
params.b = 3.0f - 2.0f * alpha - beta;
params.c = alpha;
-// Mid boost
- params.boost = g_settings->getFloat("lighting_boost");
- params.center = g_settings->getFloat("lighting_boost_center");
- params.sigma = g_settings->getFloat("lighting_boost_spread");
-// Gamma correction
- params.gamma = rangelim(gamma, 0.5f, 10.0f);
+// Lighting curve parametric boost
+ params.boost = rangelim(g_settings->getFloat("lighting_boost"), 0.0f, 0.4f);
+ params.center = rangelim(g_settings->getFloat("lighting_boost_center"), 0.0f, 1.0f);
+ params.sigma = rangelim(g_settings->getFloat("lighting_boost_spread"), 0.0f, 0.4f);
+// Lighting curve gamma correction
+ params.gamma = rangelim(gamma, 0.33f, 3.0f);
// Boundary values should be fixed
light_LUT[0] = 0;
diff --git a/src/map.cpp b/src/map.cpp
index 0a7099a06..40aba067e 100644
--- a/src/map.cpp
+++ b/src/map.cpp
@@ -179,7 +179,7 @@ void Map::setNode(v3s16 p, MapNode & n)
v3s16 blockpos = getNodeBlockPos(p);
MapBlock *block = getBlockNoCreate(blockpos);
v3s16 relpos = p - blockpos*MAP_BLOCKSIZE;
- // Never allow placing CONTENT_IGNORE, it fucks up stuff
+ // Never allow placing CONTENT_IGNORE, it causes problems
if(n.getContent() == CONTENT_IGNORE){
bool temp_bool;
errorstream<<"Map::setNode(): Not allowing to place CONTENT_IGNORE"
@@ -761,8 +761,8 @@ void Map::transformLiquids(std::map<v3s16, MapBlock*> &modified_blocks,
// set level to last 3 bits, flowing down bit to 4th bit
n0.param2 = (flowing_down ? LIQUID_FLOW_DOWN_MASK : 0x00) | (new_node_level & LIQUID_LEVEL_MASK);
} else {
- // set the liquid level and flow bit to 0
- n0.param2 = ~(LIQUID_LEVEL_MASK | LIQUID_FLOW_DOWN_MASK);
+ // set the liquid level and flow bits to 0
+ n0.param2 &= ~(LIQUID_LEVEL_MASK | LIQUID_FLOW_DOWN_MASK);
}
// change the node.
@@ -1285,8 +1285,7 @@ ServerMap::~ServerMap()
Close database if it was opened
*/
delete dbase;
- if (dbase_ro)
- delete dbase_ro;
+ delete dbase_ro;
#if 0
/*
@@ -1762,13 +1761,6 @@ plan_b:
//return (s16)level;
}
-bool ServerMap::loadFromFolders() {
- if (!dbase->initialized() &&
- !fs::PathExists(m_savedir + DIR_DELIM + "map.sqlite"))
- return true;
- return false;
-}
-
void ServerMap::createDirs(const std::string &path)
{
if (!fs::CreateAllDirs(path)) {
@@ -1778,80 +1770,6 @@ void ServerMap::createDirs(const std::string &path)
}
}
-std::string ServerMap::getSectorDir(v2s16 pos, int layout)
-{
- char cc[9];
- switch(layout)
- {
- case 1:
- porting::mt_snprintf(cc, sizeof(cc), "%.4x%.4x",
- (unsigned int) pos.X & 0xffff,
- (unsigned int) pos.Y & 0xffff);
-
- return m_savedir + DIR_DELIM + "sectors" + DIR_DELIM + cc;
- case 2:
- porting::mt_snprintf(cc, sizeof(cc), (std::string("%.3x") + DIR_DELIM + "%.3x").c_str(),
- (unsigned int) pos.X & 0xfff,
- (unsigned int) pos.Y & 0xfff);
-
- return m_savedir + DIR_DELIM + "sectors2" + DIR_DELIM + cc;
- default:
- assert(false);
- return "";
- }
-}
-
-v2s16 ServerMap::getSectorPos(const std::string &dirname)
-{
- unsigned int x = 0, y = 0;
- int r;
- std::string component;
- fs::RemoveLastPathComponent(dirname, &component, 1);
- if(component.size() == 8)
- {
- // Old layout
- r = sscanf(component.c_str(), "%4x%4x", &x, &y);
- }
- else if(component.size() == 3)
- {
- // New layout
- fs::RemoveLastPathComponent(dirname, &component, 2);
- r = sscanf(component.c_str(), (std::string("%3x") + DIR_DELIM + "%3x").c_str(), &x, &y);
- // Sign-extend the 12 bit values up to 16 bits...
- if(x & 0x800) x |= 0xF000;
- if(y & 0x800) y |= 0xF000;
- }
- else
- {
- r = -1;
- }
-
- FATAL_ERROR_IF(r != 2, "getSectorPos()");
- v2s16 pos((s16)x, (s16)y);
- return pos;
-}
-
-v3s16 ServerMap::getBlockPos(const std::string &sectordir, const std::string &blockfile)
-{
- v2s16 p2d = getSectorPos(sectordir);
-
- if(blockfile.size() != 4){
- throw InvalidFilenameException("Invalid block filename");
- }
- unsigned int y;
- int r = sscanf(blockfile.c_str(), "%4x", &y);
- if(r != 1)
- throw InvalidFilenameException("Invalid block filename");
- return v3s16(p2d.X, y, p2d.Y);
-}
-
-std::string ServerMap::getBlockFilename(v3s16 p)
-{
- char cc[5];
- porting::mt_snprintf(cc, sizeof(cc), "%.4x", (unsigned int)p.Y&0xffff);
- return cc;
-}
-
void ServerMap::save(ModifiedState save_level)
{
if (!m_map_saving_enabled) {
@@ -1921,10 +1839,6 @@ void ServerMap::save(ModifiedState save_level)
void ServerMap::listAllLoadableBlocks(std::vector<v3s16> &dst)
{
- if (loadFromFolders()) {
- errorstream << "Map::listAllLoadableBlocks(): Result will be missing "
- << "all blocks that are stored in flat files." << std::endl;
- }
dbase->listAllLoadableBlocks(dst);
if (dbase_ro)
dbase_ro->listAllLoadableBlocks(dst);
@@ -2018,83 +1932,6 @@ bool ServerMap::saveBlock(MapBlock *block, MapDatabase *db)
return ret;
}
-void ServerMap::loadBlock(const std::string &sectordir, const std::string &blockfile,
- MapSector *sector, bool save_after_load)
-{
- std::string fullpath = sectordir + DIR_DELIM + blockfile;
- try {
- std::ifstream is(fullpath.c_str(), std::ios_base::binary);
- if (!is.good())
- throw FileNotGoodException("Cannot open block file");
-
- v3s16 p3d = getBlockPos(sectordir, blockfile);
- v2s16 p2d(p3d.X, p3d.Z);
-
- assert(sector->getPos() == p2d);
-
- u8 version = SER_FMT_VER_INVALID;
- is.read((char*)&version, 1);
-
- if(is.fail())
- throw SerializationError("ServerMap::loadBlock(): Failed"
- " to read MapBlock version");
-
- /*u32 block_size = MapBlock::serializedLength(version);
- SharedBuffer<u8> data(block_size);
- is.read((char*)*data, block_size);*/
-
- // This will always return a sector because we're the server
- //MapSector *sector = emergeSector(p2d);
-
- MapBlock *block = NULL;
- bool created_new = false;
- block = sector->getBlockNoCreateNoEx(p3d.Y);
- if(block == NULL)
- {
- block = sector->createBlankBlockNoInsert(p3d.Y);
- created_new = true;
- }
-
- // Read basic data
- block->deSerialize(is, version, true);
-
- // If it's a new block, insert it to the map
- if (created_new) {
- sector->insertBlock(block);
- ReflowScan scanner(this, m_emerge->ndef);
- scanner.scan(block, &m_transforming_liquid);
- }
-
- /*
- Save blocks loaded in old format in new format
- */
-
- if(version < SER_FMT_VER_HIGHEST_WRITE || save_after_load)
- {
- saveBlock(block);
-
- // Should be in database now, so delete the old file
- fs::RecursiveDelete(fullpath);
- }
-
- // We just loaded it from the disk, so it's up-to-date.
- block->resetModified();
-
- }
- catch(SerializationError &e)
- {
- warningstream<<"Invalid block data on disk "
- <<"fullpath="<<fullpath
- <<" (SerializationError). "
- <<"what()="<<e.what()
- <<std::endl;
- // Ignoring. A new one will be generated.
- abort();
-
- // TODO: Backup file; name is in fullpath.
- }
-}
-
void ServerMap::loadBlock(std::string *blob, v3s16 p3d, MapSector *sector, bool save_after_load)
{
try {
@@ -2172,39 +2009,7 @@ MapBlock* ServerMap::loadBlock(v3s16 blockpos)
loadBlock(&ret, blockpos, createSector(p2d), false);
}
} else {
- // Not found in database, try the files
-
- // The directory layout we're going to load from.
- // 1 - original sectors/xxxxzzzz/
- // 2 - new sectors2/xxx/zzz/
- // If we load from anything but the latest structure, we will
- // immediately save to the new one, and remove the old.
- std::string sectordir1 = getSectorDir(p2d, 1);
- std::string sectordir;
- if (fs::PathExists(sectordir1)) {
- sectordir = sectordir1;
- } else {
- sectordir = getSectorDir(p2d, 2);
- }
-
- /*
- Make sure sector is loaded
- */
-
- MapSector *sector = getSectorNoGenerate(p2d);
-
- /*
- Make sure file exists
- */
-
- std::string blockfilename = getBlockFilename(blockpos);
- if (!fs::PathExists(sectordir + DIR_DELIM + blockfilename))
- return NULL;
-
- /*
- Load block and save it to the database
- */
- loadBlock(sectordir, blockfilename, sector, true);
+ return NULL;
}
MapBlock *block = getBlockNoCreateNoEx(blockpos);
diff --git a/src/map.h b/src/map.h
index 392ec3f25..da55fb432 100644
--- a/src/map.h
+++ b/src/map.h
@@ -380,21 +380,12 @@ public:
names when saving
*/
void createDirs(const std::string &path);
- // returns something like "map/sectors/xxxxxxxx"
- std::string getSectorDir(v2s16 pos, int layout = 2);
- // dirname: final directory name
- v2s16 getSectorPos(const std::string &dirname);
- v3s16 getBlockPos(const std::string &sectordir, const std::string &blockfile);
- static std::string getBlockFilename(v3s16 p);
/*
Database functions
*/
static MapDatabase *createDatabase(const std::string &name, const std::string &savedir, Settings &conf);
- // Returns true if the database file does not exist
- bool loadFromFolders();
-
// Call these before and after saving of blocks
void beginSave();
void endSave();
@@ -407,9 +398,6 @@ public:
bool saveBlock(MapBlock *block);
static bool saveBlock(MapBlock *block, MapDatabase *db);
- // This will generate a sector with getSector if not found.
- void loadBlock(const std::string &sectordir, const std::string &blockfile,
- MapSector *sector, bool save_after_load=false);
MapBlock* loadBlock(v3s16 p);
// Database version
void loadBlock(std::string *blob, v3s16 p3d, MapSector *sector, bool save_after_load=false);
diff --git a/src/map_settings_manager.cpp b/src/map_settings_manager.cpp
index a0ff1c754..7ef4bf12e 100644
--- a/src/map_settings_manager.cpp
+++ b/src/map_settings_manager.cpp
@@ -32,6 +32,7 @@ MapSettingsManager::MapSettingsManager(Settings *user_settings,
m_user_settings(user_settings)
{
assert(m_user_settings != NULL);
+ Mapgen::setDefaultSettings(m_map_settings);
}
diff --git a/src/mapgen/cavegen.cpp b/src/mapgen/cavegen.cpp
index fa34b7273..a9df4506f 100644
--- a/src/mapgen/cavegen.cpp
+++ b/src/mapgen/cavegen.cpp
@@ -280,18 +280,18 @@ CavesRandomWalk::CavesRandomWalk(
int water_level,
content_t water_source,
content_t lava_source,
- int lava_depth,
+ float large_cave_flooded,
BiomeGen *biomegen)
{
assert(ndef);
- this->ndef = ndef;
- this->gennotify = gennotify;
- this->seed = seed;
- this->water_level = water_level;
- this->np_caveliquids = &nparams_caveliquids;
- this->lava_depth = lava_depth;
- this->bmgn = biomegen;
+ this->ndef = ndef;
+ this->gennotify = gennotify;
+ this->seed = seed;
+ this->water_level = water_level;
+ this->np_caveliquids = &nparams_caveliquids;
+ this->large_cave_flooded = large_cave_flooded;
+ this->bmgn = biomegen;
c_water_source = water_source;
if (c_water_source == CONTENT_IGNORE)
@@ -322,7 +322,7 @@ void CavesRandomWalk::makeCave(MMVManip *vm, v3s16 nmin, v3s16 nmax,
this->ystride = nmax.X - nmin.X + 1;
- flooded = ps->range(1, 2) == 2;
+ flooded = ps->range(1, 1000) <= large_cave_flooded * 1000.0f;
// If flooded:
// Get biome at mapchunk midpoint. If cave liquid defined for biome, use it.
@@ -364,12 +364,13 @@ void CavesRandomWalk::makeCave(MMVManip *vm, v3s16 nmin, v3s16 nmax,
// Area starting point in nodes
of = node_min;
- // Allow a bit more
- //(this should be more than the maximum radius of the tunnel)
- const s16 insure = 10;
+ // Allow caves to extend up to 16 nodes beyond the mapchunk edge, to allow
+ // connecting with caves of neighbor mapchunks.
+ // 'insure' is needed to avoid many 'out of voxelmanip' cave nodes.
+ const s16 insure = 2;
s16 more = MYMAX(MAP_BLOCKSIZE - max_tunnel_diameter / 2 - insure, 1);
- ar += v3s16(1, 0, 1) * more * 2;
- of -= v3s16(1, 0, 1) * more;
+ ar += v3s16(1, 1, 1) * more * 2;
+ of -= v3s16(1, 1, 1) * more;
route_y_min = 0;
// Allow half a diameter + 7 over stone surface
@@ -527,12 +528,12 @@ void CavesRandomWalk::carveRoute(v3f vec, float f, bool randomize_xz)
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.
+ // TODO 'np_caveliquids' is deprecated and should eventually be removed.
+ // Cave liquids are now defined and located using biome definitions.
float nval = NoisePerlin3D(np_caveliquids, startp.X,
startp.Y, startp.Z, seed);
- liquidnode = (nval < 0.40f && node_max.Y < lava_depth) ?
+ liquidnode = (nval < 0.40f && node_max.Y < water_level - 256) ?
lavanode : waternode;
}
}
diff --git a/src/mapgen/cavegen.h b/src/mapgen/cavegen.h
index 3f1730ddb..ff09f9423 100644
--- a/src/mapgen/cavegen.h
+++ b/src/mapgen/cavegen.h
@@ -116,15 +116,13 @@ public:
s16 *heightmap;
BiomeGen *bmgn;
- // configurable parameters
s32 seed;
int water_level;
- // TODO 'lava_depth' and 'np_caveliquids' are deprecated and should be removed.
+ float large_cave_flooded;
+ // TODO 'np_caveliquids' is deprecated and should eventually be removed.
// Cave liquids are now defined and located using biome definitions.
- int lava_depth;
NoiseParams *np_caveliquids;
- // intermediate state variables
u16 ystride;
s16 min_tunnel_diameter;
@@ -161,7 +159,7 @@ public:
CavesRandomWalk(const NodeDefManager *ndef, GenerateNotifier *gennotify =
NULL, s32 seed = 0, int water_level = 1, content_t water_source =
CONTENT_IGNORE, content_t lava_source = CONTENT_IGNORE,
- int lava_depth = -256, BiomeGen *biomegen = NULL);
+ float large_cave_flooded = 0.5f, BiomeGen *biomegen = NULL);
// vm and ps are mandatory parameters.
// If heightmap is NULL, the surface level at all points is assumed to
diff --git a/src/mapgen/mapgen.cpp b/src/mapgen/mapgen.cpp
index 6d5e721ce..79c429ff6 100644
--- a/src/mapgen/mapgen.cpp
+++ b/src/mapgen/mapgen.cpp
@@ -215,6 +215,17 @@ void Mapgen::getMapgenNames(std::vector<const char *> *mgnames, bool include_hid
}
}
+void Mapgen::setDefaultSettings(Settings *settings)
+{
+ settings->setDefault("mg_flags", flagdesc_mapgen,
+ MG_CAVES | MG_DUNGEONS | MG_LIGHT | MG_DECORATIONS | MG_BIOMES);
+
+ for (int i = 0; i < (int)MAPGEN_INVALID; ++i) {
+ MapgenParams *params = createMapgenParams((MapgenType)i);
+ params->setDefaultSettings(settings);
+ delete params;
+ }
+}
u32 Mapgen::getBlockSeed(v3s16 p, s32 seed)
{
@@ -831,7 +842,9 @@ void MapgenBasic::dustTopNodes()
void MapgenBasic::generateCavesNoiseIntersection(s16 max_stone_y)
{
- if (node_min.Y > max_stone_y)
+ // cave_width >= 10 is used to disable generation and avoid the intensive
+ // 3D noise calculations. Tunnels already have zero width when cave_width > 1.
+ if (node_min.Y > max_stone_y || cave_width >= 10.0f)
return;
CavesNoiseIntersection caves_noise(ndef, m_bmgr, csize,
@@ -841,20 +854,33 @@ void MapgenBasic::generateCavesNoiseIntersection(s16 max_stone_y)
}
-void MapgenBasic::generateCavesRandomWalk(s16 max_stone_y, s16 large_cave_depth)
+void MapgenBasic::generateCavesRandomWalk(s16 max_stone_y, s16 large_cave_ymax)
{
- if (node_min.Y > max_stone_y || node_max.Y > large_cave_depth)
+ if (node_min.Y > max_stone_y)
return;
PseudoRandom ps(blockseed + 21343);
- u32 bruises_count = ps.range(0, 2);
+ // Small randomwalk caves
+ u32 num_small_caves = ps.range(small_cave_num_min, small_cave_num_max);
- for (u32 i = 0; i < bruises_count; i++) {
+ for (u32 i = 0; i < num_small_caves; i++) {
CavesRandomWalk cave(ndef, &gennotify, seed, water_level,
- c_water_source, c_lava_source, lava_depth, biomegen);
+ c_water_source, c_lava_source, large_cave_flooded, biomegen);
+ cave.makeCave(vm, node_min, node_max, &ps, false, max_stone_y, heightmap);
+ }
+
+ if (node_max.Y > large_cave_ymax)
+ return;
- cave.makeCave(vm, node_min, node_max, &ps, true, max_stone_y,
- heightmap);
+ // Large randomwalk caves below 'large_cave_ymax'.
+ // 'large_cave_ymax' can differ from the 'large_cave_depth' mapgen parameter,
+ // it is set to world base to disable large caves in or near caverns.
+ u32 num_large_caves = ps.range(large_cave_num_min, large_cave_num_max);
+
+ for (u32 i = 0; i < num_large_caves; i++) {
+ CavesRandomWalk cave(ndef, &gennotify, seed, water_level,
+ c_water_source, c_lava_source, large_cave_flooded, biomegen);
+ cave.makeCave(vm, node_min, node_max, &ps, true, max_stone_y, heightmap);
}
}
@@ -873,7 +899,8 @@ bool MapgenBasic::generateCavernsNoise(s16 max_stone_y)
void MapgenBasic::generateDungeons(s16 max_stone_y)
{
- if (max_stone_y < node_min.Y)
+ if (node_min.Y > max_stone_y || node_min.Y > dungeon_ymax ||
+ node_max.Y < dungeon_ymin)
return;
u16 num_dungeons = std::fmax(std::floor(
@@ -1052,7 +1079,7 @@ void MapgenParams::writeParams(Settings *settings) const
settings->setS16("water_level", water_level);
settings->setS16("mapgen_limit", mapgen_limit);
settings->setS16("chunksize", chunksize);
- settings->setFlagStr("mg_flags", flags, flagdesc_mapgen, U32_MAX);
+ settings->setFlagStr("mg_flags", flags, flagdesc_mapgen);
if (bparams)
bparams->writeParams(settings);
diff --git a/src/mapgen/mapgen.h b/src/mapgen/mapgen.h
index 0ac26d538..dc325c791 100644
--- a/src/mapgen/mapgen.h
+++ b/src/mapgen/mapgen.h
@@ -30,10 +30,10 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#define MAPGEN_DEFAULT_NAME "v7"
/////////////////// Mapgen flags
-#define MG_TREES 0x01 // Deprecated. Moved into mgv6 flags
+#define MG_TREES 0x01 // Obsolete. Moved into mgv6 flags
#define MG_CAVES 0x02
#define MG_DUNGEONS 0x04
-#define MG_FLAT 0x08 // Deprecated. Moved into mgv6 flags
+#define MG_FLAT 0x08 // Obsolete. Moved into mgv6 flags
#define MG_LIGHT 0x10
#define MG_DECORATIONS 0x20
#define MG_BIOMES 0x40
@@ -124,7 +124,9 @@ struct MapgenParams {
u64 seed = 0;
s16 water_level = 1;
s16 mapgen_limit = MAX_MAP_GENERATION_LIMIT;
- u32 flags = MG_CAVES | MG_LIGHT | MG_DECORATIONS | MG_BIOMES;
+ // Flags set in readParams
+ u32 flags = 0;
+ u32 spflags = 0;
BiomeParams *bparams = nullptr;
@@ -133,6 +135,8 @@ struct MapgenParams {
virtual void readParams(const Settings *settings);
virtual void writeParams(Settings *settings) const;
+ // Default settings for g_settings such as flags
+ virtual void setDefaultSettings(Settings *settings) {};
s32 getSpawnRangeMax();
@@ -214,6 +218,7 @@ public:
EmergeManager *emerge);
static MapgenParams *createMapgenParams(MapgenType mgtype);
static void getMapgenNames(std::vector<const char *> *mgnames, bool include_hidden);
+ static void setDefaultSettings(Settings *settings);
private:
// isLiquidHorizontallyFlowable() is a helper function for updateLiquid()
@@ -244,7 +249,7 @@ public:
virtual void generateBiomes();
virtual void dustTopNodes();
virtual void generateCavesNoiseIntersection(s16 max_stone_y);
- virtual void generateCavesRandomWalk(s16 max_stone_y, s16 large_cave_depth);
+ virtual void generateCavesRandomWalk(s16 max_stone_y, s16 large_cave_ymax);
virtual bool generateCavernsNoise(s16 max_stone_y);
virtual void generateDungeons(s16 max_stone_y);
@@ -280,7 +285,12 @@ protected:
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;
+ int small_cave_num_min;
+ int small_cave_num_max;
+ int large_cave_num_min;
+ int large_cave_num_max;
+ float large_cave_flooded;
+ s16 large_cave_depth;
+ s16 dungeon_ymin;
+ s16 dungeon_ymax;
};
diff --git a/src/mapgen/mapgen_carpathian.cpp b/src/mapgen/mapgen_carpathian.cpp
index 12ce07da4..0dc1d33be 100644
--- a/src/mapgen/mapgen_carpathian.cpp
+++ b/src/mapgen/mapgen_carpathian.cpp
@@ -58,15 +58,19 @@ MapgenCarpathian::MapgenCarpathian(MapgenCarpathianParams *params, EmergeManager
river_depth = params->river_depth;
valley_width = params->valley_width;
- spflags = params->spflags;
- cave_width = params->cave_width;
- large_cave_depth = params->large_cave_depth;
- lava_depth = params->lava_depth;
- cavern_limit = params->cavern_limit;
- cavern_taper = params->cavern_taper;
- cavern_threshold = params->cavern_threshold;
- dungeon_ymin = params->dungeon_ymin;
- dungeon_ymax = params->dungeon_ymax;
+ spflags = params->spflags;
+ cave_width = params->cave_width;
+ large_cave_depth = params->large_cave_depth;
+ small_cave_num_min = params->small_cave_num_min;
+ small_cave_num_max = params->small_cave_num_max;
+ large_cave_num_min = params->large_cave_num_min;
+ large_cave_num_max = params->large_cave_num_max;
+ large_cave_flooded = params->large_cave_flooded;
+ cavern_limit = params->cavern_limit;
+ cavern_taper = params->cavern_taper;
+ cavern_threshold = params->cavern_threshold;
+ dungeon_ymin = params->dungeon_ymin;
+ dungeon_ymax = params->dungeon_ymax;
grad_wl = 1 - water_level;
@@ -148,14 +152,18 @@ void MapgenCarpathianParams::readParams(const Settings *settings)
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);
- settings->getS16NoEx("mgcarpathian_cavern_limit", cavern_limit);
- settings->getS16NoEx("mgcarpathian_cavern_taper", cavern_taper);
- settings->getFloatNoEx("mgcarpathian_cavern_threshold", cavern_threshold);
- settings->getS16NoEx("mgcarpathian_dungeon_ymin", dungeon_ymin);
- settings->getS16NoEx("mgcarpathian_dungeon_ymax", dungeon_ymax);
+ settings->getFloatNoEx("mgcarpathian_cave_width", cave_width);
+ settings->getS16NoEx("mgcarpathian_large_cave_depth", large_cave_depth);
+ settings->getU16NoEx("mgcarpathian_small_cave_num_min", small_cave_num_min);
+ settings->getU16NoEx("mgcarpathian_small_cave_num_max", small_cave_num_max);
+ settings->getU16NoEx("mgcarpathian_large_cave_num_min", large_cave_num_min);
+ settings->getU16NoEx("mgcarpathian_large_cave_num_max", large_cave_num_max);
+ settings->getFloatNoEx("mgcarpathian_large_cave_flooded", large_cave_flooded);
+ settings->getS16NoEx("mgcarpathian_cavern_limit", cavern_limit);
+ settings->getS16NoEx("mgcarpathian_cavern_taper", cavern_taper);
+ settings->getFloatNoEx("mgcarpathian_cavern_threshold", cavern_threshold);
+ settings->getS16NoEx("mgcarpathian_dungeon_ymin", dungeon_ymin);
+ settings->getS16NoEx("mgcarpathian_dungeon_ymax", dungeon_ymax);
settings->getNoiseParams("mgcarpathian_np_filler_depth", np_filler_depth);
settings->getNoiseParams("mgcarpathian_np_height1", np_height1);
@@ -179,21 +187,25 @@ void MapgenCarpathianParams::readParams(const Settings *settings)
void MapgenCarpathianParams::writeParams(Settings *settings) const
{
- settings->setFlagStr("mgcarpathian_spflags", spflags, flagdesc_mapgen_carpathian, U32_MAX);
+ settings->setFlagStr("mgcarpathian_spflags", spflags, flagdesc_mapgen_carpathian);
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);
- settings->setS16("mgcarpathian_cavern_limit", cavern_limit);
- settings->setS16("mgcarpathian_cavern_taper", cavern_taper);
- settings->setFloat("mgcarpathian_cavern_threshold", cavern_threshold);
- settings->setS16("mgcarpathian_dungeon_ymin", dungeon_ymin);
- settings->setS16("mgcarpathian_dungeon_ymax", dungeon_ymax);
+ settings->setFloat("mgcarpathian_cave_width", cave_width);
+ settings->setS16("mgcarpathian_large_cave_depth", large_cave_depth);
+ settings->setU16("mgcarpathian_small_cave_num_min", small_cave_num_min);
+ settings->setU16("mgcarpathian_small_cave_num_max", small_cave_num_max);
+ settings->setU16("mgcarpathian_large_cave_num_min", large_cave_num_min);
+ settings->setU16("mgcarpathian_large_cave_num_max", large_cave_num_max);
+ settings->setFloat("mgcarpathian_large_cave_flooded", large_cave_flooded);
+ settings->setS16("mgcarpathian_cavern_limit", cavern_limit);
+ settings->setS16("mgcarpathian_cavern_taper", cavern_taper);
+ settings->setFloat("mgcarpathian_cavern_threshold", cavern_threshold);
+ settings->setS16("mgcarpathian_dungeon_ymin", dungeon_ymin);
+ settings->setS16("mgcarpathian_dungeon_ymax", dungeon_ymax);
settings->setNoiseParams("mgcarpathian_np_filler_depth", np_filler_depth);
settings->setNoiseParams("mgcarpathian_np_height1", np_height1);
@@ -215,6 +227,12 @@ void MapgenCarpathianParams::writeParams(Settings *settings) const
}
+void MapgenCarpathianParams::setDefaultSettings(Settings *settings)
+{
+ settings->setDefault("mgcarpathian_spflags", flagdesc_mapgen_carpathian,
+ MGCARPATHIAN_CAVERNS);
+}
+
////////////////////////////////////////////////////////////////////////////////
@@ -301,8 +319,7 @@ void MapgenCarpathian::makeChunk(BlockMakeData *data)
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)
+ if (flags & MG_DUNGEONS)
generateDungeons(stone_surface_max_y);
// Generate the registered decorations
diff --git a/src/mapgen/mapgen_carpathian.h b/src/mapgen/mapgen_carpathian.h
index 1fbac4bfd..acd379958 100644
--- a/src/mapgen/mapgen_carpathian.h
+++ b/src/mapgen/mapgen_carpathian.h
@@ -37,15 +37,18 @@ struct MapgenCarpathianParams : public MapgenParams
float river_depth = 24.0f;
float valley_width = 0.25f;
- u32 spflags = MGCARPATHIAN_CAVERNS;
- float cave_width = 0.09f;
- s16 large_cave_depth = -33;
- s16 lava_depth = -256;
- s16 cavern_limit = -256;
- s16 cavern_taper = 256;
- float cavern_threshold = 0.7f;
- s16 dungeon_ymin = -31000;
- s16 dungeon_ymax = 31000;
+ float cave_width = 0.09f;
+ s16 large_cave_depth = -33;
+ u16 small_cave_num_min = 0;
+ u16 small_cave_num_max = 0;
+ u16 large_cave_num_min = 0;
+ u16 large_cave_num_max = 2;
+ float large_cave_flooded = 0.5f;
+ s16 cavern_limit = -256;
+ s16 cavern_taper = 256;
+ float cavern_threshold = 0.7f;
+ s16 dungeon_ymin = -31000;
+ s16 dungeon_ymax = 31000;
NoiseParams np_filler_depth;
NoiseParams np_height1;
@@ -70,6 +73,7 @@ struct MapgenCarpathianParams : public MapgenParams
void readParams(const Settings *settings);
void writeParams(Settings *settings) const;
+ void setDefaultSettings(Settings *settings);
};
class MapgenCarpathian : public MapgenBasic
@@ -89,10 +93,6 @@ private:
float river_depth;
float valley_width;
- s16 large_cave_depth;
- s16 dungeon_ymin;
- s16 dungeon_ymax;
-
Noise *noise_height1;
Noise *noise_height2;
Noise *noise_height3;
diff --git a/src/mapgen/mapgen_flat.cpp b/src/mapgen/mapgen_flat.cpp
index 773b7b10f..879435948 100644
--- a/src/mapgen/mapgen_flat.cpp
+++ b/src/mapgen/mapgen_flat.cpp
@@ -51,17 +51,21 @@ FlagDesc flagdesc_mapgen_flat[] = {
MapgenFlat::MapgenFlat(MapgenFlatParams *params, EmergeManager *emerge)
: MapgenBasic(MAPGEN_FLAT, params, emerge)
{
- spflags = params->spflags;
- ground_level = params->ground_level;
- large_cave_depth = params->large_cave_depth;
- lava_depth = params->lava_depth;
- cave_width = params->cave_width;
- lake_threshold = params->lake_threshold;
- lake_steepness = params->lake_steepness;
- hill_threshold = params->hill_threshold;
- hill_steepness = params->hill_steepness;
- dungeon_ymin = params->dungeon_ymin;
- dungeon_ymax = params->dungeon_ymax;
+ spflags = params->spflags;
+ ground_level = params->ground_level;
+ large_cave_depth = params->large_cave_depth;
+ small_cave_num_min = params->small_cave_num_min;
+ small_cave_num_max = params->small_cave_num_max;
+ large_cave_num_min = params->large_cave_num_min;
+ large_cave_num_max = params->large_cave_num_max;
+ large_cave_flooded = params->large_cave_flooded;
+ cave_width = params->cave_width;
+ lake_threshold = params->lake_threshold;
+ lake_steepness = params->lake_steepness;
+ hill_threshold = params->hill_threshold;
+ hill_steepness = params->hill_steepness;
+ dungeon_ymin = params->dungeon_ymin;
+ dungeon_ymax = params->dungeon_ymax;
// 2D noise
noise_filler_depth = new Noise(&params->np_filler_depth, seed, csize.X, csize.Z);
@@ -96,17 +100,21 @@ MapgenFlatParams::MapgenFlatParams():
void MapgenFlatParams::readParams(const Settings *settings)
{
- settings->getFlagStrNoEx("mgflat_spflags", spflags, flagdesc_mapgen_flat);
- settings->getS16NoEx("mgflat_ground_level", ground_level);
- settings->getS16NoEx("mgflat_large_cave_depth", large_cave_depth);
- settings->getS16NoEx("mgflat_lava_depth", lava_depth);
- settings->getFloatNoEx("mgflat_cave_width", cave_width);
- settings->getFloatNoEx("mgflat_lake_threshold", lake_threshold);
- settings->getFloatNoEx("mgflat_lake_steepness", lake_steepness);
- settings->getFloatNoEx("mgflat_hill_threshold", hill_threshold);
- settings->getFloatNoEx("mgflat_hill_steepness", hill_steepness);
- settings->getS16NoEx("mgflat_dungeon_ymin", dungeon_ymin);
- settings->getS16NoEx("mgflat_dungeon_ymax", dungeon_ymax);
+ settings->getFlagStrNoEx("mgflat_spflags", spflags, flagdesc_mapgen_flat);
+ settings->getS16NoEx("mgflat_ground_level", ground_level);
+ settings->getS16NoEx("mgflat_large_cave_depth", large_cave_depth);
+ settings->getU16NoEx("mgflat_small_cave_num_min", small_cave_num_min);
+ settings->getU16NoEx("mgflat_small_cave_num_max", small_cave_num_max);
+ settings->getU16NoEx("mgflat_large_cave_num_min", large_cave_num_min);
+ settings->getU16NoEx("mgflat_large_cave_num_max", large_cave_num_max);
+ settings->getFloatNoEx("mgflat_large_cave_flooded", large_cave_flooded);
+ settings->getFloatNoEx("mgflat_cave_width", cave_width);
+ settings->getFloatNoEx("mgflat_lake_threshold", lake_threshold);
+ settings->getFloatNoEx("mgflat_lake_steepness", lake_steepness);
+ settings->getFloatNoEx("mgflat_hill_threshold", hill_threshold);
+ settings->getFloatNoEx("mgflat_hill_steepness", hill_steepness);
+ settings->getS16NoEx("mgflat_dungeon_ymin", dungeon_ymin);
+ settings->getS16NoEx("mgflat_dungeon_ymax", dungeon_ymax);
settings->getNoiseParams("mgflat_np_terrain", np_terrain);
settings->getNoiseParams("mgflat_np_filler_depth", np_filler_depth);
@@ -118,17 +126,21 @@ void MapgenFlatParams::readParams(const Settings *settings)
void MapgenFlatParams::writeParams(Settings *settings) const
{
- settings->setFlagStr("mgflat_spflags", spflags, flagdesc_mapgen_flat, U32_MAX);
- settings->setS16("mgflat_ground_level", ground_level);
- settings->setS16("mgflat_large_cave_depth", large_cave_depth);
- settings->setS16("mgflat_lava_depth", lava_depth);
- settings->setFloat("mgflat_cave_width", cave_width);
- settings->setFloat("mgflat_lake_threshold", lake_threshold);
- settings->setFloat("mgflat_lake_steepness", lake_steepness);
- settings->setFloat("mgflat_hill_threshold", hill_threshold);
- settings->setFloat("mgflat_hill_steepness", hill_steepness);
- settings->setS16("mgflat_dungeon_ymin", dungeon_ymin);
- settings->setS16("mgflat_dungeon_ymax", dungeon_ymax);
+ settings->setFlagStr("mgflat_spflags", spflags, flagdesc_mapgen_flat);
+ settings->setS16("mgflat_ground_level", ground_level);
+ settings->setS16("mgflat_large_cave_depth", large_cave_depth);
+ settings->setU16("mgflat_small_cave_num_min", small_cave_num_min);
+ settings->setU16("mgflat_small_cave_num_max", small_cave_num_max);
+ settings->setU16("mgflat_large_cave_num_min", large_cave_num_min);
+ settings->setU16("mgflat_large_cave_num_max", large_cave_num_max);
+ settings->setFloat("mgflat_large_cave_flooded", large_cave_flooded);
+ settings->setFloat("mgflat_cave_width", cave_width);
+ settings->setFloat("mgflat_lake_threshold", lake_threshold);
+ settings->setFloat("mgflat_lake_steepness", lake_steepness);
+ settings->setFloat("mgflat_hill_threshold", hill_threshold);
+ settings->setFloat("mgflat_hill_steepness", hill_steepness);
+ settings->setS16("mgflat_dungeon_ymin", dungeon_ymin);
+ settings->setS16("mgflat_dungeon_ymax", dungeon_ymax);
settings->setNoiseParams("mgflat_np_terrain", np_terrain);
settings->setNoiseParams("mgflat_np_filler_depth", np_filler_depth);
@@ -138,6 +150,12 @@ void MapgenFlatParams::writeParams(Settings *settings) const
}
+void MapgenFlatParams::setDefaultSettings(Settings *settings)
+{
+ settings->setDefault("mgflat_spflags", flagdesc_mapgen_flat, 0);
+}
+
+
/////////////////////////////////////////////////////////////////
@@ -219,8 +237,7 @@ void MapgenFlat::makeChunk(BlockMakeData *data)
// Generate the registered ores
m_emerge->oremgr->placeAllOres(this, blockseed, node_min, node_max);
- if ((flags & MG_DUNGEONS) && full_node_min.Y >= dungeon_ymin &&
- full_node_max.Y <= dungeon_ymax)
+ if (flags & MG_DUNGEONS)
generateDungeons(stone_surface_max_y);
// Generate the registered decorations
diff --git a/src/mapgen/mapgen_flat.h b/src/mapgen/mapgen_flat.h
index d2598695f..c314c7605 100644
--- a/src/mapgen/mapgen_flat.h
+++ b/src/mapgen/mapgen_flat.h
@@ -32,10 +32,13 @@ extern FlagDesc flagdesc_mapgen_flat[];
struct MapgenFlatParams : public MapgenParams
{
- u32 spflags = 0;
s16 ground_level = 8;
s16 large_cave_depth = -33;
- s16 lava_depth = -256;
+ u16 small_cave_num_min = 0;
+ u16 small_cave_num_max = 0;
+ u16 large_cave_num_min = 0;
+ u16 large_cave_num_max = 2;
+ float large_cave_flooded = 0.5f;
float cave_width = 0.09f;
float lake_threshold = -0.45f;
float lake_steepness = 48.0f;
@@ -55,6 +58,7 @@ struct MapgenFlatParams : public MapgenParams
void readParams(const Settings *settings);
void writeParams(Settings *settings) const;
+ void setDefaultSettings(Settings *settings);
};
class MapgenFlat : public MapgenBasic
@@ -71,13 +75,10 @@ public:
private:
s16 ground_level;
- s16 large_cave_depth;
float lake_threshold;
float lake_steepness;
float hill_threshold;
float hill_steepness;
- s16 dungeon_ymin;
- s16 dungeon_ymax;
Noise *noise_terrain;
};
diff --git a/src/mapgen/mapgen_fractal.cpp b/src/mapgen/mapgen_fractal.cpp
index 091dbacfa..96febb4f4 100644
--- a/src/mapgen/mapgen_fractal.cpp
+++ b/src/mapgen/mapgen_fractal.cpp
@@ -51,21 +51,25 @@ FlagDesc flagdesc_mapgen_fractal[] = {
MapgenFractal::MapgenFractal(MapgenFractalParams *params, EmergeManager *emerge)
: MapgenBasic(MAPGEN_FRACTAL, params, emerge)
{
- spflags = params->spflags;
- cave_width = params->cave_width;
- large_cave_depth = params->large_cave_depth;
- lava_depth = params->lava_depth;
- dungeon_ymin = params->dungeon_ymin;
- dungeon_ymax = params->dungeon_ymax;
- fractal = params->fractal;
- iterations = params->iterations;
- scale = params->scale;
- offset = params->offset;
- slice_w = params->slice_w;
- julia_x = params->julia_x;
- julia_y = params->julia_y;
- julia_z = params->julia_z;
- julia_w = params->julia_w;
+ spflags = params->spflags;
+ cave_width = params->cave_width;
+ large_cave_depth = params->large_cave_depth;
+ small_cave_num_min = params->small_cave_num_min;
+ small_cave_num_max = params->small_cave_num_max;
+ large_cave_num_min = params->large_cave_num_min;
+ large_cave_num_max = params->large_cave_num_max;
+ large_cave_flooded = params->large_cave_flooded;
+ dungeon_ymin = params->dungeon_ymin;
+ dungeon_ymax = params->dungeon_ymax;
+ fractal = params->fractal;
+ iterations = params->iterations;
+ scale = params->scale;
+ offset = params->offset;
+ slice_w = params->slice_w;
+ julia_x = params->julia_x;
+ julia_y = params->julia_y;
+ julia_z = params->julia_z;
+ julia_w = params->julia_w;
//// 2D noise
if (spflags & MGFRACTAL_TERRAIN)
@@ -86,9 +90,7 @@ MapgenFractal::MapgenFractal(MapgenFractalParams *params, EmergeManager *emerge)
MapgenFractal::~MapgenFractal()
{
- if (noise_seabed)
- delete noise_seabed;
-
+ delete noise_seabed;
delete noise_filler_depth;
}
@@ -105,21 +107,25 @@ MapgenFractalParams::MapgenFractalParams():
void MapgenFractalParams::readParams(const Settings *settings)
{
- settings->getFlagStrNoEx("mgfractal_spflags", spflags, flagdesc_mapgen_fractal);
- settings->getFloatNoEx("mgfractal_cave_width", cave_width);
- settings->getS16NoEx("mgfractal_large_cave_depth", large_cave_depth);
- settings->getS16NoEx("mgfractal_lava_depth", lava_depth);
- settings->getS16NoEx("mgfractal_dungeon_ymin", dungeon_ymin);
- settings->getS16NoEx("mgfractal_dungeon_ymax", dungeon_ymax);
- settings->getU16NoEx("mgfractal_fractal", fractal);
- settings->getU16NoEx("mgfractal_iterations", iterations);
- settings->getV3FNoEx("mgfractal_scale", scale);
- settings->getV3FNoEx("mgfractal_offset", offset);
- settings->getFloatNoEx("mgfractal_slice_w", slice_w);
- settings->getFloatNoEx("mgfractal_julia_x", julia_x);
- settings->getFloatNoEx("mgfractal_julia_y", julia_y);
- settings->getFloatNoEx("mgfractal_julia_z", julia_z);
- settings->getFloatNoEx("mgfractal_julia_w", julia_w);
+ settings->getFlagStrNoEx("mgfractal_spflags", spflags, flagdesc_mapgen_fractal);
+ settings->getFloatNoEx("mgfractal_cave_width", cave_width);
+ settings->getS16NoEx("mgfractal_large_cave_depth", large_cave_depth);
+ settings->getU16NoEx("mgfractal_small_cave_num_min", small_cave_num_min);
+ settings->getU16NoEx("mgfractal_small_cave_num_max", small_cave_num_max);
+ settings->getU16NoEx("mgfractal_large_cave_num_min", large_cave_num_min);
+ settings->getU16NoEx("mgfractal_large_cave_num_max", large_cave_num_max);
+ settings->getFloatNoEx("mgfractal_large_cave_flooded", large_cave_flooded);
+ settings->getS16NoEx("mgfractal_dungeon_ymin", dungeon_ymin);
+ settings->getS16NoEx("mgfractal_dungeon_ymax", dungeon_ymax);
+ settings->getU16NoEx("mgfractal_fractal", fractal);
+ settings->getU16NoEx("mgfractal_iterations", iterations);
+ settings->getV3FNoEx("mgfractal_scale", scale);
+ settings->getV3FNoEx("mgfractal_offset", offset);
+ settings->getFloatNoEx("mgfractal_slice_w", slice_w);
+ settings->getFloatNoEx("mgfractal_julia_x", julia_x);
+ settings->getFloatNoEx("mgfractal_julia_y", julia_y);
+ settings->getFloatNoEx("mgfractal_julia_z", julia_z);
+ settings->getFloatNoEx("mgfractal_julia_w", julia_w);
settings->getNoiseParams("mgfractal_np_seabed", np_seabed);
settings->getNoiseParams("mgfractal_np_filler_depth", np_filler_depth);
@@ -131,21 +137,25 @@ void MapgenFractalParams::readParams(const Settings *settings)
void MapgenFractalParams::writeParams(Settings *settings) const
{
- settings->setFlagStr("mgfractal_spflags", spflags, flagdesc_mapgen_fractal, U32_MAX);
- settings->setFloat("mgfractal_cave_width", cave_width);
- settings->setS16("mgfractal_large_cave_depth", large_cave_depth);
- settings->setS16("mgfractal_lava_depth", lava_depth);
- settings->setS16("mgfractal_dungeon_ymin", dungeon_ymin);
- settings->setS16("mgfractal_dungeon_ymax", dungeon_ymax);
- settings->setU16("mgfractal_fractal", fractal);
- settings->setU16("mgfractal_iterations", iterations);
- settings->setV3F("mgfractal_scale", scale);
- settings->setV3F("mgfractal_offset", offset);
- settings->setFloat("mgfractal_slice_w", slice_w);
- settings->setFloat("mgfractal_julia_x", julia_x);
- settings->setFloat("mgfractal_julia_y", julia_y);
- settings->setFloat("mgfractal_julia_z", julia_z);
- settings->setFloat("mgfractal_julia_w", julia_w);
+ settings->setFlagStr("mgfractal_spflags", spflags, flagdesc_mapgen_fractal);
+ settings->setFloat("mgfractal_cave_width", cave_width);
+ settings->setS16("mgfractal_large_cave_depth", large_cave_depth);
+ settings->setU16("mgfractal_small_cave_num_min", small_cave_num_min);
+ settings->setU16("mgfractal_small_cave_num_max", small_cave_num_max);
+ settings->setU16("mgfractal_large_cave_num_min", large_cave_num_min);
+ settings->setU16("mgfractal_large_cave_num_max", large_cave_num_max);
+ settings->setFloat("mgfractal_large_cave_flooded", large_cave_flooded);
+ settings->setS16("mgfractal_dungeon_ymin", dungeon_ymin);
+ settings->setS16("mgfractal_dungeon_ymax", dungeon_ymax);
+ settings->setU16("mgfractal_fractal", fractal);
+ settings->setU16("mgfractal_iterations", iterations);
+ settings->setV3F("mgfractal_scale", scale);
+ settings->setV3F("mgfractal_offset", offset);
+ settings->setFloat("mgfractal_slice_w", slice_w);
+ settings->setFloat("mgfractal_julia_x", julia_x);
+ settings->setFloat("mgfractal_julia_y", julia_y);
+ settings->setFloat("mgfractal_julia_z", julia_z);
+ settings->setFloat("mgfractal_julia_w", julia_w);
settings->setNoiseParams("mgfractal_np_seabed", np_seabed);
settings->setNoiseParams("mgfractal_np_filler_depth", np_filler_depth);
@@ -155,6 +165,13 @@ void MapgenFractalParams::writeParams(Settings *settings) const
}
+void MapgenFractalParams::setDefaultSettings(Settings *settings)
+{
+ settings->setDefault("mgfractal_spflags", flagdesc_mapgen_fractal,
+ MGFRACTAL_TERRAIN);
+}
+
+
/////////////////////////////////////////////////////////////////
@@ -237,8 +254,7 @@ void MapgenFractal::makeChunk(BlockMakeData *data)
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)
+ if (flags & MG_DUNGEONS)
generateDungeons(stone_surface_max_y);
// Generate the registered decorations
diff --git a/src/mapgen/mapgen_fractal.h b/src/mapgen/mapgen_fractal.h
index 82622d4d9..971dfd822 100644
--- a/src/mapgen/mapgen_fractal.h
+++ b/src/mapgen/mapgen_fractal.h
@@ -35,10 +35,13 @@ extern FlagDesc flagdesc_mapgen_fractal[];
struct MapgenFractalParams : public MapgenParams
{
- u32 spflags = MGFRACTAL_TERRAIN;
float cave_width = 0.09f;
s16 large_cave_depth = -33;
- s16 lava_depth = -256;
+ u16 small_cave_num_min = 0;
+ u16 small_cave_num_max = 0;
+ u16 large_cave_num_min = 0;
+ u16 large_cave_num_max = 2;
+ float large_cave_flooded = 0.5f;
s16 dungeon_ymin = -31000;
s16 dungeon_ymax = 31000;
u16 fractal = 1;
@@ -62,6 +65,7 @@ struct MapgenFractalParams : public MapgenParams
void readParams(const Settings *settings);
void writeParams(Settings *settings) const;
+ void setDefaultSettings(Settings *settings);
};
@@ -81,10 +85,6 @@ public:
private:
u16 formula;
bool julia;
-
- s16 large_cave_depth;
- s16 dungeon_ymin;
- s16 dungeon_ymax;
u16 fractal;
u16 iterations;
v3f scale;
diff --git a/src/mapgen/mapgen_v5.cpp b/src/mapgen/mapgen_v5.cpp
index bf99fd335..447fe8c50 100644
--- a/src/mapgen/mapgen_v5.cpp
+++ b/src/mapgen/mapgen_v5.cpp
@@ -48,15 +48,19 @@ FlagDesc flagdesc_mapgen_v5[] = {
MapgenV5::MapgenV5(MapgenV5Params *params, EmergeManager *emerge)
: MapgenBasic(MAPGEN_V5, params, emerge)
{
- spflags = params->spflags;
- cave_width = params->cave_width;
- large_cave_depth = params->large_cave_depth;
- lava_depth = params->lava_depth;
- cavern_limit = params->cavern_limit;
- cavern_taper = params->cavern_taper;
- cavern_threshold = params->cavern_threshold;
- dungeon_ymin = params->dungeon_ymin;
- dungeon_ymax = params->dungeon_ymax;
+ spflags = params->spflags;
+ cave_width = params->cave_width;
+ large_cave_depth = params->large_cave_depth;
+ small_cave_num_min = params->small_cave_num_min;
+ small_cave_num_max = params->small_cave_num_max;
+ large_cave_num_min = params->large_cave_num_min;
+ large_cave_num_max = params->large_cave_num_max;
+ large_cave_flooded = params->large_cave_flooded;
+ cavern_limit = params->cavern_limit;
+ cavern_taper = params->cavern_taper;
+ cavern_threshold = params->cavern_threshold;
+ dungeon_ymin = params->dungeon_ymin;
+ dungeon_ymax = params->dungeon_ymax;
// Terrain noise
noise_filler_depth = new Noise(&params->np_filler_depth, seed, csize.X, csize.Z);
@@ -98,15 +102,19 @@ MapgenV5Params::MapgenV5Params():
void MapgenV5Params::readParams(const Settings *settings)
{
- settings->getFlagStrNoEx("mgv5_spflags", spflags, flagdesc_mapgen_v5);
- settings->getFloatNoEx("mgv5_cave_width", cave_width);
- settings->getS16NoEx("mgv5_large_cave_depth", large_cave_depth);
- settings->getS16NoEx("mgv5_lava_depth", lava_depth);
- settings->getS16NoEx("mgv5_cavern_limit", cavern_limit);
- settings->getS16NoEx("mgv5_cavern_taper", cavern_taper);
- settings->getFloatNoEx("mgv5_cavern_threshold", cavern_threshold);
- settings->getS16NoEx("mgv5_dungeon_ymin", dungeon_ymin);
- settings->getS16NoEx("mgv5_dungeon_ymax", dungeon_ymax);
+ settings->getFlagStrNoEx("mgv5_spflags", spflags, flagdesc_mapgen_v5);
+ settings->getFloatNoEx("mgv5_cave_width", cave_width);
+ settings->getS16NoEx("mgv5_large_cave_depth", large_cave_depth);
+ settings->getU16NoEx("mgv5_small_cave_num_min", small_cave_num_min);
+ settings->getU16NoEx("mgv5_small_cave_num_max", small_cave_num_max);
+ settings->getU16NoEx("mgv5_large_cave_num_min", large_cave_num_min);
+ settings->getU16NoEx("mgv5_large_cave_num_max", large_cave_num_max);
+ settings->getFloatNoEx("mgv5_large_cave_flooded", large_cave_flooded);
+ settings->getS16NoEx("mgv5_cavern_limit", cavern_limit);
+ settings->getS16NoEx("mgv5_cavern_taper", cavern_taper);
+ settings->getFloatNoEx("mgv5_cavern_threshold", cavern_threshold);
+ settings->getS16NoEx("mgv5_dungeon_ymin", dungeon_ymin);
+ settings->getS16NoEx("mgv5_dungeon_ymax", dungeon_ymax);
settings->getNoiseParams("mgv5_np_filler_depth", np_filler_depth);
settings->getNoiseParams("mgv5_np_factor", np_factor);
@@ -121,15 +129,19 @@ void MapgenV5Params::readParams(const Settings *settings)
void MapgenV5Params::writeParams(Settings *settings) const
{
- settings->setFlagStr("mgv5_spflags", spflags, flagdesc_mapgen_v5, U32_MAX);
- settings->setFloat("mgv5_cave_width", cave_width);
- settings->setS16("mgv5_large_cave_depth", large_cave_depth);
- settings->setS16("mgv5_lava_depth", lava_depth);
- settings->setS16("mgv5_cavern_limit", cavern_limit);
- settings->setS16("mgv5_cavern_taper", cavern_taper);
- settings->setFloat("mgv5_cavern_threshold", cavern_threshold);
- settings->setS16("mgv5_dungeon_ymin", dungeon_ymin);
- settings->setS16("mgv5_dungeon_ymax", dungeon_ymax);
+ settings->setFlagStr("mgv5_spflags", spflags, flagdesc_mapgen_v5);
+ settings->setFloat("mgv5_cave_width", cave_width);
+ settings->setS16("mgv5_large_cave_depth", large_cave_depth);
+ settings->setU16("mgv5_small_cave_num_min", small_cave_num_min);
+ settings->setU16("mgv5_small_cave_num_max", small_cave_num_max);
+ settings->setU16("mgv5_large_cave_num_min", large_cave_num_min);
+ settings->setU16("mgv5_large_cave_num_max", large_cave_num_max);
+ settings->setFloat("mgv5_large_cave_flooded", large_cave_flooded);
+ settings->setS16("mgv5_cavern_limit", cavern_limit);
+ settings->setS16("mgv5_cavern_taper", cavern_taper);
+ settings->setFloat("mgv5_cavern_threshold", cavern_threshold);
+ settings->setS16("mgv5_dungeon_ymin", dungeon_ymin);
+ settings->setS16("mgv5_dungeon_ymax", dungeon_ymax);
settings->setNoiseParams("mgv5_np_filler_depth", np_filler_depth);
settings->setNoiseParams("mgv5_np_factor", np_factor);
@@ -142,6 +154,15 @@ void MapgenV5Params::writeParams(Settings *settings) const
}
+void MapgenV5Params::setDefaultSettings(Settings *settings)
+{
+ settings->setDefault("mgv5_spflags", flagdesc_mapgen_v5, MGV5_CAVERNS);
+}
+
+
+/////////////////////////////////////////////////////////////////
+
+
int MapgenV5::getSpawnLevelAtPoint(v2s16 p)
{
@@ -240,8 +261,7 @@ void MapgenV5::makeChunk(BlockMakeData *data)
m_emerge->oremgr->placeAllOres(this, blockseed, node_min, node_max);
// Generate dungeons and desert temples
- if ((flags & MG_DUNGEONS) && full_node_min.Y >= dungeon_ymin &&
- full_node_max.Y <= dungeon_ymax)
+ if (flags & MG_DUNGEONS)
generateDungeons(stone_surface_max_y);
// Generate the registered decorations
diff --git a/src/mapgen/mapgen_v5.h b/src/mapgen/mapgen_v5.h
index 1a3b6d3c3..17bc466f0 100644
--- a/src/mapgen/mapgen_v5.h
+++ b/src/mapgen/mapgen_v5.h
@@ -31,10 +31,13 @@ extern FlagDesc flagdesc_mapgen_v5[];
struct MapgenV5Params : public MapgenParams
{
- u32 spflags = MGV5_CAVERNS;
float cave_width = 0.09f;
s16 large_cave_depth = -256;
- s16 lava_depth = -256;
+ u16 small_cave_num_min = 0;
+ u16 small_cave_num_max = 0;
+ u16 large_cave_num_min = 0;
+ u16 large_cave_num_max = 2;
+ float large_cave_flooded = 0.5f;
s16 cavern_limit = -256;
s16 cavern_taper = 256;
float cavern_threshold = 0.7f;
@@ -55,6 +58,7 @@ struct MapgenV5Params : public MapgenParams
void readParams(const Settings *settings);
void writeParams(Settings *settings) const;
+ void setDefaultSettings(Settings *settings);
};
class MapgenV5 : public MapgenBasic
@@ -70,10 +74,6 @@ public:
int generateBaseTerrain();
private:
- s16 large_cave_depth;
- s16 dungeon_ymin;
- s16 dungeon_ymax;
-
Noise *noise_factor;
Noise *noise_height;
Noise *noise_ground;
diff --git a/src/mapgen/mapgen_v6.cpp b/src/mapgen/mapgen_v6.cpp
index 4e876fc53..653adc8ec 100644
--- a/src/mapgen/mapgen_v6.cpp
+++ b/src/mapgen/mapgen_v6.cpp
@@ -190,7 +190,7 @@ void MapgenV6Params::readParams(const Settings *settings)
void MapgenV6Params::writeParams(Settings *settings) const
{
- settings->setFlagStr("mgv6_spflags", spflags, flagdesc_mapgen_v6, U32_MAX);
+ settings->setFlagStr("mgv6_spflags", spflags, flagdesc_mapgen_v6);
settings->setFloat("mgv6_freq_desert", freq_desert);
settings->setFloat("mgv6_freq_beach", freq_beach);
settings->setS16("mgv6_dungeon_ymin", dungeon_ymin);
@@ -210,8 +210,16 @@ void MapgenV6Params::writeParams(Settings *settings) const
}
+void MapgenV6Params::setDefaultSettings(Settings *settings)
+{
+ settings->setDefault("mgv6_spflags", flagdesc_mapgen_v6, MGV6_JUNGLES |
+ MGV6_SNOWBIOMES | MGV6_TREES | MGV6_BIOMEBLEND | MGV6_MUDFLOW);
+}
+
+
//////////////////////// Some helper functions for the map generator
+
// Returns Y one under area minimum if not found
s16 MapgenV6::find_stone_level(v2s16 p2d)
{
diff --git a/src/mapgen/mapgen_v6.h b/src/mapgen/mapgen_v6.h
index 7d5229559..d8cdcb26f 100644
--- a/src/mapgen/mapgen_v6.h
+++ b/src/mapgen/mapgen_v6.h
@@ -55,8 +55,6 @@ enum BiomeV6Type
struct MapgenV6Params : public MapgenParams {
- u32 spflags = MGV6_JUNGLES | MGV6_SNOWBIOMES | MGV6_TREES |
- MGV6_BIOMEBLEND | MGV6_MUDFLOW;
float freq_desert = 0.45f;
float freq_beach = 0.15f;
s16 dungeon_ymin = -31000;
@@ -79,6 +77,7 @@ struct MapgenV6Params : public MapgenParams {
void readParams(const Settings *settings);
void writeParams(Settings *settings) const;
+ void setDefaultSettings(Settings *settings);
};
diff --git a/src/mapgen/mapgen_v7.cpp b/src/mapgen/mapgen_v7.cpp
index c9568760f..325c4957a 100644
--- a/src/mapgen/mapgen_v7.cpp
+++ b/src/mapgen/mapgen_v7.cpp
@@ -1,7 +1,7 @@
/*
Minetest
-Copyright (C) 2013-2018 kwolekr, Ryan Kwolek <kwolekr@minetest.net>
-Copyright (C) 2014-2018 paramat
+Copyright (C) 2013-2019 kwolekr, Ryan Kwolek <kwolekr@minetest.net>
+Copyright (C) 2014-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
@@ -55,26 +55,21 @@ FlagDesc flagdesc_mapgen_v7[] = {
MapgenV7::MapgenV7(MapgenV7Params *params, EmergeManager *emerge)
: MapgenBasic(MAPGEN_V7, params, emerge)
{
- spflags = params->spflags;
- mount_zero_level = params->mount_zero_level;
- float_mount_density = params->float_mount_density;
- float_mount_exponent = params->float_mount_exponent;
- floatland_level = params->floatland_level;
- shadow_limit = params->shadow_limit;
-
- cave_width = params->cave_width;
- large_cave_depth = params->large_cave_depth;
- lava_depth = params->lava_depth;
- cavern_limit = params->cavern_limit;
- cavern_taper = params->cavern_taper;
- cavern_threshold = params->cavern_threshold;
- dungeon_ymin = params->dungeon_ymin;
- dungeon_ymax = params->dungeon_ymax;
-
- // This is to avoid a divide-by-zero.
- // Parameter will be saved to map_meta.txt in limited form.
- params->float_mount_height = std::fmax(params->float_mount_height, 1.0f);
- float_mount_height = params->float_mount_height;
+ spflags = params->spflags;
+ mount_zero_level = params->mount_zero_level;
+
+ cave_width = params->cave_width;
+ large_cave_depth = params->large_cave_depth;
+ small_cave_num_min = params->small_cave_num_min;
+ small_cave_num_max = params->small_cave_num_max;
+ large_cave_num_min = params->large_cave_num_min;
+ large_cave_num_max = params->large_cave_num_max;
+ large_cave_flooded = params->large_cave_flooded;
+ cavern_limit = params->cavern_limit;
+ cavern_taper = params->cavern_taper;
+ cavern_threshold = params->cavern_threshold;
+ dungeon_ymin = params->dungeon_ymin;
+ dungeon_ymax = params->dungeon_ymax;
// 2D noise
noise_terrain_base =
@@ -88,34 +83,29 @@ MapgenV7::MapgenV7(MapgenV7Params *params, EmergeManager *emerge)
noise_filler_depth =
new Noise(&params->np_filler_depth, seed, csize.X, csize.Z);
- if (spflags & MGV7_MOUNTAINS)
+ if (spflags & MGV7_MOUNTAINS) {
+ // 2D noise
noise_mount_height =
- new Noise(&params->np_mount_height, seed, csize.X, csize.Z);
-
- if (spflags & MGV7_FLOATLANDS) {
- noise_floatland_base =
- new Noise(&params->np_floatland_base, seed, csize.X, csize.Z);
- noise_float_base_height =
- new Noise(&params->np_float_base_height, seed, csize.X, csize.Z);
+ new Noise(&params->np_mount_height, seed, csize.X, csize.Z);
+ // 3D noise, 1 up, 1 down overgeneration
+ noise_mountain =
+ new Noise(&params->np_mountain, seed, csize.X, csize.Y + 2, csize.Z);
}
if (spflags & MGV7_RIDGES) {
+ // 2D noise
noise_ridge_uwater =
- new Noise(&params->np_ridge_uwater, seed, csize.X, csize.Z);
- // 3D noise, 1 up, 1 down overgeneration
+ new Noise(&params->np_ridge_uwater, seed, csize.X, csize.Z);
+ // 3D noise, 1 up, 1 down overgeneration
noise_ridge =
- new Noise(&params->np_ridge, seed, csize.X, csize.Y + 2, csize.Z);
+ new Noise(&params->np_ridge, seed, csize.X, csize.Y + 2, csize.Z);
}
- // 3D noise, 1 up, 1 down overgeneration
- if ((spflags & MGV7_MOUNTAINS) || (spflags & MGV7_FLOATLANDS))
- noise_mountain =
- 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;
+ // 3D noise
MapgenBasic::np_dungeons = params->np_dungeons;
}
@@ -128,21 +118,15 @@ MapgenV7::~MapgenV7()
delete noise_height_select;
delete noise_filler_depth;
- if (spflags & MGV7_MOUNTAINS)
+ if (spflags & MGV7_MOUNTAINS) {
delete noise_mount_height;
-
- if (spflags & MGV7_FLOATLANDS) {
- delete noise_floatland_base;
- delete noise_float_base_height;
+ delete noise_mountain;
}
if (spflags & MGV7_RIDGES) {
delete noise_ridge_uwater;
delete noise_ridge;
}
-
- if ((spflags & MGV7_MOUNTAINS) || (spflags & MGV7_FLOATLANDS))
- delete noise_mountain;
}
@@ -154,8 +138,6 @@ MapgenV7Params::MapgenV7Params():
np_filler_depth (0.0, 1.2, v3f(150, 150, 150), 261, 3, 0.7, 2.0),
np_mount_height (256.0, 112.0, v3f(1000, 1000, 1000), 72449, 3, 0.6, 2.0),
np_ridge_uwater (0.0, 1.0, v3f(1000, 1000, 1000), 85039, 5, 0.6, 2.0),
- np_floatland_base (-0.6, 1.5, v3f(600, 600, 600), 114, 5, 0.6, 2.0),
- np_float_base_height (48.0, 24.0, v3f(300, 300, 300), 907, 4, 0.7, 2.0),
np_mountain (-0.6, 1.0, v3f(250, 350, 250), 5333, 5, 0.63, 2.0),
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),
@@ -172,69 +154,70 @@ void MapgenV7Params::readParams(const Settings *settings)
settings->getS16NoEx("mgv7_mount_zero_level", mount_zero_level);
settings->getFloatNoEx("mgv7_cave_width", cave_width);
settings->getS16NoEx("mgv7_large_cave_depth", large_cave_depth);
- settings->getS16NoEx("mgv7_lava_depth", lava_depth);
- settings->getFloatNoEx("mgv7_float_mount_density", float_mount_density);
- settings->getFloatNoEx("mgv7_float_mount_height", float_mount_height);
- settings->getFloatNoEx("mgv7_float_mount_exponent", float_mount_exponent);
- settings->getS16NoEx("mgv7_floatland_level", floatland_level);
- settings->getS16NoEx("mgv7_shadow_limit", shadow_limit);
+ settings->getU16NoEx("mgv7_small_cave_num_min", small_cave_num_min);
+ settings->getU16NoEx("mgv7_small_cave_num_max", small_cave_num_max);
+ settings->getU16NoEx("mgv7_large_cave_num_min", large_cave_num_min);
+ settings->getU16NoEx("mgv7_large_cave_num_max", large_cave_num_max);
+ settings->getFloatNoEx("mgv7_large_cave_flooded", large_cave_flooded);
settings->getS16NoEx("mgv7_cavern_limit", cavern_limit);
settings->getS16NoEx("mgv7_cavern_taper", cavern_taper);
settings->getFloatNoEx("mgv7_cavern_threshold", cavern_threshold);
settings->getS16NoEx("mgv7_dungeon_ymin", dungeon_ymin);
settings->getS16NoEx("mgv7_dungeon_ymax", dungeon_ymax);
- settings->getNoiseParams("mgv7_np_terrain_base", np_terrain_base);
- settings->getNoiseParams("mgv7_np_terrain_alt", np_terrain_alt);
- settings->getNoiseParams("mgv7_np_terrain_persist", np_terrain_persist);
- settings->getNoiseParams("mgv7_np_height_select", np_height_select);
- settings->getNoiseParams("mgv7_np_filler_depth", np_filler_depth);
- settings->getNoiseParams("mgv7_np_mount_height", np_mount_height);
- settings->getNoiseParams("mgv7_np_ridge_uwater", np_ridge_uwater);
- settings->getNoiseParams("mgv7_np_floatland_base", np_floatland_base);
- settings->getNoiseParams("mgv7_np_float_base_height", np_float_base_height);
- settings->getNoiseParams("mgv7_np_mountain", np_mountain);
- settings->getNoiseParams("mgv7_np_ridge", np_ridge);
- 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);
+ settings->getNoiseParams("mgv7_np_terrain_base", np_terrain_base);
+ settings->getNoiseParams("mgv7_np_terrain_alt", np_terrain_alt);
+ settings->getNoiseParams("mgv7_np_terrain_persist", np_terrain_persist);
+ settings->getNoiseParams("mgv7_np_height_select", np_height_select);
+ settings->getNoiseParams("mgv7_np_filler_depth", np_filler_depth);
+ settings->getNoiseParams("mgv7_np_mount_height", np_mount_height);
+ settings->getNoiseParams("mgv7_np_ridge_uwater", np_ridge_uwater);
+ settings->getNoiseParams("mgv7_np_mountain", np_mountain);
+ settings->getNoiseParams("mgv7_np_ridge", np_ridge);
+ 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);
}
void MapgenV7Params::writeParams(Settings *settings) const
{
- settings->setFlagStr("mgv7_spflags", spflags, flagdesc_mapgen_v7, U32_MAX);
- settings->setS16("mgv7_mount_zero_level", mount_zero_level);
- settings->setFloat("mgv7_cave_width", cave_width);
- settings->setS16("mgv7_large_cave_depth", large_cave_depth);
- settings->setS16("mgv7_lava_depth", lava_depth);
- settings->setFloat("mgv7_float_mount_density", float_mount_density);
- settings->setFloat("mgv7_float_mount_height", float_mount_height);
- settings->setFloat("mgv7_float_mount_exponent", float_mount_exponent);
- settings->setS16("mgv7_floatland_level", floatland_level);
- settings->setS16("mgv7_shadow_limit", shadow_limit);
- settings->setS16("mgv7_cavern_limit", cavern_limit);
- settings->setS16("mgv7_cavern_taper", cavern_taper);
- settings->setFloat("mgv7_cavern_threshold", cavern_threshold);
- settings->setS16("mgv7_dungeon_ymin", dungeon_ymin);
- settings->setS16("mgv7_dungeon_ymax", dungeon_ymax);
-
- settings->setNoiseParams("mgv7_np_terrain_base", np_terrain_base);
- settings->setNoiseParams("mgv7_np_terrain_alt", np_terrain_alt);
- settings->setNoiseParams("mgv7_np_terrain_persist", np_terrain_persist);
- settings->setNoiseParams("mgv7_np_height_select", np_height_select);
- settings->setNoiseParams("mgv7_np_filler_depth", np_filler_depth);
- settings->setNoiseParams("mgv7_np_mount_height", np_mount_height);
- settings->setNoiseParams("mgv7_np_ridge_uwater", np_ridge_uwater);
- settings->setNoiseParams("mgv7_np_floatland_base", np_floatland_base);
- settings->setNoiseParams("mgv7_np_float_base_height", np_float_base_height);
- settings->setNoiseParams("mgv7_np_mountain", np_mountain);
- settings->setNoiseParams("mgv7_np_ridge", np_ridge);
- 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);
+ settings->setFlagStr("mgv7_spflags", spflags, flagdesc_mapgen_v7);
+ settings->setS16("mgv7_mount_zero_level", mount_zero_level);
+ settings->setFloat("mgv7_cave_width", cave_width);
+ settings->setS16("mgv7_large_cave_depth", large_cave_depth);
+ settings->setU16("mgv7_small_cave_num_min", small_cave_num_min);
+ settings->setU16("mgv7_small_cave_num_max", small_cave_num_max);
+ settings->setU16("mgv7_large_cave_num_min", large_cave_num_min);
+ settings->setU16("mgv7_large_cave_num_max", large_cave_num_max);
+ settings->setFloat("mgv7_large_cave_flooded", large_cave_flooded);
+ settings->setS16("mgv7_cavern_limit", cavern_limit);
+ settings->setS16("mgv7_cavern_taper", cavern_taper);
+ settings->setFloat("mgv7_cavern_threshold", cavern_threshold);
+ settings->setS16("mgv7_dungeon_ymin", dungeon_ymin);
+ settings->setS16("mgv7_dungeon_ymax", dungeon_ymax);
+
+ settings->setNoiseParams("mgv7_np_terrain_base", np_terrain_base);
+ settings->setNoiseParams("mgv7_np_terrain_alt", np_terrain_alt);
+ settings->setNoiseParams("mgv7_np_terrain_persist", np_terrain_persist);
+ settings->setNoiseParams("mgv7_np_height_select", np_height_select);
+ settings->setNoiseParams("mgv7_np_filler_depth", np_filler_depth);
+ settings->setNoiseParams("mgv7_np_mount_height", np_mount_height);
+ settings->setNoiseParams("mgv7_np_ridge_uwater", np_ridge_uwater);
+ settings->setNoiseParams("mgv7_np_mountain", np_mountain);
+ settings->setNoiseParams("mgv7_np_ridge", np_ridge);
+ 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);
+}
+
+
+void MapgenV7Params::setDefaultSettings(Settings *settings)
+{
+ settings->setDefault("mgv7_spflags", flagdesc_mapgen_v7,
+ MGV7_MOUNTAINS | MGV7_RIDGES | MGV7_CAVERNS);
}
@@ -360,8 +343,7 @@ void MapgenV7::makeChunk(BlockMakeData *data)
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)
+ if (flags & MG_DUNGEONS)
generateDungeons(stone_surface_max_y);
// Generate the registered decorations
@@ -375,10 +357,9 @@ void MapgenV7::makeChunk(BlockMakeData *data)
// Update liquids
updateLiquid(&data->transforming_liquid, full_node_min, full_node_max);
- // Calculate lighting.
- // Limit floatland shadow.
- bool propagate_shadow = !((spflags & MGV7_FLOATLANDS) &&
- node_min.Y <= shadow_limit && node_max.Y >= shadow_limit);
+ // Calculate lighting
+ // TODO disable in and just below floatlands
+ bool propagate_shadow = true;
if (flags & MG_LIGHT)
calcLighting(node_min - v3s16(0, 1, 0), node_max + v3s16(0, 1, 0),
@@ -447,53 +428,6 @@ bool MapgenV7::getMountainTerrainFromMap(int idx_xyz, int idx_xz, s16 y)
}
-bool MapgenV7::getFloatlandMountainFromMap(int idx_xyz, int idx_xz, s16 y)
-{
- // Make rim 2 nodes thick to match floatland base terrain
- float density_gradient = (y >= floatland_level) ?
- -std::pow((float)(y - floatland_level) / float_mount_height,
- float_mount_exponent) :
- -std::pow((float)(floatland_level - 1 - y) / float_mount_height,
- float_mount_exponent);
-
- float floatn = noise_mountain->result[idx_xyz] + float_mount_density;
-
- return floatn + density_gradient >= 0.0f;
-}
-
-
-void MapgenV7::floatBaseExtentFromMap(s16 *float_base_min, s16 *float_base_max,
- int idx_xz)
-{
- // '+1' to avoid a layer of stone at y = MAX_MAP_GENERATION_LIMIT
- s16 base_min = MAX_MAP_GENERATION_LIMIT + 1;
- s16 base_max = MAX_MAP_GENERATION_LIMIT;
-
- float n_base = noise_floatland_base->result[idx_xz];
- if (n_base > 0.0f) {
- float n_base_height =
- std::fmax(noise_float_base_height->result[idx_xz], 1.0f);
- float amp = n_base * n_base_height;
- float ridge = n_base_height / 3.0f;
- base_min = floatland_level - amp / 1.5f;
-
- if (amp > ridge * 2.0f) {
- // Lake bed
- base_max = floatland_level - (amp - ridge * 2.0f) / 2.0f;
- } else {
- // Hills and ridges
- float diff = std::fabs(amp - ridge) / ridge;
- // Smooth ridges using the 'smoothstep function'
- float smooth_diff = diff * diff * (3.0f - 2.0f * diff);
- base_max = floatland_level + ridge - smooth_diff * ridge;
- }
- }
-
- *float_base_min = base_min;
- *float_base_max = base_max;
-}
-
-
int MapgenV7::generateTerrain()
{
MapNode n_air(CONTENT_AIR);
@@ -508,17 +442,9 @@ int MapgenV7::generateTerrain()
noise_terrain_alt->perlinMap2D(node_min.X, node_min.Z, persistmap);
noise_height_select->perlinMap2D(node_min.X, node_min.Z);
- if ((spflags & MGV7_MOUNTAINS) || (spflags & MGV7_FLOATLANDS)) {
- noise_mountain->perlinMap3D(node_min.X, node_min.Y - 1, node_min.Z);
- }
-
if (spflags & MGV7_MOUNTAINS) {
noise_mount_height->perlinMap2D(node_min.X, node_min.Z);
- }
-
- if (spflags & MGV7_FLOATLANDS) {
- noise_floatland_base->perlinMap2D(node_min.X, node_min.Z);
- noise_float_base_height->perlinMap2D(node_min.X, node_min.Z);
+ noise_mountain->perlinMap3D(node_min.X, node_min.Y - 1, node_min.Z);
}
//// Place nodes
@@ -532,13 +458,6 @@ int MapgenV7::generateTerrain()
if (surface_y > stone_surface_max_y)
stone_surface_max_y = surface_y;
- // Get extent of floatland base terrain
- // '+1' to avoid a layer of stone at y = MAX_MAP_GENERATION_LIMIT
- s16 float_base_min = MAX_MAP_GENERATION_LIMIT + 1;
- s16 float_base_max = MAX_MAP_GENERATION_LIMIT;
- if (spflags & MGV7_FLOATLANDS)
- floatBaseExtentFromMap(&float_base_min, &float_base_max, index2d);
-
u32 vi = vm->m_area.index(x, node_min.Y - 1, z);
u32 index3d = (z - node_min.Z) * zstride_1u1d + (x - node_min.X);
@@ -556,16 +475,8 @@ int MapgenV7::generateTerrain()
vm->m_data[vi] = n_stone; // Mountain terrain
if (y > stone_surface_max_y)
stone_surface_max_y = y;
- } else if ((spflags & MGV7_FLOATLANDS) &&
- ((y >= float_base_min && y <= float_base_max) ||
- getFloatlandMountainFromMap(index3d, index2d, y))) {
- vm->m_data[vi] = n_stone; // Floatland terrain
- stone_surface_max_y = node_max.Y;
} else if (y <= water_level) {
- vm->m_data[vi] = n_water; // Ground level water
- } else if ((spflags & MGV7_FLOATLANDS) &&
- (y >= float_base_max && y <= floatland_level)) {
- vm->m_data[vi] = n_water; // Floatland water
+ vm->m_data[vi] = n_water;
} else {
vm->m_data[vi] = n_air;
}
@@ -578,8 +489,8 @@ int MapgenV7::generateTerrain()
void MapgenV7::generateRidgeTerrain()
{
- if (node_max.Y < water_level - 16 ||
- ((spflags & MGV7_FLOATLANDS) && node_max.Y > shadow_limit))
+ // TODO disable river canyons in floatlands
+ if (node_max.Y < water_level - 16)
return;
noise_ridge->perlinMap3D(node_min.X, node_min.Y - 1, node_min.Z);
diff --git a/src/mapgen/mapgen_v7.h b/src/mapgen/mapgen_v7.h
index 50039b16a..0605c5c97 100644
--- a/src/mapgen/mapgen_v7.h
+++ b/src/mapgen/mapgen_v7.h
@@ -35,17 +35,15 @@ extern FlagDesc flagdesc_mapgen_v7[];
struct MapgenV7Params : public MapgenParams {
- u32 spflags = MGV7_MOUNTAINS | MGV7_RIDGES | MGV7_CAVERNS;
s16 mount_zero_level = 0;
- float float_mount_density = 0.6f;
- float float_mount_height = 128.0f;
- float float_mount_exponent = 0.75f;
- s16 floatland_level = 1280;
- s16 shadow_limit = 1024;
float cave_width = 0.09f;
s16 large_cave_depth = -33;
- s16 lava_depth = -256;
+ u16 small_cave_num_min = 0;
+ u16 small_cave_num_max = 0;
+ u16 large_cave_num_min = 0;
+ u16 large_cave_num_max = 2;
+ float large_cave_flooded = 0.5f;
s16 cavern_limit = -256;
s16 cavern_taper = 256;
float cavern_threshold = 0.7f;
@@ -59,8 +57,6 @@ struct MapgenV7Params : public MapgenParams {
NoiseParams np_filler_depth;
NoiseParams np_mount_height;
NoiseParams np_ridge_uwater;
- NoiseParams np_floatland_base;
- NoiseParams np_float_base_height;
NoiseParams np_mountain;
NoiseParams np_ridge;
NoiseParams np_cavern;
@@ -73,6 +69,7 @@ struct MapgenV7Params : public MapgenParams {
void readParams(const Settings *settings);
void writeParams(Settings *settings) const;
+ void setDefaultSettings(Settings *settings);
};
@@ -90,23 +87,12 @@ public:
float baseTerrainLevelFromMap(int index);
bool getMountainTerrainAtPoint(s16 x, s16 y, s16 z);
bool getMountainTerrainFromMap(int idx_xyz, int idx_xz, s16 y);
- bool getFloatlandMountainFromMap(int idx_xyz, int idx_xz, s16 y);
- void floatBaseExtentFromMap(s16 *float_base_min, s16 *float_base_max, int idx_xz);
int generateTerrain();
void generateRidgeTerrain();
private:
s16 mount_zero_level;
- float float_mount_density;
- float float_mount_height;
- float float_mount_exponent;
- s16 floatland_level;
- s16 shadow_limit;
-
- s16 large_cave_depth;
- s16 dungeon_ymin;
- s16 dungeon_ymax;
Noise *noise_terrain_base;
Noise *noise_terrain_alt;
@@ -114,8 +100,6 @@ private:
Noise *noise_height_select;
Noise *noise_mount_height;
Noise *noise_ridge_uwater;
- Noise *noise_floatland_base;
- Noise *noise_float_base_height;
Noise *noise_mountain;
Noise *noise_ridge;
};
diff --git a/src/mapgen/mapgen_valleys.cpp b/src/mapgen/mapgen_valleys.cpp
index d0b36f29b..ff908b7bb 100644
--- a/src/mapgen/mapgen_valleys.cpp
+++ b/src/mapgen/mapgen_valleys.cpp
@@ -67,7 +67,11 @@ MapgenValleys::MapgenValleys(MapgenValleysParams *params, EmergeManager *emerge)
cave_width = params->cave_width;
large_cave_depth = params->large_cave_depth;
- lava_depth = params->lava_depth;
+ small_cave_num_min = params->small_cave_num_min;
+ small_cave_num_max = params->small_cave_num_max;
+ large_cave_num_min = params->large_cave_num_min;
+ large_cave_num_max = params->large_cave_num_max;
+ large_cave_flooded = params->large_cave_flooded;
cavern_limit = params->cavern_limit;
cavern_taper = params->cavern_taper;
cavern_threshold = params->cavern_threshold;
@@ -124,18 +128,22 @@ MapgenValleysParams::MapgenValleysParams():
void MapgenValleysParams::readParams(const Settings *settings)
{
- settings->getFlagStrNoEx("mgvalleys_spflags", spflags, flagdesc_mapgen_valleys);
- settings->getU16NoEx("mgvalleys_altitude_chill", altitude_chill);
- settings->getS16NoEx("mgvalleys_large_cave_depth", large_cave_depth);
- settings->getS16NoEx("mgvalleys_lava_depth", lava_depth);
- settings->getU16NoEx("mgvalleys_river_depth", river_depth);
- settings->getU16NoEx("mgvalleys_river_size", river_size);
- settings->getFloatNoEx("mgvalleys_cave_width", cave_width);
- settings->getS16NoEx("mgvalleys_cavern_limit", cavern_limit);
- settings->getS16NoEx("mgvalleys_cavern_taper", cavern_taper);
- settings->getFloatNoEx("mgvalleys_cavern_threshold", cavern_threshold);
- settings->getS16NoEx("mgvalleys_dungeon_ymin", dungeon_ymin);
- settings->getS16NoEx("mgvalleys_dungeon_ymax", dungeon_ymax);
+ settings->getFlagStrNoEx("mgvalleys_spflags", spflags, flagdesc_mapgen_valleys);
+ settings->getU16NoEx("mgvalleys_altitude_chill", altitude_chill);
+ settings->getS16NoEx("mgvalleys_large_cave_depth", large_cave_depth);
+ settings->getU16NoEx("mgvalleys_small_cave_num_min", small_cave_num_min);
+ settings->getU16NoEx("mgvalleys_small_cave_num_max", small_cave_num_max);
+ settings->getU16NoEx("mgvalleys_large_cave_num_min", large_cave_num_min);
+ settings->getU16NoEx("mgvalleys_large_cave_num_max", large_cave_num_max);
+ settings->getFloatNoEx("mgvalleys_large_cave_flooded", large_cave_flooded);
+ settings->getU16NoEx("mgvalleys_river_depth", river_depth);
+ settings->getU16NoEx("mgvalleys_river_size", river_size);
+ settings->getFloatNoEx("mgvalleys_cave_width", cave_width);
+ settings->getS16NoEx("mgvalleys_cavern_limit", cavern_limit);
+ settings->getS16NoEx("mgvalleys_cavern_taper", cavern_taper);
+ settings->getFloatNoEx("mgvalleys_cavern_threshold", cavern_threshold);
+ settings->getS16NoEx("mgvalleys_dungeon_ymin", dungeon_ymin);
+ settings->getS16NoEx("mgvalleys_dungeon_ymax", dungeon_ymax);
settings->getNoiseParams("mgvalleys_np_filler_depth", np_filler_depth);
settings->getNoiseParams("mgvalleys_np_inter_valley_fill", np_inter_valley_fill);
@@ -154,18 +162,22 @@ void MapgenValleysParams::readParams(const Settings *settings)
void MapgenValleysParams::writeParams(Settings *settings) const
{
- settings->setFlagStr("mgvalleys_spflags", spflags, flagdesc_mapgen_valleys, U32_MAX);
- settings->setU16("mgvalleys_altitude_chill", altitude_chill);
- settings->setS16("mgvalleys_large_cave_depth", large_cave_depth);
- settings->setS16("mgvalleys_lava_depth", lava_depth);
- settings->setU16("mgvalleys_river_depth", river_depth);
- settings->setU16("mgvalleys_river_size", river_size);
- settings->setFloat("mgvalleys_cave_width", cave_width);
- settings->setS16("mgvalleys_cavern_limit", cavern_limit);
- settings->setS16("mgvalleys_cavern_taper", cavern_taper);
- settings->setFloat("mgvalleys_cavern_threshold", cavern_threshold);
- settings->setS16("mgvalleys_dungeon_ymin", dungeon_ymin);
- settings->setS16("mgvalleys_dungeon_ymax", dungeon_ymax);
+ settings->setFlagStr("mgvalleys_spflags", spflags, flagdesc_mapgen_valleys);
+ settings->setU16("mgvalleys_altitude_chill", altitude_chill);
+ settings->setS16("mgvalleys_large_cave_depth", large_cave_depth);
+ settings->setU16("mgvalleys_small_cave_num_min", small_cave_num_min);
+ settings->setU16("mgvalleys_small_cave_num_max", small_cave_num_max);
+ settings->setU16("mgvalleys_large_cave_num_min", large_cave_num_min);
+ settings->setU16("mgvalleys_large_cave_num_max", large_cave_num_max);
+ settings->setFloat("mgvalleys_large_cave_flooded", large_cave_flooded);
+ settings->setU16("mgvalleys_river_depth", river_depth);
+ settings->setU16("mgvalleys_river_size", river_size);
+ settings->setFloat("mgvalleys_cave_width", cave_width);
+ settings->setS16("mgvalleys_cavern_limit", cavern_limit);
+ settings->setS16("mgvalleys_cavern_taper", cavern_taper);
+ settings->setFloat("mgvalleys_cavern_threshold", cavern_threshold);
+ settings->setS16("mgvalleys_dungeon_ymin", dungeon_ymin);
+ settings->setS16("mgvalleys_dungeon_ymax", dungeon_ymax);
settings->setNoiseParams("mgvalleys_np_filler_depth", np_filler_depth);
settings->setNoiseParams("mgvalleys_np_inter_valley_fill", np_inter_valley_fill);
@@ -182,6 +194,17 @@ void MapgenValleysParams::writeParams(Settings *settings) const
}
+void MapgenValleysParams::setDefaultSettings(Settings *settings)
+{
+ settings->setDefault("mgvalleys_spflags", flagdesc_mapgen_valleys,
+ MGVALLEYS_ALT_CHILL | MGVALLEYS_HUMID_RIVERS |
+ MGVALLEYS_VARY_RIVER_DEPTH | MGVALLEYS_ALT_DRY);
+}
+
+
+/////////////////////////////////////////////////////////////////
+
+
void MapgenValleys::makeChunk(BlockMakeData *data)
{
// Pre-conditions
@@ -248,8 +271,7 @@ void MapgenValleys::makeChunk(BlockMakeData *data)
m_emerge->oremgr->placeAllOres(this, blockseed, node_min, node_max);
// Dungeon creation
- if ((flags & MG_DUNGEONS) && full_node_min.Y >= dungeon_ymin &&
- full_node_max.Y <= dungeon_ymax)
+ if (flags & MG_DUNGEONS)
generateDungeons(stone_surface_max_y);
// Generate the registered decorations
@@ -368,7 +390,7 @@ int MapgenValleys::generateTerrain()
// Rivers are placed where 'river' is negative
if (river < 0.0f) {
- // Use the the function -sqrt(1-x^2) which models a circle
+ // Use 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)));
diff --git a/src/mapgen/mapgen_valleys.h b/src/mapgen/mapgen_valleys.h
index ab80dc5c9..1aec68842 100644
--- a/src/mapgen/mapgen_valleys.h
+++ b/src/mapgen/mapgen_valleys.h
@@ -41,15 +41,17 @@ extern FlagDesc flagdesc_mapgen_valleys[];
struct MapgenValleysParams : public MapgenParams {
- u32 spflags = MGVALLEYS_ALT_CHILL | MGVALLEYS_HUMID_RIVERS |
- MGVALLEYS_VARY_RIVER_DEPTH | MGVALLEYS_ALT_DRY;
u16 altitude_chill = 90;
u16 river_depth = 4;
u16 river_size = 5;
float cave_width = 0.09f;
s16 large_cave_depth = -33;
- s16 lava_depth = 1;
+ u16 small_cave_num_min = 0;
+ u16 small_cave_num_max = 0;
+ u16 large_cave_num_min = 0;
+ u16 large_cave_num_max = 2;
+ float large_cave_flooded = 0.5f;
s16 cavern_limit = -256;
s16 cavern_taper = 192;
float cavern_threshold = 0.6f;
@@ -74,6 +76,7 @@ struct MapgenValleysParams : public MapgenParams {
void readParams(const Settings *settings);
void writeParams(Settings *settings) const;
+ void setDefaultSettings(Settings *settings);
};
@@ -96,10 +99,6 @@ private:
float river_depth_bed;
float river_size_factor;
- s16 large_cave_depth;
- s16 dungeon_ymin;
- s16 dungeon_ymax;
-
Noise *noise_inter_valley_fill;
Noise *noise_inter_valley_slope;
Noise *noise_rivers;
diff --git a/src/mapnode.cpp b/src/mapnode.cpp
index 557b376c3..bf7e79a71 100644
--- a/src/mapnode.cpp
+++ b/src/mapnode.cpp
@@ -846,7 +846,7 @@ void MapNode::deSerialize_pre22(const u8 *source, u8 version)
{
// In these versions, CONTENT_IGNORE and CONTENT_AIR
// are 255 and 254
- // Version 19 is fucked up with sometimes the old values and sometimes not
+ // Version 19 is messed up with sometimes the old values and sometimes not
if(param0 == 255)
param0 = CONTENT_IGNORE;
else if(param0 == 254)
diff --git a/src/network/clientopcodes.cpp b/src/network/clientopcodes.cpp
index 498583df9..431455b76 100644
--- a/src/network/clientopcodes.cpp
+++ b/src/network/clientopcodes.cpp
@@ -114,9 +114,9 @@ const ToClientCommandHandler toClientCommandTable[TOCLIENT_NUM_MSG_TYPES] =
{ "TOCLIENT_MODCHANNEL_MSG", TOCLIENT_STATE_CONNECTED, &Client::handleCommand_ModChannelMsg }, // 0x57
{ "TOCLIENT_MODCHANNEL_SIGNAL", TOCLIENT_STATE_CONNECTED, &Client::handleCommand_ModChannelSignal }, // 0x58
{ "TOCLIENT_NODEMETA_CHANGED", TOCLIENT_STATE_CONNECTED, &Client::handleCommand_NodemetaChanged }, // 0x59
- null_command_handler,
- null_command_handler,
- null_command_handler,
+ { "TOCLIENT_SET_SUN", TOCLIENT_STATE_CONNECTED, &Client::handleCommand_HudSetSun }, // 0x5a
+ { "TOCLIENT_SET_MOON", TOCLIENT_STATE_CONNECTED, &Client::handleCommand_HudSetMoon }, // 0x5b
+ { "TOCLIENT_SET_STARS", TOCLIENT_STATE_CONNECTED, &Client::handleCommand_HudSetStars }, // 0x5c
null_command_handler,
null_command_handler,
null_command_handler,
diff --git a/src/network/clientpackethandler.cpp b/src/network/clientpackethandler.cpp
index b6e9defb0..432fb415e 100644
--- a/src/network/clientpackethandler.cpp
+++ b/src/network/clientpackethandler.cpp
@@ -40,6 +40,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "util/srp.h"
#include "tileanimation.h"
#include "gettext.h"
+#include "skyparams.h"
void Client::handleCommand_Deprecated(NetworkPacket* pkt)
{
@@ -134,6 +135,9 @@ void Client::handleCommand_AuthAccept(NetworkPacket* pkt)
<< m_recommended_send_interval<<std::endl;
// Reply to server
+ /*~ DO NOT TRANSLATE THIS LITERALLY!
+ This is a special string which needs to contain the translation's
+ language code (e.g. "de" for German). */
std::string lang = gettext("LANG_CODE");
if (lang == "LANG_CODE")
lang = "";
@@ -778,6 +782,7 @@ void Client::handleCommand_PlaySound(NetworkPacket* pkt)
[25 + len] bool loop
[26 + len] f32 fade
[30 + len] f32 pitch
+ [34 + len] bool ephemeral
*/
s32 server_id;
@@ -790,12 +795,14 @@ void Client::handleCommand_PlaySound(NetworkPacket* pkt)
bool loop;
float fade = 0.0f;
float pitch = 1.0f;
+ bool ephemeral = false;
*pkt >> server_id >> name >> gain >> type >> pos >> object_id >> loop;
try {
*pkt >> fade;
*pkt >> pitch;
+ *pkt >> ephemeral;
} catch (PacketError &e) {};
// Start playing
@@ -813,7 +820,6 @@ void Client::handleCommand_PlaySound(NetworkPacket* pkt)
if (cao)
pos = cao->getPosition();
client_id = m_sound->playSoundAt(name, loop, gain, pos, pitch);
- // TODO: Set up sound to move with object
break;
}
default:
@@ -821,8 +827,11 @@ void Client::handleCommand_PlaySound(NetworkPacket* pkt)
}
if (client_id != -1) {
- m_sounds_server_to_client[server_id] = client_id;
- m_sounds_client_to_server[client_id] = server_id;
+ // for ephemeral sounds, server_id is not meaningful
+ if (!ephemeral) {
+ m_sounds_server_to_client[server_id] = client_id;
+ m_sounds_client_to_server[client_id] = server_id;
+ }
if (object_id != 0)
m_sounds_to_objects[client_id] = object_id;
}
@@ -1081,6 +1090,7 @@ void Client::handleCommand_HudAdd(NetworkPacket* pkt)
v2f offset;
v3f world_pos;
v2s32 size;
+ s16 z_index = 0;
*pkt >> server_id >> type >> pos >> name >> scale >> text >> number >> item
>> dir >> align >> offset;
@@ -1093,6 +1103,11 @@ void Client::handleCommand_HudAdd(NetworkPacket* pkt)
*pkt >> size;
} catch(SerializationError &e) {};
+ try {
+ *pkt >> z_index;
+ }
+ catch(PacketError &e) {}
+
ClientEvent *event = new ClientEvent();
event->type = CE_HUDADD;
event->hudadd.server_id = server_id;
@@ -1108,6 +1123,7 @@ void Client::handleCommand_HudAdd(NetworkPacket* pkt)
event->hudadd.offset = new v2f(offset);
event->hudadd.world_pos = new v3f(world_pos);
event->hudadd.size = new v2s32(size);
+ event->hudadd.z_index = z_index;
m_client_event_queue.push(event);
}
@@ -1212,49 +1228,140 @@ void Client::handleCommand_HudSetParam(NetworkPacket* pkt)
player->hud_hotbar_itemcount = hotbar_itemcount;
}
else if (param == HUD_PARAM_HOTBAR_IMAGE) {
- // If value not empty verify image exists in texture source
- if (!value.empty() && !getTextureSource()->isKnownSourceImage(value)) {
- errorstream << "Server sent wrong Hud hotbar image (sent value: '"
- << value << "')" << std::endl;
- return;
- }
player->hotbar_image = value;
}
else if (param == HUD_PARAM_HOTBAR_SELECTED_IMAGE) {
- // If value not empty verify image exists in texture source
- if (!value.empty() && !getTextureSource()->isKnownSourceImage(value)) {
- errorstream << "Server sent wrong Hud hotbar selected image (sent value: '"
- << value << "')" << std::endl;
- return;
- }
player->hotbar_selected_image = value;
}
}
void Client::handleCommand_HudSetSky(NetworkPacket* pkt)
{
- std::string datastring(pkt->getString(0), pkt->getSize());
- std::istringstream is(datastring, std::ios_base::binary);
+ if (m_proto_ver < 39) {
+ // Handle Protocol 38 and below servers with old set_sky,
+ // ensuring the classic look is kept.
+ std::string datastring(pkt->getString(0), pkt->getSize());
+ std::istringstream is(datastring, std::ios_base::binary);
- video::SColor *bgcolor = new video::SColor(readARGB8(is));
- std::string *type = new std::string(deSerializeString(is));
- u16 count = readU16(is);
- std::vector<std::string> *params = new std::vector<std::string>;
+ SkyboxParams skybox;
+ skybox.bgcolor = video::SColor(readARGB8(is));
+ skybox.type = std::string(deSerializeString(is));
+ u16 count = readU16(is);
+
+ for (size_t i = 0; i < count; i++)
+ skybox.textures.emplace_back(deSerializeString(is));
+
+ skybox.clouds = true;
+ try {
+ skybox.clouds = readU8(is);
+ } catch (...) {}
+
+ // Use default skybox settings:
+ SkyboxDefaults sky_defaults;
+ SunParams sun = sky_defaults.getSunDefaults();
+ MoonParams moon = sky_defaults.getMoonDefaults();
+ StarParams stars = sky_defaults.getStarDefaults();
+
+ // Fix for "regular" skies, as color isn't kept:
+ if (skybox.type == "regular") {
+ skybox.sky_color = sky_defaults.getSkyColorDefaults();
+ skybox.tint_type = "default";
+ skybox.moon_tint = video::SColor(255, 255, 255, 255);
+ skybox.sun_tint = video::SColor(255, 255, 255, 255);
+ }
+ else {
+ sun.visible = false;
+ sun.sunrise_visible = false;
+ moon.visible = false;
+ stars.visible = false;
+ }
- for (size_t i = 0; i < count; i++)
- params->push_back(deSerializeString(is));
+ // Skybox, sun, moon and stars ClientEvents:
+ ClientEvent *sky_event = new ClientEvent();
+ sky_event->type = CE_SET_SKY;
+ sky_event->set_sky = new SkyboxParams(skybox);
+ m_client_event_queue.push(sky_event);
+
+ ClientEvent *sun_event = new ClientEvent();
+ sun_event->type = CE_SET_SUN;
+ sun_event->sun_params = new SunParams(sun);
+ m_client_event_queue.push(sun_event);
+
+ ClientEvent *moon_event = new ClientEvent();
+ moon_event->type = CE_SET_MOON;
+ moon_event->moon_params = new MoonParams(moon);
+ m_client_event_queue.push(moon_event);
+
+ ClientEvent *star_event = new ClientEvent();
+ star_event->type = CE_SET_STARS;
+ star_event->star_params = new StarParams(stars);
+ m_client_event_queue.push(star_event);
+ } else {
+ SkyboxParams skybox;
+ u16 texture_count;
+ std::string texture;
+
+ *pkt >> skybox.bgcolor >> skybox.type >> skybox.clouds >>
+ skybox.sun_tint >> skybox.moon_tint >> skybox.tint_type;
+
+ if (skybox.type == "skybox") {
+ *pkt >> texture_count;
+ for (int i = 0; i < texture_count; i++) {
+ *pkt >> texture;
+ skybox.textures.emplace_back(texture);
+ }
+ }
+ else if (skybox.type == "regular") {
+ *pkt >> skybox.sky_color.day_sky >> skybox.sky_color.day_horizon
+ >> skybox.sky_color.dawn_sky >> skybox.sky_color.dawn_horizon
+ >> skybox.sky_color.night_sky >> skybox.sky_color.night_horizon
+ >> skybox.sky_color.indoors;
+ }
- bool clouds = true;
- try {
- clouds = readU8(is);
- } catch (...) {}
+ ClientEvent *event = new ClientEvent();
+ event->type = CE_SET_SKY;
+ event->set_sky = new SkyboxParams(skybox);
+ m_client_event_queue.push(event);
+ }
+}
+
+void Client::handleCommand_HudSetSun(NetworkPacket *pkt)
+{
+ SunParams sun;
+
+ *pkt >> sun.visible >> sun.texture>> sun.tonemap
+ >> sun.sunrise >> sun.sunrise_visible >> sun.scale;
ClientEvent *event = new ClientEvent();
- event->type = CE_SET_SKY;
- event->set_sky.bgcolor = bgcolor;
- event->set_sky.type = type;
- event->set_sky.params = params;
- event->set_sky.clouds = clouds;
+ event->type = CE_SET_SUN;
+ event->sun_params = new SunParams(sun);
+ m_client_event_queue.push(event);
+}
+
+void Client::handleCommand_HudSetMoon(NetworkPacket *pkt)
+{
+ MoonParams moon;
+
+ *pkt >> moon.visible >> moon.texture
+ >> moon.tonemap >> moon.scale;
+
+ ClientEvent *event = new ClientEvent();
+ event->type = CE_SET_MOON;
+ event->moon_params = new MoonParams(moon);
+ m_client_event_queue.push(event);
+}
+
+void Client::handleCommand_HudSetStars(NetworkPacket *pkt)
+{
+ StarParams stars;
+
+ *pkt >> stars.visible >> stars.count
+ >> stars.starcolor >> stars.scale;
+
+ ClientEvent *event = new ClientEvent();
+ event->type = CE_SET_STARS;
+ event->star_params = new StarParams(stars);
+
m_client_event_queue.push(event);
}
diff --git a/src/network/connection.cpp b/src/network/connection.cpp
index a99e5b145..36124ce3c 100644
--- a/src/network/connection.cpp
+++ b/src/network/connection.cpp
@@ -41,17 +41,23 @@ namespace con
/* defines used for debugging and profiling */
/******************************************************************************/
#ifdef NDEBUG
-#define LOG(a) a
-#define PROFILE(a)
+ #define LOG(a) a
+ #define PROFILE(a)
#else
-/* this mutex is used to achieve log message consistency */
-std::mutex log_message_mutex;
-#define LOG(a) \
- { \
- MutexAutoLock loglock(log_message_mutex); \
- a; \
- }
-#define PROFILE(a) a
+ #if 0
+ /* this mutex is used to achieve log message consistency */
+ std::mutex log_message_mutex;
+ #define LOG(a) \
+ { \
+ MutexAutoLock loglock(log_message_mutex); \
+ a; \
+ }
+ #else
+ // Prevent deadlocks until a solution is found after 5.2.0 (TODO)
+ #define LOG(a) a
+ #endif
+
+ #define PROFILE(a) a
#endif
#define PING_TIMEOUT 5.0
@@ -1073,6 +1079,10 @@ bool UDPPeer::processReliableSendCommand(
FATAL_ERROR_IF(!successfully_put_back_sequence_number, "error");
}
+ // DO NOT REMOVE n_queued! It avoids a deadlock of async locked
+ // 'log_message_mutex' and 'm_list_mutex'.
+ u32 n_queued = channels[c.channelnum].outgoing_reliables_sent.size();
+
LOG(dout_con<<m_connection->getDesc()
<< " Windowsize exceeded on reliable sending "
<< c.data.getSize() << " bytes"
@@ -1081,7 +1091,7 @@ bool UDPPeer::processReliableSendCommand(
<< std::endl << "\t\tgot at most : "
<< packets_available << " packets"
<< std::endl << "\t\tpackets queued : "
- << channels[c.channelnum].outgoing_reliables_sent.size()
+ << n_queued
<< std::endl);
return false;
diff --git a/src/network/connection.h b/src/network/connection.h
index d7f1e0fe8..0b12bf701 100644
--- a/src/network/connection.h
+++ b/src/network/connection.h
@@ -612,16 +612,16 @@ class Peer {
struct rttstats {
float jitter_min = FLT_MAX;
float jitter_max = 0.0f;
- float jitter_avg = -1.0f;
+ float jitter_avg = -2.0f;
float min_rtt = FLT_MAX;
float max_rtt = 0.0f;
- float avg_rtt = -1.0f;
+ float avg_rtt = -2.0f;
rttstats() = default;
};
rttstats m_rtt;
- float m_last_rtt = -1.0f;
+ float m_last_rtt = -2.0f;
// current usage count
unsigned int m_usage = 0;
diff --git a/src/network/networkprotocol.h b/src/network/networkprotocol.h
index 5a13c1353..d3799868b 100644
--- a/src/network/networkprotocol.h
+++ b/src/network/networkprotocol.h
@@ -200,9 +200,13 @@ with this program; if not, write to the Free Software Foundation, Inc.,
Unknown inventory serialization fields no longer throw an error
Mod-specific formspec version
Player FOV override API
+ "ephemeral" added to TOCLIENT_PLAY_SOUND
+ PROTOCOL VERSION 39:
+ Updated set_sky packet
+ Adds new sun, moon and stars packets
*/
-#define LATEST_PROTOCOL_VERSION 38
+#define LATEST_PROTOCOL_VERSION 39
#define LATEST_PROTOCOL_VERSION_STRING TOSTRING(LATEST_PROTOCOL_VERSION)
// Server's supported network protocol range
@@ -228,9 +232,13 @@ with this program; if not, write to the Free Software Foundation, Inc.,
(too much)
FORMSPEC VERSION 2:
Forced real coordinates
- background[]: 9-slice scaling parameters
+ background9[]: 9-slice scaling parameters
+ FORMSPEC VERSION 3:
+ Formspec elements are drawn in the order of definition
+ bgcolor[]: use 3 parameters (bgcolor, formspec (now an enum), fbgcolor)
+ box[] and image[] elements enable clipping by default
*/
-#define FORMSPEC_API_VERSION 2
+#define FORMSPEC_API_VERSION 3
#define TEXTURENAME_ALLOWED_CHARS "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_.-"
@@ -446,6 +454,7 @@ enum ToClientCommand
s32[3] pos_nodes*10000
u16 object_id
u8 loop (bool)
+ u8 ephemeral (bool)
*/
TOCLIENT_STOP_SOUND = 0x40,
@@ -561,6 +570,7 @@ enum ToClientCommand
v2f1000 offset
v3f1000 world_pos
v2s32 size
+ s16 z_index
*/
TOCLIENT_HUDRM = 0x4a,
@@ -598,7 +608,8 @@ enum ToClientCommand
TOCLIENT_SET_SKY = 0x4f,
/*
- u8[4] color (ARGB)
+ Protocol 38:
+ u8[4] base_color (ARGB)
u8 len
u8[len] type
u16 count
@@ -606,6 +617,24 @@ enum ToClientCommand
u8 len
u8[len] param
u8 clouds (boolean)
+
+ Protocol 39:
+ u8[4] bgcolor (ARGB)
+ std::string type
+ int texture_count
+ std::string[6] param
+ bool clouds
+ bool bgcolor_fog
+ u8[4] day_sky (ARGB)
+ u8[4] day_horizon (ARGB)
+ u8[4] dawn_sky (ARGB)
+ u8[4] dawn_horizon (ARGB)
+ u8[4] night_sky (ARGB)
+ u8[4] night_horizon (ARGB)
+ u8[4] indoors (ARGB)
+ u8[4] sun_tint (ARGB)
+ u8[4] moon_tint (ARGB)
+ std::string tint_type
*/
TOCLIENT_OVERRIDE_DAY_NIGHT_RATIO = 0x50,
@@ -681,6 +710,31 @@ enum ToClientCommand
serialized and compressed node metadata
*/
+ TOCLIENT_SET_SUN = 0x5a,
+ /*
+ bool visible
+ std::string texture
+ std::string tonemap
+ std::string sunrise
+ f32 scale
+ */
+
+ TOCLIENT_SET_MOON = 0x5b,
+ /*
+ bool visible
+ std::string texture
+ std::string tonemap
+ f32 scale
+ */
+
+ TOCLIENT_SET_STARS = 0x5c,
+ /*
+ bool visible
+ u32 count
+ u8[4] starcolor (ARGB)
+ f32 scale
+ */
+
TOCLIENT_SRP_BYTES_S_B = 0x60,
/*
Belonging to AUTH_MECHANISM_SRP.
diff --git a/src/network/serveropcodes.cpp b/src/network/serveropcodes.cpp
index 8c8d49955..cca2e56ea 100644
--- a/src/network/serveropcodes.cpp
+++ b/src/network/serveropcodes.cpp
@@ -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, // 0x5A
- null_command_factory, // 0x5B
- null_command_factory, // 0x5C
- null_command_factory, // 0x5D
- null_command_factory, // 0x5E
- null_command_factory, // 0x5F
+ { "TOCLIENT_SET_SUN", 0, true }, // 0x5a
+ { "TOCLIENT_SET_MOON", 0, true }, // 0x5b
+ { "TOCLIENT_SET_STARS", 0, true }, // 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 d8fbeebd5..23bcc867f 100644
--- a/src/network/serverpackethandler.cpp
+++ b/src/network/serverpackethandler.cpp
@@ -1166,6 +1166,8 @@ void Server::handleCommand_Interact(NetworkPacket *pkt)
u16 wear = pointed_object->punch(dir, &toolcap, playersao,
time_from_last_punch);
+ // Callback may have changed item, so get it again
+ playersao->getWieldedItem(&selected_item);
bool changed = selected_item.addWear(wear, m_itemdef);
if (changed)
playersao->setWieldedItem(selected_item);
@@ -1316,6 +1318,13 @@ void Server::handleCommand_Interact(NetworkPacket *pkt)
<< pointed_object->getDescription() << std::endl;
// Do stuff
+ if (m_script->item_OnSecondaryUse(
+ selected_item, playersao, pointed)) {
+ if (playersao->setWieldedItem(selected_item)) {
+ SendInventory(playersao, true);
+ }
+ }
+
pointed_object->rightClick(playersao);
} else if (m_script->item_OnPlace(
selected_item, playersao, pointed)) {
@@ -1376,8 +1385,10 @@ void Server::handleCommand_Interact(NetworkPacket *pkt)
actionstream << player->getName() << " activates "
<< selected_item.name << std::endl;
+ pointed.type = POINTEDTHING_NOTHING; // can only ever be NOTHING
+
if (m_script->item_OnSecondaryUse(
- selected_item, playersao)) {
+ selected_item, playersao, pointed)) {
if (playersao->setWieldedItem(selected_item)) {
SendInventory(playersao, true);
}
diff --git a/src/noise.cpp b/src/noise.cpp
index 255d3faee..9c91a6df4 100644
--- a/src/noise.cpp
+++ b/src/noise.cpp
@@ -503,23 +503,32 @@ void Noise::setOctaves(int octaves)
void Noise::resizeNoiseBuf(bool is3d)
{
- //maximum possible spread value factor
+ // Maximum possible spread value factor
float ofactor = (np.lacunarity > 1.0) ?
pow(np.lacunarity, np.octaves - 1) :
np.lacunarity;
- // noise lattice point count
+ // Noise lattice point count
// (int)(sz * spread * ofactor) is # of lattice points crossed due to length
float num_noise_points_x = sx * ofactor / np.spread.X;
float num_noise_points_y = sy * ofactor / np.spread.Y;
float num_noise_points_z = sz * ofactor / np.spread.Z;
- // protect against obviously invalid parameters
+ // Protect against obviously invalid parameters
if (num_noise_points_x > 1000000000.f ||
- num_noise_points_y > 1000000000.f ||
- num_noise_points_z > 1000000000.f)
+ num_noise_points_y > 1000000000.f ||
+ num_noise_points_z > 1000000000.f)
throw InvalidNoiseParamsException();
+ // Protect against an octave having a spread < 1, causing broken noise values
+ if (np.spread.X / ofactor < 1.0f ||
+ np.spread.Y / ofactor < 1.0f ||
+ np.spread.Z / ofactor < 1.0f) {
+ errorstream << "A noise parameter has too many octaves: "
+ << np.octaves << " octaves" << std::endl;
+ throw InvalidNoiseParamsException("A noise parameter has too many octaves");
+ }
+
// + 2 for the two initial endpoints
// + 1 for potentially crossing a boundary due to offset
size_t nlx = (size_t)std::ceil(num_noise_points_x) + 3;
diff --git a/src/object_properties.cpp b/src/object_properties.cpp
index a037c5f65..4cf180b18 100644
--- a/src/object_properties.cpp
+++ b/src/object_properties.cpp
@@ -37,7 +37,6 @@ std::string ObjectProperties::dump()
os << ", breath_max=" << breath_max;
os << ", physical=" << physical;
os << ", collideWithObjects=" << collideWithObjects;
- os << ", weight=" << weight;
os << ", collisionbox=" << PP(collisionbox.MinEdge) << "," << PP(collisionbox.MaxEdge);
os << ", visual=" << visual;
os << ", mesh=" << mesh;
@@ -77,7 +76,7 @@ void ObjectProperties::serialize(std::ostream &os) const
writeU8(os, 4); // PROTOCOL_VERSION >= 37
writeU16(os, hp_max);
writeU8(os, physical);
- writeF32(os, weight);
+ writeF32(os, 0.f); // Removed property (weight)
writeV3F32(os, collisionbox.MinEdge);
writeV3F32(os, collisionbox.MaxEdge);
writeV3F32(os, selectionbox.MinEdge);
@@ -128,7 +127,7 @@ void ObjectProperties::deSerialize(std::istream &is)
hp_max = readU16(is);
physical = readU8(is);
- weight = readF32(is);
+ readU32(is); // removed property (weight)
collisionbox.MinEdge = readV3F32(is);
collisionbox.MaxEdge = readV3F32(is);
selectionbox.MinEdge = readV3F32(is);
diff --git a/src/object_properties.h b/src/object_properties.h
index 199182d70..3895f3379 100644
--- a/src/object_properties.h
+++ b/src/object_properties.h
@@ -31,7 +31,6 @@ struct ObjectProperties
u16 breath_max = 0;
bool physical = false;
bool collideWithObjects = true;
- float weight = 5.0f;
// Values are BS=1
aabb3f collisionbox = aabb3f(-0.5f, -0.5f, -0.5f, 0.5f, 0.5f, 0.5f);
aabb3f selectionbox = aabb3f(-0.5f, -0.5f, -0.5f, 0.5f, 0.5f, 0.5f);
diff --git a/src/pathfinder.cpp b/src/pathfinder.cpp
index 48e951477..8195bd643 100644
--- a/src/pathfinder.cpp
+++ b/src/pathfinder.cpp
@@ -58,6 +58,8 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#define ERROR_TARGET warningstream << "Pathfinder: "
#endif
+#define PATHFINDER_MAX_WAYPOINTS 700
+
/******************************************************************************/
/* Class definitions */
/******************************************************************************/
@@ -78,7 +80,7 @@ public:
bool valid = false; /**< movement is possible */
int value = 0; /**< cost of movement */
- int direction = 0; /**< y-direction of movement */
+ int y_change = 0; /**< change of y position of movement */
bool updated = false; /**< this cost has ben calculated */
};
@@ -117,16 +119,26 @@ public:
bool target = false; /**< node is target position */
bool source = false; /**< node is stating position */
int totalcost = -1; /**< cost to move here from starting point */
+ int estimated_cost = -1; /**< totalcost + heuristic cost to end */
v3s16 sourcedir; /**< origin of movement for current cost */
v3s16 pos; /**< real position of node */
PathCost directions[4]; /**< cost in different directions */
+ bool is_closed = false; /**< for A* search: if true, is in closed list */
+ bool is_open = false; /**< for A* search: if true, is in open list */
/* debug values */
bool is_element = false; /**< node is element of path detected */
- char type = 'u'; /**< type of node */
+ char type = 'u'; /**< Type of pathfinding node.
+ * u = unknown
+ * i = invalid
+ * s = surface (walkable node)
+ * - = non-walkable node (e.g. air) above surface
+ * g = other non-walkable node
+ */
};
class Pathfinder;
+class PathfinderCompareHeuristic;
/** Abstract class to manage the map data */
class GridNodeContainer {
@@ -224,8 +236,8 @@ private:
PathGridnode &getIdxElem(s16 x, s16 y, s16 z);
/**
- * invert a 3d position
- * @param pos 3d position
+ * invert a 3D position (change sign of coordinates)
+ * @param pos 3D position
* @return pos *-1
*/
v3s16 invert(v3s16 pos);
@@ -237,38 +249,17 @@ private:
*/
bool isValidIndex(v3s16 index);
- /**
- * translate position to float position
- * @param pos integer position
- * @return float position
- */
- v3f tov3f(v3s16 pos);
-
/* algorithm functions */
/**
- * calculate 2d manahttan distance to target on the xz plane
+ * calculate 2D Manhattan distance to target
* @param pos position to calc distance
* @return integer distance
*/
int getXZManhattanDist(v3s16 pos);
/**
- * get best direction based uppon heuristics
- * @param directions list of unchecked directions
- * @param g_pos mapnode to start from
- * @return direction to check
- */
- v3s16 getDirHeuristic(std::vector<v3s16> &directions, PathGridnode &g_pos);
-
- /**
- * build internal data representation of search area
- * @return true/false if costmap creation was successfull
- */
- bool buildCostmap();
-
- /**
* calculate cost of movement
* @param pos real world position to start movement
* @param dir direction to move to
@@ -287,22 +278,32 @@ private:
bool updateAllCosts(v3s16 ipos, v3s16 srcdir, int current_cost, int level);
/**
- * recursive try to find a patrh to destionation
- * @param ipos position to check next
- * @param srcdir positionc checked last time
- * @param total_cost cost of moving to ipos
- * @param level current recursion depth
+ * try to find a path to destination using a heuristic function
+ * to estimate distance to target (A* search algorithm)
+ * @param isource start position (index pos)
+ * @param idestination end position (index pos)
* @return true/false path to destination has been found
*/
- bool updateCostHeuristic(v3s16 ipos, v3s16 srcdir, int current_cost, int level);
+ bool updateCostHeuristic(v3s16 isource, v3s16 idestination);
/**
- * recursive build a vector containing all nodes from source to destination
+ * build a vector containing all nodes from destination to source;
+ * to be called after the node costs have been processed
* @param path vector to add nodes to
- * @param pos pos to check next
- * @param level recursion depth
+ * @param ipos initial pos to check (index pos)
+ * @return true/false path has been fully built
+ */
+ bool buildPath(std::vector<v3s16> &path, v3s16 ipos);
+
+ /**
+ * go downwards from a position until some barrier
+ * is hit.
+ * @param pos position from which to go downwards
+ * @param max_down maximum distance to go downwards
+ * @return new position after movement; if too far down,
+ * pos is returned
*/
- void buildPath(std::vector<v3s16> &path, v3s16 pos, int level);
+ v3s16 walkDownwards(v3s16 pos, unsigned int max_down);
/* variables */
int m_max_index_x = 0; /**< max index of search area in x direction */
@@ -329,6 +330,8 @@ private:
ServerEnvironment *m_env = 0; /**< minetest environment pointer */
+ friend class PathfinderCompareHeuristic;
+
#ifdef PATHFINDER_DEBUG
/**
@@ -378,6 +381,31 @@ private:
#endif
};
+/** Helper class for the open list priority queue in the A* pathfinder
+ * to sort the pathfinder nodes by cost.
+ */
+class PathfinderCompareHeuristic
+{
+ private:
+ Pathfinder *myPathfinder;
+ public:
+ PathfinderCompareHeuristic(Pathfinder *pf)
+ {
+ myPathfinder = pf;
+ }
+ bool operator() (v3s16 pos1, v3s16 pos2) {
+ v3s16 ipos1 = myPathfinder->getIndexPos(pos1);
+ v3s16 ipos2 = myPathfinder->getIndexPos(pos2);
+ PathGridnode &g_pos1 = myPathfinder->getIndexElement(ipos1);
+ PathGridnode &g_pos2 = myPathfinder->getIndexElement(ipos2);
+ if (!g_pos1.valid)
+ return false;
+ if (!g_pos2.valid)
+ return false;
+ return g_pos1.estimated_cost > g_pos2.estimated_cost;
+ }
+};
+
/******************************************************************************/
/* implementation */
/******************************************************************************/
@@ -401,7 +429,7 @@ std::vector<v3s16> get_path(ServerEnvironment* env,
PathCost::PathCost(const PathCost &b)
{
valid = b.valid;
- direction = b.direction;
+ y_change = b.y_change;
value = b.value;
updated = b.updated;
}
@@ -410,7 +438,7 @@ PathCost::PathCost(const PathCost &b)
PathCost &PathCost::operator= (const PathCost &b)
{
valid = b.valid;
- direction = b.direction;
+ y_change = b.y_change;
value = b.value;
updated = b.updated;
@@ -598,10 +626,11 @@ std::vector<v3s16> Pathfinder::getPath(ServerEnvironment *env,
//check parameters
if (env == 0) {
- ERROR_TARGET << "missing environment pointer" << std::endl;
+ ERROR_TARGET << "Missing environment pointer" << std::endl;
return retval;
}
+ //initialization
m_searchdistance = searchdistance;
m_env = env;
m_maxjump = max_jump;
@@ -615,6 +644,7 @@ std::vector<v3s16> Pathfinder::getPath(ServerEnvironment *env,
m_prefetch = false;
}
+ //calculate boundaries within we're allowed to search
int min_x = MYMIN(source.X, destination.X);
int max_x = MYMAX(source.X, destination.X);
@@ -650,7 +680,37 @@ std::vector<v3s16> Pathfinder::getPath(ServerEnvironment *env,
printYdir();
#endif
+ //fail if source or destination is walkable
+ const NodeDefManager *ndef = m_env->getGameDef()->ndef();
+ MapNode node_at_pos = m_env->getMap().getNode(destination);
+ if (ndef->get(node_at_pos).walkable) {
+ VERBOSE_TARGET << "Destination is walkable. " <<
+ "Pos: " << PP(destination) << std::endl;
+ return retval;
+ }
+ node_at_pos = m_env->getMap().getNode(source);
+ if (ndef->get(node_at_pos).walkable) {
+ VERBOSE_TARGET << "Source is walkable. " <<
+ "Pos: " << PP(source) << std::endl;
+ return retval;
+ }
+
+ //If source pos is hovering above air, drop
+ //to the first walkable node (up to m_maxdrop).
+ //All algorithms expect the source pos to be *directly* above
+ //a walkable node.
+ v3s16 true_source = v3s16(source);
+ source = walkDownwards(source, m_maxdrop);
+
+ //If destination pos is hovering above air, go downwards
+ //to the first walkable node (up to m_maxjump).
+ //This means a hovering destination pos could be reached
+ //by a final upwards jump.
+ v3s16 true_destination = v3s16(destination);
+ destination = walkDownwards(destination, m_maxjump);
+
//validate and mark start and end pos
+
v3s16 StartIndex = getIndexPos(source);
v3s16 EndIndex = getIndexPos(destination);
@@ -658,13 +718,13 @@ std::vector<v3s16> Pathfinder::getPath(ServerEnvironment *env,
PathGridnode &endpos = getIndexElement(EndIndex);
if (!startpos.valid) {
- VERBOSE_TARGET << "invalid startpos" <<
+ VERBOSE_TARGET << "Invalid startpos " <<
"Index: " << PP(StartIndex) <<
"Realpos: " << PP(getRealPos(StartIndex)) << std::endl;
return retval;
}
if (!endpos.valid) {
- VERBOSE_TARGET << "invalid stoppos" <<
+ VERBOSE_TARGET << "Invalid stoppos " <<
"Index: " << PP(EndIndex) <<
"Realpos: " << PP(getRealPos(EndIndex)) << std::endl;
return retval;
@@ -676,16 +736,17 @@ std::vector<v3s16> Pathfinder::getPath(ServerEnvironment *env,
bool update_cost_retval = false;
+ //calculate node costs
switch (algo) {
case PA_DIJKSTRA:
update_cost_retval = updateAllCosts(StartIndex, v3s16(0, 0, 0), 0, 0);
break;
case PA_PLAIN_NP:
case PA_PLAIN:
- update_cost_retval = updateCostHeuristic(StartIndex, v3s16(0, 0, 0), 0, 0);
+ update_cost_retval = updateCostHeuristic(StartIndex, EndIndex);
break;
default:
- ERROR_TARGET << "missing PathAlgorithm"<< std::endl;
+ ERROR_TARGET << "Missing PathAlgorithm" << std::endl;
break;
}
@@ -697,23 +758,50 @@ std::vector<v3s16> Pathfinder::getPath(ServerEnvironment *env,
#endif
//find path
- std::vector<v3s16> path;
- buildPath(path, EndIndex, 0);
+ std::vector<v3s16> index_path;
+ buildPath(index_path, EndIndex);
+ //Now we have a path of index positions,
+ //and it's in reverse.
+ //The "true" start or end position might be missing
+ //since those have been given special treatment.
#ifdef PATHFINDER_DEBUG
- std::cout << "Full index path:" << std::endl;
- printPath(path);
+ std::cout << "Index path:" << std::endl;
+ printPath(index_path);
#endif
-
- //finalize path
+ //from here we'll make the final changes to the path
std::vector<v3s16> full_path;
- full_path.reserve(path.size());
- for (const v3s16 &i : path) {
- full_path.push_back(getIndexElement(i).pos);
+
+ //calculate required size
+ int full_path_size = index_path.size();
+ if (source != true_source) {
+ full_path_size++;
+ }
+ if (destination != true_destination) {
+ full_path_size++;
+ }
+ full_path.reserve(full_path_size);
+
+ //manually add true_source to start of path, if needed
+ if (source != true_source) {
+ full_path.push_back(true_source);
+ }
+ //convert all index positions to "normal" positions and insert
+ //them into full_path in reverse
+ std::vector<v3s16>::reverse_iterator rit = index_path.rbegin();
+ for (; rit != index_path.rend(); ++rit) {
+ full_path.push_back(getIndexElement(*rit).pos);
+ }
+ //manually add true_destination to end of path, if needed
+ if (destination != true_destination) {
+ full_path.push_back(true_destination);
}
+ //Done! We now have a complete path of normal positions.
+
+
#ifdef PATHFINDER_DEBUG
- std::cout << "full path:" << std::endl;
+ std::cout << "Full path:" << std::endl;
printPath(full_path);
#endif
#ifdef PATHFINDER_CALC_TIME
@@ -734,7 +822,7 @@ std::vector<v3s16> Pathfinder::getPath(ServerEnvironment *env,
#ifdef PATHFINDER_DEBUG
printPathLen();
#endif
- ERROR_TARGET << "failed to update cost map"<< std::endl;
+ INFO_TARGET << "No path found" << std::endl;
}
@@ -789,15 +877,18 @@ PathCost Pathfinder::calcCost(v3s16 pos, v3s16 dir)
return retval;
}
+ //test if the same-height neighbor is suitable
if (ndef->get(node_below_pos2).walkable) {
+ //SUCCESS!
retval.valid = true;
retval.value = 1;
- retval.direction = 0;
+ retval.y_change = 0;
DEBUG_OUT("Pathfinder: "<< PP(pos)
<< " cost same height found" << std::endl);
}
else {
- v3s16 testpos = pos2 - v3s16(0, -1, 0);
+ //test if we can fall a couple of nodes (m_maxdrop)
+ v3s16 testpos = pos2 + v3s16(0, -1, 0);
MapNode node_at_pos = m_env->getMap().getNode(testpos);
while ((node_at_pos.param0 != CONTENT_IGNORE) &&
@@ -812,15 +903,16 @@ PathCost Pathfinder::calcCost(v3s16 pos, v3s16 dir)
(node_at_pos.param0 != CONTENT_IGNORE) &&
(ndef->get(node_at_pos).walkable)) {
if ((pos2.Y - testpos.Y - 1) <= m_maxdrop) {
+ //SUCCESS!
retval.valid = true;
retval.value = 2;
//difference of y-pos +1 (target node is ABOVE solid node)
- retval.direction = ((testpos.Y - pos2.Y) +1);
+ retval.y_change = ((testpos.Y - pos2.Y) +1);
DEBUG_OUT("Pathfinder cost below height found" << std::endl);
}
else {
INFO_TARGET << "Pathfinder:"
- " distance to surface below to big: "
+ " distance to surface below too big: "
<< (testpos.Y - pos2.Y) << " max: " << m_maxdrop
<< std::endl;
}
@@ -831,29 +923,49 @@ PathCost Pathfinder::calcCost(v3s16 pos, v3s16 dir)
}
}
else {
- v3s16 testpos = pos2;
- MapNode node_at_pos = m_env->getMap().getNode(testpos);
+ //test if we can jump upwards (m_maxjump)
+
+ v3s16 targetpos = pos2; // position for jump target
+ v3s16 jumppos = pos; // position for checking if jumping space is free
+ MapNode node_target = m_env->getMap().getNode(targetpos);
+ MapNode node_jump = m_env->getMap().getNode(jumppos);
+ bool headbanger = false; // true if anything blocks jumppath
+
+ while ((node_target.param0 != CONTENT_IGNORE) &&
+ (ndef->get(node_target).walkable) &&
+ (targetpos.Y < m_limits.MaxEdge.Y)) {
+ //if the jump would hit any solid node, discard
+ if ((node_jump.param0 == CONTENT_IGNORE) ||
+ (ndef->get(node_jump).walkable)) {
+ headbanger = true;
+ break;
+ }
+ targetpos += v3s16(0, 1, 0);
+ jumppos += v3s16(0, 1, 0);
+ node_target = m_env->getMap().getNode(targetpos);
+ node_jump = m_env->getMap().getNode(jumppos);
- 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().getNode(testpos);
+ }
+ //check headbanger one last time
+ if ((node_jump.param0 == CONTENT_IGNORE) ||
+ (ndef->get(node_jump).walkable)) {
+ headbanger = true;
}
- //did we find surface?
- if ((testpos.Y <= m_limits.MaxEdge.Y) &&
- (!ndef->get(node_at_pos).walkable)) {
+ //did we find surface without banging our head?
+ if ((!headbanger) && (targetpos.Y <= m_limits.MaxEdge.Y) &&
+ (!ndef->get(node_target).walkable)) {
- if (testpos.Y - pos2.Y <= m_maxjump) {
+ if (targetpos.Y - pos2.Y <= m_maxjump) {
+ //SUCCESS!
retval.valid = true;
retval.value = 2;
- retval.direction = (testpos.Y - pos2.Y);
+ retval.y_change = (targetpos.Y - pos2.Y);
DEBUG_OUT("Pathfinder cost above found" << std::endl);
}
else {
- DEBUG_OUT("Pathfinder: distance to surface above to big: "
- << (testpos.Y - pos2.Y) << " max: " << m_maxjump
+ DEBUG_OUT("Pathfinder: distance to surface above too big: "
+ << (targetpos.Y - pos2.Y) << " max: " << m_maxjump
<< std::endl);
}
}
@@ -929,19 +1041,20 @@ bool Pathfinder::updateAllCosts(v3s16 ipos,
bool retval = false;
- std::vector<v3s16> directions;
-
- directions.emplace_back(1,0, 0);
- directions.emplace_back(-1,0, 0);
- directions.emplace_back(0,0, 1);
- directions.emplace_back(0,0,-1);
+ // the 4 cardinal directions
+ const static v3s16 directions[4] = {
+ v3s16(1,0, 0),
+ v3s16(-1,0, 0),
+ v3s16(0,0, 1),
+ v3s16(0,0,-1)
+ };
- for (v3s16 &direction : directions) {
+ for (v3s16 direction : directions) {
if (direction != srcdir) {
PathCost cost = g_pos.getCost(direction);
if (cost.valid) {
- direction.Y = cost.direction;
+ direction.Y = cost.y_change;
v3s16 ipos2 = ipos + direction;
@@ -1006,194 +1119,172 @@ int Pathfinder::getXZManhattanDist(v3s16 pos)
return (max_x - min_x) + (max_z - min_z);
}
-/******************************************************************************/
-v3s16 Pathfinder::getDirHeuristic(std::vector<v3s16> &directions, PathGridnode &g_pos)
-{
- int minscore = -1;
- v3s16 retdir = v3s16(0, 0, 0);
- v3s16 srcpos = g_pos.pos;
- DEBUG_OUT("Pathfinder: remaining dirs at beginning:"
- << directions.size() << std::endl);
-
- for (v3s16 &direction : directions) {
- v3s16 pos1 = v3s16(srcpos.X + direction.X, 0, srcpos.Z+ direction.Z);
- int cur_manhattan = getXZManhattanDist(pos1);
- PathCost cost = g_pos.getCost(direction);
-
- if (!cost.updated) {
- cost = calcCost(g_pos.pos, direction);
- g_pos.setCost(direction, cost);
+/******************************************************************************/
+bool Pathfinder::updateCostHeuristic(v3s16 isource, v3s16 idestination)
+{
+ // A* search algorithm.
+
+ // The open list contains the pathfinder nodes that still need to be
+ // checked. The priority queue sorts the pathfinder nodes by
+ // estimated cost, with lowest cost on the top.
+ std::priority_queue<v3s16, std::vector<v3s16>, PathfinderCompareHeuristic>
+ openList(PathfinderCompareHeuristic(this));
+
+ v3s16 source = getRealPos(isource);
+ v3s16 destination = getRealPos(idestination);
+
+ // initial position
+ openList.push(source);
+
+ // the 4 cardinal directions
+ const static v3s16 directions[4] = {
+ v3s16(1,0, 0),
+ v3s16(-1,0, 0),
+ v3s16(0,0, 1),
+ v3s16(0,0,-1)
+ };
+
+ v3s16 current_pos;
+ PathGridnode& s_pos = getIndexElement(isource);
+ s_pos.source = true;
+ s_pos.totalcost = 0;
+
+ // estimated cost from start to finish
+ int cur_manhattan = getXZManhattanDist(destination);
+ s_pos.estimated_cost = cur_manhattan;
+
+ while (!openList.empty()) {
+ // Pick node with lowest total cost estimate.
+ // The "cheapest" node is always on top.
+ current_pos = openList.top();
+ openList.pop();
+ v3s16 ipos = getIndexPos(current_pos);
+
+ // check if node is inside searchdistance and valid
+ if (!isValidIndex(ipos)) {
+ DEBUG_OUT(LVL " Pathfinder: " << PP(current_pos) <<
+ " out of search distance, max=" << PP(m_limits.MaxEdge) << std::endl);
+ continue;
}
- if (cost.valid) {
- int score = cost.value + cur_manhattan;
-
- if ((minscore < 0)|| (score < minscore)) {
- minscore = score;
- retdir = direction;
- }
+ PathGridnode& g_pos = getIndexElement(ipos);
+ g_pos.is_closed = true;
+ g_pos.is_open = false;
+ if (!g_pos.valid) {
+ continue;
}
- }
- if (retdir != v3s16(0, 0, 0)) {
- for (std::vector<v3s16>::iterator iter = directions.begin();
- iter != directions.end();
- ++iter) {
- if(*iter == retdir) {
- DEBUG_OUT("Pathfinder: removing return direction" << std::endl);
- directions.erase(iter);
- break;
- }
+ if (current_pos == destination) {
+ // destination found, terminate
+ g_pos.target = true;
+ return true;
}
- }
- else {
- DEBUG_OUT("Pathfinder: didn't find any valid direction clearing"
- << std::endl);
- directions.clear();
- }
- DEBUG_OUT("Pathfinder: remaining dirs at end:" << directions.size()
- << std::endl);
- return retdir;
-}
-
-/******************************************************************************/
-bool Pathfinder::updateCostHeuristic( v3s16 ipos,
- v3s16 srcdir,
- int current_cost,
- int level)
-{
-
- PathGridnode &g_pos = getIndexElement(ipos);
- g_pos.totalcost = current_cost;
- g_pos.sourcedir = srcdir;
-
- level ++;
-
- //check if target has been found
- if (g_pos.target) {
- m_min_target_distance = current_cost;
- DEBUG_OUT(LVL " Pathfinder: target found!" << std::endl);
- return true;
- }
- bool retval = false;
-
- std::vector<v3s16> directions;
-
- directions.emplace_back(1, 0, 0);
- directions.emplace_back(-1, 0, 0);
- directions.emplace_back(0, 0, 1);
- directions.emplace_back(0, 0, -1);
-
- v3s16 direction = getDirHeuristic(directions, g_pos);
-
- while (direction != v3s16(0, 0, 0) && (!retval)) {
-
- if (direction != srcdir) {
- PathCost cost = g_pos.getCost(direction);
-
- if (cost.valid) {
- direction.Y = cost.direction;
-
- v3s16 ipos2 = ipos + direction;
-
- if (!isValidIndex(ipos2)) {
- DEBUG_OUT(LVL " Pathfinder: " << PP(ipos2) <<
- " out of range, max=" << PP(m_limits.MaxEdge) << std::endl);
- direction = getDirHeuristic(directions, g_pos);
- continue;
- }
-
- PathGridnode &g_pos2 = getIndexElement(ipos2);
+ // for this node, check the 4 cardinal directions
+ for (v3s16 direction_flat : directions) {
+ int current_totalcost = g_pos.totalcost;
- if (!g_pos2.valid) {
- VERBOSE_TARGET << LVL "Pathfinder: no data for new position: "
- << PP(ipos2) << std::endl;
- direction = getDirHeuristic(directions, g_pos);
- continue;
- }
-
- assert(cost.value > 0);
-
- int new_cost = current_cost + cost.value;
-
- // check if there already is a smaller path
- if ((m_min_target_distance > 0) &&
- (m_min_target_distance < new_cost)) {
- DEBUG_OUT(LVL "Pathfinder:"
- " already longer than best already found path "
- << PP(ipos2) << std::endl);
- return false;
- }
-
- if ((g_pos2.totalcost < 0) ||
- (g_pos2.totalcost > new_cost)) {
- DEBUG_OUT(LVL "Pathfinder: updating path at: "<<
- PP(ipos2) << " from: " << g_pos2.totalcost << " to "<<
- new_cost << " srcdir=" <<
- PP(invert(direction))<< std::endl);
- if (updateCostHeuristic(ipos2, invert(direction),
- new_cost, level)) {
- retval = true;
- }
- }
- else {
- DEBUG_OUT(LVL "Pathfinder:"
- " already found shorter path to: "
- << PP(ipos2) << std::endl);
- }
+ // get cost from current node to currently checked direction
+ PathCost cost = g_pos.getCost(direction_flat);
+ if (!cost.updated) {
+ cost = calcCost(current_pos, direction_flat);
+ g_pos.setCost(direction_flat, cost);
}
- else {
- DEBUG_OUT(LVL "Pathfinder:"
- " not moving to invalid direction: "
- << PP(direction) << std::endl);
+ // update Y component of direction if neighbor requires jump or fall
+ v3s16 direction_3d = v3s16(direction_flat);
+ direction_3d.Y = cost.y_change;
+
+ // get position of true neighbor
+ v3s16 neighbor = current_pos + direction_3d;
+ v3s16 ineighbor = getIndexPos(neighbor);
+ PathGridnode &n_pos = getIndexElement(ineighbor);
+
+ if (cost.valid && !n_pos.is_closed && !n_pos.is_open) {
+ // heuristic function; estimate cost from neighbor to destination
+ cur_manhattan = getXZManhattanDist(neighbor);
+
+ // add neighbor to open list
+ n_pos.sourcedir = invert(direction_3d);
+ n_pos.totalcost = current_totalcost + cost.value;
+ n_pos.estimated_cost = current_totalcost + cost.value + cur_manhattan;
+ n_pos.is_open = true;
+ openList.push(neighbor);
}
}
- else {
- DEBUG_OUT(LVL "Pathfinder:"
- " skipping srcdir: "
- << PP(direction) << std::endl);
- }
- direction = getDirHeuristic(directions, g_pos);
}
- return retval;
+ // no path found; all possible nodes within searchdistance have been exhausted
+ return false;
}
/******************************************************************************/
-void Pathfinder::buildPath(std::vector<v3s16> &path, v3s16 pos, int level)
+bool Pathfinder::buildPath(std::vector<v3s16> &path, v3s16 ipos)
{
- level ++;
- if (level > 700) {
- ERROR_TARGET
- << LVL "Pathfinder: path is too long aborting" << std::endl;
- return;
- }
-
- PathGridnode &g_pos = getIndexElement(pos);
- if (!g_pos.valid) {
- ERROR_TARGET
- << LVL "Pathfinder: invalid next pos detected aborting" << std::endl;
- return;
- }
+ // The cost calculation should have set a source direction for all relevant nodes.
+ // To build the path, we go backwards from the destination until we reach the start.
+ for(u32 waypoints = 1; waypoints++; ) {
+ if (waypoints > PATHFINDER_MAX_WAYPOINTS) {
+ ERROR_TARGET << "Pathfinder: buildPath: path is too long (too many waypoints), aborting" << std::endl;
+ return false;
+ }
+ // Insert node into path
+ PathGridnode &g_pos = getIndexElement(ipos);
+ if (!g_pos.valid) {
+ ERROR_TARGET << "Pathfinder: buildPath: invalid next pos detected, aborting" << std::endl;
+ return false;
+ }
- g_pos.is_element = true;
+ g_pos.is_element = true;
+ path.push_back(ipos);
+ if (g_pos.source)
+ // start node found, terminate
+ return true;
- //check if source reached
- if (g_pos.source) {
- path.push_back(pos);
- return;
+ // go to the node from which the pathfinder came
+ ipos += g_pos.sourcedir;
}
- buildPath(path, pos + g_pos.sourcedir, level);
- path.push_back(pos);
+ ERROR_TARGET << "Pathfinder: buildPath: no source node found" << std::endl;
+ return false;
}
/******************************************************************************/
-v3f Pathfinder::tov3f(v3s16 pos)
-{
- return v3f(BS * pos.X, BS * pos.Y, BS * pos.Z);
+v3s16 Pathfinder::walkDownwards(v3s16 pos, unsigned int max_down) {
+ if (max_down == 0)
+ return pos;
+ v3s16 testpos = v3s16(pos);
+ MapNode node_at_pos = m_env->getMap().getNode(testpos);
+ const NodeDefManager *ndef = m_env->getGameDef()->ndef();
+ unsigned int down = 0;
+ while ((node_at_pos.param0 != CONTENT_IGNORE) &&
+ (!ndef->get(node_at_pos).walkable) &&
+ (testpos.Y > m_limits.MinEdge.Y) &&
+ (down <= max_down)) {
+ testpos += v3s16(0, -1, 0);
+ down++;
+ node_at_pos = m_env->getMap().getNode(testpos);
+ }
+ //did we find surface?
+ if ((testpos.Y >= m_limits.MinEdge.Y) &&
+ (node_at_pos.param0 != CONTENT_IGNORE) &&
+ (ndef->get(node_at_pos).walkable)) {
+ if (down == 0) {
+ pos = testpos;
+ } else if ((down - 1) <= max_down) {
+ //difference of y-pos +1 (target node is ABOVE solid node)
+ testpos += v3s16(0, 1, 0);
+ pos = testpos;
+ }
+ else {
+ VERBOSE_TARGET << "Pos too far above ground: " <<
+ "Index: " << PP(getIndexPos(pos)) <<
+ "Realpos: " << PP(getRealPos(getIndexPos(pos))) << std::endl;
+ }
+ } else {
+ DEBUG_OUT("Pathfinder: no surface found below pos" << std::endl);
+ }
+ return pos;
}
#ifdef PATHFINDER_DEBUG
@@ -1268,7 +1359,7 @@ void Pathfinder::printYdir(PathDirections dir)
for (int x = 0; x < m_max_index_x; x++) {
if (getIdxElem(x, y, z).directions[dir].valid)
std::cout << std::setw(4)
- << getIdxElem(x, y, z).directions[dir].direction;
+ << getIdxElem(x, y, z).directions[dir].y_change;
else
std::cout << std::setw(4) << "-";
}
diff --git a/src/remoteplayer.cpp b/src/remoteplayer.cpp
index 5443b7a2d..1a8fec68c 100644
--- a/src/remoteplayer.cpp
+++ b/src/remoteplayer.cpp
@@ -66,6 +66,21 @@ RemotePlayer::RemotePlayer(const char *name, IItemDefManager *idef):
m_cloud_params.height = 120.0f;
m_cloud_params.thickness = 16.0f;
m_cloud_params.speed = v2f(0.0f, -2.0f);
+
+ // Skybox defaults:
+
+ SkyboxDefaults sky_defaults;
+
+ m_skybox_params.sky_color = sky_defaults.getSkyColorDefaults();
+ m_skybox_params.type = "regular";
+ m_skybox_params.clouds = true;
+ m_skybox_params.sun_tint = video::SColor(255, 244, 125, 29);
+ m_skybox_params.moon_tint = video::SColorf(0.5, 0.6, 0.8, 1).toSColor();
+ m_skybox_params.tint_type = "default";
+
+ m_sun_params = sky_defaults.getSunDefaults();
+ m_moon_params = sky_defaults.getMoonDefaults();
+ m_star_params = sky_defaults.getStarDefaults();
}
void RemotePlayer::serializeExtraAttributes(std::string &output)
diff --git a/src/remoteplayer.h b/src/remoteplayer.h
index 831bfe956..e4209c54f 100644
--- a/src/remoteplayer.h
+++ b/src/remoteplayer.h
@@ -22,6 +22,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "player.h"
#include "cloudparams.h"
+#include "skyparams.h"
class PlayerSAO;
@@ -83,23 +84,24 @@ public:
return hud_hotbar_selected_image;
}
- void setSky(const video::SColor &bgcolor, const std::string &type,
- const std::vector<std::string> &params, bool &clouds)
+ void setSky(const SkyboxParams &skybox_params)
{
- m_sky_bgcolor = bgcolor;
- m_sky_type = type;
- m_sky_params = params;
- m_sky_clouds = clouds;
+ m_skybox_params = skybox_params;
}
- void getSky(video::SColor *bgcolor, std::string *type,
- std::vector<std::string> *params, bool *clouds)
- {
- *bgcolor = m_sky_bgcolor;
- *type = m_sky_type;
- *params = m_sky_params;
- *clouds = m_sky_clouds;
- }
+ const SkyboxParams &getSkyParams() const { return m_skybox_params; }
+
+ void setSun(const SunParams &sun_params) { m_sun_params = sun_params; }
+
+ const SunParams &getSunParams() const { return m_sun_params; }
+
+ void setMoon(const MoonParams &moon_params) { m_moon_params = moon_params; }
+
+ const MoonParams &getMoonParams() const { return m_moon_params; }
+
+ void setStars(const StarParams &star_params) { m_star_params = star_params; }
+
+ const StarParams &getStarParams() const { return m_star_params; }
void setCloudParams(const CloudParams &cloud_params)
{
@@ -164,12 +166,12 @@ private:
std::string hud_hotbar_image = "";
std::string hud_hotbar_selected_image = "";
- std::string m_sky_type;
- video::SColor m_sky_bgcolor;
- std::vector<std::string> m_sky_params;
- bool m_sky_clouds;
-
CloudParams m_cloud_params;
+ SkyboxParams m_skybox_params;
+ SunParams m_sun_params;
+ MoonParams m_moon_params;
+ StarParams m_star_params;
+
session_t m_peer_id = PEER_ID_INEXISTENT;
};
diff --git a/src/script/common/c_content.cpp b/src/script/common/c_content.cpp
index cb0253c32..accbb1a87 100644
--- a/src/script/common/c_content.cpp
+++ b/src/script/common/c_content.cpp
@@ -83,7 +83,7 @@ void read_item_definition(lua_State* L, int index,
getboolfield(L, index, "liquids_pointable", def.liquids_pointable);
warn_if_field_exists(L, index, "tool_digging_properties",
- "Deprecated; use tool_capabilities");
+ "Obsolete; use tool_capabilities");
lua_getfield(L, index, "tool_capabilities");
if(lua_istable(L, -1)){
@@ -208,8 +208,6 @@ void read_object_properties(lua_State *L, int index,
getboolfield(L, -1, "physical", prop->physical);
getboolfield(L, -1, "collide_with_objects", prop->collideWithObjects);
- getfloatfield(L, -1, "weight", prop->weight);
-
lua_getfield(L, -1, "collisionbox");
bool collisionbox_defined = lua_istable(L, -1);
if (collisionbox_defined)
@@ -340,8 +338,6 @@ void push_object_properties(lua_State *L, ObjectProperties *prop)
lua_setfield(L, -2, "physical");
lua_pushboolean(L, prop->collideWithObjects);
lua_setfield(L, -2, "collide_with_objects");
- lua_pushnumber(L, prop->weight);
- lua_setfield(L, -2, "weight");
push_aabb3f(L, prop->collisionbox);
lua_setfield(L, -2, "collisionbox");
push_aabb3f(L, prop->selectionbox);
@@ -643,19 +639,19 @@ ContentFeatures read_content_features(lua_State *L, int index)
warningstream << "Node " << f.name.c_str()
<< " has a palette, but not a suitable paramtype2." << std::endl;
- // Warn about some deprecated fields
+ // Warn about some obsolete fields
warn_if_field_exists(L, index, "wall_mounted",
- "Deprecated; use paramtype2 = 'wallmounted'");
+ "Obsolete; use paramtype2 = 'wallmounted'");
warn_if_field_exists(L, index, "light_propagates",
- "Deprecated; determined from paramtype");
+ "Obsolete; determined from paramtype");
warn_if_field_exists(L, index, "dug_item",
- "Deprecated; use 'drop' field");
+ "Obsolete; use 'drop' field");
warn_if_field_exists(L, index, "extra_dug_item",
- "Deprecated; use 'drop' field");
+ "Obsolete; use 'drop' field");
warn_if_field_exists(L, index, "extra_dug_item_rarity",
- "Deprecated; use 'drop' field");
+ "Obsolete; use 'drop' field");
warn_if_field_exists(L, index, "metadata_name",
- "Deprecated; use on_add and metadata callbacks");
+ "Obsolete; use on_add and metadata callbacks");
// True for all ground-like things like stone and mud, false for eg. trees
getboolfield(L, index, "is_ground_content", f.is_ground_content);
@@ -1023,6 +1019,7 @@ void read_server_sound_params(lua_State *L, int index,
params.max_hear_distance = BS*getfloatfield_default(L, index,
"max_hear_distance", params.max_hear_distance/BS);
getboolfield(L, index, "loop", params.loop);
+ getstringfield(L, index, "exclude_player", params.exclude_player);
}
}
@@ -1851,11 +1848,13 @@ void read_hud_element(lua_State *L, HudElement *elem)
elem->size = lua_istable(L, -1) ? read_v2s32(L, -1) : v2s32();
lua_pop(L, 1);
- elem->name = getstringfield_default(L, 2, "name", "");
- elem->text = getstringfield_default(L, 2, "text", "");
- elem->number = getintfield_default(L, 2, "number", 0);
- elem->item = getintfield_default(L, 2, "item", 0);
- elem->dir = getintfield_default(L, 2, "direction", 0);
+ elem->name = getstringfield_default(L, 2, "name", "");
+ elem->text = getstringfield_default(L, 2, "text", "");
+ elem->number = getintfield_default(L, 2, "number", 0);
+ elem->item = getintfield_default(L, 2, "item", 0);
+ elem->dir = getintfield_default(L, 2, "direction", 0);
+ elem->z_index = MYMAX(S16_MIN, MYMIN(S16_MAX,
+ getintfield_default(L, 2, "z_index", 0)));
// Deprecated, only for compatibility's sake
if (elem->dir == 0)
@@ -1921,6 +1920,9 @@ void push_hud_element(lua_State *L, HudElement *elem)
push_v3f(L, elem->world_pos);
lua_setfield(L, -2, "world_pos");
+
+ lua_pushnumber(L, elem->z_index);
+ lua_setfield(L, -2, "z_index");
}
HudElementStat read_hud_change(lua_State *L, HudElement *elem, void **value)
@@ -1978,6 +1980,10 @@ HudElementStat read_hud_change(lua_State *L, HudElement *elem, void **value)
elem->size = read_v2s32(L, 4);
*value = &elem->size;
break;
+ case HUD_STAT_Z_INDEX:
+ elem->z_index = MYMAX(S16_MIN, MYMIN(S16_MAX, luaL_checknumber(L, 4)));
+ *value = &elem->z_index;
+ break;
}
return stat;
}
diff --git a/src/script/common/c_converter.cpp b/src/script/common/c_converter.cpp
index b9d6f0494..3c2f75641 100644
--- a/src/script/common/c_converter.cpp
+++ b/src/script/common/c_converter.cpp
@@ -335,6 +335,28 @@ video::SColor read_ARGB8(lua_State *L, int index)
return color;
}
+bool is_color_table(lua_State *L, int index)
+{
+ // Check whole table in case of missing ColorSpec keys:
+ // This check does not remove the checked value from the stack.
+ // Only update the value if we know we have a valid ColorSpec key pair.
+ if (!lua_istable(L, index))
+ return false;
+
+ bool is_color_table = false;
+ lua_getfield(L, index, "r");
+ if (!is_color_table)
+ is_color_table = lua_isnumber(L, -1);
+ lua_getfield(L, index, "g");
+ if (!is_color_table)
+ is_color_table = lua_isnumber(L, -1);
+ lua_getfield(L, index, "b");
+ if (!is_color_table)
+ is_color_table = lua_isnumber(L, -1);
+ lua_pop(L, 3); // b, g, r values
+ return is_color_table;
+}
+
aabb3f read_aabb3f(lua_State *L, int index, f32 scale)
{
aabb3f box;
diff --git a/src/script/common/c_converter.h b/src/script/common/c_converter.h
index f84494c8d..9620bf75a 100644
--- a/src/script/common/c_converter.h
+++ b/src/script/common/c_converter.h
@@ -110,6 +110,7 @@ v2s32 read_v2s32 (lua_State *L, int index);
video::SColor read_ARGB8 (lua_State *L, int index);
bool read_color (lua_State *L, int index,
video::SColor *color);
+bool is_color_table (lua_State *L, int index);
aabb3f read_aabb3f (lua_State *L, int index, f32 scale);
v3s16 read_v3s16 (lua_State *L, int index);
diff --git a/src/script/common/c_internal.cpp b/src/script/common/c_internal.cpp
index f792b6218..b19af9f82 100644
--- a/src/script/common/c_internal.cpp
+++ b/src/script/common/c_internal.cpp
@@ -47,7 +47,7 @@ int script_exception_wrapper(lua_State *L, lua_CFunction f)
/*
* Note that we can't get tracebacks for LUA_ERRMEM or LUA_ERRERR (without
* hacking Lua internals). For LUA_ERRMEM, this is because memory errors will
- * not execute the the error handler, and by the time lua_pcall returns the
+ * not execute the error handler, and by the time lua_pcall returns the
* execution stack will have already been unwound. For LUA_ERRERR, there was
* another error while trying to generate a backtrace from a LUA_ERRRUN. It is
* presumed there is an error with the internal Lua state and thus not possible
@@ -135,7 +135,27 @@ void script_run_callbacks_f(lua_State *L, int nargs,
lua_remove(L, error_handler);
}
-void log_deprecated(lua_State *L, const std::string &message)
+static void script_log(lua_State *L, const std::string &message,
+ std::ostream &log_to, bool do_error, int stack_depth)
+{
+ lua_Debug ar;
+
+ log_to << message << " ";
+ if (lua_getstack(L, stack_depth, &ar)) {
+ FATAL_ERROR_IF(!lua_getinfo(L, "Sl", &ar), "lua_getinfo() failed");
+ log_to << "(at " << ar.short_src << ":" << ar.currentline << ")";
+ } else {
+ log_to << "(at ?:?)";
+ }
+ log_to << std::endl;
+
+ if (do_error)
+ script_error(L, LUA_ERRRUN, NULL, NULL);
+ else
+ infostream << script_get_backtrace(L) << std::endl;
+}
+
+void log_deprecated(lua_State *L, const std::string &message, int stack_depth)
{
static bool configured = false;
static bool do_log = false;
@@ -152,24 +172,6 @@ void log_deprecated(lua_State *L, const std::string &message)
}
}
- if (do_log) {
- warningstream << message;
- if (L) { // L can be NULL if we get called from scripting_game.cpp
- lua_Debug ar;
-
- if (!lua_getstack(L, 2, &ar))
- FATAL_ERROR_IF(!lua_getstack(L, 1, &ar), "lua_getstack() failed");
- FATAL_ERROR_IF(!lua_getinfo(L, "Sl", &ar), "lua_getinfo() failed");
- warningstream << " (at " << ar.short_src << ":" << ar.currentline << ")";
- }
- warningstream << std::endl;
-
- if (L) {
- if (do_error)
- script_error(L, LUA_ERRRUN, NULL, NULL);
- else
- infostream << script_get_backtrace(L) << std::endl;
- }
- }
+ if (do_log)
+ script_log(L, message, warningstream, do_error, stack_depth);
}
-
diff --git a/src/script/common/c_internal.h b/src/script/common/c_internal.h
index d2131d1ad..d8cf3fe76 100644
--- a/src/script/common/c_internal.h
+++ b/src/script/common/c_internal.h
@@ -103,4 +103,6 @@ int script_exception_wrapper(lua_State *L, lua_CFunction f);
void script_error(lua_State *L, int pcall_result, const char *mod, const char *fxn);
void script_run_callbacks_f(lua_State *L, int nargs,
RunCallbacksMode mode, const char *fxn);
-void log_deprecated(lua_State *L, const std::string &message);
+
+void log_deprecated(lua_State *L, const std::string &message,
+ int stack_depth=1);
diff --git a/src/script/cpp_api/s_base.cpp b/src/script/cpp_api/s_base.cpp
index caa335d76..ecb1ba39b 100644
--- a/src/script/cpp_api/s_base.cpp
+++ b/src/script/cpp_api/s_base.cpp
@@ -197,18 +197,22 @@ void ScriptApiBase::loadModFromMemory(const std::string &mod_name)
{
ModNameStorer mod_name_storer(getStack(), mod_name);
- const std::string *init_filename = getClient()->getModFile(mod_name + ":init.lua");
- const std::string display_filename = mod_name + ":init.lua";
- if(init_filename == NULL)
- throw ModError("Mod:\"" + mod_name + "\" lacks init.lua");
+ sanity_check(m_type == ScriptingType::Client);
- verbosestream << "Loading and running script " << display_filename << std::endl;
+ const std::string init_filename = mod_name + ":init.lua";
+ const std::string chunk_name = "@" + init_filename;
+
+ const std::string *contents = getClient()->getModFile(init_filename);
+ if (!contents)
+ throw ModError("Mod \"" + mod_name + "\" lacks init.lua");
+
+ verbosestream << "Loading and running script " << chunk_name << std::endl;
lua_State *L = getStack();
int error_handler = PUSH_ERROR_HANDLER(L);
- bool ok = ScriptApiSecurity::safeLoadFile(L, init_filename->c_str(), display_filename.c_str());
+ bool ok = ScriptApiSecurity::safeLoadString(L, *contents, chunk_name.c_str());
if (ok)
ok = !lua_pcall(L, 0, 0, error_handler);
if (!ok) {
@@ -329,6 +333,20 @@ void ScriptApiBase::setOriginFromTableRaw(int index, const char *fxn)
#endif
}
+/*
+ * How ObjectRefs are handled in Lua:
+ * When an active object is created, an ObjectRef is created on the Lua side
+ * and stored in core.object_refs[id].
+ * Methods that require an ObjectRef to a certain object retrieve it from that
+ * table instead of creating their own.(*)
+ * When an active object is removed, the existing ObjectRef is invalidated
+ * using ::set_null() and removed from the core.object_refs table.
+ * (*) An exception to this are NULL ObjectRefs and anonymous ObjectRefs
+ * for objects without ID.
+ * It's unclear what the latter are needed for and their use is problematic
+ * since we lose control over the ref and the contained pointer.
+ */
+
void ScriptApiBase::addObjectReference(ServerActiveObject *cobj)
{
SCRIPTAPI_PRECHECKHEADER
diff --git a/src/script/cpp_api/s_item.cpp b/src/script/cpp_api/s_item.cpp
index cbdfcf1b1..24955cefc 100644
--- a/src/script/cpp_api/s_item.cpp
+++ b/src/script/cpp_api/s_item.cpp
@@ -115,7 +115,8 @@ bool ScriptApiItem::item_OnUse(ItemStack &item,
return true;
}
-bool ScriptApiItem::item_OnSecondaryUse(ItemStack &item, ServerActiveObject *user)
+bool ScriptApiItem::item_OnSecondaryUse(ItemStack &item,
+ ServerActiveObject *user, const PointedThing &pointed)
{
SCRIPTAPI_PRECHECKHEADER
@@ -126,8 +127,6 @@ bool ScriptApiItem::item_OnSecondaryUse(ItemStack &item, ServerActiveObject *use
LuaItemStack::create(L, item);
objectrefGetOrCreate(L, user);
- PointedThing pointed;
- pointed.type = POINTEDTHING_NOTHING;
pushPointedThing(pointed);
PCALL_RES(lua_pcall(L, 3, 1, error_handler));
if (!lua_isnil(L, -1)) {
diff --git a/src/script/cpp_api/s_item.h b/src/script/cpp_api/s_item.h
index 6c7f286a9..25a3501f9 100644
--- a/src/script/cpp_api/s_item.h
+++ b/src/script/cpp_api/s_item.h
@@ -42,7 +42,7 @@ public:
bool item_OnUse(ItemStack &item,
ServerActiveObject *user, const PointedThing &pointed);
bool item_OnSecondaryUse(ItemStack &item,
- ServerActiveObject *user);
+ ServerActiveObject *user, const PointedThing &pointed);
bool item_OnCraft(ItemStack &item, ServerActiveObject *user,
const InventoryList *old_craft_grid, const InventoryLocation &craft_inv);
bool item_CraftPredict(ItemStack &item, ServerActiveObject *user,
@@ -51,7 +51,6 @@ public:
protected:
friend class LuaItemStack;
friend class ModApiItemMod;
- friend class LuaRaycast;
bool getItemCallback(const char *name, const char *callbackname, const v3s16 *p = nullptr);
/*!
diff --git a/src/script/cpp_api/s_security.cpp b/src/script/cpp_api/s_security.cpp
index b90b3aa2c..b5abcfb5d 100644
--- a/src/script/cpp_api/s_security.cpp
+++ b/src/script/cpp_api/s_security.cpp
@@ -372,14 +372,16 @@ bool ScriptApiSecurity::isSecure(lua_State *L)
return secure;
}
-
-#define CHECK_FILE_ERR(ret, fp) \
- if (ret) { \
- lua_pushfstring(L, "%s: %s", path, strerror(errno)); \
- if (fp) std::fclose(fp); \
- return false; \
+bool ScriptApiSecurity::safeLoadString(lua_State *L, const std::string &code, const char *chunk_name)
+{
+ if (code.size() > 0 && code[0] == LUA_SIGNATURE[0]) {
+ lua_pushliteral(L, "Bytecode prohibited when mod security is enabled.");
+ return false;
}
-
+ if (luaL_loadbuffer(L, code.data(), code.size(), chunk_name))
+ return false;
+ return true;
+}
bool ScriptApiSecurity::safeLoadFile(lua_State *L, const char *path, const char *display_name)
{
@@ -406,68 +408,49 @@ bool ScriptApiSecurity::safeLoadFile(lua_State *L, const char *path, const char
int c = std::getc(fp);
if (c == '#') {
// Skip the first line
- while ((c = std::getc(fp)) != EOF && c != '\n');
- if (c == '\n') c = std::getc(fp);
+ while ((c = std::getc(fp)) != EOF && c != '\n') {}
+ if (c == '\n')
+ std::getc(fp);
start = std::ftell(fp);
}
- if (c == LUA_SIGNATURE[0]) {
- lua_pushliteral(L, "Bytecode prohibited when mod security is enabled.");
- std::fclose(fp);
- if (path) {
- delete [] chunk_name;
- }
- return false;
- }
-
// Read the file
int ret = std::fseek(fp, 0, SEEK_END);
if (ret) {
lua_pushfstring(L, "%s: %s", path, strerror(errno));
- std::fclose(fp);
if (path) {
+ std::fclose(fp);
delete [] chunk_name;
}
return false;
}
size_t size = std::ftell(fp) - start;
- char *code = new char[size];
+ std::string code(size, '\0');
ret = std::fseek(fp, start, SEEK_SET);
if (ret) {
lua_pushfstring(L, "%s: %s", path, strerror(errno));
- std::fclose(fp);
- delete [] code;
if (path) {
+ std::fclose(fp);
delete [] chunk_name;
}
return false;
}
- size_t num_read = std::fread(code, 1, size, fp);
- if (path) {
+ size_t num_read = std::fread(&code[0], 1, size, fp);
+ if (path)
std::fclose(fp);
- }
if (num_read != size) {
lua_pushliteral(L, "Error reading file to load.");
- delete [] code;
- if (path) {
+ if (path)
delete [] chunk_name;
- }
return false;
}
- if (luaL_loadbuffer(L, code, size, chunk_name)) {
- delete [] code;
- return false;
- }
-
- delete [] code;
-
- if (path) {
+ bool result = safeLoadString(L, code, chunk_name);
+ if (path)
delete [] chunk_name;
- }
- return true;
+ return result;
}
@@ -628,14 +611,9 @@ int ScriptApiSecurity::sl_g_load(lua_State *L)
code += std::string(buf, len);
lua_pop(L, 1); // Pop return value
}
- if (code[0] == LUA_SIGNATURE[0]) {
+ if (!safeLoadString(L, code, chunk_name)) {
lua_pushnil(L);
- lua_pushliteral(L, "Bytecode prohibited when mod security is enabled.");
- return 2;
- }
- if (luaL_loadbuffer(L, code.data(), code.size(), chunk_name)) {
- lua_pushnil(L);
- lua_insert(L, lua_gettop(L) - 1);
+ lua_insert(L, -2);
return 2;
}
return 1;
@@ -649,16 +627,19 @@ int ScriptApiSecurity::sl_g_loadfile(lua_State *L)
ScriptApiBase *script = (ScriptApiBase *) lua_touserdata(L, -1);
lua_pop(L, 1);
+ // Client implementation
if (script->getType() == ScriptingType::Client) {
- std::string display_path = readParam<std::string>(L, 1);
- const std::string *path = script->getClient()->getModFile(display_path);
- if (!path) {
- std::string error_msg = "Coudln't find script called:" + display_path;
+ std::string path = readParam<std::string>(L, 1);
+ const std::string *contents = script->getClient()->getModFile(path);
+ if (!contents) {
+ std::string error_msg = "Coudln't find script called: " + path;
lua_pushnil(L);
lua_pushstring(L, error_msg.c_str());
return 2;
}
- if (!safeLoadFile(L, path->c_str(), display_path.c_str())) {
+
+ std::string chunk_name = "@" + path;
+ if (!safeLoadString(L, *contents, chunk_name.c_str())) {
lua_pushnil(L);
lua_insert(L, -2);
return 2;
@@ -666,6 +647,8 @@ int ScriptApiSecurity::sl_g_loadfile(lua_State *L)
return 1;
}
#endif
+
+ // Server implementation
const char *path = NULL;
if (lua_isstring(L, 1)) {
path = lua_tostring(L, 1);
@@ -694,15 +677,11 @@ int ScriptApiSecurity::sl_g_loadstring(lua_State *L)
size_t size;
const char *code = lua_tolstring(L, 1, &size);
+ std::string code_s(code, size);
- if (size > 0 && code[0] == LUA_SIGNATURE[0]) {
+ if (!safeLoadString(L, code_s, chunk_name)) {
lua_pushnil(L);
- lua_pushliteral(L, "Bytecode prohibited when mod security is enabled.");
- return 2;
- }
- if (luaL_loadbuffer(L, code, size, chunk_name)) {
- lua_pushnil(L);
- lua_insert(L, lua_gettop(L) - 1);
+ lua_insert(L, -2);
return 2;
}
return 1;
diff --git a/src/script/cpp_api/s_security.h b/src/script/cpp_api/s_security.h
index c31aff26b..73e763548 100644
--- a/src/script/cpp_api/s_security.h
+++ b/src/script/cpp_api/s_security.h
@@ -50,6 +50,8 @@ public:
void initializeSecurityClient();
// Checks if the Lua state has been secured
static bool isSecure(lua_State *L);
+ // Loads a string as Lua code safely (doesn't allow bytecode).
+ static bool safeLoadString(lua_State *L, const std::string &code, const char *chunk_name);
// Loads a file as Lua code safely (doesn't allow bytecode).
static bool safeLoadFile(lua_State *L, const char *path, const char *display_name = NULL);
// Checks if mods are allowed to read (and optionally write) to the path
diff --git a/src/script/lua_api/l_camera.cpp b/src/script/lua_api/l_camera.cpp
index 80071b3b8..9c1470284 100644
--- a/src/script/lua_api/l_camera.cpp
+++ b/src/script/lua_api/l_camera.cpp
@@ -108,11 +108,10 @@ int LuaCamera::l_get_pos(lua_State *L)
int LuaCamera::l_get_offset(lua_State *L)
{
- Camera *camera = getobject(L, 1);
- if (!camera)
- return 0;
+ LocalPlayer *player = getClient(L)->getEnv().getLocalPlayer();
+ sanity_check(player);
- push_v3s16(L, camera->getOffset());
+ push_v3f(L, player->getEyeOffset() / BS);
return 1;
}
diff --git a/src/script/lua_api/l_client.cpp b/src/script/lua_api/l_client.cpp
index 6345fc75f..fba182492 100644
--- a/src/script/lua_api/l_client.cpp
+++ b/src/script/lua_api/l_client.cpp
@@ -36,12 +36,47 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "util/string.h"
#include "nodedef.h"
+#define checkCSMRestrictionFlag(flag) \
+ ( getClient(L)->checkCSMRestrictionFlag(CSMRestrictionFlags::flag) )
+
+// Not the same as FlagDesc, which contains an `u32 flag`
+struct CSMFlagDesc {
+ const char *name;
+ u64 flag;
+};
+
+/*
+ FIXME: This should eventually be moved somewhere else
+ It also needs to be kept in sync with the definition of CSMRestrictionFlags
+ in network/networkprotocol.h
+*/
+const static CSMFlagDesc flagdesc_csm_restriction[] = {
+ {"load_client_mods", CSM_RF_LOAD_CLIENT_MODS},
+ {"chat_messages", CSM_RF_CHAT_MESSAGES},
+ {"read_itemdefs", CSM_RF_READ_ITEMDEFS},
+ {"read_nodedefs", CSM_RF_READ_NODEDEFS},
+ {"lookup_nodes", CSM_RF_LOOKUP_NODES},
+ {"read_playerinfo", CSM_RF_READ_PLAYERINFO},
+ {NULL, 0}
+};
+
+// get_current_modname()
int ModApiClient::l_get_current_modname(lua_State *L)
{
lua_rawgeti(L, LUA_REGISTRYINDEX, CUSTOM_RIDX_CURRENT_MOD_NAME);
return 1;
}
+// get_modpath(modname)
+int ModApiClient::l_get_modpath(lua_State *L)
+{
+ std::string modname = readParam<std::string>(L, 1);
+ // Client mods use a virtual filesystem, see Client::scanModSubfolder()
+ std::string path = modname + ":";
+ lua_pushstring(L, path.c_str());
+ return 1;
+}
+
// get_last_run_mod()
int ModApiClient::l_get_last_run_mod(lua_State *L)
{
@@ -95,11 +130,8 @@ int ModApiClient::l_send_chat_message(lua_State *L)
// If server disabled this API, discard
- // clang-format off
- if (getClient(L)->checkCSMRestrictionFlag(
- CSMRestrictionFlags::CSM_RF_CHAT_MESSAGES))
+ if (checkCSMRestrictionFlag(CSM_RF_CHAT_MESSAGES))
return 0;
- // clang-format on
std::string message = luaL_checkstring(L, 1);
getClient(L)->sendChatMessage(utf8_to_wide(message));
@@ -116,12 +148,8 @@ int ModApiClient::l_clear_out_chat_queue(lua_State *L)
// get_player_names()
int ModApiClient::l_get_player_names(lua_State *L)
{
- // clang-format off
- if (getClient(L)->checkCSMRestrictionFlag(
- CSMRestrictionFlags::CSM_RF_READ_PLAYERINFO)) {
+ if (checkCSMRestrictionFlag(CSM_RF_READ_PLAYERINFO))
return 0;
- }
- // clang-format on
const std::list<std::string> &plist = getClient(L)->getConnectedPlayerNames();
lua_createtable(L, plist.size(), 0);
@@ -190,7 +218,7 @@ int ModApiClient::l_get_node_or_nil(lua_State *L)
// Do it
bool pos_ok;
- MapNode n = getClient(L)->getNode(pos, &pos_ok);
+ MapNode n = getClient(L)->CSMGetNode(pos, &pos_ok);
if (pos_ok) {
// Return node
pushnode(L, n, getClient(L)->ndef());
@@ -202,9 +230,18 @@ int ModApiClient::l_get_node_or_nil(lua_State *L)
int ModApiClient::l_get_language(lua_State *L)
{
- char *locale = setlocale(LC_ALL, "");
+#ifdef _WIN32
+ char *locale = setlocale(LC_ALL, NULL);
+#else
+ char *locale = setlocale(LC_MESSAGES, NULL);
+#endif
+ std::string lang = gettext("LANG_CODE");
+ if (lang == "LANG_CODE")
+ lang = "";
+
lua_pushstring(L, locale);
- return 1;
+ lua_pushstring(L, lang.c_str());
+ return 2;
}
int ModApiClient::l_get_wielded_item(lua_State *L)
@@ -297,11 +334,8 @@ int ModApiClient::l_get_item_def(lua_State *L)
IItemDefManager *idef = gdef->idef();
assert(idef);
- // clang-format off
- if (getClient(L)->checkCSMRestrictionFlag(
- CSMRestrictionFlags::CSM_RF_READ_ITEMDEFS))
+ if (checkCSMRestrictionFlag(CSM_RF_READ_ITEMDEFS))
return 0;
- // clang-format on
if (!lua_isstring(L, 1))
return 0;
@@ -328,11 +362,8 @@ int ModApiClient::l_get_node_def(lua_State *L)
if (!lua_isstring(L, 1))
return 0;
- // clang-format off
- if (getClient(L)->checkCSMRestrictionFlag(
- CSMRestrictionFlags::CSM_RF_READ_NODEDEFS))
+ if (checkCSMRestrictionFlag(CSM_RF_READ_NODEDEFS))
return 0;
- // clang-format on
std::string name = readParam<std::string>(L, 1);
const ContentFeatures &cf = ndef->get(ndef->getId(name));
@@ -362,9 +393,23 @@ int ModApiClient::l_get_builtin_path(lua_State *L)
return 1;
}
+// get_csm_restrictions()
+int ModApiClient::l_get_csm_restrictions(lua_State *L)
+{
+ u64 flags = getClient(L)->getCSMRestrictionFlags();
+ const CSMFlagDesc *flagdesc = flagdesc_csm_restriction;
+
+ lua_newtable(L);
+ for (int i = 0; flagdesc[i].name; i++) {
+ setboolfield(L, -1, flagdesc[i].name, !!(flags & flagdesc[i].flag));
+ }
+ return 1;
+}
+
void ModApiClient::Initialize(lua_State *L, int top)
{
API_FCT(get_current_modname);
+ API_FCT(get_modpath);
API_FCT(print);
API_FCT(display_chat_message);
API_FCT(send_chat_message);
@@ -387,4 +432,5 @@ void ModApiClient::Initialize(lua_State *L, int top)
API_FCT(get_privilege_list);
API_FCT(get_builtin_path);
API_FCT(get_language);
+ API_FCT(get_csm_restrictions);
}
diff --git a/src/script/lua_api/l_client.h b/src/script/lua_api/l_client.h
index 0d3e6b106..6d1f70b1d 100644
--- a/src/script/lua_api/l_client.h
+++ b/src/script/lua_api/l_client.h
@@ -30,6 +30,9 @@ private:
// get_current_modname()
static int l_get_current_modname(lua_State *L);
+ // get_modpath(modname)
+ static int l_get_modpath(lua_State *L);
+
// print(text)
static int l_print(lua_State *L);
@@ -93,6 +96,9 @@ private:
// get_builtin_path()
static int l_get_builtin_path(lua_State *L);
+ // get_csm_restrictions()
+ static int l_get_csm_restrictions(lua_State *L);
+
public:
static void Initialize(lua_State *L, int top);
};
diff --git a/src/script/lua_api/l_env.cpp b/src/script/lua_api/l_env.cpp
index a56b1cb0b..3169fa4cf 100644
--- a/src/script/lua_api/l_env.cpp
+++ b/src/script/lua_api/l_env.cpp
@@ -140,17 +140,20 @@ void LuaLBM::trigger(ServerEnvironment *env, v3s16 p, MapNode n)
int LuaRaycast::l_next(lua_State *L)
{
MAP_LOCK_REQUIRED;
-
- ScriptApiItem *script = getScriptApi<ScriptApiItem>(L);
GET_ENV_PTR;
+ bool csm = false;
+#ifndef SERVER
+ csm = getClient(L) != nullptr;
+#endif
+
LuaRaycast *o = checkobject(L, 1);
PointedThing pointed;
env->continueRaycast(&o->state, &pointed);
if (pointed.type == POINTEDTHING_NOTHING)
lua_pushnil(L);
else
- script->pushPointedThing(pointed, true);
+ push_pointed_thing(L, pointed, csm, true);
return 1;
}
@@ -637,6 +640,31 @@ int ModApiEnvMod::l_add_item(lua_State *L)
return 1;
}
+// get_connected_players()
+int ModApiEnvMod::l_get_connected_players(lua_State *L)
+{
+ ServerEnvironment *env = (ServerEnvironment *) getEnv(L);
+ if (!env) {
+ log_deprecated(L, "Calling get_connected_players() at mod load time"
+ " is deprecated");
+ lua_createtable(L, 0, 0);
+ return 1;
+ }
+
+ lua_createtable(L, env->getPlayerCount(), 0);
+ u32 i = 0;
+ for (RemotePlayer *player : env->getPlayers()) {
+ if (player->getPeerId() == PEER_ID_INEXISTENT)
+ continue;
+ PlayerSAO *sao = player->getPlayerSAO();
+ if (sao && !sao->isGone()) {
+ getScriptApiBase(L)->objectrefGetOrCreate(L, sao);
+ lua_rawseti(L, -2, ++i);
+ }
+ }
+ return 1;
+}
+
// get_player_by_name(name)
int ModApiEnvMod::l_get_player_by_name(lua_State *L)
{
@@ -644,16 +672,12 @@ int ModApiEnvMod::l_get_player_by_name(lua_State *L)
// Do it
const char *name = luaL_checkstring(L, 1);
- RemotePlayer *player = dynamic_cast<RemotePlayer *>(env->getPlayer(name));
- if (player == NULL){
- lua_pushnil(L);
- return 1;
- }
+ RemotePlayer *player = env->getPlayer(name);
+ if (!player || player->getPeerId() == PEER_ID_INEXISTENT)
+ return 0;
PlayerSAO *sao = player->getPlayerSAO();
- if(sao == NULL){
- lua_pushnil(L);
- return 1;
- }
+ if (!sao || sao->isGone())
+ return 0;
// Put player on stack
getScriptApiBase(L)->objectrefGetOrCreate(L, sao);
return 1;
@@ -769,11 +793,8 @@ int ModApiEnvMod::l_find_node_near(lua_State *L)
#ifndef SERVER
// Client API limitations
- if (getClient(L) &&
- getClient(L)->checkCSMRestrictionFlag(
- CSMRestrictionFlags::CSM_RF_LOOKUP_NODES)) {
- radius = std::max<int>(radius, getClient(L)->getCSMNodeRangeLimit());
- }
+ if (getClient(L))
+ radius = getClient(L)->CSMClampRadius(pos, radius);
#endif
for (int d = start_radius; d <= radius; d++) {
@@ -796,11 +817,20 @@ int ModApiEnvMod::l_find_nodes_in_area(lua_State *L)
{
GET_ENV_PTR;
- const NodeDefManager *ndef = getServer(L)->ndef();
v3s16 minp = read_v3s16(L, 1);
v3s16 maxp = read_v3s16(L, 2);
sortBoxVerticies(minp, maxp);
+#ifndef SERVER
+ const NodeDefManager *ndef = getClient(L) ? getClient(L)->ndef() : getServer(L)->ndef();
+ if (getClient(L)) {
+ minp = getClient(L)->CSMClampPos(minp);
+ maxp = getClient(L)->CSMClampPos(maxp);
+ }
+#else
+ const NodeDefManager *ndef = getServer(L)->ndef();
+#endif
+
v3s16 cube = maxp - minp + 1;
// Volume limit equal to 8 default mapchunks, (80 * 2) ^ 3 = 4,096,000
if ((u64)cube.X * (u64)cube.Y * (u64)cube.Z > 4096000) {
@@ -864,11 +894,20 @@ int ModApiEnvMod::l_find_nodes_in_area_under_air(lua_State *L)
GET_ENV_PTR;
- const NodeDefManager *ndef = getServer(L)->ndef();
v3s16 minp = read_v3s16(L, 1);
v3s16 maxp = read_v3s16(L, 2);
sortBoxVerticies(minp, maxp);
+#ifndef SERVER
+ const NodeDefManager *ndef = getClient(L) ? getClient(L)->ndef() : getServer(L)->ndef();
+ if (getClient(L)) {
+ minp = getClient(L)->CSMClampPos(minp);
+ maxp = getClient(L)->CSMClampPos(maxp);
+ }
+#else
+ const NodeDefManager *ndef = getServer(L)->ndef();
+#endif
+
v3s16 cube = maxp - minp + 1;
// Volume limit equal to 8 default mapchunks, (80 * 2) ^ 3 = 4,096,000
if ((u64)cube.X * (u64)cube.Y * (u64)cube.Z > 4096000) {
@@ -1161,7 +1200,7 @@ int ModApiEnvMod::l_find_path(lua_State *L)
unsigned int max_jump = luaL_checkint(L, 4);
unsigned int max_drop = luaL_checkint(L, 5);
PathAlgorithm algo = PA_PLAIN_NP;
- if (!lua_isnil(L, 6)) {
+ if (!lua_isnoneornil(L, 6)) {
std::string algorithm = luaL_checkstring(L,6);
if (algorithm == "A*")
@@ -1301,6 +1340,7 @@ void ModApiEnvMod::Initialize(lua_State *L, int top)
API_FCT(find_nodes_with_meta);
API_FCT(get_meta);
API_FCT(get_node_timer);
+ API_FCT(get_connected_players);
API_FCT(get_player_by_name);
API_FCT(get_objects_inside_radius);
API_FCT(set_timeofday);
@@ -1329,9 +1369,14 @@ void ModApiEnvMod::Initialize(lua_State *L, int top)
void ModApiEnvMod::InitializeClient(lua_State *L, int top)
{
+ API_FCT(get_node_light);
API_FCT(get_timeofday);
- API_FCT(get_day_count);
API_FCT(get_node_max_level);
API_FCT(get_node_level);
+ API_FCT(find_nodes_with_meta);
API_FCT(find_node_near);
+ API_FCT(find_nodes_in_area);
+ API_FCT(find_nodes_in_area_under_air);
+ API_FCT(line_of_sight);
+ API_FCT(raycast);
}
diff --git a/src/script/lua_api/l_env.h b/src/script/lua_api/l_env.h
index 68a4eae50..ac2f8b588 100644
--- a/src/script/lua_api/l_env.h
+++ b/src/script/lua_api/l_env.h
@@ -101,6 +101,9 @@ private:
// pos = {x=num, y=num, z=num}
static int l_add_item(lua_State *L);
+ // get_connected_players()
+ static int l_get_connected_players(lua_State *L);
+
// get_player_by_name(name)
static int l_get_player_by_name(lua_State *L);
diff --git a/src/script/lua_api/l_item.cpp b/src/script/lua_api/l_item.cpp
index f9708b560..0c174feca 100644
--- a/src/script/lua_api/l_item.cpp
+++ b/src/script/lua_api/l_item.cpp
@@ -414,7 +414,9 @@ ItemStack& LuaItemStack::getItem()
int LuaItemStack::create_object(lua_State *L)
{
NO_MAP_LOCK_REQUIRED;
- ItemStack item = read_item(L, 1, getGameDef(L)->idef());
+ ItemStack item;
+ if (!lua_isnone(L, 1))
+ item = read_item(L, 1, getGameDef(L)->idef());
LuaItemStack *o = new LuaItemStack(item);
*(void **)(lua_newuserdata(L, sizeof(void *))) = o;
luaL_getmetatable(L, className);
@@ -610,9 +612,11 @@ int ModApiItemMod::l_get_content_id(lua_State *L)
std::string name = luaL_checkstring(L, 1);
const NodeDefManager *ndef = getGameDef(L)->getNodeDefManager();
- content_t c = ndef->getId(name);
+ content_t content_id;
+ if (!ndef->getId(name, content_id))
+ throw LuaError("Unknown node: " + name);
- lua_pushinteger(L, c);
+ lua_pushinteger(L, content_id);
return 1; /* number of results */
}
diff --git a/src/script/lua_api/l_localplayer.cpp b/src/script/lua_api/l_localplayer.cpp
index 3e14e48e4..821b1cb66 100644
--- a/src/script/lua_api/l_localplayer.cpp
+++ b/src/script/lua_api/l_localplayer.cpp
@@ -78,7 +78,7 @@ int LuaLocalPlayer::l_is_attached(lua_State *L)
{
LocalPlayer *player = getobject(L, 1);
- lua_pushboolean(L, player->isAttached);
+ lua_pushboolean(L, player->getParent() != nullptr);
return 1;
}
@@ -157,7 +157,7 @@ int LuaLocalPlayer::l_get_override_pos(lua_State *L)
{
LocalPlayer *player = getobject(L, 1);
- push_v3f(L, player->overridePosition);
+ push_v3f(L, player->getPosition());
return 1;
}
diff --git a/src/script/lua_api/l_mapgen.cpp b/src/script/lua_api/l_mapgen.cpp
index 2e0cba8dd..cb0d6ac95 100644
--- a/src/script/lua_api/l_mapgen.cpp
+++ b/src/script/lua_api/l_mapgen.cpp
@@ -879,7 +879,7 @@ int ModApiMapgen::l_set_mapgen_params(lua_State *L)
settingsmgr->setMapSetting("chunksize", readParam<std::string>(L, -1), true);
warn_if_field_exists(L, 1, "flagmask",
- "Deprecated: flags field now includes unset flags.");
+ "Obsolete: flags field now includes unset flags.");
lua_getfield(L, 1, "flags");
if (lua_isstring(L, -1))
diff --git a/src/script/lua_api/l_object.cpp b/src/script/lua_api/l_object.cpp
index efdb345c9..23ed1ffe0 100644
--- a/src/script/lua_api/l_object.cpp
+++ b/src/script/lua_api/l_object.cpp
@@ -60,6 +60,8 @@ LuaEntitySAO* ObjectRef::getluaobject(ObjectRef *ref)
return NULL;
if (obj->getType() != ACTIVEOBJECT_TYPE_LUAENTITY)
return NULL;
+ if (obj->isGone())
+ return NULL;
return (LuaEntitySAO*)obj;
}
@@ -70,6 +72,8 @@ PlayerSAO* ObjectRef::getplayersao(ObjectRef *ref)
return NULL;
if (obj->getType() != ACTIVEOBJECT_TYPE_PLAYER)
return NULL;
+ if (obj->isGone())
+ return NULL;
return (PlayerSAO*)obj;
}
@@ -1059,6 +1063,9 @@ int ObjectRef::l_get_luaentity(lua_State *L)
int ObjectRef::l_is_player_connected(lua_State *L)
{
NO_MAP_LOCK_REQUIRED;
+ // This method was once added for a bugfix, but never documented
+ log_deprecated(L, "is_player_connected is undocumented and "
+ "will be removed in a future release");
ObjectRef *ref = checkobject(L, 1);
RemotePlayer *player = getplayer(ref);
lua_pushboolean(L, (player != NULL && player->getPeerId() != PEER_ID_INEXISTENT));
@@ -1701,42 +1708,157 @@ int ObjectRef::l_hud_get_hotbar_selected_image(lua_State *L)
return 1;
}
-// set_sky(self, bgcolor, type, list, clouds = true)
+// set_sky(self, {base_color=, type=, textures=, clouds=, sky_colors={}})
int ObjectRef::l_set_sky(lua_State *L)
{
NO_MAP_LOCK_REQUIRED;
ObjectRef *ref = checkobject(L, 1);
RemotePlayer *player = getplayer(ref);
- if (player == NULL)
+ if (!player)
return 0;
- video::SColor bgcolor(255,255,255,255);
- read_color(L, 2, &bgcolor);
+ bool is_colorspec = is_color_table(L, 2);
- std::string type = luaL_checkstring(L, 3);
+ SkyboxParams skybox_params = player->getSkyParams();
+ if (lua_istable(L, 2) && !is_colorspec) {
+ lua_getfield(L, 2, "base_color");
+ if (!lua_isnil(L, -1))
+ read_color(L, -1, &skybox_params.bgcolor);
+ lua_pop(L, 1);
- std::vector<std::string> params;
- if (lua_istable(L, 4)) {
- lua_pushnil(L);
- while (lua_next(L, 4) != 0) {
- // key at index -2 and value at index -1
- if (lua_isstring(L, -1))
- params.emplace_back(readParam<std::string>(L, -1));
- else
- params.emplace_back("");
- // removes value, keeps key for next iteration
+ lua_getfield(L, 2, "type");
+ if (!lua_isnil(L, -1))
+ skybox_params.type = luaL_checkstring(L, -1);
+ lua_pop(L, 1);
+
+ lua_getfield(L, 2, "textures");
+ skybox_params.textures.clear();
+ if (lua_istable(L, -1) && skybox_params.type == "skybox") {
+ lua_pushnil(L);
+ while (lua_next(L, -2) != 0) {
+ // Key is at index -2 and value at index -1
+ skybox_params.textures.emplace_back(readParam<std::string>(L, -1));
+ // Removes the value, but keeps the key for iteration
+ lua_pop(L, 1);
+ }
+ }
+ lua_pop(L, 1);
+
+ /*
+ We want to avoid crashes, so we're checking even if we're not using them.
+ However, we want to ensure that the skybox can be set to nil when
+ using "regular" or "plain" skybox modes as textures aren't needed.
+ */
+
+ if (skybox_params.textures.size() != 6 && skybox_params.textures.size() > 0)
+ throw LuaError("Skybox expects 6 textures!");
+
+ skybox_params.clouds = getboolfield_default(L, 2,
+ "clouds", skybox_params.clouds);
+
+ lua_getfield(L, 2, "sky_color");
+ if (lua_istable(L, -1)) {
+ lua_getfield(L, -1, "day_sky");
+ read_color(L, -1, &skybox_params.sky_color.day_sky);
+ lua_pop(L, 1);
+
+ lua_getfield(L, -1, "day_horizon");
+ read_color(L, -1, &skybox_params.sky_color.day_horizon);
+ lua_pop(L, 1);
+
+ lua_getfield(L, -1, "dawn_sky");
+ read_color(L, -1, &skybox_params.sky_color.dawn_sky);
+ lua_pop(L, 1);
+
+ lua_getfield(L, -1, "dawn_horizon");
+ read_color(L, -1, &skybox_params.sky_color.dawn_horizon);
+ lua_pop(L, 1);
+
+ lua_getfield(L, -1, "night_sky");
+ read_color(L, -1, &skybox_params.sky_color.night_sky);
+ lua_pop(L, 1);
+
+ lua_getfield(L, -1, "night_horizon");
+ read_color(L, -1, &skybox_params.sky_color.night_horizon);
+ lua_pop(L, 1);
+
+ lua_getfield(L, -1, "indoors");
+ read_color(L, -1, &skybox_params.sky_color.indoors);
+ lua_pop(L, 1);
+
+ // Prevent flickering clouds at dawn/dusk:
+ skybox_params.sun_tint = video::SColor(255, 255, 255, 255);
+ lua_getfield(L, -1, "fog_sun_tint");
+ read_color(L, -1, &skybox_params.sun_tint);
+ lua_pop(L, 1);
+
+ skybox_params.moon_tint = video::SColor(255, 255, 255, 255);
+ lua_getfield(L, -1, "fog_moon_tint");
+ read_color(L, -1, &skybox_params.moon_tint);
+ lua_pop(L, 1);
+
+ lua_getfield(L, -1, "fog_tint_type");
+ if (!lua_isnil(L, -1))
+ skybox_params.tint_type = luaL_checkstring(L, -1);
+ lua_pop(L, 1);
+
+ // Because we need to leave the "sky_color" table.
lua_pop(L, 1);
}
- }
+ } else {
+ // Handle old set_sky calls, and log deprecated:
+ log_deprecated(L, "Deprecated call to set_sky, please check lua_api.txt");
+
+ // Fix sun, moon and stars showing when classic textured skyboxes are used
+ SunParams sun_params = player->getSunParams();
+ MoonParams moon_params = player->getMoonParams();
+ StarParams star_params = player->getStarParams();
+
+ // Prevent erroneous background colors
+ skybox_params.bgcolor = video::SColor(255, 255, 255, 255);
+ read_color(L, 2, &skybox_params.bgcolor);
+
+ skybox_params.type = luaL_checkstring(L, 3);
+
+ // Preserve old behaviour of the sun, moon and stars
+ // when using the old set_sky call.
+ if (skybox_params.type == "regular") {
+ sun_params.visible = true;
+ sun_params.sunrise_visible = true;
+ moon_params.visible = true;
+ star_params.visible = true;
+ } else {
+ sun_params.visible = false;
+ sun_params.sunrise_visible = false;
+ moon_params.visible = false;
+ star_params.visible = false;
+ }
- if (type == "skybox" && params.size() != 6)
- throw LuaError("skybox expects 6 textures");
+ skybox_params.textures.clear();
+ if (lua_istable(L, 4)) {
+ lua_pushnil(L);
+ while (lua_next(L, 4) != 0) {
+ // Key at index -2, and value at index -1
+ if (lua_isstring(L, -1))
+ skybox_params.textures.emplace_back(readParam<std::string>(L, -1));
+ else
+ skybox_params.textures.emplace_back("");
+ // Remove the value, keep the key for the next iteration
+ lua_pop(L, 1);
+ }
+ }
+ if (skybox_params.type == "skybox" && skybox_params.textures.size() != 6)
+ throw LuaError("Skybox expects 6 textures.");
- bool clouds = true;
- if (lua_isboolean(L, 5))
- clouds = readParam<bool>(L, 5);
+ skybox_params.clouds = true;
+ if (lua_isboolean(L, 5))
+ skybox_params.clouds = readParam<bool>(L, 5);
- getServer(L)->setSky(player, bgcolor, type, params, clouds);
+ getServer(L)->setSun(player, sun_params);
+ getServer(L)->setMoon(player, moon_params);
+ getServer(L)->setStars(player, star_params);
+ }
+ getServer(L)->setSky(player, skybox_params);
lua_pushboolean(L, true);
return 1;
}
@@ -1747,28 +1869,226 @@ int ObjectRef::l_get_sky(lua_State *L)
NO_MAP_LOCK_REQUIRED;
ObjectRef *ref = checkobject(L, 1);
RemotePlayer *player = getplayer(ref);
- if (player == NULL)
+
+ if (!player)
return 0;
- video::SColor bgcolor(255, 255, 255, 255);
- std::string type;
- std::vector<std::string> params;
- bool clouds;
+ SkyboxParams skybox_params;
+ skybox_params = player->getSkyParams();
- player->getSky(&bgcolor, &type, &params, &clouds);
- type = type.empty() ? "regular" : type;
+ push_ARGB8(L, skybox_params.bgcolor);
+ lua_pushlstring(L, skybox_params.type.c_str(), skybox_params.type.size());
- push_ARGB8(L, bgcolor);
- lua_pushlstring(L, type.c_str(), type.size());
lua_newtable(L);
s16 i = 1;
- for (const std::string &param : params) {
- lua_pushlstring(L, param.c_str(), param.size());
+ for (const std::string& texture : skybox_params.textures) {
+ lua_pushlstring(L, texture.c_str(), texture.size());
lua_rawseti(L, -2, i++);
}
- lua_pushboolean(L, clouds);
+ lua_pushboolean(L, skybox_params.clouds);
return 4;
}
+// get_sky_color(self)
+int ObjectRef::l_get_sky_color(lua_State *L)
+{
+ NO_MAP_LOCK_REQUIRED;
+ ObjectRef *ref = checkobject(L, 1);
+ RemotePlayer *player = getplayer(ref);
+
+ if (!player)
+ return 0;
+
+ const SkyboxParams& skybox_params = player->getSkyParams();
+
+ lua_newtable(L);
+ if (skybox_params.type == "regular") {
+ push_ARGB8(L, skybox_params.sky_color.day_sky);
+ lua_setfield(L, -2, "day_sky");
+ push_ARGB8(L, skybox_params.sky_color.day_horizon);
+ lua_setfield(L, -2, "day_horizon");
+ push_ARGB8(L, skybox_params.sky_color.dawn_sky);
+ lua_setfield(L, -2, "dawn_sky");
+ push_ARGB8(L, skybox_params.sky_color.dawn_horizon);
+ lua_setfield(L, -2, "dawn_horizon");
+ push_ARGB8(L, skybox_params.sky_color.night_sky);
+ lua_setfield(L, -2, "night_sky");
+ push_ARGB8(L, skybox_params.sky_color.night_horizon);
+ lua_setfield(L, -2, "night_horizon");
+ push_ARGB8(L, skybox_params.sky_color.indoors);
+ lua_setfield(L, -2, "indoors");
+ }
+ push_ARGB8(L, skybox_params.sun_tint);
+ lua_setfield(L, -2, "sun_tint");
+ push_ARGB8(L, skybox_params.moon_tint);
+ lua_setfield(L, -2, "moon_tint");
+ lua_pushstring(L, skybox_params.tint_type.c_str());
+ lua_setfield(L, -2, "tint_type");
+ return 1;
+}
+
+// set_sun(self, {visible, texture=, tonemap=, sunrise=, rotation=, scale=})
+int ObjectRef::l_set_sun(lua_State *L)
+{
+ NO_MAP_LOCK_REQUIRED;
+ ObjectRef *ref = checkobject(L, 1);
+ RemotePlayer *player = getplayer(ref);
+ if (!player)
+ return 0;
+
+ if (!lua_istable(L, 2))
+ return 0;
+
+ SunParams sun_params = player->getSunParams();
+
+ sun_params.visible = getboolfield_default(L, 2,
+ "visible", sun_params.visible);
+ sun_params.texture = getstringfield_default(L, 2,
+ "texture", sun_params.texture);
+ sun_params.tonemap = getstringfield_default(L, 2,
+ "tonemap", sun_params.tonemap);
+ sun_params.sunrise = getstringfield_default(L, 2,
+ "sunrise", sun_params.sunrise);
+ sun_params.sunrise_visible = getboolfield_default(L, 2,
+ "sunrise_visible", sun_params.sunrise_visible);
+ sun_params.scale = getfloatfield_default(L, 2,
+ "scale", sun_params.scale);
+
+ getServer(L)->setSun(player, sun_params);
+ lua_pushboolean(L, true);
+ return 1;
+}
+
+//get_sun(self)
+int ObjectRef::l_get_sun(lua_State *L)
+{
+ NO_MAP_LOCK_REQUIRED;
+ ObjectRef *ref = checkobject(L, 1);
+ RemotePlayer *player = getplayer(ref);
+ if (!player)
+ return 0;
+ const SunParams &sun_params = player->getSunParams();
+
+ lua_newtable(L);
+ lua_pushboolean(L, sun_params.visible);
+ lua_setfield(L, -2, "visible");
+ lua_pushstring(L, sun_params.texture.c_str());
+ lua_setfield(L, -2, "texture");
+ lua_pushstring(L, sun_params.tonemap.c_str());
+ lua_setfield(L, -2, "tonemap");
+ lua_pushstring(L, sun_params.sunrise.c_str());
+ lua_setfield(L, -2, "sunrise");
+ lua_pushboolean(L, sun_params.sunrise_visible);
+ lua_setfield(L, -2, "sunrise_visible");
+ lua_pushnumber(L, sun_params.scale);
+ lua_setfield(L, -2, "scale");
+
+ return 1;
+}
+
+// set_moon(self, {visible, texture=, tonemap=, sunrise=, rotation=, scale=})
+int ObjectRef::l_set_moon(lua_State *L)
+{
+ NO_MAP_LOCK_REQUIRED;
+ ObjectRef *ref = checkobject(L, 1);
+ RemotePlayer *player = getplayer(ref);
+ if (!player)
+ return 0;
+ if (!lua_istable(L, 2))
+ return 0;
+
+ MoonParams moon_params = player->getMoonParams();
+
+ moon_params.visible = getboolfield_default(L, 2,
+ "visible", moon_params.visible);
+ moon_params.texture = getstringfield_default(L, 2,
+ "texture", moon_params.texture);
+ moon_params.tonemap = getstringfield_default(L, 2,
+ "tonemap", moon_params.tonemap);
+ moon_params.scale = getfloatfield_default(L, 2,
+ "scale", moon_params.scale);
+
+ getServer(L)->setMoon(player, moon_params);
+ lua_pushboolean(L, true);
+ return 1;
+}
+
+// get_moon(self)
+int ObjectRef::l_get_moon(lua_State *L)
+{
+ NO_MAP_LOCK_REQUIRED;
+ ObjectRef *ref = checkobject(L, 1);
+ RemotePlayer *player = getplayer(ref);
+ if (!player)
+ return 0;
+ const MoonParams &moon_params = player->getMoonParams();
+
+ lua_newtable(L);
+ lua_pushboolean(L, moon_params.visible);
+ lua_setfield(L, -2, "visible");
+ lua_pushstring(L, moon_params.texture.c_str());
+ lua_setfield(L, -2, "texture");
+ lua_pushstring(L, moon_params.tonemap.c_str());
+ lua_setfield(L, -2, "tonemap");
+ lua_pushnumber(L, moon_params.scale);
+ lua_setfield(L, -2, "scale");
+
+ return 1;
+}
+
+// set_stars(self, {visible, count=, starcolor=, rotation=, scale=})
+int ObjectRef::l_set_stars(lua_State *L)
+{
+ NO_MAP_LOCK_REQUIRED;
+ ObjectRef *ref = checkobject(L, 1);
+ RemotePlayer *player = getplayer(ref);
+ if (!player)
+ return 0;
+ if (!lua_istable(L, 2))
+ return 0;
+
+ StarParams star_params = player->getStarParams();
+
+ star_params.visible = getboolfield_default(L, 2,
+ "visible", star_params.visible);
+ star_params.count = getintfield_default(L, 2,
+ "count", star_params.count);
+
+ lua_getfield(L, 2, "star_color");
+ if (!lua_isnil(L, -1))
+ read_color(L, -1, &star_params.starcolor);
+ lua_pop(L, 1);
+
+ star_params.scale = getfloatfield_default(L, 2,
+ "scale", star_params.scale);
+
+ getServer(L)->setStars(player, star_params);
+ lua_pushboolean(L, true);
+ return 1;
+}
+
+// get_stars(self)
+int ObjectRef::l_get_stars(lua_State *L)
+{
+ NO_MAP_LOCK_REQUIRED;
+ ObjectRef *ref = checkobject(L, 1);
+ RemotePlayer *player = getplayer(ref);
+ if (!player)
+ return 0;
+ const StarParams &star_params = player->getStarParams();
+
+ lua_newtable(L);
+ lua_pushboolean(L, star_params.visible);
+ lua_setfield(L, -2, "visible");
+ lua_pushnumber(L, star_params.count);
+ lua_setfield(L, -2, "count");
+ push_ARGB8(L, star_params.starcolor);
+ lua_setfield(L, -2, "star_color");
+ lua_pushnumber(L, star_params.scale);
+ lua_setfield(L, -2, "scale");
+
+ return 1;
+}
+
// set_clouds(self, {density=, color=, ambient=, height=, thickness=, speed=})
int ObjectRef::l_set_clouds(lua_State *L)
{
@@ -2025,6 +2345,13 @@ luaL_Reg ObjectRef::methods[] = {
luamethod(ObjectRef, hud_get_hotbar_selected_image),
luamethod(ObjectRef, set_sky),
luamethod(ObjectRef, get_sky),
+ luamethod(ObjectRef, get_sky_color),
+ luamethod(ObjectRef, set_sun),
+ luamethod(ObjectRef, get_sun),
+ luamethod(ObjectRef, set_moon),
+ luamethod(ObjectRef, get_moon),
+ luamethod(ObjectRef, set_stars),
+ luamethod(ObjectRef, get_stars),
luamethod(ObjectRef, set_clouds),
luamethod(ObjectRef, get_clouds),
luamethod(ObjectRef, override_day_night_ratio),
diff --git a/src/script/lua_api/l_object.h b/src/script/lua_api/l_object.h
index e817e1d33..a75c59fd9 100644
--- a/src/script/lua_api/l_object.h
+++ b/src/script/lua_api/l_object.h
@@ -324,12 +324,33 @@ private:
// hud_get_hotbar_selected_image(self)
static int l_hud_get_hotbar_selected_image(lua_State *L);
- // set_sky(self, bgcolor, type, list, clouds = true)
+ // set_sky({base_color=, type=, textures=, clouds=, sky_colors={}})
static int l_set_sky(lua_State *L);
// get_sky(self)
static int l_get_sky(lua_State *L);
+ // get_sky_color(self)
+ static int l_get_sky_color(lua_State* L);
+
+ // set_sun(self, {visible, texture=, tonemap=, sunrise=, rotation=, scale=})
+ static int l_set_sun(lua_State *L);
+
+ // get_sun(self)
+ static int l_get_sun(lua_State *L);
+
+ // set_moon(self, {visible, texture=, tonemap=, rotation, scale=})
+ static int l_set_moon(lua_State *L);
+
+ // get_moon(self)
+ static int l_get_moon(lua_State *L);
+
+ // set_stars(self, {visible, count=, starcolor=, rotation, scale=})
+ static int l_set_stars(lua_State *L);
+
+ // get_stars(self)
+ static int l_get_stars(lua_State *L);
+
// set_clouds(self, {density=, color=, ambient=, height=, thickness=, speed=})
static int l_set_clouds(lua_State *L);
diff --git a/src/script/lua_api/l_server.cpp b/src/script/lua_api/l_server.cpp
index 7c083e652..00e849cdf 100644
--- a/src/script/lua_api/l_server.cpp
+++ b/src/script/lua_api/l_server.cpp
@@ -429,7 +429,7 @@ int ModApiServer::l_get_worldpath(lua_State *L)
return 1;
}
-// sound_play(spec, parameters)
+// sound_play(spec, parameters, [ephemeral])
int ModApiServer::l_sound_play(lua_State *L)
{
NO_MAP_LOCK_REQUIRED;
@@ -437,8 +437,14 @@ int ModApiServer::l_sound_play(lua_State *L)
read_soundspec(L, 1, spec);
ServerSoundParams params;
read_server_sound_params(L, 2, params);
- s32 handle = getServer(L)->playSound(spec, params);
- lua_pushinteger(L, handle);
+ bool ephemeral = lua_gettop(L) > 2 && readParam<bool>(L, 3);
+ if (ephemeral) {
+ getServer(L)->playSound(spec, params, true);
+ lua_pushnil(L);
+ } else {
+ s32 handle = getServer(L)->playSound(spec, params);
+ lua_pushinteger(L, handle);
+ }
return 1;
}
@@ -446,7 +452,7 @@ int ModApiServer::l_sound_play(lua_State *L)
int ModApiServer::l_sound_stop(lua_State *L)
{
NO_MAP_LOCK_REQUIRED;
- int handle = luaL_checkinteger(L, 1);
+ s32 handle = luaL_checkinteger(L, 1);
getServer(L)->stopSound(handle);
return 0;
}
diff --git a/src/script/lua_api/l_settings.cpp b/src/script/lua_api/l_settings.cpp
index cc2c73789..33eb02392 100644
--- a/src/script/lua_api/l_settings.cpp
+++ b/src/script/lua_api/l_settings.cpp
@@ -20,6 +20,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "lua_api/l_settings.h"
#include "lua_api/l_internal.h"
#include "cpp_api/s_security.h"
+#include "util/string.h" // FlagDesc
#include "settings.h"
#include "noise.h"
#include "log.h"
@@ -128,6 +129,29 @@ int LuaSettings::l_get_np_group(lua_State *L)
return 1;
}
+int LuaSettings::l_get_flags(lua_State *L)
+{
+ NO_MAP_LOCK_REQUIRED;
+ LuaSettings *o = checkobject(L, 1);
+ std::string key = std::string(luaL_checkstring(L, 2));
+
+ u32 flags = 0;
+ auto flagdesc = o->m_settings->getFlagDescFallback(key);
+ if (o->m_settings->getFlagStrNoEx(key, flags, flagdesc)) {
+ lua_newtable(L);
+ int table = lua_gettop(L);
+ for (size_t i = 0; flagdesc[i].name; ++i) {
+ lua_pushboolean(L, flags & flagdesc[i].flag);
+ lua_setfield(L, table, flagdesc[i].name);
+ }
+ lua_pushvalue(L, table);
+ } else {
+ lua_pushnil(L);
+ }
+
+ return 1;
+}
+
// set(self, key, value)
int LuaSettings::l_set(lua_State* L)
{
@@ -305,6 +329,7 @@ const luaL_Reg LuaSettings::methods[] = {
luamethod(LuaSettings, get),
luamethod(LuaSettings, get_bool),
luamethod(LuaSettings, get_np_group),
+ luamethod(LuaSettings, get_flags),
luamethod(LuaSettings, set),
luamethod(LuaSettings, set_bool),
luamethod(LuaSettings, set_np_group),
diff --git a/src/script/lua_api/l_settings.h b/src/script/lua_api/l_settings.h
index dcf39a89e..67d7b342b 100644
--- a/src/script/lua_api/l_settings.h
+++ b/src/script/lua_api/l_settings.h
@@ -42,6 +42,9 @@ private:
// get_np_group(self, key) -> noiseparam
static int l_get_np_group(lua_State *L);
+ // get_flags(self, key) -> key/value table
+ static int l_get_flags(lua_State *L);
+
// set(self, key, value)
static int l_set(lua_State *L);
diff --git a/src/script/lua_api/l_util.cpp b/src/script/lua_api/l_util.cpp
index a58c3a196..ae3e5df3d 100644
--- a/src/script/lua_api/l_util.cpp
+++ b/src/script/lua_api/l_util.cpp
@@ -59,7 +59,7 @@ int ModApiUtil::l_log(lua_State *L)
std::string name = luaL_checkstring(L, 1);
text = luaL_checkstring(L, 2);
if (name == "deprecated") {
- log_deprecated(L, text);
+ log_deprecated(L, text, 2);
return 0;
}
level = Logger::stringToLevel(name);
diff --git a/src/script/scripting_client.cpp b/src/script/scripting_client.cpp
index c3e0ca373..1288b1df7 100644
--- a/src/script/scripting_client.cpp
+++ b/src/script/scripting_client.cpp
@@ -69,6 +69,7 @@ void ClientScripting::InitializeModApi(lua_State *L, int top)
{
LuaItemStack::Register(L);
ItemStackMetaRef::Register(L);
+ LuaRaycast::Register(L);
StorageRef::Register(L);
LuaMinimap::Register(L);
NodeMetaRef::RegisterClient(L);
diff --git a/src/script/scripting_server.cpp b/src/script/scripting_server.cpp
index 2204c6884..cbf229640 100644
--- a/src/script/scripting_server.cpp
+++ b/src/script/scripting_server.cpp
@@ -121,8 +121,3 @@ void ServerScripting::InitializeModApi(lua_State *L, int top)
ModApiStorage::Initialize(L, top);
ModApiChannels::Initialize(L, top);
}
-
-void log_deprecated(const std::string &message)
-{
- log_deprecated(NULL, message);
-}
diff --git a/src/script/scripting_server.h b/src/script/scripting_server.h
index 88cea143c..bf06ab197 100644
--- a/src/script/scripting_server.h
+++ b/src/script/scripting_server.h
@@ -51,5 +51,3 @@ public:
private:
void InitializeModApi(lua_State *L, int top);
};
-
-void log_deprecated(const std::string &message);
diff --git a/src/serialization.cpp b/src/serialization.cpp
index 36ddb467c..310604f54 100644
--- a/src/serialization.cpp
+++ b/src/serialization.cpp
@@ -99,7 +99,7 @@ void compressZlib(const std::string &data, std::ostream &os, int level)
compressZlib((u8*)data.c_str(), data.size(), os, level);
}
-void decompressZlib(std::istream &is, std::ostream &os)
+void decompressZlib(std::istream &is, std::ostream &os, size_t limit)
{
z_stream z;
const s32 bufsize = 16384;
@@ -108,6 +108,7 @@ void decompressZlib(std::istream &is, std::ostream &os)
int status = 0;
int ret;
int bytes_read = 0;
+ int bytes_written = 0;
int input_buffer_len = 0;
z.zalloc = Z_NULL;
@@ -124,8 +125,20 @@ void decompressZlib(std::istream &is, std::ostream &os)
for(;;)
{
+ int output_size = bufsize;
z.next_out = (Bytef*)output_buffer;
- z.avail_out = bufsize;
+ z.avail_out = output_size;
+
+ if (limit) {
+ int limit_remaining = limit - bytes_written;
+ if (limit_remaining <= 0) {
+ // we're aborting ahead of time - throw an error?
+ break;
+ }
+ if (limit_remaining < output_size) {
+ z.avail_out = output_size = limit_remaining;
+ }
+ }
if(z.avail_in == 0)
{
@@ -153,10 +166,11 @@ void decompressZlib(std::istream &is, std::ostream &os)
zerr(status);
throw SerializationError("decompressZlib: inflate failed");
}
- int count = bufsize - z.avail_out;
+ int count = output_size - z.avail_out;
//dstream<<"count="<<count<<std::endl;
if(count)
os.write(output_buffer, count);
+ bytes_written += count;
if(status == Z_STREAM_END)
{
//dstream<<"Z_STREAM_END"<<std::endl;
diff --git a/src/serialization.h b/src/serialization.h
index 7f8b83382..f399983c4 100644
--- a/src/serialization.h
+++ b/src/serialization.h
@@ -87,7 +87,7 @@ inline bool ser_ver_supported(s32 v) {
void compressZlib(const u8 *data, size_t data_size, std::ostream &os, int level = -1);
void compressZlib(const std::string &data, std::ostream &os, int level = -1);
-void decompressZlib(std::istream &is, std::ostream &os);
+void decompressZlib(std::istream &is, std::ostream &os, size_t limit = 0);
// These choose between zlib and a self-made one according to version
void compress(const SharedBuffer<u8> &data, std::ostream &os, u8 version);
diff --git a/src/server.cpp b/src/server.cpp
index d914beead..239ddd92e 100644
--- a/src/server.cpp
+++ b/src/server.cpp
@@ -1018,16 +1018,15 @@ PlayerSAO* Server::StageTwoClientInit(session_t peer_id)
// Send Breath
SendPlayerBreath(playersao);
- Address addr = getPeerAddress(player->getPeerId());
- std::string ip_str = addr.serializeString();
- actionstream<<player->getName() <<" [" << ip_str << "] joins game. " << std::endl;
/*
Print out action
*/
{
+ Address addr = getPeerAddress(player->getPeerId());
+ std::string ip_str = addr.serializeString();
const std::vector<std::string> &names = m_clients.getPlayerNames();
- actionstream << player->getName() << " joins game. List of players: ";
+ actionstream << player->getName() << " [" << ip_str << "] joins game. List of players: ";
for (const std::string &name : names) {
actionstream << name << " ";
@@ -1283,7 +1282,7 @@ bool Server::getClientInfo(
*major = client->getMajor();
*minor = client->getMinor();
*patch = client->getPatch();
- *vers_string = client->getPatch();
+ *vers_string = client->getFull();
m_clients.unlock();
@@ -1654,7 +1653,8 @@ void Server::SendHUDAdd(session_t peer_id, u32 id, HudElement *form)
pkt << id << (u8) form->type << form->pos << form->name << form->scale
<< form->text << form->number << form->item << form->dir
- << form->align << form->offset << form->world_pos << form->size;
+ << form->align << form->offset << form->world_pos << form->size
+ << form->z_index;
Send(&pkt);
}
@@ -1717,17 +1717,62 @@ void Server::SendHUDSetParam(session_t peer_id, u16 param, const std::string &va
Send(&pkt);
}
-void Server::SendSetSky(session_t peer_id, const video::SColor &bgcolor,
- const std::string &type, const std::vector<std::string> &params,
- bool &clouds)
+void Server::SendSetSky(session_t peer_id, const SkyboxParams &params)
{
NetworkPacket pkt(TOCLIENT_SET_SKY, 0, peer_id);
- pkt << bgcolor << type << (u16) params.size();
- for (const std::string &param : params)
- pkt << param;
+ // Handle prior clients here
+ if (m_clients.getProtocolVersion(peer_id) < 39) {
+ pkt << params.bgcolor << params.type << (u16) params.textures.size();
+
+ for (const std::string& texture : params.textures)
+ pkt << texture;
+
+ pkt << params.clouds;
+ } else { // Handle current clients and future clients
+ pkt << params.bgcolor << params.type
+ << params.clouds << params.sun_tint
+ << params.moon_tint << params.tint_type;
+
+ if (params.type == "skybox") {
+ pkt << (u16) params.textures.size();
+ for (const std::string &texture : params.textures)
+ pkt << texture;
+ } else if (params.type == "regular") {
+ pkt << params.sky_color.day_sky << params.sky_color.day_horizon
+ << params.sky_color.dawn_sky << params.sky_color.dawn_horizon
+ << params.sky_color.night_sky << params.sky_color.night_horizon
+ << params.sky_color.indoors;
+ }
+ }
+
+ Send(&pkt);
+}
+
+void Server::SendSetSun(session_t peer_id, const SunParams &params)
+{
+ NetworkPacket pkt(TOCLIENT_SET_SUN, 0, peer_id);
+ pkt << params.visible << params.texture
+ << params.tonemap << params.sunrise
+ << params.sunrise_visible << params.scale;
+
+ Send(&pkt);
+}
+void Server::SendSetMoon(session_t peer_id, const MoonParams &params)
+{
+ NetworkPacket pkt(TOCLIENT_SET_MOON, 0, peer_id);
- pkt << clouds;
+ pkt << params.visible << params.texture
+ << params.tonemap << params.scale;
+
+ Send(&pkt);
+}
+void Server::SendSetStars(session_t peer_id, const StarParams &params)
+{
+ NetworkPacket pkt(TOCLIENT_SET_STARS, 0, peer_id);
+
+ pkt << params.visible << params.count
+ << params.starcolor << params.scale;
Send(&pkt);
}
@@ -1767,10 +1812,7 @@ void Server::SendTimeOfDay(session_t peer_id, u16 time, f32 time_speed)
void Server::SendPlayerHP(session_t peer_id)
{
PlayerSAO *playersao = getPlayerSAO(peer_id);
- // In some rare case if the player is disconnected
- // while Lua call l_punch, for example, this can be NULL
- if (!playersao)
- return;
+ assert(playersao);
SendHP(peer_id, playersao->getHP());
m_script->player_event(playersao,"health_changed");
@@ -2012,8 +2054,18 @@ void Server::SendPlayerSpeed(session_t peer_id, const v3f &added_vel)
Send(&pkt);
}
+inline s32 Server::nextSoundId()
+{
+ s32 ret = m_next_sound_id;
+ if (m_next_sound_id == INT32_MAX)
+ m_next_sound_id = 0; // signed overflow is undefined
+ else
+ m_next_sound_id++;
+ return ret;
+}
+
s32 Server::playSound(const SimpleSoundSpec &spec,
- const ServerSoundParams &params)
+ const ServerSoundParams &params, bool ephemeral)
{
// Find out initial position of sound
bool pos_exists = false;
@@ -2024,7 +2076,7 @@ s32 Server::playSound(const SimpleSoundSpec &spec,
// Filter destination clients
std::vector<session_t> dst_clients;
- if(!params.to_player.empty()) {
+ if (!params.to_player.empty()) {
RemotePlayer *player = m_env->getPlayer(params.to_player.c_str());
if(!player){
infostream<<"Server::playSound: Player \""<<params.to_player
@@ -2044,6 +2096,9 @@ s32 Server::playSound(const SimpleSoundSpec &spec,
RemotePlayer *player = m_env->getPlayer(client_id);
if (!player)
continue;
+ if (!params.exclude_player.empty() &&
+ params.exclude_player == player->getName())
+ continue;
PlayerSAO *sao = player->getPlayerSAO();
if (!sao)
@@ -2062,27 +2117,32 @@ s32 Server::playSound(const SimpleSoundSpec &spec,
return -1;
// Create the sound
- s32 id = m_next_sound_id++;
- // The sound will exist as a reference in m_playing_sounds
- m_playing_sounds[id] = ServerPlayingSound();
- ServerPlayingSound &psound = m_playing_sounds[id];
- psound.params = params;
- psound.spec = spec;
+ s32 id;
+ ServerPlayingSound *psound = nullptr;
+ if (ephemeral) {
+ id = -1; // old clients will still use this, so pick a reserved ID
+ } else {
+ id = nextSoundId();
+ // The sound will exist as a reference in m_playing_sounds
+ m_playing_sounds[id] = ServerPlayingSound();
+ psound = &m_playing_sounds[id];
+ psound->params = params;
+ psound->spec = spec;
+ }
float gain = params.gain * spec.gain;
NetworkPacket pkt(TOCLIENT_PLAY_SOUND, 0);
pkt << id << spec.name << gain
<< (u8) params.type << pos << params.object
- << params.loop << params.fade << params.pitch;
+ << params.loop << params.fade << params.pitch
+ << ephemeral;
- // Backwards compability
- bool play_sound = gain > 0;
+ bool as_reliable = !ephemeral;
for (const u16 dst_client : dst_clients) {
- if (play_sound || m_clients.getProtocolVersion(dst_client) >= 32) {
- psound.clients.insert(dst_client);
- m_clients.send(dst_client, 0, &pkt, true);
- }
+ if (psound)
+ psound->clients.insert(dst_client);
+ m_clients.send(dst_client, 0, &pkt, as_reliable);
}
return id;
}
@@ -2682,10 +2742,7 @@ void Server::sendDetachedInventories(session_t peer_id, bool incremental)
void Server::DiePlayer(session_t peer_id, const PlayerHPChangeReason &reason)
{
PlayerSAO *playersao = getPlayerSAO(peer_id);
- // In some rare cases this can be NULL -- if the player is disconnected
- // when a Lua function modifies l_punch, for example
- if (!playersao)
- return;
+ assert(playersao);
infostream << "Server::DiePlayer(): Player "
<< playersao->getPlayer()->getName()
@@ -3307,13 +3364,32 @@ void Server::setPlayerEyeOffset(RemotePlayer *player, const v3f &first, const v3
SendEyeOffset(player->getPeerId(), first, third);
}
-void Server::setSky(RemotePlayer *player, const video::SColor &bgcolor,
- const std::string &type, const std::vector<std::string> &params,
- bool &clouds)
+void Server::setSky(RemotePlayer *player, const SkyboxParams &params)
+{
+ sanity_check(player);
+ player->setSky(params);
+ SendSetSky(player->getPeerId(), params);
+}
+
+void Server::setSun(RemotePlayer *player, const SunParams &params)
+{
+ sanity_check(player);
+ player->setSun(params);
+ SendSetSun(player->getPeerId(), params);
+}
+
+void Server::setMoon(RemotePlayer *player, const MoonParams &params)
+{
+ sanity_check(player);
+ player->setMoon(params);
+ SendSetMoon(player->getPeerId(), params);
+}
+
+void Server::setStars(RemotePlayer *player, const StarParams &params)
{
sanity_check(player);
- player->setSky(bgcolor, type, params, clouds);
- SendSetSky(player->getPeerId(), bgcolor, type, params, clouds);
+ player->setStars(params);
+ SendSetStars(player->getPeerId(), params);
}
void Server::setClouds(RemotePlayer *player, const CloudParams &params)
diff --git a/src/server.h b/src/server.h
index d61840871..680de57b5 100644
--- a/src/server.h
+++ b/src/server.h
@@ -61,6 +61,10 @@ class ServerScripting;
class ServerEnvironment;
struct SimpleSoundSpec;
struct CloudParams;
+struct SkyboxParams;
+struct SunParams;
+struct MoonParams;
+struct StarParams;
class ServerThread;
class ServerModManager;
@@ -98,6 +102,7 @@ struct ServerSoundParams
v3f pos;
u16 object = 0;
std::string to_player = "";
+ std::string exclude_player = "";
v3f getPos(ServerEnvironment *env, bool *pos_exists) const;
};
@@ -209,7 +214,8 @@ public:
// Returns -1 if failed, sound handle on success
// Envlock
- s32 playSound(const SimpleSoundSpec &spec, const ServerSoundParams &params);
+ s32 playSound(const SimpleSoundSpec &spec, const ServerSoundParams &params,
+ bool ephemeral=false);
void stopSound(s32 handle);
void fadeSound(s32 handle, float step, float gain);
@@ -305,9 +311,11 @@ public:
f32 frame_speed);
void setPlayerEyeOffset(RemotePlayer *player, const v3f &first, const v3f &third);
- void setSky(RemotePlayer *player, const video::SColor &bgcolor,
- const std::string &type, const std::vector<std::string> &params,
- bool &clouds);
+ void setSky(RemotePlayer *player, const SkyboxParams &params);
+ void setSun(RemotePlayer *player, const SunParams &params);
+ void setMoon(RemotePlayer *player, const MoonParams &params);
+ void setStars(RemotePlayer *player, const StarParams &params);
+
void setClouds(RemotePlayer *player, const CloudParams &params);
bool overrideDayNightRatio(RemotePlayer *player, bool do_override, float brightness);
@@ -411,9 +419,10 @@ private:
void SendHUDChange(session_t peer_id, u32 id, HudElementStat stat, void *value);
void SendHUDSetFlags(session_t peer_id, u32 flags, u32 mask);
void SendHUDSetParam(session_t peer_id, u16 param, const std::string &value);
- void SendSetSky(session_t peer_id, const video::SColor &bgcolor,
- const std::string &type, const std::vector<std::string> &params,
- bool &clouds);
+ void SendSetSky(session_t peer_id, const SkyboxParams &params);
+ void SendSetSun(session_t peer_id, const SunParams &params);
+ void SendSetMoon(session_t peer_id, const MoonParams &params);
+ void SendSetStars(session_t peer_id, const StarParams &params);
void SendCloudParams(session_t peer_id, const CloudParams &params);
void SendOverrideDayNightRatio(session_t peer_id, bool do_override, float ratio);
void broadcastModChannelMessage(const std::string &channel,
@@ -646,7 +655,8 @@ private:
Sounds
*/
std::unordered_map<s32, ServerPlayingSound> m_playing_sounds;
- s32 m_next_sound_id = 0;
+ s32 m_next_sound_id = 0; // positive values only
+ s32 nextSoundId();
/*
Detached inventories (behind m_env_mutex)
diff --git a/src/serverenvironment.h b/src/serverenvironment.h
index cc4ecd797..3c7b7d059 100644
--- a/src/serverenvironment.h
+++ b/src/serverenvironment.h
@@ -358,6 +358,7 @@ public:
RemotePlayer *getPlayer(const session_t peer_id);
RemotePlayer *getPlayer(const char* name);
+ const std::vector<RemotePlayer *> getPlayers() const { return m_players; }
u32 getPlayerCount() const { return m_players.size(); }
static bool migratePlayersDatabase(const GameParams &game_params,
diff --git a/src/serverlist.cpp b/src/serverlist.cpp
index 7d3ab4bbb..18264e933 100644
--- a/src/serverlist.cpp
+++ b/src/serverlist.cpp
@@ -155,6 +155,16 @@ std::vector<ServerListSpec> deSerialize(const std::string &liststring)
server["address"] = tmp;
std::getline(stream, tmp);
server["port"] = tmp;
+ bool unique = true;
+ for (const ServerListSpec &added : serverlist) {
+ if (server["name"] == added["name"]
+ && server["port"] == added["port"]) {
+ unique = false;
+ break;
+ }
+ }
+ if (!unique)
+ continue;
std::getline(stream, tmp);
server["description"] = tmp;
serverlist.push_back(server);
diff --git a/src/settings.cpp b/src/settings.cpp
index c1fe41fa3..55404319e 100644
--- a/src/settings.cpp
+++ b/src/settings.cpp
@@ -484,12 +484,33 @@ v3f Settings::getV3F(const std::string &name) const
u32 Settings::getFlagStr(const std::string &name, const FlagDesc *flagdesc,
u32 *flagmask) const
{
- std::string val = get(name);
- return std::isdigit(val[0])
- ? stoi(val)
- : readFlagString(val, flagdesc, flagmask);
-}
+ u32 flags = 0;
+ u32 mask_default = 0;
+
+ std::string value;
+ // Read default value (if there is any)
+ if (getDefaultNoEx(name, value)) {
+ flags = std::isdigit(value[0])
+ ? stoi(value)
+ : readFlagString(value, flagdesc, &mask_default);
+ }
+
+ // Apply custom flags "on top"
+ value = get(name);
+ u32 flags_user;
+ u32 mask_user = U32_MAX;
+ flags_user = std::isdigit(value[0])
+ ? stoi(value) // Override default
+ : readFlagString(value, flagdesc, &mask_user);
+
+ flags &= ~mask_user;
+ flags |= flags_user;
+
+ if (flagmask)
+ *flagmask = mask_default | mask_user;
+ return flags;
+}
// N.B. if getStruct() is used to read a non-POD aggregate type,
// the behavior is undefined.
@@ -736,19 +757,16 @@ bool Settings::getV3FNoEx(const std::string &name, v3f &val) const
}
-// N.B. getFlagStrNoEx() does not set val, but merely modifies it. Thus,
-// val must be initialized before using getFlagStrNoEx(). The intention of
-// this is to simplify modifying a flags field from a default value.
bool Settings::getFlagStrNoEx(const std::string &name, u32 &val,
- FlagDesc *flagdesc) const
+ const FlagDesc *flagdesc) const
{
- try {
- u32 flags, flagmask;
-
- flags = getFlagStr(name, flagdesc, &flagmask);
+ if (!flagdesc) {
+ if (!(flagdesc = getFlagDescFallback(name)))
+ return false; // Not found
+ }
- val &= ~flagmask;
- val |= flags;
+ try {
+ val = getFlagStr(name, flagdesc, nullptr);
return true;
} catch (SettingNotFoundException &e) {
@@ -873,6 +891,11 @@ bool Settings::setV3F(const std::string &name, v3f value)
bool Settings::setFlagStr(const std::string &name, u32 flags,
const FlagDesc *flagdesc, u32 flagmask)
{
+ if (!flagdesc) {
+ if (!(flagdesc = getFlagDescFallback(name)))
+ return false; // Not found
+ }
+
return set(name, writeFlagString(flags, flagdesc, flagmask));
}
@@ -1018,6 +1041,42 @@ void Settings::clearDefaultsNoLock()
m_defaults.clear();
}
+void Settings::setDefault(const std::string &name, const FlagDesc *flagdesc,
+ u32 flags)
+{
+ m_flags[name] = flagdesc;
+ setDefault(name, writeFlagString(flags, flagdesc, U32_MAX));
+}
+
+void Settings::overrideDefaults(Settings *other)
+{
+ for (const auto &setting : other->m_settings) {
+ if (setting.second.is_group) {
+ setGroupDefault(setting.first, setting.second.group);
+ continue;
+ }
+ const FlagDesc *flagdesc = getFlagDescFallback(setting.first);
+ if (flagdesc) {
+ // Flags cannot be copied directly.
+ // 1) Get the current set flags
+ u32 flags = getFlagStr(setting.first, flagdesc, nullptr);
+ // 2) Set the flags as defaults
+ other->setDefault(setting.first, flagdesc, flags);
+ // 3) Get the newly set flags and override the default setting value
+ setDefault(setting.first, flagdesc,
+ other->getFlagStr(setting.first, flagdesc, nullptr));
+ continue;
+ }
+ // Also covers FlagDesc settings
+ setDefault(setting.first, setting.second.value);
+ }
+}
+
+const FlagDesc *Settings::getFlagDescFallback(const std::string &name) const
+{
+ auto it = m_flags.find(name);
+ return it == m_flags.end() ? nullptr : it->second;
+}
void Settings::registerChangedCallback(const std::string &name,
SettingsChangedCallback cbf, void *userdata)
diff --git a/src/settings.h b/src/settings.h
index 329a61140..0c9a155db 100644
--- a/src/settings.h
+++ b/src/settings.h
@@ -174,10 +174,12 @@ public:
bool getFloatNoEx(const std::string &name, float &val) const;
bool getV2FNoEx(const std::string &name, v2f &val) const;
bool getV3FNoEx(const std::string &name, v3f &val) const;
- // N.B. getFlagStrNoEx() does not set val, but merely modifies it. Thus,
- // val must be initialized before using getFlagStrNoEx(). The intention of
- // this is to simplify modifying a flags field from a default value.
- bool getFlagStrNoEx(const std::string &name, u32 &val, FlagDesc *flagdesc) const;
+
+ // Like other getters, but handling each flag individualy:
+ // 1) Read default flags (or 0)
+ // 2) Override using user-defined flags
+ bool getFlagStrNoEx(const std::string &name, u32 &val,
+ const FlagDesc *flagdesc) const;
/***********
@@ -201,7 +203,7 @@ public:
bool setV2F(const std::string &name, v2f value);
bool setV3F(const std::string &name, v3f value);
bool setFlagStr(const std::string &name, u32 flags,
- const FlagDesc *flagdesc, u32 flagmask);
+ const FlagDesc *flagdesc = nullptr, u32 flagmask = U32_MAX);
bool setNoiseParams(const std::string &name, const NoiseParams &np,
bool set_default=false);
// N.B. if setStruct() is used to write a non-POD aggregate type,
@@ -215,6 +217,15 @@ public:
void updateValue(const Settings &other, const std::string &name);
void update(const Settings &other);
+ /**************
+ * Miscellany *
+ **************/
+
+ void setDefault(const std::string &name, const FlagDesc *flagdesc, u32 flags);
+ // Takes the provided setting values and uses them as new defaults
+ void overrideDefaults(Settings *other);
+ const FlagDesc *getFlagDescFallback(const std::string &name) const;
+
void registerChangedCallback(const std::string &name,
SettingsChangedCallback cbf, void *userdata = NULL);
void deregisterChangedCallback(const std::string &name,
@@ -229,6 +240,7 @@ private:
SettingEntries m_settings;
SettingEntries m_defaults;
+ std::unordered_map<std::string, const FlagDesc *> m_flags;
SettingsCallbackMap m_callbacks;
diff --git a/src/settings_translation_file.cpp b/src/settings_translation_file.cpp
index eea045ae3..9156580c0 100644
--- a/src/settings_translation_file.cpp
+++ b/src/settings_translation_file.cpp
@@ -198,7 +198,7 @@ fake_function() {
gettext("In-Game");
gettext("Basic");
gettext("VBO");
- gettext("Enable VBO");
+ gettext("Enable vertex buffer objects.\nThis should greatly improve graphics performance.");
gettext("Fog");
gettext("Whether to fog out the end of the visible area.");
gettext("Leaves style");
@@ -239,7 +239,7 @@ fake_function() {
gettext("Path to shader directory. If no path is defined, default location will be used.");
gettext("Tone Mapping");
gettext("Filmic tone mapping");
- gettext("Enables filmic tone mapping");
+ gettext("Enables Hable's 'Uncharted 2' filmic tone mapping.\nSimulates the tone curve of photographic film and how this approximates the\nappearance of high dynamic range images. Mid-range contrast is slightly\nenhanced, highlights and shadows are gradually compressed.");
gettext("Bumpmapping");
gettext("Bumpmapping");
gettext("Enables bumpmapping for textures. Normalmaps need to be supplied by the texture pack\nor need to be auto-generated.\nRequires shaders to be enabled.");
@@ -263,15 +263,18 @@ fake_function() {
gettext("Parallax occlusion bias");
gettext("Overall bias of parallax occlusion effect, usually scale/2.");
gettext("Waving Nodes");
- gettext("Waving water");
- gettext("Set to true enables waving water.\nRequires shaders to be enabled.");
- gettext("Waving water wave height");
- gettext("Waving water wavelength");
- gettext("Waving water wave speed");
+ gettext("Waving liquids");
+ gettext("Set to true to enable waving liquids (like water).\nRequires shaders to be enabled.");
+ gettext("Waving liquids wave height");
+ gettext("The maximum height of the surface of waving liquids.\n4.0 = Wave height is two nodes.\n0.0 = Wave doesn't move at all.\nDefault is 1.0 (1/2 node).\nRequires waving liquids to be enabled.");
+ gettext("Waving liquids wavelength");
+ gettext("Length of liquid waves.\nRequires waving liquids to be enabled.");
+ gettext("Waving liquids wave speed");
+ gettext("How fast liquid waves will move. Higher = faster.\nIf negative, liquid waves will move backwards.\nRequires waving liquids to be enabled.");
gettext("Waving leaves");
- gettext("Set to true enables waving leaves.\nRequires shaders to be enabled.");
+ gettext("Set to true to enable waving leaves.\nRequires shaders to be enabled.");
gettext("Waving plants");
- gettext("Set to true enables waving plants.\nRequires shaders to be enabled.");
+ gettext("Set to true to enable waving plants.\nRequires shaders to be enabled.");
gettext("Advanced");
gettext("Arm inertia");
gettext("Arm inertia, gives a more realistic movement of\nthe arm when the camera moves.");
@@ -283,8 +286,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 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("Near plane");
+ gettext("Camera 'near clipping plane' distance in nodes, between 0 and 0.25\nOnly works on GLES platforms. Most 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");
@@ -299,18 +302,18 @@ fake_function() {
gettext("Vertical screen synchronization.");
gettext("Field of view");
gettext("Field of view in degrees.");
- gettext("Gamma");
- gettext("Adjust the gamma encoding for the light tables. Higher numbers are brighter.\nThis setting is for the client only and is ignored by the server.");
- gettext("Darkness sharpness");
- gettext("Gradient of light curve at minimum light level.");
- gettext("Lightness sharpness");
- gettext("Gradient of light curve at maximum light level.");
- gettext("Light curve mid boost");
- gettext("Strength of light curve mid-boost.");
- gettext("Light curve mid boost center");
- gettext("Center of light curve mid-boost.");
- gettext("Light curve mid boost spread");
- gettext("Spread of light curve mid-boost.\nStandard deviation of the mid-boost gaussian.");
+ gettext("Light curve gamma");
+ gettext("Alters the light curve by applying 'gamma correction' to it.\nHigher values make middle and lower light levels brighter.\nValue '1.0' leaves the light curve unaltered.\nThis only has significant effect on daylight and artificial\nlight, it has very little effect on natural night light.");
+ gettext("Light curve low gradient");
+ gettext("Gradient of light curve at minimum light level.\nControls the contrast of the lowest light levels.");
+ gettext("Light curve high gradient");
+ gettext("Gradient of light curve at maximum light level.\nControls the contrast of the highest light levels.");
+ gettext("Light curve boost");
+ gettext("Strength of light curve boost.\nThe 3 'boost' parameters define a range of the light\ncurve that is boosted in brightness.");
+ gettext("Light curve boost center");
+ gettext("Center of light curve boost range.\nWhere 0.0 is minimum light level, 1.0 is maximum light level.");
+ gettext("Light curve boost spread");
+ gettext("Spread of light curve boost range.\nControls the width of the range to be boosted.\nStandard deviation of the light curve boost Gaussian.");
gettext("Texture path");
gettext("Path to texture directory. All textures are first searched from here.");
gettext("Video driver");
@@ -364,7 +367,7 @@ fake_function() {
gettext("Round minimap");
gettext("Shape of the minimap. Enabled = round, disabled = square.");
gettext("Minimap scan height");
- gettext("True = 256\nFalse = 128\nUseable to make minimap smoother on slower machines.");
+ gettext("True = 256\nFalse = 128\nUsable to make minimap smoother on slower machines.");
gettext("Colored fog");
gettext("Make fog and sky colors depend on daytime (dawn/sunset) and view direction.");
gettext("Ambient occlusion gamma");
@@ -395,21 +398,35 @@ fake_function() {
gettext("Append item name");
gettext("Append item name to tooltip.");
gettext("FreeType fonts");
- gettext("Whether FreeType fonts are used, requires FreeType support to be compiled in.");
- gettext("Font path");
- gettext("Path to TrueTypeFont or bitmap.");
- gettext("Font size");
+ gettext("Whether FreeType fonts are used, requires FreeType support to be compiled in.\nIf disabled, bitmap and XML vectors fonts are used instead.");
+ gettext("Font bold by default");
+ gettext("Font italic by default");
gettext("Font shadow");
- gettext("Font shadow offset, if 0 then shadow will not be drawn.");
+ gettext("Shadow offset (in pixels) of the default font. If 0, then shadow will not be drawn.");
gettext("Font shadow alpha");
- gettext("Font shadow alpha (opaqueness, between 0 and 255).");
- gettext("Monospace font path");
+ gettext("Opaqueness (alpha) of the shadow behind the default font, between 0 and 255.");
+ gettext("Font size");
+ gettext("Font size of the default font in point (pt).");
+ gettext("Regular font path");
+ gettext("Path to the default font.\nIf “freetype†setting is enabled: Must be a TrueType font.\nIf “freetype†setting is disabled: Must be a bitmap or XML vectors font.\nThe fallback font will be used if the font cannot be loaded.");
+ gettext("Bold font path");
+ gettext("Italic font path");
+ gettext("Bold and italic font path");
gettext("Monospace font size");
- gettext("Fallback font");
- gettext("This font will be used for certain languages.");
+ gettext("Font size of the monospace font in point (pt).");
+ gettext("Monospace font path");
+ gettext("Path to the monospace font.\nIf “freetype†setting is enabled: Must be a TrueType font.\nIf “freetype†setting is disabled: Must be a bitmap or XML vectors font.\nThis font is used for e.g. the console and profiler screen.");
+ gettext("Bold monospace font path");
+ gettext("Italic monospace font path");
+ gettext("Bold and italic monospace font path");
gettext("Fallback font size");
+ gettext("Font size of the fallback font in point (pt).");
gettext("Fallback font shadow");
+ gettext("Shadow offset (in pixels) of the fallback font. If 0, then shadow will not be drawn.");
gettext("Fallback font shadow alpha");
+ gettext("Opaqueness (alpha) of the shadow behind the fallback font, between 0 and 255.");
+ gettext("Fallback font path");
+ gettext("Path of the fallback font.\nIf “freetype†setting is enabled: Must be a TrueType font.\nIf “freetype†setting is disabled: Must be a bitmap or XML vectors font.\nThis font will be used for certain languages or if the default font is unavailable.");
gettext("Screenshot folder");
gettext("Path to save screenshots at.");
gettext("Screenshot format");
@@ -423,8 +440,11 @@ fake_function() {
gettext("Windows systems only: Start Minetest with the command line window in the background.\nContains the same information as the file debug.txt (default name).");
gettext("Sound");
gettext("Sound");
+ gettext("Enables the sound system.\nIf disabled, this completely disables all sounds everywhere and the in-game\nsound controls will be non-functional.\nChanging this setting requires a restart.");
gettext("Volume");
+ gettext("Volume of all sounds.\nRequires the sound system to be enabled.");
gettext("Mute sound");
+ gettext("Whether to mute sounds. You can unmute sounds at any time, unless the\nsound system is disabled (enable_sound=false).\nIn-game, you can toggle the mute state with the mute key or by using the\npause menu.");
gettext("Client");
gettext("Network");
gettext("Server address");
@@ -477,7 +497,7 @@ fake_function() {
gettext("Remote media");
gettext("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).\nFiles that are not present will be fetched the usual way.");
gettext("IPv6 server");
- gettext("Enable/disable running an IPv6 server.\nIgnored if bind_address is set.");
+ gettext("Enable/disable running an IPv6 server.\nIgnored if bind_address is set.\nNeeds enable_ipv6 to be enabled.");
gettext("Advanced");
gettext("Maximum simultaneous block sends per client");
gettext("Maximum number of blocks that are simultaneously sent per client.\nThe maximum total count is calculated dynamically:\nmax_total = ceil((#clients + max_users) * per_client / 4)");
@@ -572,16 +592,16 @@ fake_function() {
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("Decrease this to increase liquid resistance to movement.");
gettext("Liquid fluidity smoothing");
- gettext("Maximum liquid resistence. Controls deceleration when entering liquid at\nhigh speed.");
+ gettext("Maximum liquid resistance. 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).");
+ 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).");
gettext("Max. clearobjects extra blocks");
gettext("Number of extra blocks that can be loaded by /clearobjects at once.\nThis is a trade-off between sqlite transaction overhead and\nmemory consumption (4096=100MB, as a rule of thumb).");
gettext("Unload unused server data");
@@ -655,7 +675,7 @@ fake_function() {
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("Enable IPv6 support (for both client and server).\nRequired for IPv6 connections to work at all.");
gettext("Advanced");
gettext("cURL timeout");
gettext("Default timeout for cURL, stated in milliseconds.\nOnly has an effect if compiled with cURL.");
@@ -695,11 +715,19 @@ fake_function() {
gettext("Mapgen V5 specific flags");
gettext("Map generation attributes specific to Mapgen v5.");
gettext("Cave width");
- gettext("Controls width of tunnels, a smaller value creates wider tunnels.");
+ gettext("Controls width of tunnels, a smaller value creates wider tunnels.\nValue >= 10.0 completely disables generation of tunnels and avoids the\nintensive noise calculations.");
gettext("Large cave depth");
gettext("Y of upper limit of large caves.");
- gettext("Lava depth");
- gettext("Deprecated, define and locate cave liquids using biome definitions instead.\nY of upper limit of lava in large caves.");
+ gettext("Small cave minimum number");
+ gettext("Minimum limit of random number of small caves per mapchunk.");
+ gettext("Small cave maximum number");
+ gettext("Maximum limit of random number of small caves per mapchunk.");
+ gettext("Large cave minimum number");
+ gettext("Minimum limit of random number of large caves per mapchunk.");
+ gettext("Large cave maximum number");
+ gettext("Maximum limit of random number of large caves per mapchunk.");
+ gettext("Large cave proportion flooded");
+ gettext("Proportion of large caves that contain liquid.");
gettext("Cavern limit");
gettext("Y-level of cavern upper limit.");
gettext("Cavern taper");
@@ -767,21 +795,19 @@ fake_function() {
gettext("Mountain zero level");
gettext("Y of mountain density gradient zero level. Used to shift mountains vertically.");
gettext("Cave width");
- gettext("Controls width of tunnels, a smaller value creates wider tunnels.");
+ gettext("Controls width of tunnels, a smaller value creates wider tunnels.\nValue >= 10.0 completely disables generation of tunnels and avoids the\nintensive noise calculations.");
gettext("Large cave depth");
gettext("Y of upper limit of large caves.");
- gettext("Lava depth");
- 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");
- gettext("Typical maximum height, above and below midpoint, of floatland mountains.");
- gettext("Floatland mountain exponent");
- gettext("Alters how mountain-type floatlands taper above and below midpoint.");
- gettext("Floatland level");
- gettext("Y-level of floatland midpoint and lake surface.");
- gettext("Shadow limit");
- gettext("Y-level to which floatland shadows extend.");
+ gettext("Small cave minimum number");
+ gettext("Minimum limit of random number of small caves per mapchunk.");
+ gettext("Small cave maximum number");
+ gettext("Maximum limit of random number of small caves per mapchunk.");
+ gettext("Large cave minimum number");
+ gettext("Minimum limit of random number of large caves per mapchunk.");
+ gettext("Large cave maximum number");
+ gettext("Maximum limit of random number of large caves per mapchunk.");
+ gettext("Large cave proportion flooded");
+ gettext("Proportion of large caves that contain liquid.");
gettext("Cavern limit");
gettext("Y-level of cavern upper limit.");
gettext("Cavern taper");
@@ -807,10 +833,6 @@ fake_function() {
gettext("Variation of maximum mountain height (in nodes).");
gettext("Ridge underwater noise");
gettext("Defines large-scale river channel structure.");
- gettext("Floatland base noise");
- gettext("Defines areas of floatland smooth terrain.\nSmooth floatlands occur when noise > 0.");
- gettext("Floatland base height noise");
- gettext("Variation of hill height and lake depth on floatland smooth terrain.");
gettext("Mountain noise");
gettext("3D noise defining mountain structure and height.\nAlso defines structure of floatland mountain terrain.");
gettext("Ridge noise");
@@ -835,11 +857,19 @@ fake_function() {
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("Controls width of tunnels, a smaller value creates wider tunnels.\nValue >= 10.0 completely disables generation of tunnels and avoids the\nintensive noise calculations.");
gettext("Large cave depth");
gettext("Y of upper limit of large caves.");
- gettext("Lava depth");
- gettext("Deprecated, define and locate cave liquids using biome definitions instead.\nY of upper limit of lava in large caves.");
+ gettext("Small cave minimum number");
+ gettext("Minimum limit of random number of small caves per mapchunk.");
+ gettext("Small cave maximum number");
+ gettext("Maximum limit of random number of small caves per mapchunk.");
+ gettext("Large cave minimum number");
+ gettext("Minimum limit of random number of large caves per mapchunk.");
+ gettext("Large cave maximum number");
+ gettext("Maximum limit of random number of large caves per mapchunk.");
+ gettext("Large cave proportion flooded");
+ gettext("Proportion of large caves that contain liquid.");
gettext("Cavern limit");
gettext("Y-level of cavern upper limit.");
gettext("Cavern taper");
@@ -887,15 +917,23 @@ fake_function() {
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.");
+ gettext("Map generation attributes specific to Mapgen Flat.\nOccasional lakes and hills can be added to the flat world.");
gettext("Ground level");
gettext("Y of flat ground.");
gettext("Large cave depth");
gettext("Y of upper limit of large caves.");
- gettext("Lava depth");
- gettext("Deprecated, define and locate cave liquids using biome definitions instead.\nY of upper limit of lava in large caves.");
+ gettext("Small cave minimum number");
+ gettext("Minimum limit of random number of small caves per mapchunk.");
+ gettext("Small cave maximum number");
+ gettext("Maximum limit of random number of small caves per mapchunk.");
+ gettext("Large cave minimum number");
+ gettext("Minimum limit of random number of large caves per mapchunk.");
+ gettext("Large cave maximum number");
+ gettext("Maximum limit of random number of large caves per mapchunk.");
+ gettext("Large cave proportion flooded");
+ gettext("Proportion of large caves that contain liquid.");
gettext("Cave width");
- gettext("Controls width of tunnels, a smaller value creates wider tunnels.");
+ gettext("Controls width of tunnels, a smaller value creates wider tunnels.\nValue >= 10.0 completely disables generation of tunnels and avoids the\nintensive noise calculations.");
gettext("Lake threshold");
gettext("Terrain noise threshold for lakes.\nControls proportion of world area covered by lakes.\nAdjust towards 0.0 for a larger proportion.");
gettext("Lake steepness");
@@ -921,25 +959,33 @@ fake_function() {
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("Map generation attributes specific to Mapgen Fractal.\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("Controls width of tunnels, a smaller value creates wider tunnels.\nValue >= 10.0 completely disables generation of tunnels and avoids the\nintensive noise calculations.");
gettext("Large cave depth");
gettext("Y of upper limit of large caves.");
- gettext("Lava depth");
- gettext("Deprecated, define and locate cave liquids using biome definitions instead.\nY of upper limit of lava in large caves.");
+ gettext("Small cave minimum number");
+ gettext("Minimum limit of random number of small caves per mapchunk.");
+ gettext("Small cave maximum number");
+ gettext("Maximum limit of random number of small caves per mapchunk.");
+ gettext("Large cave minimum number");
+ gettext("Minimum limit of random number of large caves per mapchunk.");
+ gettext("Large cave maximum number");
+ gettext("Maximum limit of random number of large caves per mapchunk.");
+ gettext("Large cave proportion flooded");
+ gettext("Proportion of large caves that contain liquid.");
gettext("Dungeon minimum Y");
gettext("Lower Y limit of dungeons.");
gettext("Dungeon maximum Y");
gettext("Upper Y limit of dungeons.");
gettext("Fractal type");
- gettext("Selects one of 18 fractal types.\n1 = 4D \"Roundy\" mandelbrot set.\n2 = 4D \"Roundy\" julia set.\n3 = 4D \"Squarry\" mandelbrot set.\n4 = 4D \"Squarry\" julia set.\n5 = 4D \"Mandy Cousin\" mandelbrot set.\n6 = 4D \"Mandy Cousin\" julia set.\n7 = 4D \"Variation\" mandelbrot set.\n8 = 4D \"Variation\" julia set.\n9 = 3D \"Mandelbrot/Mandelbar\" mandelbrot set.\n10 = 3D \"Mandelbrot/Mandelbar\" julia set.\n11 = 3D \"Christmas Tree\" mandelbrot set.\n12 = 3D \"Christmas Tree\" julia set.\n13 = 3D \"Mandelbulb\" mandelbrot set.\n14 = 3D \"Mandelbulb\" julia set.\n15 = 3D \"Cosine Mandelbulb\" mandelbrot set.\n16 = 3D \"Cosine Mandelbulb\" julia set.\n17 = 4D \"Mandelbulb\" mandelbrot set.\n18 = 4D \"Mandelbulb\" julia set.");
+ gettext("Selects one of 18 fractal types.\n1 = 4D \"Roundy\" Mandelbrot set.\n2 = 4D \"Roundy\" Julia set.\n3 = 4D \"Squarry\" Mandelbrot set.\n4 = 4D \"Squarry\" Julia set.\n5 = 4D \"Mandy Cousin\" Mandelbrot set.\n6 = 4D \"Mandy Cousin\" Julia set.\n7 = 4D \"Variation\" Mandelbrot set.\n8 = 4D \"Variation\" Julia set.\n9 = 3D \"Mandelbrot/Mandelbar\" Mandelbrot set.\n10 = 3D \"Mandelbrot/Mandelbar\" Julia set.\n11 = 3D \"Christmas Tree\" Mandelbrot set.\n12 = 3D \"Christmas Tree\" Julia set.\n13 = 3D \"Mandelbulb\" Mandelbrot set.\n14 = 3D \"Mandelbulb\" Julia set.\n15 = 3D \"Cosine Mandelbulb\" Mandelbrot set.\n16 = 3D \"Cosine Mandelbulb\" Julia set.\n17 = 4D \"Mandelbulb\" Mandelbrot set.\n18 = 4D \"Mandelbulb\" Julia set.");
gettext("Iterations");
gettext("Iterations of the recursive function.\nIncreasing this increases the amount of fine detail, but also\nincreases processing load.\nAt iterations = 20 this mapgen has a similar load to mapgen V7.");
gettext("Scale");
gettext("(X,Y,Z) scale of fractal in nodes.\nActual fractal size will be 2 to 3 times larger.\nThese numbers can be made very large, the fractal does\nnot have to fit inside the world.\nIncrease these to 'zoom' into the detail of the fractal.\nDefault is for a vertically-squashed shape suitable for\nan island, set all 3 numbers equal for the raw shape.");
gettext("Offset");
- gettext("(X,Y,Z) offset of fractal from world center in units of 'scale'.\nCan be used to move a desired point to (0, 0) to create a\nsuitable spawn point, or to allow 'zooming in' on a desired\npoint by increasing 'scale'.\nThe default is tuned for a suitable spawn point for mandelbrot\nsets with default parameters, it may need altering in other\nsituations.\nRange roughly -2 to 2. Multiply by 'scale' for offset in nodes.");
+ gettext("(X,Y,Z) offset of fractal from world center in units of 'scale'.\nCan be used to move a desired point to (0, 0) to create a\nsuitable spawn point, or to allow 'zooming in' on a desired\npoint by increasing 'scale'.\nThe default is tuned for a suitable spawn point for Mandelbrot\nsets with default parameters, it may need altering in other\nsituations.\nRange roughly -2 to 2. Multiply by 'scale' for offset in nodes.");
gettext("Slice w");
gettext("W coordinate of the generated 3D slice of a 4D fractal.\nDetermines which 3D slice of the 4D shape is generated.\nAlters the shape of the fractal.\nHas no effect on 3D fractals.\nRange roughly -2 to 2.");
gettext("Julia x");
@@ -968,8 +1014,16 @@ fake_function() {
gettext("The vertical distance over which heat drops by 20 if 'altitude_chill' is\nenabled. Also the vertical distance over which humidity drops by 10 if\n'altitude_dry' is enabled.");
gettext("Large cave depth");
gettext("Depth below which you'll find large caves.");
- gettext("Lava depth");
- gettext("Deprecated, define and locate cave liquids using biome definitions instead.\nY of upper limit of lava in large caves.");
+ gettext("Small cave minimum number");
+ gettext("Minimum limit of random number of small caves per mapchunk.");
+ gettext("Small cave maximum number");
+ gettext("Maximum limit of random number of small caves per mapchunk.");
+ gettext("Large cave minimum number");
+ gettext("Minimum limit of random number of large caves per mapchunk.");
+ gettext("Large cave maximum number");
+ gettext("Maximum limit of random number of large caves per mapchunk.");
+ gettext("Large cave proportion flooded");
+ gettext("Proportion of large caves that contain liquid.");
gettext("Cavern upper limit");
gettext("Depth below which you'll find giant caverns.");
gettext("Cavern taper");
@@ -981,7 +1035,7 @@ fake_function() {
gettext("River size");
gettext("How wide to make rivers.");
gettext("Cave width");
- gettext("Controls width of tunnels, a smaller value creates wider tunnels.");
+ gettext("Controls width of tunnels, a smaller value creates wider tunnels.\nValue >= 10.0 completely disables generation of tunnels and avoids the\nintensive noise calculations.");
gettext("Dungeon minimum Y");
gettext("Lower Y limit of dungeons.");
gettext("Dungeon maximum Y");
diff --git a/src/skyparams.h b/src/skyparams.h
new file mode 100644
index 000000000..9fdfd89da
--- /dev/null
+++ b/src/skyparams.h
@@ -0,0 +1,121 @@
+/*
+Minetest
+Copyright (C) 2019 Jordach, Jordan Snelling <jordach.snelling@gmail.com>
+
+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
+
+struct SkyColor
+{
+ video::SColor day_sky;
+ video::SColor day_horizon;
+ video::SColor dawn_sky;
+ video::SColor dawn_horizon;
+ video::SColor night_sky;
+ video::SColor night_horizon;
+ video::SColor indoors;
+};
+
+struct SkyboxParams
+{
+ video::SColor bgcolor;
+ std::string type;
+ std::vector<std::string> textures;
+ bool clouds;
+ SkyColor sky_color;
+ video::SColor sun_tint;
+ video::SColor moon_tint;
+ std::string tint_type;
+};
+
+struct SunParams
+{
+ bool visible;
+ std::string texture;
+ std::string tonemap;
+ std::string sunrise;
+ bool sunrise_visible;
+ f32 scale;
+};
+
+struct MoonParams
+{
+ bool visible;
+ std::string texture;
+ std::string tonemap;
+ f32 scale;
+};
+
+struct StarParams
+{
+ bool visible;
+ u32 count;
+ video::SColor starcolor;
+ f32 scale;
+};
+
+// Utility class for setting default sky, sun, moon, stars values:
+class SkyboxDefaults
+{
+public:
+ const SkyColor getSkyColorDefaults()
+ {
+ SkyColor sky;
+ // Horizon colors
+ sky.day_horizon = video::SColor(255, 155, 193, 240);
+ sky.indoors = video::SColor(255, 100, 100, 100);
+ sky.dawn_horizon = video::SColor(255, 186, 193, 240);
+ sky.night_horizon = video::SColor(255, 64, 144, 255);
+ // Sky colors
+ sky.day_sky = video::SColor(255, 140, 186, 250);
+ sky.dawn_sky = video::SColor(255, 180, 186, 250);
+ sky.night_sky = video::SColor(255, 0, 107, 255);
+ return sky;
+ }
+
+ const SunParams getSunDefaults()
+ {
+ SunParams sun;
+ sun.visible = true;
+ sun.sunrise_visible = true;
+ sun.texture = "sun.png";
+ sun.tonemap = "sun_tonemap.png";
+ sun.sunrise = "sunrisebg.png";
+ sun.scale = 1;
+ return sun;
+ }
+
+ const MoonParams getMoonDefaults()
+ {
+ MoonParams moon;
+ moon.visible = true;
+ moon.texture = "moon.png";
+ moon.tonemap = "moon_tonemap.png";
+ moon.scale = 1;
+ return moon;
+ }
+
+ const StarParams getStarDefaults()
+ {
+ StarParams stars;
+ stars.visible = true;
+ stars.count = 1000;
+ stars.starcolor = video::SColor(105, 235, 235, 255);
+ stars.scale = 1;
+ return stars;
+ }
+};
diff --git a/src/threading/semaphore.cpp b/src/threading/semaphore.cpp
index 77ceff509..ce22dcd05 100644
--- a/src/threading/semaphore.cpp
+++ b/src/threading/semaphore.cpp
@@ -140,22 +140,27 @@ bool Semaphore::wait(unsigned int time_ms)
errno = EINVAL;
}
# else
- struct timespec wait_time;
- struct timeval now;
+ int ret;
+ if (time_ms > 0) {
+ struct timespec wait_time;
+ struct timeval now;
- if (gettimeofday(&now, NULL) == -1) {
- std::cerr << "Semaphore::wait(ms): Unable to get time with gettimeofday!" << std::endl;
- abort();
- }
+ if (gettimeofday(&now, NULL) == -1) {
+ std::cerr << "Semaphore::wait(ms): Unable to get time with gettimeofday!" << std::endl;
+ abort();
+ }
- wait_time.tv_nsec = ((time_ms % 1000) * 1000 * 1000) + (now.tv_usec * 1000);
- wait_time.tv_sec = (time_ms / 1000) + (wait_time.tv_nsec / (1000 * 1000 * 1000)) + now.tv_sec;
- wait_time.tv_nsec %= 1000 * 1000 * 1000;
+ wait_time.tv_nsec = ((time_ms % 1000) * 1000 * 1000) + (now.tv_usec * 1000);
+ wait_time.tv_sec = (time_ms / 1000) + (wait_time.tv_nsec / (1000 * 1000 * 1000)) + now.tv_sec;
+ wait_time.tv_nsec %= 1000 * 1000 * 1000;
- int ret = sem_timedwait(&semaphore, &wait_time);
+ ret = sem_timedwait(&semaphore, &wait_time);
+ } else {
+ ret = sem_trywait(&semaphore);
+ }
# endif
- assert(!ret || (errno == ETIMEDOUT || errno == EINTR));
+ assert(!ret || (errno == ETIMEDOUT || errno == EINTR || errno == EAGAIN));
return !ret;
#endif
}
diff --git a/src/unittest/test_compression.cpp b/src/unittest/test_compression.cpp
index 7d0378131..dfcadd4b2 100644
--- a/src/unittest/test_compression.cpp
+++ b/src/unittest/test_compression.cpp
@@ -37,6 +37,8 @@ public:
void testRLECompression();
void testZlibCompression();
void testZlibLargeData();
+ void testZlibLimit();
+ void _testZlibLimit(u32 size, u32 limit);
};
static TestCompression g_test_instance;
@@ -46,6 +48,7 @@ void TestCompression::runTests(IGameDef *gamedef)
TEST(testRLECompression);
TEST(testZlibCompression);
TEST(testZlibLargeData);
+ TEST(testZlibLimit);
}
////////////////////////////////////////////////////////////////////////////////
@@ -170,3 +173,63 @@ void TestCompression::testZlibLargeData()
i, str_decompressed[i], i, data_in[i]);
}
}
+
+void TestCompression::testZlibLimit()
+{
+ // edge cases
+ _testZlibLimit(1024, 1023);
+ _testZlibLimit(1024, 1024);
+ _testZlibLimit(1024, 1025);
+
+ // test around buffer borders
+ u32 bufsize = 16384; // as in implementation
+ for (int s = -1; s <= 1; s++)
+ {
+ for (int l = -1; l <= 1; l++)
+ {
+ _testZlibLimit(bufsize + s, bufsize + l);
+ }
+ }
+ // span multiple buffers
+ _testZlibLimit(35000, 22000);
+ _testZlibLimit(22000, 35000);
+}
+
+void TestCompression::_testZlibLimit(u32 size, u32 limit)
+{
+ infostream << "Test: Testing zlib wrappers with a decompression "
+ "memory limit of " << limit << std::endl;
+
+ infostream << "Test: Input size of compressZlib for limit is "
+ << size << std::endl;
+
+ // how much data we expect to get
+ u32 expected = size < limit ? size : limit;
+
+ // create recognizable data
+ std::string data_in;
+ data_in.resize(size);
+ for (u32 i = 0; i < size; i++)
+ data_in[i] = (u8)(i % 256);
+
+ std::ostringstream os_compressed(std::ios::binary);
+ compressZlib(data_in, os_compressed);
+ infostream << "Test: Output size of compressZlib for limit is "
+ << os_compressed.str().size()<<std::endl;
+
+ std::istringstream is_compressed(os_compressed.str(), std::ios::binary);
+ std::ostringstream os_decompressed(std::ios::binary);
+ decompressZlib(is_compressed, os_decompressed, limit);
+ infostream << "Test: Output size of decompressZlib with limit is "
+ << os_decompressed.str().size() << std::endl;
+
+ std::string str_decompressed = os_decompressed.str();
+ UASSERTEQ(size_t, str_decompressed.size(), expected);
+
+ for (u32 i = 0; i < size && i < str_decompressed.size(); i++) {
+ UTEST(str_decompressed[i] == data_in[i],
+ "index out[%i]=%i differs from in[%i]=%i",
+ i, str_decompressed[i], i, data_in[i]);
+ }
+}
+
diff --git a/src/unittest/test_settings.cpp b/src/unittest/test_settings.cpp
index b2666559e..aa56f3e06 100644
--- a/src/unittest/test_settings.cpp
+++ b/src/unittest/test_settings.cpp
@@ -31,6 +31,7 @@ public:
void runTests(IGameDef *gamedef);
void testAllSettings();
+ void testFlagDesc();
static const char *config_text_before;
static const std::string config_text_after;
@@ -41,6 +42,7 @@ static TestSettings g_test_instance;
void TestSettings::runTests(IGameDef *gamedef)
{
TEST(testAllSettings);
+ TEST(testFlagDesc);
}
////////////////////////////////////////////////////////////////////////////////
@@ -206,3 +208,38 @@ void TestSettings::testAllSettings()
UASSERT(!"Setting not found!");
}
}
+
+void TestSettings::testFlagDesc()
+{
+ Settings s;
+ FlagDesc flagdesc[] = {
+ { "biomes", 0x01 },
+ { "trees", 0x02 },
+ { "jungles", 0x04 },
+ { "oranges", 0x08 },
+ { "tables", 0x10 },
+ { nullptr, 0 }
+ };
+
+ // Enabled: biomes, jungles, oranges (default)
+ s.setDefault("test_desc", flagdesc, readFlagString(
+ "biomes,notrees,jungles,oranges", flagdesc, nullptr));
+ UASSERT(s.getFlagStr("test_desc", flagdesc, nullptr) == (0x01 | 0x04 | 0x08));
+
+ // Enabled: jungles, oranges, tables
+ s.set("test_desc", "nobiomes,tables");
+ UASSERT(s.getFlagStr("test_desc", flagdesc, nullptr) == (0x04 | 0x08 | 0x10));
+
+ // Enabled: (nothing)
+ s.set("test_desc", "nobiomes,nojungles,nooranges,notables");
+ UASSERT(s.getFlagStr("test_desc", flagdesc, nullptr) == 0x00);
+
+ // Numeric flag tests (override)
+ // Enabled: trees, tables
+ s.setDefault("test_flags", flagdesc, 0x02 | 0x10);
+ UASSERT(s.getFlagStr("test_flags", flagdesc, nullptr) == (0x02 | 0x10));
+
+ // Enabled: tables
+ s.set("test_flags", "16");
+ UASSERT(s.getFlagStr("test_flags", flagdesc, nullptr) == 0x10);
+}
diff --git a/src/unittest/test_utilities.cpp b/src/unittest/test_utilities.cpp
index 8e8958d18..447b591e1 100644
--- a/src/unittest/test_utilities.cpp
+++ b/src/unittest/test_utilities.cpp
@@ -20,6 +20,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "test.h"
#include <cmath>
+#include "util/enriched_string.h"
#include "util/numeric.h"
#include "util/string.h"
@@ -49,6 +50,7 @@ public:
void testUTF8();
void testRemoveEscapes();
void testWrapRows();
+ void testEnrichedString();
void testIsNumber();
void testIsPowerOfTwo();
void testMyround();
@@ -79,6 +81,7 @@ void TestUtilities::runTests(IGameDef *gamedef)
TEST(testUTF8);
TEST(testRemoveEscapes);
TEST(testWrapRows);
+ TEST(testEnrichedString);
TEST(testIsNumber);
TEST(testIsPowerOfTwo);
TEST(testMyround);
@@ -344,6 +347,23 @@ void TestUtilities::testWrapRows()
}
}
+void TestUtilities::testEnrichedString()
+{
+ EnrichedString str(L"Test bar");
+ irr::video::SColor color(0xFF, 0, 0, 0xFF);
+
+ UASSERT(str.substr(1, 3).getString() == L"est");
+ str += L" BUZZ";
+ UASSERT(str.substr(9, std::string::npos).getString() == L"BUZZ");
+ str.setDefaultColor(color); // Blue foreground
+ UASSERT(str.getColors()[5] == color);
+ // Green background, then white and yellow text
+ str = L"\x1b(b@#0F0)Regular \x1b(c@#FF0)yellow";
+ UASSERT(str.getColors()[2] == 0xFFFFFFFF);
+ str.setDefaultColor(color); // Blue foreground
+ UASSERT(str.getColors()[13] == 0xFFFFFF00); // Still yellow text
+ UASSERT(str.getBackground() == 0xFF00FF00); // Green background
+}
void TestUtilities::testIsNumber()
{
diff --git a/src/util/enriched_string.cpp b/src/util/enriched_string.cpp
index 642188a52..762d094eb 100644
--- a/src/util/enriched_string.cpp
+++ b/src/util/enriched_string.cpp
@@ -19,7 +19,9 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "enriched_string.h"
#include "util/string.h"
+#include "debug.h"
#include "log.h"
+
using namespace irr::video;
EnrichedString::EnrichedString()
@@ -28,10 +30,12 @@ EnrichedString::EnrichedString()
}
EnrichedString::EnrichedString(const std::wstring &string,
- const std::vector<SColor> &colors):
- m_string(string),
- m_colors(colors)
-{}
+ const std::vector<SColor> &colors)
+{
+ clear();
+ m_string = string;
+ m_colors = colors;
+}
EnrichedString::EnrichedString(const std::wstring &s, const SColor &color)
{
@@ -45,15 +49,28 @@ EnrichedString::EnrichedString(const wchar_t *str, const SColor &color)
addAtEnd(translate_string(std::wstring(str)), color);
}
+void EnrichedString::clear()
+{
+ m_string.clear();
+ m_colors.clear();
+ m_has_background = false;
+ m_default_length = 0;
+ m_default_color = irr::video::SColor(255, 255, 255, 255);
+ m_background = irr::video::SColor(0, 0, 0, 0);
+}
+
void EnrichedString::operator=(const wchar_t *str)
{
clear();
- addAtEnd(translate_string(std::wstring(str)), SColor(255, 255, 255, 255));
+ addAtEnd(translate_string(std::wstring(str)), m_default_color);
}
void EnrichedString::addAtEnd(const std::wstring &s, const SColor &initial_color)
{
SColor color(initial_color);
+ bool use_default = (m_default_length == m_string.size() &&
+ color == m_default_color);
+
size_t i = 0;
while (i < s.length()) {
if (s[i] != L'\x1b') {
@@ -90,6 +107,12 @@ void EnrichedString::addAtEnd(const std::wstring &s, const SColor &initial_color
continue;
}
parseColorString(wide_to_utf8(parts[1]), color, true);
+
+ // No longer use default color after first escape
+ if (use_default) {
+ m_default_length = m_string.size();
+ use_default = false;
+ }
} else if (parts[0] == L"b") {
if (parts.size() < 2) {
continue;
@@ -98,6 +121,10 @@ void EnrichedString::addAtEnd(const std::wstring &s, const SColor &initial_color
m_has_background = true;
}
}
+
+ // Update if no escape character was found
+ if (use_default)
+ m_default_length = m_string.size();
}
void EnrichedString::addChar(const EnrichedString &source, size_t i)
@@ -110,7 +137,7 @@ void EnrichedString::addCharNoColor(wchar_t c)
{
m_string += c;
if (m_colors.empty()) {
- m_colors.emplace_back(255, 255, 255, 255);
+ m_colors.emplace_back(m_default_color);
} else {
m_colors.push_back(m_colors[m_colors.size() - 1]);
}
@@ -118,35 +145,44 @@ void EnrichedString::addCharNoColor(wchar_t c)
EnrichedString EnrichedString::operator+(const EnrichedString &other) const
{
- std::vector<SColor> result;
- result.insert(result.end(), m_colors.begin(), m_colors.end());
- result.insert(result.end(), other.m_colors.begin(), other.m_colors.end());
- return EnrichedString(m_string + other.m_string, result);
+ EnrichedString result = *this;
+ result += other;
+ return result;
}
void EnrichedString::operator+=(const EnrichedString &other)
{
+ bool update_default_color = m_default_length == m_string.size();
+
m_string += other.m_string;
m_colors.insert(m_colors.end(), other.m_colors.begin(), other.m_colors.end());
+
+ if (update_default_color) {
+ m_default_length += other.m_default_length;
+ updateDefaultColor();
+ }
}
EnrichedString EnrichedString::substr(size_t pos, size_t len) const
{
- if (pos == m_string.length()) {
+ if (pos >= m_string.length())
return EnrichedString();
- }
- if (len == std::string::npos || pos + len > m_string.length()) {
- return EnrichedString(
- m_string.substr(pos, std::string::npos),
- std::vector<SColor>(m_colors.begin() + pos, m_colors.end())
- );
- }
- return EnrichedString(
+ if (len == std::string::npos || pos + len > m_string.length())
+ len = m_string.length() - pos;
+
+ EnrichedString str(
m_string.substr(pos, len),
std::vector<SColor>(m_colors.begin() + pos, m_colors.begin() + pos + len)
);
+ str.m_has_background = m_has_background;
+ str.m_background = m_background;
+
+ if (pos < m_default_length)
+ str.m_default_length = std::min(m_default_length - pos, str.size());
+ str.setDefaultColor(m_default_color);
+ return str;
}
const wchar_t *EnrichedString::c_str() const
@@ -163,3 +199,17 @@ const std::wstring &EnrichedString::getString() const
{
return m_string;
}
+
+void EnrichedString::setDefaultColor(const irr::video::SColor &color)
+{
+ m_default_color = color;
+ updateDefaultColor();
+}
+
+void EnrichedString::updateDefaultColor()
+{
+ sanity_check(m_default_length <= m_colors.size());
+
+ for (size_t i = 0; i < m_default_length; ++i)
+ m_colors[i] = m_default_color;
+}
diff --git a/src/util/enriched_string.h b/src/util/enriched_string.h
index 202d84cb0..c8a095887 100644
--- a/src/util/enriched_string.h
+++ b/src/util/enriched_string.h
@@ -32,6 +32,7 @@ public:
const irr::video::SColor &color = irr::video::SColor(255, 255, 255, 255));
EnrichedString(const std::wstring &string,
const std::vector<irr::video::SColor> &colors);
+ void clear();
void operator=(const wchar_t *str);
void addAtEnd(const std::wstring &s, const irr::video::SColor &color);
@@ -50,6 +51,14 @@ public:
const wchar_t *c_str() const;
const std::vector<irr::video::SColor> &getColors() const;
const std::wstring &getString() const;
+
+ void setDefaultColor(const irr::video::SColor &color);
+ void updateDefaultColor();
+ inline const irr::video::SColor &getDefaultColor() const
+ {
+ return m_default_color;
+ }
+
inline bool operator==(const EnrichedString &other) const
{
return (m_string == other.m_string && m_colors == other.m_colors);
@@ -58,12 +67,6 @@ public:
{
return !(*this == other);
}
- inline void clear()
- {
- m_string.clear();
- m_colors.clear();
- m_has_background = false;
- }
inline bool empty() const
{
return m_string.empty();
@@ -72,6 +75,7 @@ public:
{
return m_string.size();
}
+
inline bool hasBackground() const
{
return m_has_background;
@@ -80,9 +84,19 @@ public:
{
return m_background;
}
+ inline void setBackground(const irr::video::SColor &color)
+ {
+ m_background = color;
+ m_has_background = true;
+ }
+
private:
std::wstring m_string;
std::vector<irr::video::SColor> m_colors;
- bool m_has_background = false;
+ bool m_has_background;
+ irr::video::SColor m_default_color;
irr::video::SColor m_background;
+ // This variable defines the length of the default-colored text.
+ // Change this to a std::vector if an "end coloring" tag is wanted.
+ size_t m_default_length = 0;
};
diff --git a/src/util/string.cpp b/src/util/string.cpp
index 388e8d293..e6c52585d 100644
--- a/src/util/string.cpp
+++ b/src/util/string.cpp
@@ -79,6 +79,13 @@ bool convert(const char *to, const char *from, char *outbuf,
return true;
}
+#ifdef __ANDROID__
+// Android need manual caring to support the full character set possible with wchar_t
+const char *DEFAULT_ENCODING = "UTF-32LE";
+#else
+const char *DEFAULT_ENCODING = "WCHAR_T";
+#endif
+
std::wstring utf8_to_wide(const std::string &input)
{
size_t inbuf_size = input.length() + 1;
@@ -90,7 +97,12 @@ std::wstring utf8_to_wide(const std::string &input)
char *outbuf = new char[outbuf_size];
memset(outbuf, 0, outbuf_size);
- if (!convert("WCHAR_T", "UTF-8", outbuf, outbuf_size, inbuf, inbuf_size)) {
+#ifdef __ANDROID__
+ // Android need manual caring to support the full character set possible with wchar_t
+ SANITY_CHECK(sizeof(wchar_t) == 4);
+#endif
+
+ if (!convert(DEFAULT_ENCODING, "UTF-8", outbuf, outbuf_size, inbuf, inbuf_size)) {
infostream << "Couldn't convert UTF-8 string 0x" << hex_encode(input)
<< " into wstring" << std::endl;
delete[] inbuf;
@@ -105,13 +117,6 @@ std::wstring utf8_to_wide(const std::string &input)
return out;
}
-#ifdef __ANDROID__
-// TODO: this is an ugly fix for wide_to_utf8 somehow not working on android
-std::string wide_to_utf8(const std::wstring &input)
-{
- return wide_to_narrow(input);
-}
-#else
std::string wide_to_utf8(const std::wstring &input)
{
size_t inbuf_size = (input.length() + 1) * sizeof(wchar_t);
@@ -123,7 +128,7 @@ std::string wide_to_utf8(const std::wstring &input)
char *outbuf = new char[outbuf_size];
memset(outbuf, 0, outbuf_size);
- if (!convert("UTF-8", "WCHAR_T", outbuf, outbuf_size, inbuf, inbuf_size)) {
+ if (!convert("UTF-8", DEFAULT_ENCODING, outbuf, outbuf_size, inbuf, inbuf_size)) {
infostream << "Couldn't convert wstring 0x" << hex_encode(inbuf, inbuf_size)
<< " into UTF-8 string" << std::endl;
delete[] inbuf;
@@ -138,7 +143,6 @@ std::string wide_to_utf8(const std::wstring &input)
return out;
}
-#endif
#else // _WIN32
std::wstring utf8_to_wide(const std::string &input)
@@ -183,7 +187,7 @@ wchar_t *utf8_to_wide_c(const char *str)
// The returned string is allocated using new
wchar_t *narrow_to_wide_c(const char *str)
{
- wchar_t *nstr = NULL;
+ wchar_t *nstr = nullptr;
#if defined(_WIN32)
int nResult = MultiByteToWideChar(CP_UTF8, 0, (LPCSTR) str, -1, 0, 0);
if (nResult == 0) {
@@ -204,67 +208,8 @@ wchar_t *narrow_to_wide_c(const char *str)
return nstr;
}
-
-#ifdef __ANDROID__
-
-const wchar_t* wide_chars =
- L" !\"#$%&'()*+,-./0123456789:;<=>?@"
- L"ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`"
- L"abcdefghijklmnopqrstuvwxyz{|}~";
-
-int wctomb(char *s, wchar_t wc)
-{
- for (unsigned int j = 0; j < (sizeof(wide_chars)/sizeof(wchar_t));j++) {
- if (wc == wide_chars[j]) {
- *s = (char) (j+32);
- return 1;
- }
- else if (wc == L'\n') {
- *s = '\n';
- return 1;
- }
- }
- return -1;
-}
-
-int mbtowc(wchar_t *pwc, const char *s, size_t n)
-{
- std::wstring intermediate = narrow_to_wide(s);
-
- if (intermediate.length() > 0) {
- *pwc = intermediate[0];
- return 1;
- }
- else {
- return -1;
- }
-}
-
std::wstring narrow_to_wide(const std::string &mbs) {
size_t wcl = mbs.size();
-
- std::wstring retval = L"";
-
- for (unsigned int i = 0; i < wcl; i++) {
- if (((unsigned char) mbs[i] >31) &&
- ((unsigned char) mbs[i] < 127)) {
-
- retval += wide_chars[(unsigned char) mbs[i] -32];
- }
- //handle newline
- else if (mbs[i] == '\n') {
- retval += L'\n';
- }
- }
-
- return retval;
-}
-
-#else // not Android
-
-std::wstring narrow_to_wide(const std::string &mbs)
-{
- size_t wcl = mbs.size();
Buffer<wchar_t> wcs(wcl + 1);
size_t len = mbstowcs(*wcs, mbs.c_str(), wcl);
if (len == (size_t)(-1))
@@ -273,37 +218,6 @@ std::wstring narrow_to_wide(const std::string &mbs)
return *wcs;
}
-#endif
-
-#ifdef __ANDROID__
-
-std::string wide_to_narrow(const std::wstring &wcs) {
- size_t mbl = wcs.size()*4;
-
- std::string retval = "";
- for (unsigned int i = 0; i < wcs.size(); i++) {
- wchar_t char1 = (wchar_t) wcs[i];
-
- if (char1 == L'\n') {
- retval += '\n';
- continue;
- }
-
- for (unsigned int j = 0; j < wcslen(wide_chars);j++) {
- wchar_t char2 = (wchar_t) wide_chars[j];
-
- if (char1 == char2) {
- char toadd = (j+32);
- retval += toadd;
- break;
- }
- }
- }
-
- return retval;
-}
-
-#else // not Android
std::string wide_to_narrow(const std::wstring &wcs)
{
@@ -317,7 +231,6 @@ std::string wide_to_narrow(const std::wstring &wcs)
return *mbs;
}
-#endif
std::string urlencode(const std::string &str)
{
@@ -361,10 +274,10 @@ u32 readFlagString(std::string str, const FlagDesc *flagdesc, u32 *flagmask)
u32 mask = 0;
char *s = &str[0];
char *flagstr;
- char *strpos = NULL;
+ char *strpos = nullptr;
while ((flagstr = strtok_r(s, ",", &strpos))) {
- s = NULL;
+ s = nullptr;
while (*flagstr == ' ' || *flagstr == '\t')
flagstr++;
@@ -436,7 +349,7 @@ char *mystrtok_r(char *s, const char *sep, char **lasts)
s++;
if (!*s)
- return NULL;
+ return nullptr;
t = s;
while (*t) {
diff --git a/src/util/string.h b/src/util/string.h
index ab9a4a6c8..0d2a6bdb2 100644
--- a/src/util/string.h
+++ b/src/util/string.h
@@ -20,6 +20,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#pragma once
#include "irrlichttypes_bloated.h"
+#include "irrString.h"
#include <cstdlib>
#include <string>
#include <cstring>
@@ -723,3 +724,21 @@ inline std::string str_join(const std::vector<std::string> &list,
}
return oss.str();
}
+
+/**
+ * Create a UTF8 std::string from a irr::core::stringw.
+ */
+inline std::string stringw_to_utf8(const irr::core::stringw &input)
+{
+ std::wstring str(input.c_str());
+ return wide_to_utf8(str);
+}
+
+ /**
+ * Create a irr::core:stringw from a UTF8 std::string.
+ */
+inline irr::core::stringw utf8_to_stringw(const std::string &input)
+{
+ std::wstring str = utf8_to_wide(input);
+ return irr::core::stringw(str.c_str());
+}
diff --git a/textures/base/pack/bubble.png b/textures/base/pack/bubble.png
new file mode 100644
index 000000000..799327c61
--- /dev/null
+++ b/textures/base/pack/bubble.png
Binary files differ
diff --git a/games/minimal/mods/default/textures/crack_anylength.png b/textures/base/pack/crack_anylength.png
index d9b49f911..d9b49f911 100644
--- a/games/minimal/mods/default/textures/crack_anylength.png
+++ b/textures/base/pack/crack_anylength.png
Binary files differ
diff --git a/textures/base/pack/heart.png b/textures/base/pack/heart.png
new file mode 100644
index 000000000..13db59be4
--- /dev/null
+++ b/textures/base/pack/heart.png
Binary files differ
diff --git a/textures/base/pack/wieldhand.png b/textures/base/pack/wieldhand.png
new file mode 100644
index 000000000..ff2283afa
--- /dev/null
+++ b/textures/base/pack/wieldhand.png
Binary files differ
diff --git a/util/buildbot/buildwin32.sh b/util/buildbot/buildwin32.sh
index a57aa7f3c..090ac7b0d 100755
--- a/util/buildbot/buildwin32.sh
+++ b/util/buildbot/buildwin32.sh
@@ -20,26 +20,24 @@ packagedir=$builddir/packages
libdir=$builddir/libs
# 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
+which i586-mingw32msvc-windres &>/dev/null && toolchain_file=$dir/toolchain_i586-mingw32msvc.cmake
+which i686-w64-mingw32-windres &>/dev/null && toolchain_file=$dir/toolchain_i646-w64-mingw32.cmake
-if [ -z "$toolchain_file" ]
-then
+if [ -z "$toolchain_file" ]; then
echo "Unable to determine which mingw32 compiler to use"
exit 1
-else
- echo "Using $toolchain_file"
fi
+echo "Using $toolchain_file"
irrlicht_version=1.8.4
ogg_version=1.3.2
vorbis_version=1.3.5
curl_version=7.65.3
-gettext_version=0.19.8.1
-freetype_version=2.9.1
+gettext_version=0.20.1
+freetype_version=2.10.1
sqlite3_version=3.27.2
luajit_version=2.1.0-beta3
-leveldb_version=1.20
+leveldb_version=1.22
zlib_version=1.2.11
mkdir -p $packagedir
diff --git a/util/buildbot/buildwin64.sh b/util/buildbot/buildwin64.sh
index 92715fa64..b24a478d8 100755
--- a/util/buildbot/buildwin64.sh
+++ b/util/buildbot/buildwin64.sh
@@ -24,11 +24,11 @@ irrlicht_version=1.8.4
ogg_version=1.3.2
vorbis_version=1.3.5
curl_version=7.65.3
-gettext_version=0.19.8.1
-freetype_version=2.9.1
+gettext_version=0.20.1
+freetype_version=2.10.1
sqlite3_version=3.27.2
luajit_version=2.1.0-beta3
-leveldb_version=1.20
+leveldb_version=1.22
zlib_version=1.2.11
mkdir -p $packagedir
diff --git a/util/reorder_translation_commits.py b/util/reorder_translation_commits.py
new file mode 100755
index 000000000..465cf0b93
--- /dev/null
+++ b/util/reorder_translation_commits.py
@@ -0,0 +1,33 @@
+#!/usr/bin/env python3
+import sys
+import subprocess
+
+ret = subprocess.run(["git", "config", "rebase.instructionFormat"], capture_output=True)
+if ret.returncode != 0 or ret.stdout.decode('ascii').strip() != "(%an <%ae>) %s":
+ print("Git is using the wrong rebase instruction format, reconfigure it.")
+ exit(1)
+
+try:
+ f = open(".git/rebase-merge/git-rebase-todo", "r")
+except:
+ print("Initiate the rebase first!")
+ exit(1)
+lines = list(s.strip("\r\n") for s in f.readlines())
+f.close()
+
+for i in range(len(lines)):
+ line = lines[i]
+ if line.startswith("#") or " Translated using Weblate " not in line: continue
+ pos = line.rfind("(")
+ lang = line[pos:]
+ author = line[line.find("("):line.rfind(")", 0, pos)+1]
+ # try to grab the next commit by the same author for the same language
+ for j in range(i+1, len(lines)):
+ if lines[j].startswith("#") or not lines[j].endswith(lang): continue
+ if author in lines[j]:
+ lines.insert(i+1, "f " + lines.pop(j)[5:])
+ break
+
+with open(".git/rebase-merge/git-rebase-todo", "w") as f:
+ f.write("\n".join(lines) + "\n")
+print("You can now continue with the rebase.")
diff --git a/util/travis/before_install.sh b/util/travis/before_install.sh
index fe9243583..649486dad 100755
--- a/util/travis/before_install.sh
+++ b/util/travis/before_install.sh
@@ -17,17 +17,13 @@ if [[ $PLATFORM == "Unix" ]] || [[ ! -z "${CLANG_TIDY}" ]]; then
install_macosx_deps
fi
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
+ wget http://minetest.kitsunemimi.pw/mingw-w64-i686_9.2.0_ubuntu18.04.tar.xz -O mingw.tar.xz
# buildwin32.sh detects the installed toolchain automatically
- sudo 7z x -y -o/usr mingw.7z
+ sudo tar -xaf mingw.tar.xz -C /usr
elif [[ $PLATFORM == "Win64" ]]; then
- sudo apt-get update
- sudo apt-get install p7zip-full
- wget http://minetest.kitsunemimi.pw/mingw-w64-x86_64_7.1.1_ubuntu14.04.7z -O mingw.7z
+ wget http://minetest.kitsunemimi.pw/mingw-w64-x86_64_9.2.0_ubuntu18.04.tar.xz -O mingw.tar.xz
sed -e "s|%PREFIX%|x86_64-w64-mingw32|" \
-e "s|%ROOTPATH%|/usr/x86_64-w64-mingw32|" \
< util/travis/toolchain_mingw.cmake.in > util/buildbot/toolchain_mingw64.cmake
- sudo 7z x -y -o/usr mingw.7z
+ sudo tar -xaf mingw.tar.xz -C /usr
fi
diff --git a/util/travis/clang-format-whitelist.txt b/util/travis/clang-format-whitelist.txt
index 0b36dcd57..05b4a96c4 100644
--- a/util/travis/clang-format-whitelist.txt
+++ b/util/travis/clang-format-whitelist.txt
@@ -155,8 +155,18 @@ src/genericobject.cpp
src/genericobject.h
src/gettext.cpp
src/gettext.h
+src/gui/guiAnimatedImage.cpp
+src/gui/guiAnimatedImage.h
+src/gui/guiBackgroundImage.cpp
+src/gui/guiBackgroundImage.h
+src/gui/guiBox.cpp
+src/gui/guiBox.h
src/gui/guiButton.cpp
src/gui/guiButton.h
+src/gui/guiButtonImage.cpp
+src/gui/guiButtonImage.h
+src/gui/guiButtonItemImage.cpp
+src/gui/guiButtonItemImage.h
src/gui/guiChatConsole.cpp
src/gui/guiChatConsole.h
src/gui/guiConfirmRegistration.cpp
@@ -167,6 +177,12 @@ src/gui/guiEngine.h
src/gui/guiFormSpecMenu.cpp
src/gui/guiFormSpecMenu.h
src/gui/guiKeyChangeMenu.cpp
+src/gui/guiHyperText.cpp
+src/gui/guiHyperText.h
+src/gui/guiInventoryList.cpp
+src/gui/guiInventoryList.h
+src/gui/guiItemImage.cpp
+src/gui/guiItemImage.h
src/gui/guiMainMenu.h
src/gui/guiPasswordChange.cpp
src/gui/guiPathSelectMenu.cpp
@@ -184,6 +200,7 @@ src/gui/mainmenumanager.h
src/gui/modalMenu.h
src/guiscalingfilter.cpp
src/guiscalingfilter.h
+src/gui/StyleSpec.h
src/gui/touchscreengui.cpp
src/httpfetch.cpp
src/hud.cpp
@@ -341,6 +358,7 @@ src/script/cpp_api/s_server.h
src/script/lua_api/l_areastore.cpp
src/script/lua_api/l_base.cpp
src/script/lua_api/l_base.h
+src/script/lua_api/l_client.cpp
src/script/lua_api/l_craft.cpp
src/script/lua_api/l_craft.h
src/script/lua_api/l_env.cpp
diff --git a/util/travis/clangtidy.sh b/util/travis/clangtidy.sh
index 5b00115c8..ed6523b0b 100755
--- a/util/travis/clangtidy.sh
+++ b/util/travis/clangtidy.sh
@@ -7,8 +7,6 @@ if [ -z "${CLANG_TIDY}" ]; then
CLANG_TIDY=clang-tidy
fi
-files_to_analyze="$(find src/ -name '*.cpp' -or -name '*.h')"
-
mkdir -p cmakebuild && cd cmakebuild
cmake -DCMAKE_BUILD_TYPE=Debug \
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
@@ -20,11 +18,11 @@ make GenerateVersion
cd ..
echo "Performing clang-tidy checks..."
-./util/travis/run-clang-tidy.py -clang-tidy-binary=${CLANG_TIDY} -p cmakebuild \
- -checks='-*,modernize-use-emplace,modernize-avoid-bind,performance-*' \
- -warningsaserrors='-*,modernize-use-emplace,performance-type-promotion-in-math-fn,performance-faster-string-find,performance-implicit-cast-in-loop' \
- -no-command-on-stdout -quiet \
- files 'src/.*'
+./util/travis/run-clang-tidy.py \
+ -clang-tidy-binary=${CLANG_TIDY} -p cmakebuild \
+ -quiet -config="$(cat .clang-tidy)" \
+ 'src/.*'
+
RET=$?
echo "Clang tidy returned $RET"
exit $RET
diff --git a/util/travis/common.sh b/util/travis/common.sh
index b4406866e..b186632e1 100644
--- a/util/travis/common.sh
+++ b/util/travis/common.sh
@@ -1,31 +1,28 @@
#!/bin/bash -e
set_linux_compiler_env() {
- if [[ "${COMPILER}" == "gcc-5.1" ]]; then
- export CC=gcc-5.1
- export CXX=g++-5.1
- elif [[ "${COMPILER}" == "gcc-6" ]]; then
+ if [[ "${COMPILER}" == "gcc-6" ]]; then
export CC=gcc-6
export CXX=g++-6
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-7" ]]; then
- export CC=clang-7
- export CXX=clang++-7
+ elif [[ "${COMPILER}" == "clang-3.9" ]]; then
+ export CC=clang-3.9
+ export CXX=clang++-3.9
+ elif [[ "${COMPILER}" == "clang-9" ]]; then
+ export CC=clang-9
+ export CXX=clang++-9
fi
}
# Linux build only
install_linux_deps() {
sudo apt-get update
- sudo apt-get install libirrlicht-dev cmake libbz2-dev libpng12-dev \
+ sudo apt-get install libirrlicht-dev cmake libbz2-dev libpng-dev \
libjpeg-dev libxxf86vm-dev libgl1-mesa-dev libsqlite3-dev \
libhiredis-dev libogg-dev libgmp-dev libvorbis-dev libopenal-dev \
- gettext libpq-dev libleveldb-dev
+ gettext libpq-dev postgresql-server-dev-all libleveldb-dev
}
# Mac OSX build only
diff --git a/util/travis/run-clang-tidy.py b/util/travis/run-clang-tidy.py
index 779cf7cc6..6ad0ff24f 100755
--- a/util/travis/run-clang-tidy.py
+++ b/util/travis/run-clang-tidy.py
@@ -1,13 +1,12 @@
-#!/usr/bin/env python2
+#!/usr/bin/env python
#
-# ===- run-clang-tidy.py - Parallel clang-tidy runner ---------*- python -*--===#
+#===- run-clang-tidy.py - Parallel clang-tidy runner ---------*- python -*--===#
#
-# The LLVM Compiler Infrastructure
+# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+# See https://llvm.org/LICENSE.txt for license information.
+# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
#
-# This file is distributed under the University of Illinois Open Source
-# License. See LICENSE.TXT for details.
-#
-# ===------------------------------------------------------------------------===#
+#===------------------------------------------------------------------------===#
# FIXME: Integrate with clang-tidy-diff.py
"""
@@ -35,11 +34,12 @@ http://clang.llvm.org/docs/HowToSetupToolingForLLVM.html
"""
from __future__ import print_function
+
import argparse
+import glob
import json
import multiprocessing
import os
-import Queue
import re
import shutil
import subprocess
@@ -48,224 +48,274 @@ import tempfile
import threading
import traceback
+try:
+ import yaml
+except ImportError:
+ yaml = None
-class TidyQueue(Queue.Queue):
- def __init__(self, max_task):
- Queue.Queue.__init__(self, max_task)
- self.has_error = False
+is_py2 = sys.version[0] == '2'
+if is_py2:
+ import Queue as queue
+else:
+ import queue as queue
def find_compilation_database(path):
- """Adjusts the directory until a compilation database is found."""
- result = './'
- while not os.path.isfile(os.path.join(result, path)):
- if os.path.realpath(result) == '/':
- print('Error: could not find compilation database.')
- sys.exit(1)
- result += '../'
- return os.path.realpath(result)
-
-
-def get_tidy_invocation(f, clang_tidy_binary, checks, warningsaserrors,
- tmpdir, build_path,
- header_filter, extra_arg, extra_arg_before, quiet):
- """Gets a command line for clang-tidy."""
- start = [clang_tidy_binary]
- if header_filter is not None:
- start.append('-header-filter=' + header_filter)
- else:
- # Show warnings in all in-project headers by default.
- start.append('-header-filter=^' + build_path + '/.*')
- if checks:
- start.append('-checks=' + checks)
- if warningsaserrors:
- start.append('-warnings-as-errors=' + warningsaserrors)
- if tmpdir is not None:
- start.append('-export-fixes')
- # Get a temporary file. We immediately close the handle so clang-tidy can
- # overwrite it.
- (handle, name) = tempfile.mkstemp(suffix='.yaml', dir=tmpdir)
- os.close(handle)
- start.append(name)
- for arg in extra_arg:
- start.append('-extra-arg=%s' % arg)
- for arg in extra_arg_before:
- start.append('-extra-arg-before=%s' % arg)
- start.append('-p=' + build_path)
- if quiet:
- start.append('-quiet')
- start.append(f)
- return start
+ """Adjusts the directory until a compilation database is found."""
+ result = './'
+ while not os.path.isfile(os.path.join(result, path)):
+ if os.path.realpath(result) == '/':
+ print('Error: could not find compilation database.')
+ sys.exit(1)
+ result += '../'
+ return os.path.realpath(result)
+
+
+def make_absolute(f, directory):
+ if os.path.isabs(f):
+ return f
+ return os.path.normpath(os.path.join(directory, f))
+
+
+def get_tidy_invocation(f, clang_tidy_binary, checks, tmpdir, build_path,
+ header_filter, extra_arg, extra_arg_before, quiet,
+ config):
+ """Gets a command line for clang-tidy."""
+ start = [clang_tidy_binary]
+ if header_filter is not None:
+ start.append('-header-filter=' + header_filter)
+ if checks:
+ start.append('-checks=' + checks)
+ if tmpdir is not None:
+ start.append('-export-fixes')
+ # Get a temporary file. We immediately close the handle so clang-tidy can
+ # overwrite it.
+ (handle, name) = tempfile.mkstemp(suffix='.yaml', dir=tmpdir)
+ os.close(handle)
+ start.append(name)
+ for arg in extra_arg:
+ start.append('-extra-arg=%s' % arg)
+ for arg in extra_arg_before:
+ start.append('-extra-arg-before=%s' % arg)
+ start.append('-p=' + build_path)
+ if quiet:
+ start.append('-quiet')
+ if config:
+ start.append('-config=' + config)
+ start.append(f)
+ return start
+
+
+def merge_replacement_files(tmpdir, mergefile):
+ """Merge all replacement files in a directory into a single file"""
+ # The fixes suggested by clang-tidy >= 4.0.0 are given under
+ # the top level key 'Diagnostics' in the output yaml files
+ mergekey="Diagnostics"
+ merged=[]
+ for replacefile in glob.iglob(os.path.join(tmpdir, '*.yaml')):
+ content = yaml.safe_load(open(replacefile, 'r'))
+ if not content:
+ continue # Skip empty files.
+ merged.extend(content.get(mergekey, []))
+
+ if merged:
+ # MainSourceFile: The key is required by the definition inside
+ # include/clang/Tooling/ReplacementsYaml.h, but the value
+ # is actually never used inside clang-apply-replacements,
+ # so we set it to '' here.
+ output = { 'MainSourceFile': '', mergekey: merged }
+ with open(mergefile, 'w') as out:
+ yaml.safe_dump(output, out)
+ else:
+ # Empty the file:
+ open(mergefile, 'w').close()
def check_clang_apply_replacements_binary(args):
- """Checks if invoking supplied clang-apply-replacements binary works."""
- try:
- subprocess.check_call([args.clang_apply_replacements_binary, '--version'])
- except:
- print('Unable to run clang-apply-replacements. Is clang-apply-replacements '
- 'binary correctly specified?', file=sys.stderr)
- traceback.print_exc()
- sys.exit(1)
+ """Checks if invoking supplied clang-apply-replacements binary works."""
+ try:
+ subprocess.check_call([args.clang_apply_replacements_binary, '--version'])
+ except:
+ print('Unable to run clang-apply-replacements. Is clang-apply-replacements '
+ 'binary correctly specified?', file=sys.stderr)
+ traceback.print_exc()
+ sys.exit(1)
def apply_fixes(args, tmpdir):
- """Calls clang-apply-fixes on a given directory. Deletes the dir when done."""
- invocation = [args.clang_apply_replacements_binary]
- if args.format:
- invocation.append('-format')
- if args.style:
- invocation.append('-style=' + args.style)
- invocation.append(tmpdir)
- subprocess.call(invocation)
-
-
-def run_tidy(args, tmpdir, build_path, queue):
- """Takes filenames out of queue and runs clang-tidy on them."""
- while True:
- name = queue.get()
- invocation = get_tidy_invocation(name, args.clang_tidy_binary, args.checks,
- args.warningsaserrors, tmpdir, build_path,
- args.header_filter, args.extra_arg,
- args.extra_arg_before, args.quiet)
- if not args.no_command_on_stdout:
- sys.stdout.write(' '.join(invocation) + '\n')
- try:
- subprocess.check_call(invocation)
- except subprocess.CalledProcessError:
- queue.has_error = True
- queue.task_done()
+ """Calls clang-apply-fixes on a given directory."""
+ invocation = [args.clang_apply_replacements_binary]
+ if args.format:
+ invocation.append('-format')
+ if args.style:
+ invocation.append('-style=' + args.style)
+ invocation.append(tmpdir)
+ subprocess.call(invocation)
+
+
+def run_tidy(args, tmpdir, build_path, queue, lock, failed_files):
+ """Takes filenames out of queue and runs clang-tidy on them."""
+ while True:
+ name = queue.get()
+ invocation = get_tidy_invocation(name, args.clang_tidy_binary, args.checks,
+ tmpdir, build_path, args.header_filter,
+ args.extra_arg, args.extra_arg_before,
+ args.quiet, args.config)
+
+ proc = subprocess.Popen(invocation)
+ proc.wait()
+ if proc.returncode != 0:
+ failed_files.append(name)
+ queue.task_done()
def main():
- parser = argparse.ArgumentParser(description='Runs clang-tidy over all files '
- 'in a compilation database. Requires '
- 'clang-tidy and clang-apply-replacements in '
- '$PATH.')
- parser.add_argument('-clang-tidy-binary', metavar='PATH',
- default='clang-tidy',
- help='path to clang-tidy binary')
- parser.add_argument('-clang-apply-replacements-binary', metavar='PATH',
- default='clang-apply-replacements',
- help='path to clang-apply-replacements binary')
- parser.add_argument('-checks', default=None,
- help='checks filter, when not specified, use clang-tidy '
- 'default')
- parser.add_argument('-warningsaserrors', default=None,
- help='warnings-as-errors filter, when not specified, '
- 'use clang-tidy default')
- parser.add_argument('-header-filter', default=None,
- help='regular expression matching the names of the '
- 'headers to output diagnostics from. Diagnostics from '
- 'the main file of each translation unit are always '
- 'displayed.')
- parser.add_argument('-j', type=int, default=0,
- help='number of tidy instances to be run in parallel.')
- parser.add_argument('files', nargs='*', default=['.*'],
- help='files to be processed (regex on path)')
- parser.add_argument('-fix', action='store_true', help='apply fix-its')
- parser.add_argument('-format', action='store_true', help='Reformat code '
- 'after applying fixes')
- parser.add_argument('-style', default='file', help='The style of reformat '
- 'code after applying fixes')
- parser.add_argument('-p', dest='build_path',
- help='Path used to read a compile command database.')
- parser.add_argument('-extra-arg', dest='extra_arg',
- action='append', default=[],
- help='Additional argument to append to the compiler '
- 'command line.')
- parser.add_argument('-extra-arg-before', dest='extra_arg_before',
- action='append', default=[],
- help='Additional argument to prepend to the compiler '
- 'command line.')
- parser.add_argument('-quiet', action='store_true',
- help='Run clang-tidy in quiet mode')
- parser.add_argument('-no-command-on-stdout', action='store_true',
- help='Run clang-tidy without printing invocation on '
- 'stdout')
- args = parser.parse_args()
-
- db_path = 'compile_commands.json'
-
- if args.build_path is not None:
- build_path = args.build_path
+ parser = argparse.ArgumentParser(description='Runs clang-tidy over all files '
+ 'in a compilation database. Requires '
+ 'clang-tidy and clang-apply-replacements in '
+ '$PATH.')
+ parser.add_argument('-clang-tidy-binary', metavar='PATH',
+ default='clang-tidy',
+ help='path to clang-tidy binary')
+ parser.add_argument('-clang-apply-replacements-binary', metavar='PATH',
+ default='clang-apply-replacements',
+ help='path to clang-apply-replacements binary')
+ parser.add_argument('-checks', default=None,
+ help='checks filter, when not specified, use clang-tidy '
+ 'default')
+ parser.add_argument('-config', default=None,
+ help='Specifies a configuration in YAML/JSON format: '
+ ' -config="{Checks: \'*\', '
+ ' CheckOptions: [{key: x, '
+ ' value: y}]}" '
+ 'When the value is empty, clang-tidy will '
+ 'attempt to find a file named .clang-tidy for '
+ 'each source file in its parent directories.')
+ parser.add_argument('-header-filter', default=None,
+ help='regular expression matching the names of the '
+ 'headers to output diagnostics from. Diagnostics from '
+ 'the main file of each translation unit are always '
+ 'displayed.')
+ if yaml:
+ parser.add_argument('-export-fixes', metavar='filename', dest='export_fixes',
+ help='Create a yaml file to store suggested fixes in, '
+ 'which can be applied with clang-apply-replacements.')
+ parser.add_argument('-j', type=int, default=0,
+ help='number of tidy instances to be run in parallel.')
+ parser.add_argument('files', nargs='*', default=['.*'],
+ help='files to be processed (regex on path)')
+ parser.add_argument('-fix', action='store_true', help='apply fix-its')
+ parser.add_argument('-format', action='store_true', help='Reformat code '
+ 'after applying fixes')
+ parser.add_argument('-style', default='file', help='The style of reformat '
+ 'code after applying fixes')
+ parser.add_argument('-p', dest='build_path',
+ help='Path used to read a compile command database.')
+ parser.add_argument('-extra-arg', dest='extra_arg',
+ action='append', default=[],
+ help='Additional argument to append to the compiler '
+ 'command line.')
+ parser.add_argument('-extra-arg-before', dest='extra_arg_before',
+ action='append', default=[],
+ help='Additional argument to prepend to the compiler '
+ 'command line.')
+ parser.add_argument('-quiet', action='store_true',
+ help='Run clang-tidy in quiet mode')
+ args = parser.parse_args()
+
+ db_path = 'compile_commands.json'
+
+ if args.build_path is not None:
+ build_path = args.build_path
+ else:
+ # Find our database
+ build_path = find_compilation_database(db_path)
+
+ try:
+ invocation = [args.clang_tidy_binary, '-list-checks']
+ invocation.append('-p=' + build_path)
+ if args.checks:
+ invocation.append('-checks=' + args.checks)
+ invocation.append('-')
+ if args.quiet:
+ # Even with -quiet we still want to check if we can call clang-tidy.
+ with open(os.devnull, 'w') as dev_null:
+ subprocess.check_call(invocation, stdout=dev_null)
else:
- # Find our database
- build_path = find_compilation_database(db_path)
-
+ subprocess.check_call(invocation)
+ except:
+ print("Unable to run clang-tidy.", file=sys.stderr)
+ sys.exit(1)
+
+ # Load the database and extract all files.
+ database = json.load(open(os.path.join(build_path, db_path)))
+ files = [make_absolute(entry['file'], entry['directory'])
+ for entry in database]
+
+ max_task = args.j
+ if max_task == 0:
+ max_task = multiprocessing.cpu_count()
+
+ tmpdir = None
+ if args.fix or (yaml and args.export_fixes):
+ check_clang_apply_replacements_binary(args)
+ tmpdir = tempfile.mkdtemp()
+
+ # Build up a big regexy filter from all command line arguments.
+ file_name_re = re.compile('|'.join(args.files))
+
+ return_code = 0
+ try:
+ # Spin up a bunch of tidy-launching threads.
+ task_queue = queue.Queue(max_task)
+ # List of files with a non-zero return code.
+ failed_files = []
+ lock = threading.Lock()
+ for _ in range(max_task):
+ t = threading.Thread(target=run_tidy,
+ args=(args, tmpdir, build_path, task_queue, lock, failed_files))
+ t.daemon = True
+ t.start()
+
+ # Fill the queue with files.
+ for name in files:
+ if file_name_re.search(name):
+ task_queue.put(name)
+
+ # Wait for all threads to be done.
+ task_queue.join()
+ if len(failed_files):
+ return_code = 1
+
+ except KeyboardInterrupt:
+ # This is a sad hack. Unfortunately subprocess goes
+ # bonkers with ctrl-c and we start forking merrily.
+ print('\nCtrl-C detected, goodbye.')
+ if tmpdir:
+ shutil.rmtree(tmpdir)
+ os.kill(0, 9)
+
+ if yaml and args.export_fixes:
+ print('Writing fixes to ' + args.export_fixes + ' ...')
try:
- invocation = [args.clang_tidy_binary, '-list-checks', '-p=' + build_path]
- if args.checks:
- invocation.append('-checks=' + args.checks)
- if args.warningsaserrors:
- invocation.append('-warnings-as-errors=' + args.warningsaserrors)
- invocation.append('-')
- print(subprocess.check_output(invocation))
+ merge_replacement_files(tmpdir, args.export_fixes)
except:
- print("Unable to run clang-tidy.", file=sys.stderr)
- sys.exit(1)
-
- # Load the database and extract all files.
- database = json.load(open(os.path.join(build_path, db_path)))
- files = [entry['file'] for entry in database]
-
- max_task = args.j
- if max_task == 0:
- max_task = multiprocessing.cpu_count()
-
- tmpdir = None
- if args.fix:
- check_clang_apply_replacements_binary(args)
- tmpdir = tempfile.mkdtemp()
-
- # Build up a big regexy filter from all command line arguments.
- file_name_re = re.compile('|'.join(args.files))
+ print('Error exporting fixes.\n', file=sys.stderr)
+ traceback.print_exc()
+ return_code=1
+ if args.fix:
+ print('Applying fixes ...')
try:
- # Spin up a bunch of tidy-launching threads.
- queue = TidyQueue(max_task)
- for _ in range(max_task):
- t = threading.Thread(target=run_tidy,
- args=(args, tmpdir, build_path, queue))
- t.daemon = True
- t.start()
-
- # Fill the queue with files.
- for name in files:
- if file_name_re.search(name):
- queue.put(name)
-
- # Wait for all threads to be done.
- queue.join()
-
- # If one clang-tidy process found and error, exit with non-zero
- # status
- if queue.has_error:
- sys.exit(2)
-
- except KeyboardInterrupt:
- # This is a sad hack. Unfortunately subprocess goes
- # bonkers with ctrl-c and we start forking merrily.
- print('\nCtrl-C detected, goodbye.')
- if args.fix:
- shutil.rmtree(tmpdir)
- os.kill(0, 9)
-
- if args.fix:
- print('Applying fixes ...')
- successfully_applied = False
-
- try:
- apply_fixes(args, tmpdir)
- successfully_applied = True
- except:
- print('Error applying fixes.\n', file=sys.stderr)
- traceback.print_exc()
-
- shutil.rmtree(tmpdir)
- if not successfully_applied:
- sys.exit(1)
+ apply_fixes(args, tmpdir)
+ except:
+ print('Error applying fixes.\n', file=sys.stderr)
+ traceback.print_exc()
+ return_code=1
+ if tmpdir:
+ shutil.rmtree(tmpdir)
+ sys.exit(return_code)
if __name__ == '__main__':
- main()
+ main()
diff --git a/util/updatepo.sh b/util/updatepo.sh
index 84dfd3ddb..168483bd4 100755
--- a/util/updatepo.sh
+++ b/util/updatepo.sh
@@ -49,6 +49,7 @@ cd ..
# --package-name
potfile=po/minetest.pot
xgettext --package-name=minetest \
+ --add-comments='~' \
--sort-by-file \
--add-location=file \
--keyword=N_ \