Fix bone-attached entities (#10015)
[oweals/minetest.git] / src / settings_translation_file.cpp
index 9cc5c0f0e7386c216a8f3e3a2f1a82145604f81a..febfbb9d3ad975da963a1bbfd33bbd50b15f2064 100644 (file)
@@ -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");
@@ -231,7 +231,7 @@ fake_function() {
        gettext("FSAA");
        gettext("Experimental option, might cause visible spaces between blocks\nwhen set to higher number than 0.");
        gettext("Undersampling");
-       gettext("Undersampling is similar to using lower screen resolution, but it applies\nto the game world only, keeping the GUI intact.\nIt should give significant performance boost at the cost of less detailed image.");
+       gettext("Undersampling is similar to using a lower screen resolution, but it applies\nto the game world only, keeping the GUI intact.\nIt should give a significant performance boost at the cost of less detailed image.\nHigher values result in a less detailed image.");
        gettext("Shaders");
        gettext("Shaders");
        gettext("Shaders allow advanced visual effects and may increase performance on some video\ncards.\nThis only works with the OpenGL video backend.");
@@ -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.");
@@ -254,8 +254,6 @@ fake_function() {
        gettext("Enables parallax occlusion mapping.\nRequires shaders to be enabled.");
        gettext("Parallax occlusion mode");
        gettext("0 = parallax occlusion with slope information (faster).\n1 = relief mapping (slower, more accurate).");
-       gettext("Parallax occlusion strength");
-       gettext("Strength of parallax.");
        gettext("Parallax occlusion iterations");
        gettext("Number of parallax occlusion iterations.");
        gettext("Parallax occlusion scale");
@@ -263,15 +261,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 height");
-       gettext("Waving water length");
-       gettext("Waving water 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.");
@@ -284,7 +285,7 @@ fake_function() {
        gettext("Viewing range");
        gettext("View distance in nodes.");
        gettext("Near plane");
-       gettext("Camera near plane distance in nodes, between 0 and 0.5\nMost users will not need to change this.\nIncreasing can reduce artifacting on weaker GPUs.\n0.1 = Default, 0.25 = Good value for weaker tablets.");
+       gettext("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 +300,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");
@@ -323,6 +324,8 @@ fake_function() {
        gettext("Multiplier for fall bobbing.\nFor example: 0 for no view bobbing; 1.0 for normal; 2.0 for double.");
        gettext("3D mode");
        gettext("3D support.\nCurrently 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.\nNote that the interlaced mode requires shaders to be enabled.");
+       gettext("3D mode parallax strength");
+       gettext("Strength of 3D mode parallax.");
        gettext("Console height");
        gettext("In-game chat console height, between 0.1 (10%) and 1.0 (100%).");
        gettext("Console color");
@@ -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,23 +398,39 @@ 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("Chat font size");
+       gettext("Font size of the recent chat text and chat prompt in point (pt).\nValue 0 will use the default font size.");
        gettext("Screenshot folder");
-       gettext("Path to save screenshots at.");
+       gettext("Path to save screenshots at. Can be an absolute or relative path.\nThe folder will be created if it doesn't already exist.");
        gettext("Screenshot format");
        gettext("Format of screenshots.");
        gettext("Screenshot quality");
@@ -423,14 +442,19 @@ 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");
        gettext("Address to connect to.\nLeave this blank to start a local server.\nNote that the address field in the main menu overrides this setting.");
        gettext("Remote port");
        gettext("Port to connect to (UDP).\nNote that the port field in the main menu overrides this setting.");
+       gettext("Prometheus listener address");
+       gettext("Prometheus listener address.\nIf minetest is compiled with ENABLE_PROMETHEUS option enabled,\nenable metrics listener for Prometheus on that address.\nMetrics can be fetch on http://127.0.0.1:30000/metrics");
        gettext("Saving map received from server");
        gettext("Save the map received by the client on disk.");
        gettext("Connect to external media server");
@@ -477,7 +501,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)");
@@ -496,6 +520,8 @@ fake_function() {
        gettext("World directory (everything in the world is stored here).\nNot needed if starting from the main menu.");
        gettext("Item entity TTL");
        gettext("Time in seconds for item entity (dropped items) to live.\nSetting it to -1 disables the feature.");
+       gettext("Default stack size");
+       gettext("Specifies the default stack size of nodes, items and tools.\nNote that mods or games may explicitly set a stack for certain (or all) items.");
        gettext("Damage");
        gettext("Enable players getting damage and dying.");
        gettext("Creative");
@@ -524,6 +550,8 @@ fake_function() {
        gettext("If enabled, disable cheat prevention in multiplayer.");
        gettext("Rollback recording");
        gettext("If enabled, actions are recorded for rollback.\nThis option is only read when server starts.");
+       gettext("Chat message format");
+       gettext("Format of player chat messages. The following strings are valid placeholders:\n@name, @message, @timestamp (optional)");
        gettext("Shutdown message");
        gettext("A message to be displayed to all clients when the server shuts down.");
        gettext("Crash message");
@@ -533,7 +561,7 @@ fake_function() {
        gettext("Active object send range");
        gettext("From how far clients know about objects, stated in mapblocks (16 nodes).\n\nSetting this larger than active_block_range will also cause the server\nto maintain active objects up to this distance in the direction the\nplayer is looking. (This can avoid mobs suddenly disappearing from view)");
        gettext("Active block range");
-       gettext("The radius of the volume of blocks around every player that is subject to the\nactive block stuff, stated in mapblocks (16 nodes).\nIn active blocks objects are loaded and ABMs run.\nThis is also the minimum range in which active objects (mobs) are maintained.\nThis should be configured together with active_object_range.");
+       gettext("The radius of the volume of blocks around every player that is subject to the\nactive block stuff, stated in mapblocks (16 nodes).\nIn active blocks objects are loaded and ABMs run.\nThis is also the minimum range in which active objects (mobs) are maintained.\nThis should be configured together with active_object_send_range_blocks.");
        gettext("Max block send distance");
        gettext("From how far blocks are sent to clients, stated in mapblocks (16 nodes).");
        gettext("Maximum forceloaded blocks");
@@ -554,20 +582,32 @@ fake_function() {
        gettext("Kick players who sent more than X messages per 10 seconds.");
        gettext("Physics");
        gettext("Default acceleration");
+       gettext("Horizontal and vertical acceleration on ground or when climbing,\nin nodes per second per second.");
        gettext("Acceleration in air");
+       gettext("Horizontal acceleration in air when jumping or falling,\nin nodes per second per second.");
        gettext("Fast mode acceleration");
+       gettext("Horizontal and vertical acceleration in fast mode,\nin nodes per second per second.");
        gettext("Walking speed");
+       gettext("Walking and flying speed, in nodes per second.");
        gettext("Sneaking speed");
+       gettext("Sneaking speed, in nodes per second.");
        gettext("Fast mode speed");
+       gettext("Walking, flying and climbing speed in fast mode, in nodes per second.");
        gettext("Climbing speed");
+       gettext("Vertical climbing speed, in nodes per second.");
        gettext("Jumping speed");
+       gettext("Initial vertical speed when jumping, in nodes per second.");
        gettext("Liquid fluidity");
+       gettext("Decrease this to increase liquid resistance to movement.");
        gettext("Liquid fluidity smoothing");
-       gettext("Liquid sinking 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");
@@ -638,8 +678,12 @@ fake_function() {
        gettext("Set the language. Leave empty to use the system language.\nA restart is required after changing this.");
        gettext("Debug log level");
        gettext("Level of logging to be written to debug.txt:\n-    <nothing> (no logging)\n-    none (messages with no level)\n-    error\n-    warning\n-    action\n-    info\n-    verbose");
+       gettext("Debug log file size threshold");
+       gettext("If the file size of debug.txt exceeds the number of megabytes specified in\nthis setting when it is opened, the file is moved to debug.txt.1,\ndeleting an older debug.txt.1 if it exists.\ndebug.txt is only moved if this setting is positive.");
+       gettext("Chat log level");
+       gettext("Minimal level of logging to be written to chat.");
        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.");
@@ -657,7 +701,7 @@ fake_function() {
        gettext("Print the engine's profiling data in regular intervals (in seconds).\n0 = disable. Useful for developers.");
        gettext("Mapgen");
        gettext("Mapgen name");
-       gettext("Name of map generator to be used when creating a new world.\nCreating a world in the main menu will override this.\nCurrent stable mapgens:\nv5, v6, v7 (except floatlands), singlenode.\n'stable' means the terrain shape in an existing world will not be changed\nin the future. Note that biomes are defined by games and may still change.");
+       gettext("Name of map generator to be used when creating a new world.\nCreating a world in the main menu will override this.\nCurrent mapgens in a highly unstable state:\n-    The optional floatlands of v7 (disabled by default).");
        gettext("Water level");
        gettext("Water surface level of the world.");
        gettext("Max block generate distance");
@@ -666,8 +710,6 @@ fake_function() {
        gettext("Limit of map generation, in nodes, in all 6 directions from (0, 0, 0).\nOnly mapchunks completely within the mapgen limit are generated.\nValue is stored per-world.");
        gettext("Mapgen flags");
        gettext("Global map generation attributes.\nIn Mapgen v6 the 'decorations' flag controls all decorations except trees\nand junglegrass, in all other mapgens this flag controls all decorations.");
-       gettext("Projecting dungeons");
-       gettext("Whether dungeons occasionally project from the terrain.");
        gettext("Biome API temperature and humidity noise parameters");
        gettext("Heat noise");
        gettext("Temperature variation for biomes.");
@@ -681,11 +723,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("Y 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");
@@ -711,11 +761,13 @@ fake_function() {
        gettext("3D noise defining giant caverns.");
        gettext("Ground noise");
        gettext("3D noise defining terrain.");
+       gettext("Dungeon noise");
+       gettext("3D noise that determines number of dungeons per mapchunk.");
        gettext("Mapgen V6");
        gettext("Mapgen V6 specific flags");
-       gettext("Map generation attributes specific to Mapgen v6.\nThe 'snowbiomes' flag enables the new 5 biome system.\nWhen the new biome system is enabled jungles are automatically enabled and\nthe 'jungles' flag is ignored.");
+       gettext("Map generation attributes specific to Mapgen v6.\nThe 'snowbiomes' flag enables the new 5 biome system.\nWhen the 'snowbiomes' flag is enabled jungles are automatically enabled and\nthe 'jungles' flag is ignored.");
        gettext("Desert noise threshold");
-       gettext("Deserts occur when np_biome exceeds this value.\nWhen the new biome system is enabled, this is ignored.");
+       gettext("Deserts occur when np_biome exceeds this value.\nWhen the 'snowbiomes' flag is enabled, this is ignored.");
        gettext("Beach noise threshold");
        gettext("Sandy beaches occur when np_beach exceeds this value.");
        gettext("Dungeon minimum Y");
@@ -747,25 +799,35 @@ fake_function() {
        gettext("Defines areas where trees have apples.");
        gettext("Mapgen V7");
        gettext("Mapgen V7 specific flags");
-       gettext("Map generation attributes specific to Mapgen v7.\n'ridges' enables the rivers.");
+       gettext("Map generation attributes specific to Mapgen v7.\n'ridges': Rivers.\n'floatlands': Floating land masses in the atmosphere.\n'caverns': Giant caves deep underground.");
        gettext("Mountain zero level");
        gettext("Y of mountain density gradient zero level. Used to shift mountains vertically.");
+       gettext("Floatland minimum Y");
+       gettext("Lower Y limit of floatlands.");
+       gettext("Floatland maximum Y");
+       gettext("Upper Y limit of floatlands.");
+       gettext("Floatland tapering distance");
+       gettext("Y-distance over which floatlands taper from full density to nothing.\nTapering starts at this distance from the Y limit.\nFor a solid floatland layer, this controls the height of hills/mountains.\nMust be less than or equal to half the distance between the Y limits.");
+       gettext("Floatland taper exponent");
+       gettext("Exponent of the floatland tapering. Alters the tapering behaviour.\nValue = 1.0 creates a uniform, linear tapering.\nValues > 1.0 create a smooth tapering suitable for the default separated\nfloatlands.\nValues < 1.0 (for example 0.25) create a more defined surface level with\nflatter lowlands, suitable for a solid floatland layer.");
+       gettext("Floatland density");
+       gettext("Adjusts the density of the floatland layer.\nIncrease value to increase density. Can be positive or negative.\nValue = 0.0: 50% of volume is floatland.\nValue = 2.0 (can be higher depending on 'mgv7_np_floatland', always test\nto be sure) creates a solid floatland layer.");
+       gettext("Floatland water level");
+       gettext("Surface level of optional water placed on a solid floatland layer.\nWater is disabled by default and will only be placed if this value is set\nto above 'mgv7_floatland_ymax' - 'mgv7_floatland_taper' (the start of the\nupper tapering).\n***WARNING, POTENTIAL DANGER TO WORLDS AND SERVER PERFORMANCE***:\nWhen enabling water placement the floatlands must be configured and tested\nto be a solid layer by setting 'mgv7_floatland_density' to 2.0 (or other\nrequired value depending on 'mgv7_np_floatland'), to avoid\nserver-intensive extreme water flow and to avoid vast flooding of the\nworld surface below.");
        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("Y 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");
@@ -791,31 +853,45 @@ 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");
        gettext("3D noise defining structure of river canyon walls.");
+       gettext("Floatland noise");
+       gettext("3D noise defining structure of floatlands.\nIf altered from the default, the noise 'scale' (0.7 by default) may need\nto be adjusted, as floatland tapering functions best when this noise has\na value range of approximately -2.0 to 2.0.");
        gettext("Cavern noise");
        gettext("3D noise defining giant caverns.");
        gettext("Cave1 noise");
        gettext("First of two 3D noises that together define tunnels.");
        gettext("Cave2 noise");
        gettext("Second of two 3D noises that together define tunnels.");
+       gettext("Dungeon noise");
+       gettext("3D noise that determines number of dungeons per mapchunk.");
        gettext("Mapgen Carpathian");
        gettext("Mapgen Carpathian specific flags");
        gettext("Map generation attributes specific to Mapgen Carpathian.");
        gettext("Base ground level");
        gettext("Defines the base ground level.");
+       gettext("River channel width");
+       gettext("Defines the width of the river channel.");
+       gettext("River channel depth");
+       gettext("Defines the depth of the river channel.");
+       gettext("River valley width");
+       gettext("Defines the width of the river valley.");
        gettext("Cave width");
-       gettext("Controls width of tunnels, a smaller value creates wider tunnels.");
+       gettext("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("Y 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");
@@ -849,6 +925,8 @@ fake_function() {
        gettext("2D noise that controls the shape/size of ridged mountains.");
        gettext("Step mountain size noise");
        gettext("2D noise that controls the shape/size of step mountains.");
+       gettext("River noise");
+       gettext("2D noise that locates the river valleys and channels.");
        gettext("Mountain variation noise");
        gettext("3D noise for mountain overhangs, cliffs, etc. Usually small variations.");
        gettext("Cave1 noise");
@@ -857,17 +935,27 @@ fake_function() {
        gettext("Second of two 3D noises that together define tunnels.");
        gettext("Cavern noise");
        gettext("3D noise defining giant caverns.");
+       gettext("Dungeon noise");
+       gettext("3D noise that determines number of dungeons per mapchunk.");
        gettext("Mapgen Flat");
        gettext("Mapgen Flat specific flags");
-       gettext("Map generation attributes specific to Mapgen flat.\nOccasional lakes and hills can be added to the flat world.");
+       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("Y 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");
@@ -889,25 +977,37 @@ fake_function() {
        gettext("First of two 3D noises that together define tunnels.");
        gettext("Cave2 noise");
        gettext("Second of two 3D noises that together define tunnels.");
+       gettext("Dungeon noise");
+       gettext("3D noise that determines number of dungeons per mapchunk.");
        gettext("Mapgen Fractal");
+       gettext("Mapgen Fractal specific flags");
+       gettext("Map generation attributes specific to Mapgen 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("Y 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");
@@ -927,6 +1027,8 @@ fake_function() {
        gettext("First of two 3D noises that together define tunnels.");
        gettext("Cave2 noise");
        gettext("Second of two 3D noises that together define tunnels.");
+       gettext("Dungeon noise");
+       gettext("3D noise that determines number of dungeons per mapchunk.");
        gettext("Mapgen Valleys");
        gettext("Mapgen Valleys specific flags");
        gettext("Map generation attributes specific to Mapgen Valleys.\n'altitude_chill': Reduces heat with altitude.\n'humid_rivers': Increases humidity around rivers.\n'vary_river_depth': If enabled, low humidity and high heat causes rivers\nto become shallower and occasionally dry.\n'altitude_dry': Reduces humidity with altitude.");
@@ -934,8 +1036,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("Y 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");
@@ -947,7 +1057,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");
@@ -973,19 +1083,21 @@ fake_function() {
        gettext("Amplifies the valleys.");
        gettext("Valley slope");
        gettext("Slope and fill work together to modify the heights.");
+       gettext("Dungeon noise");
+       gettext("3D noise that determines number of dungeons per mapchunk.");
        gettext("Advanced");
        gettext("Chunk size");
        gettext("Size of mapchunks generated by mapgen, stated in mapblocks (16 nodes).\nWARNING!: There is no benefit, and there are several dangers, in\nincreasing this value above 5.\nReducing this value increases cave and dungeon density.\nAltering this value is for special usage, leaving it unchanged is\nrecommended.");
        gettext("Mapgen debug");
        gettext("Dump the mapgen debug information.");
-       gettext("Absolute limit of emerge queues");
+       gettext("Absolute limit of queued blocks to emerge");
        gettext("Maximum number of blocks that can be queued for loading.");
-       gettext("Limit of emerge queues on disk");
-       gettext("Maximum number of blocks to be queued that are to be loaded from file.\nSet to blank for an appropriate amount to be chosen automatically.");
-       gettext("Limit of emerge queues to generate");
-       gettext("Maximum number of blocks to be queued that are to be generated.\nSet to blank for an appropriate amount to be chosen automatically.");
+       gettext("Per-player limit of queued blocks load from disk");
+       gettext("Maximum number of blocks to be queued that are to be loaded from file.\nThis limit is enforced per player.");
+       gettext("Per-player limit of queued blocks to generate");
+       gettext("Maximum number of blocks to be queued that are to be generated.\nThis limit is enforced per player.");
        gettext("Number of emerge threads");
-       gettext("Number of emerge threads to use.\nEmpty or 0 value:\n-    Automatic selection. The number of emerge threads will be\n-    'number of processors - 2', with a lower limit of 1.\nAny other value:\n-    Specifies the number of emerge threads, with a lower limit of 1.\nWarning: Increasing the number of emerge threads increases engine mapgen\nspeed, but this may harm game performance by interfering with other\nprocesses, especially in singleplayer and/or when running Lua code in\n'on_generated'.\nFor many users the optimum setting may be '1'.");
+       gettext("Number of emerge threads to use.\nValue 0:\n-    Automatic selection. The number of emerge threads will be\n-    'number of processors - 2', with a lower limit of 1.\nAny other value:\n-    Specifies the number of emerge threads, with a lower limit of 1.\nWARNING: Increasing the number of emerge threads increases engine mapgen\nspeed, but this may harm game performance by interfering with other\nprocesses, especially in singleplayer and/or when running Lua code in\n'on_generated'. For many users the optimum setting may be '1'.");
        gettext("Online Content Repository");
        gettext("ContentDB URL");
        gettext("The URL for the content repository");