diff --git a/.editorconfig b/.editorconfig new file mode 100755 index 000000000..ec0645241 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,9 @@ +[*] +end_of_line = lf + +[*.{cpp,h,lua,txt,glsl,md,c,cmake,java,gradle}] +charset = utf8 +indent_size = 4 +indent_style = tab +insert_final_newline = true +trim_trailing_whitespace = true diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index fbd372b3b..f60f584f9 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -10,13 +10,31 @@ Contributions are welcome! Here's how you can help: ## Code -1. [Fork](https://help.github.com/articles/fork-a-repo/) the repository and [clone](https://help.github.com/articles/cloning-a-repository/) your fork. +1. [Fork](https://help.github.com/articles/fork-a-repo/) the repository and + [clone](https://help.github.com/articles/cloning-a-repository/) your fork. -2. Before you start coding, consider opening an [issue at Github](https://github.com/minetest/minetest/issues) to discuss the suitability and implementation of your intended contribution with the core developers. If you are planning to start some very significant coding, you would benefit from first discussing on our IRC development channel [#minetest-dev](http://www.minetest.net/irc/). Note that a proper IRC client is required to speak on this channel. +2. Before you start coding, consider opening an + [issue at Github](https://github.com/minetest/minetest/issues) to discuss the + suitability and implementation of your intended contribution with the core + developers. + + Any Pull Request that isn't a bug fix and isn't covered by + [the roadmap](../doc/direction.md) will be closed within a week unless it + receives a concept approval from a Core Developer. For this reason, it is + recommended that you open an issue for any such pull requests before doing + the work, to avoid disappointment. + + You may also benefit from discussing on our IRC development channel + [#minetest-dev](http://www.minetest.net/irc/). Note that a proper IRC client + is required to speak on this channel. 3. Start coding! - - Refer to the [Lua API](https://github.com/minetest/minetest/blob/master/doc/lua_api.txt), [Developer Wiki](http://dev.minetest.net/Main_Page) and other [documentation](https://github.com/minetest/minetest/tree/master/doc). - - Follow the [C/C++](http://dev.minetest.net/Code_style_guidelines) and [Lua](http://dev.minetest.net/Lua_code_style_guidelines) code style guidelines. + - Refer to the + [Lua API](https://github.com/minetest/minetest/blob/master/doc/lua_api.txt), + [Developer Wiki](http://dev.minetest.net/Main_Page) and other + [documentation](https://github.com/minetest/minetest/tree/master/doc). + - Follow the [C/C++](http://dev.minetest.net/Code_style_guidelines) and + [Lua](http://dev.minetest.net/Lua_code_style_guidelines) code style guidelines. - Check your code works as expected and document any changes to the Lua API. 4. Commit & [push](https://help.github.com/articles/pushing-to-a-remote/) your changes to a new branch (not `master`, one change per branch) @@ -33,69 +51,115 @@ Contributions are welcome! Here's how you can help: 5. Once you are happy with your changes, submit a pull request. - Open the [pull-request form](https://github.com/minetest/minetest/pull/new/master). - - Add a description explaining what you've done (or if it's a work-in-progress - what you need to do). + - Add a description explaining what you've done (or if it's a + work-in-progress - what you need to do). + - Make sure to fill out the pull request template. ### A pull-request is considered merge-able when: -1. It follows the roadmap in some way and fits the whole picture of the project: [roadmap introduction](http://c55.me/blog/?p=1491), [roadmap continued](https://forum.minetest.net/viewtopic.php?t=9177) +1. It follows [the roadmap](../doc/direction.md) in some way and fits the whole + picture of the project. 2. It works. -3. It follows the code style for [C/C++](http://dev.minetest.net/Code_style_guidelines) or [Lua](http://dev.minetest.net/Lua_code_style_guidelines). -4. The code's interfaces are well designed, regardless of other aspects that might need more work in the future. +3. It follows the code style for + [C/C++](http://dev.minetest.net/Code_style_guidelines) or + [Lua](http://dev.minetest.net/Lua_code_style_guidelines). +4. The code's interfaces are well designed, regardless of other aspects that + might need more work in the future. 5. It uses protocols and formats which include the required compatibility. ### Important note about automated GitHub checks -When you submit a pull request, GitHub automatically runs checks on the Minetest Engine combined with your changes. One of these checks is called 'cpp lint / clang format', which checks code formatting. Because formatting for readability requires human judgement this check often fails and often makes unsuitable formatting requests which make code readability worse. +When you submit a pull request, GitHub automatically runs checks on the Minetest +Engine combined with your changes. One of these checks is called 'cpp lint / +clang format', which checks code formatting. Because formatting for readability +requires human judgement this check often fails and often makes unsuitable +formatting requests which make code readability worse. -If this check fails, look at the details to check for any clear mistakes and correct those. However, you should not apply everything ClangFormat requests. Ignore requests that make code readability worse and any other clearly unsuitable requests. Discuss in the pull request with a core developer about how to progress. +If this check fails, look at the details to check for any clear mistakes and +correct those. However, you should not apply everything ClangFormat requests. +Ignore requests that make code readability worse and any other clearly +unsuitable requests. Discuss in the pull request with a core developer about how +to progress. ## Issues -If you experience an issue, we would like to know the details - especially when a stable release is on the way. +If you experience an issue, we would like to know the details - especially when +a stable release is on the way. 1. Do a quick search on GitHub to check if the issue has already been reported. -2. Is it an issue with the Minetest *engine*? If not, report it [elsewhere](http://www.minetest.net/development/#reporting-issues). -3. [Open an issue](https://github.com/minetest/minetest/issues/new) and describe the issue you are having - you could include: +2. Is it an issue with the Minetest *engine*? If not, report it + [elsewhere](http://www.minetest.net/development/#reporting-issues). +3. [Open an issue](https://github.com/minetest/minetest/issues/new) and describe + the issue you are having - you could include: - Error logs (check the bottom of the `debug.txt` file). - Screenshots. - Ways you have tried to solve the issue, and whether they worked or not. - Your Minetest version and the content (games, mods or texture packs) you have installed. - Your platform (e.g. Windows 10 or Ubuntu 15.04 x64). -After reporting you should aim to answer questions or clarifications as this helps pinpoint the cause of the issue (if you don't do this your issue may be closed after 1 month). +After reporting you should aim to answer questions or clarifications as this +helps pinpoint the cause of the issue (if you don't do this your issue may be +closed after 1 month). ## Feature requests -Feature requests are welcome but take a moment to see if your idea follows the roadmap in some way and fits the whole picture of the project: [roadmap introduction](http://c55.me/blog/?p=1491), [roadmap continued](https://forum.minetest.net/viewtopic.php?t=9177). You should provide a clear explanation with as much detail as possible. +Feature requests are welcome but take a moment to see if your idea follows +[the roadmap](../doc/direction.md) in some way and fits the whole picture of +the project. You should provide a clear explanation with as much detail as +possible. ## Translations -The core translations of Minetest are performed using Weblate. You can access the project page with a list of current languages [here](https://hosted.weblate.org/projects/minetest/minetest/). +The core translations of Minetest are performed using Weblate. You can access +the project page with a list of current languages +[here](https://hosted.weblate.org/projects/minetest/minetest/). -Builtin (the component which contains things like server messages, chat command descriptions, privilege descriptions) is translated separately; it needs to be translated by editing a `.tr` text file. See [Translation](https://dev.minetest.net/Translation) for more information. +Builtin (the component which contains things like server messages, chat command +descriptions, privilege descriptions) is translated separately; it needs to be +translated by editing a `.tr` text file. See +[Translation](https://dev.minetest.net/Translation) for more information. ## Donations -If you'd like to monetarily support Minetest development, you can find donation methods on [our website](http://www.minetest.net/development/#donate). +If you'd like to monetarily support Minetest development, you can find donation +methods on [our website](http://www.minetest.net/development/#donate). # Maintaining -*This is a concise version of the [Rules & Guidelines](http://dev.minetest.net/Category:Rules_and_Guidelines) on the developer wiki.* +* This is a concise version of the + [Rules & Guidelines](http://dev.minetest.net/Category:Rules_and_Guidelines) on the developer wiki.* These notes are for those who have push access Minetest (core developers / maintainers). - See the [project organisation](http://dev.minetest.net/Organisation) for the people involved. +## Concept approvals and roadmaps + +If a Pull Request is not a bug fix: + +* If it matches a goal in [the roadmap](../doc/direction.md), then the PR should + be labelled as "Roadmap" and the goal stated by number in the description. +* If it doesn't match a goal, then it needs to receive a concept approval within + a week of being opened to remain open. This 1 week deadline does not apply to + PRs opened before the roadmap was adopted; instead, they may remain open or be + closed as needed. Use the "Concept Approved" label. Issues can be marked as + "Concept Approved" to give preapproval to future PRs. + ## Reviewing pull requests -Pull requests should be reviewed and, if appropriate, checked if they achieve their intended purpose. You can show that you are in the process of, or will review the pull request by commenting *"Looks good"* or something similar. +Pull requests should be reviewed and, if appropriate, checked if they achieve +their intended purpose. You can show that you are in the process of, or will +review the pull request by commenting *"Looks good"* or something similar. **If the pull-request is not [merge-able](#a-pull-request-is-considered-merge-able-when):** -Submit a comment explaining to the author what they need to change to make the pull-request merge-able. +Submit a comment explaining to the author what they need to change to make the +pull-request merge-able. -- If the author comments or makes changes to the pull-request, it can be reviewed again. -- If no response is made from the author within 1 month (when improvements are suggested or a question is asked), it can be closed. +- If the author comments or makes changes to the pull-request, it can be + reviewed again. +- If no response is made from the author within 1 month (when improvements are + suggested or a question is asked), it can be closed. **If the pull-request is [merge-able](#a-pull-request-is-considered-merge-able-when):** diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index ccec99bc5..4132826cd 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -3,6 +3,7 @@ Add compact, short information about your PR for easier understanding: - Goal of the PR - How does the PR work? - Does it resolve any reported issue? +- Does this relate to a goal in [the roadmap](../doc/direction.md)? - If not a bug fix, why is this PR needed? What usecases does it solve? ## To do diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index 0fcfe2390..660b5c8df 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -8,7 +8,7 @@ on: - 'lib/**.cpp' - 'src/**.[ch]' - 'src/**.cpp' - - 'build/android/**' + - 'android/**' - '.github/workflows/android.yml' pull_request: paths: @@ -16,7 +16,7 @@ on: - 'lib/**.cpp' - 'src/**.[ch]' - 'src/**.cpp' - - 'build/android/**' + - 'android/**' - '.github/workflows/android.yml' jobs: @@ -28,15 +28,17 @@ jobs: uses: actions/setup-java@v1 with: java-version: 1.8 + - name: Install deps + run: sudo apt-get update; sudo apt-get install -y --no-install-recommends gettext - name: Build with Gradle - run: cd build/android; ./gradlew assemblerelease + run: cd android; ./gradlew assemblerelease - name: Save armeabi artifact uses: actions/upload-artifact@v2 with: name: Minetest-armeabi-v7a.apk - path: build/android/app/build/outputs/apk/release/app-armeabi-v7a-release-unsigned.apk + path: android/app/build/outputs/apk/release/app-armeabi-v7a-release-unsigned.apk - name: Save arm64 artifact uses: actions/upload-artifact@v2 with: name: Minetest-arm64-v8a.apk - path: build/android/app/build/outputs/apk/release/app-arm64-v8a-release-unsigned.apk + path: android/app/build/outputs/apk/release/app-arm64-v8a-release-unsigned.apk diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d268aa0cb..417b4f650 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -180,7 +180,8 @@ jobs: - uses: actions/checkout@v2 - name: Build docker image run: | - docker build . + docker build . -t minetest:latest + docker run --rm minetest:latest /usr/local/bin/minetestserver --version win32: name: "MinGW cross-compiler (32-bit)" @@ -227,7 +228,7 @@ jobs: env: VCPKG_VERSION: 0bf3923f9fab4001c00f0f429682a0853b5749e0 # 2020.11 - vcpkg_packages: irrlicht zlib curl[winssl] openal-soft libvorbis libogg sqlite3 freetype luajit + vcpkg_packages: irrlicht zlib zstd curl[winssl] openal-soft libvorbis libogg sqlite3 freetype luajit strategy: fail-fast: false matrix: diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml new file mode 100644 index 000000000..d97cff1aa --- /dev/null +++ b/.github/workflows/macos.yml @@ -0,0 +1,66 @@ +name: macos + +# build on c/cpp changes or workflow changes +on: + push: + paths: + - 'lib/**.[ch]' + - 'lib/**.cpp' + - 'src/**.[ch]' + - 'src/**.cpp' + - '**/CMakeLists.txt' + - 'cmake/Modules/**' + - '.github/workflows/macos.yml' + pull_request: + paths: + - 'lib/**.[ch]' + - 'lib/**.cpp' + - 'src/**.[ch]' + - 'src/**.cpp' + - '**/CMakeLists.txt' + - 'cmake/Modules/**' + - '.github/workflows/macos.yml' + +env: + IRRLICHT_TAG: 1.9.0mt3 + MINETEST_GAME_REPO: https://github.com/minetest/minetest_game.git + MINETEST_GAME_BRANCH: master + MINETEST_GAME_NAME: minetest_game + +jobs: + build: + runs-on: macos-10.15 + steps: + - uses: actions/checkout@v2 + - name: Install deps + run: | + pkgs=(cmake freetype gettext gmp hiredis jpeg jsoncpp leveldb libogg libpng libvorbis luajit zstd) + brew update + brew install ${pkgs[@]} + brew unlink $(brew ls --formula) + brew link ${pkgs[@]} + + - name: Build + run: | + git clone -b $MINETEST_GAME_BRANCH $MINETEST_GAME_REPO games/$MINETEST_GAME_NAME + rm -rvf games/$MINETEST_GAME_NAME/.git + git clone https://github.com/minetest/irrlicht -b $IRRLICHT_TAG lib/irrlichtmt + mkdir cmakebuild + cd cmakebuild + cmake .. \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 \ + -DCMAKE_FIND_FRAMEWORK=LAST \ + -DCMAKE_INSTALL_PREFIX=../build/macos/ \ + -DRUN_IN_PLACE=FALSE \ + -DENABLE_FREETYPE=TRUE -DENABLE_GETTEXT=TRUE + make -j2 + make install + + - name: Test + run: | + ./build/macos/minetest.app/Contents/MacOS/minetest --run-unittests + + - uses: actions/upload-artifact@v2 + with: + name: minetest-macos + path: ./build/macos/ diff --git a/.gitignore b/.gitignore index 35ba7c112..2e410b48a 100644 --- a/.gitignore +++ b/.gitignore @@ -76,6 +76,7 @@ doc/mkdocs/docs/*.md doc/mkdocs/mkdocs.yml ## Build files +build/ CMakeFiles Makefile cmake_install.cmake @@ -86,6 +87,7 @@ src/test_config.h src/cmake_config.h src/cmake_config_githash.h src/unittest/test_world/world.mt +games/devtest/mods/testnodes/textures/testnodes_generated_*.png /locale/ .directory *.cbp @@ -105,3 +107,6 @@ CMakeDoxy* compile_commands.json *.apk *.zip + +# Optional user provided library folder +lib/irrlichtmt diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 597e7ab52..5b085c36c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -9,7 +9,7 @@ stages: - deploy variables: - IRRLICHT_TAG: "1.9.0mt1" + IRRLICHT_TAG: "1.9.0mt3" MINETEST_GAME_REPO: "https://github.com/minetest/minetest_game.git" CONTAINER_IMAGE: registry.gitlab.com/$CI_PROJECT_PATH @@ -17,16 +17,12 @@ variables: stage: build before_script: - apt-get update - - apt-get -y install build-essential git cmake libpng-dev libjpeg-dev libxxf86vm-dev libgl1-mesa-dev libsqlite3-dev libleveldb-dev libogg-dev libvorbis-dev libopenal-dev libcurl4-gnutls-dev libfreetype6-dev zlib1g-dev libgmp-dev libjsoncpp-dev + - DEBIAN_FRONTEND=noninteractive apt-get -y install build-essential git cmake libpng-dev libjpeg-dev libxxf86vm-dev libgl1-mesa-dev libsqlite3-dev libleveldb-dev libogg-dev libvorbis-dev libopenal-dev libcurl4-gnutls-dev libfreetype6-dev zlib1g-dev libgmp-dev libjsoncpp-dev libzstd-dev script: - - git clone https://github.com/minetest/irrlicht -b $IRRLICHT_TAG - - cd irrlicht - - cmake . -DBUILD_SHARED_LIBS=OFF - - make -j2 - - cd .. + - git clone https://github.com/minetest/irrlicht -b $IRRLICHT_TAG lib/irrlichtmt - mkdir cmakebuild - cd cmakebuild - - cmake -DIRRLICHT_LIBRARY=$PWD/../irrlicht/lib/Linux/libIrrlichtMt.a -DIRRLICHT_INCLUDE_DIR=$PWD/../irrlicht/include -DCMAKE_INSTALL_PREFIX=../artifact/minetest/usr/ -DCMAKE_BUILD_TYPE=Release -DRUN_IN_PLACE=FALSE -DENABLE_GETTEXT=TRUE -DBUILD_SERVER=TRUE .. + - cmake -DCMAKE_INSTALL_PREFIX=../artifact/minetest/usr/ -DCMAKE_BUILD_TYPE=Release -DRUN_IN_PLACE=FALSE -DENABLE_GETTEXT=TRUE -DBUILD_SERVER=TRUE .. - make -j2 - make install artifacts: @@ -49,6 +45,7 @@ variables: - sed -i 's/DATEPLACEHOLDER/'$(date +%y.%m.%d)'/g' build/deb/minetest/DEBIAN/control - sed -i 's/JPEG_PLACEHOLDER/'$JPEG_PKG'/g' build/deb/minetest/DEBIAN/control - sed -i 's/LEVELDB_PLACEHOLDER/'$LEVELDB_PKG'/g' build/deb/minetest/DEBIAN/control + - sed -i 's/JSONCPP_PLACEHOLDER/'$JSONCPP_PKG'/g' build/deb/minetest/DEBIAN/control - cd build/deb/ && dpkg-deb -b minetest/ && mv minetest.deb ../../ artifacts: expire_in: 90 day @@ -58,7 +55,7 @@ variables: .debpkg_install: stage: deploy before_script: - - apt-get update + - apt-get update -qy script: - apt-get install -y ./*.deb - minetest --version @@ -79,6 +76,7 @@ package:debian-9: needs: - build:debian-9 variables: + JSONCPP_PKG: libjsoncpp1 LEVELDB_PKG: libleveldb1v5 JPEG_PKG: libjpeg62-turbo @@ -100,6 +98,7 @@ package:debian-10: needs: - build:debian-10 variables: + JSONCPP_PKG: libjsoncpp1 LEVELDB_PKG: libleveldb1d JPEG_PKG: libjpeg62-turbo @@ -109,31 +108,32 @@ deploy:debian-10: needs: - package:debian-10 +# Bullseye + +build:debian-11: + extends: .build_template + image: debian:11 + +package:debian-11: + extends: .debpkg_template + image: debian:11 + needs: + - build:debian-11 + variables: + JSONCPP_PKG: libjsoncpp24 + LEVELDB_PKG: libleveldb1d + JPEG_PKG: libjpeg62-turbo + +deploy:debian-11: + extends: .debpkg_install + image: debian:11 + needs: + - package:debian-11 + ## ## Ubuntu ## -# Xenial - -build:ubuntu-16.04: - extends: .build_template - image: ubuntu:xenial - -package:ubuntu-16.04: - extends: .debpkg_template - image: ubuntu:xenial - needs: - - build:ubuntu-16.04 - variables: - LEVELDB_PKG: libleveldb1v5 - JPEG_PKG: libjpeg-turbo8 - -deploy:ubuntu-16.04: - extends: .debpkg_install - image: ubuntu:xenial - needs: - - package:ubuntu-16.04 - # Bionic build:ubuntu-18.04: @@ -146,6 +146,7 @@ package:ubuntu-18.04: needs: - build:ubuntu-18.04 variables: + JSONCPP_PKG: libjsoncpp1 LEVELDB_PKG: libleveldb1v5 JPEG_PKG: libjpeg-turbo8 @@ -155,6 +156,28 @@ deploy:ubuntu-18.04: needs: - package:ubuntu-18.04 +# Focal + +build:ubuntu-20.04: + extends: .build_template + image: ubuntu:focal + +package:ubuntu-20.04: + extends: .debpkg_template + image: ubuntu:focal + needs: + - build:ubuntu-20.04 + variables: + JSONCPP_PKG: libjsoncpp1 + LEVELDB_PKG: libleveldb1d + JPEG_PKG: libjpeg-turbo8 + +deploy:ubuntu-20.04: + extends: .debpkg_install + image: ubuntu:focal + needs: + - package:ubuntu-20.04 + ## ## Fedora ## @@ -164,7 +187,7 @@ build:fedora-28: extends: .build_template image: fedora:28 before_script: - - dnf -y install make git gcc gcc-c++ kernel-devel cmake libjpeg-devel libpng-devel libcurl-devel openal-soft-devel libvorbis-devel libXxf86vm-devel libogg-devel freetype-devel mesa-libGL-devel zlib-devel jsoncpp-devel gmp-devel sqlite-devel luajit-devel leveldb-devel ncurses-devel spatialindex-devel + - dnf -y install make git gcc gcc-c++ kernel-devel cmake libjpeg-devel libpng-devel libcurl-devel openal-soft-devel libvorbis-devel libXxf86vm-devel libogg-devel freetype-devel mesa-libGL-devel zlib-devel jsoncpp-devel gmp-devel sqlite-devel luajit-devel leveldb-devel ncurses-devel spatialindex-devel libzstd-devel ## ## MinGW for Windows @@ -275,7 +298,7 @@ package:appimage-client: - build:ubuntu-18.04 before_script: - apt-get update -y - - apt-get install -y git wget + - apt-get install -y git # Collect files - mkdir AppDir - cp -a artifact/minetest/usr/ AppDir/usr/ diff --git a/AppImageBuilder.yml b/AppImageBuilder.yml index 9ecad5d8e..5788e246b 100644 --- a/AppImageBuilder.yml +++ b/AppImageBuilder.yml @@ -24,18 +24,21 @@ AppDir: - sourceline: deb http://archive.ubuntu.com/ubuntu/ bionic-security main universe include: - - libirrlicht1.8 - - libxxf86vm1 - - libgl1-mesa-glx - - libsqlite3-0 - - libogg0 - - libvorbis0a - - libopenal1 + - libc6 - libcurl3-gnutls - libfreetype6 - - zlib1g - - libgmp10 + - libgl1 + - libjpeg-turbo8 - libjsoncpp1 + - libleveldb1v5 + - libopenal1 + - libpng16-16 + - libsqlite3-0 + - libstdc++6 + - libvorbisfile3 + - libx11-6 + - libxxf86vm1 + - zlib1g files: exclude: diff --git a/CMakeLists.txt b/CMakeLists.txt index e4ec5ea18..deb327c5b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,12 @@ cmake_minimum_required(VERSION 3.5) +# Set policies up to 3.9 since we want to enable the IPO option +if(${CMAKE_VERSION} VERSION_LESS 3.9) + cmake_policy(VERSION ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}) +else() + cmake_policy(VERSION 3.9) +endif() + # This can be read from ${PROJECT_NAME} after project() is called project(minetest) set(PROJECT_NAME_CAPITALIZED "Dragonfire") @@ -58,28 +65,44 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/") # This is done here so that relative search paths are more reasonable -find_package(Irrlicht) -if(BUILD_CLIENT AND NOT IRRLICHT_FOUND) - message(FATAL_ERROR "IrrlichtMt is required to build the client, but it was not found.") -elseif(NOT IRRLICHT_INCLUDE_DIR) - message(FATAL_ERROR "Irrlicht or IrrlichtMt headers are required to build the server, but none found.") -endif() - -include(CheckSymbolExists) -set(CMAKE_REQUIRED_INCLUDES ${IRRLICHT_INCLUDE_DIR}) -unset(HAS_FORKED_IRRLICHT CACHE) -check_symbol_exists(IRRLICHT_VERSION_MT "IrrCompileConfig.h" HAS_FORKED_IRRLICHT) -if(NOT HAS_FORKED_IRRLICHT) - string(CONCAT EXPLANATION_MSG - "Irrlicht found, but it is not IrrlichtMt (Minetest's Irrlicht fork). " - "The Minetest team has forked Irrlicht to make their own customizations. " - "It can be found here: https://github.com/minetest/irrlicht") +if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/lib/irrlichtmt") + message(STATUS "Using user-provided IrrlichtMt at subdirectory 'lib/irrlichtmt'") if(BUILD_CLIENT) - message(FATAL_ERROR "${EXPLANATION_MSG}\n" - "Building the client with upstream Irrlicht is no longer possible.") + # tell IrrlichtMt to create a static library + set(BUILD_SHARED_LIBS OFF CACHE BOOL "Build shared library" FORCE) + add_subdirectory(lib/irrlichtmt EXCLUDE_FROM_ALL) + unset(BUILD_SHARED_LIBS CACHE) + + if(NOT TARGET IrrlichtMt) + message(FATAL_ERROR "IrrlichtMt project is missing a CMake target?!") + endif() else() - message(WARNING "${EXPLANATION_MSG}\n" - "The server can still be built with upstream Irrlicht but this is DISCOURAGED.") + add_library(IrrlichtMt::IrrlichtMt INTERFACE IMPORTED) + set_target_properties(IrrlichtMt::IrrlichtMt PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_CURRENT_SOURCE_DIR}/lib/irrlichtmt/include") + endif() +else() + find_package(IrrlichtMt QUIET) + if(NOT TARGET IrrlichtMt::IrrlichtMt) + string(CONCAT explanation_msg + "The Minetest team has forked Irrlicht to make their own customizations. " + "It can be found here: https://github.com/minetest/irrlicht\n" + "For example use: git clone --depth=1 https://github.com/minetest/irrlicht lib/irrlichtmt\n") + if(BUILD_CLIENT) + message(FATAL_ERROR "IrrlichtMt is required to build the client, but it was not found.\n${explanation_msg}") + endif() + + include(MinetestFindIrrlichtHeaders) + if(NOT IRRLICHT_INCLUDE_DIR) + message(FATAL_ERROR "Irrlicht or IrrlichtMt headers are required to build the server, but none found.\n${explanation_msg}") + endif() + message(STATUS "Found Irrlicht headers: ${IRRLICHT_INCLUDE_DIR}") + add_library(IrrlichtMt::IrrlichtMt INTERFACE IMPORTED) + # Note that we can't use target_include_directories() since that doesn't work for IMPORTED targets before CMake 3.11 + set_target_properties(IrrlichtMt::IrrlichtMt PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${IRRLICHT_INCLUDE_DIR}") + else() + message(STATUS "Found IrrlichtMt ${IrrlichtMt_VERSION}") endif() endif() diff --git a/Dockerfile b/Dockerfile index 7cb6bec84..8d1008fa2 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,5 @@ -FROM alpine:3.13 +ARG DOCKER_IMAGE=alpine:3.14 +FROM $DOCKER_IMAGE AS builder ENV MINETEST_GAME_VERSION master ENV IRRLICHT_VERSION master @@ -19,8 +20,8 @@ COPY textures /usr/src/minetest/textures WORKDIR /usr/src/minetest -RUN apk add --no-cache git build-base cmake sqlite-dev curl-dev zlib-dev \ - gmp-dev jsoncpp-dev postgresql-dev luajit-dev ca-certificates && \ +RUN apk add --no-cache git build-base cmake sqlite-dev curl-dev zlib-dev zstd-dev \ + gmp-dev jsoncpp-dev postgresql-dev ninja luajit-dev ca-certificates && \ git clone --depth=1 -b ${MINETEST_GAME_VERSION} https://github.com/minetest/minetest_game.git ./games/minetest_game && \ rm -fr ./games/minetest_game/.git @@ -31,9 +32,10 @@ RUN git clone --recursive https://github.com/jupp0r/prometheus-cpp/ && \ cmake .. \ -DCMAKE_INSTALL_PREFIX=/usr/local \ -DCMAKE_BUILD_TYPE=Release \ - -DENABLE_TESTING=0 && \ - make -j2 && \ - make install + -DENABLE_TESTING=0 \ + -GNinja && \ + ninja && \ + ninja install RUN git clone --depth=1 https://github.com/minetest/irrlicht/ -b ${IRRLICHT_VERSION} && \ cp -r irrlicht/include /usr/include/irrlichtmt @@ -47,21 +49,23 @@ RUN mkdir build && \ -DBUILD_SERVER=TRUE \ -DENABLE_PROMETHEUS=TRUE \ -DBUILD_UNITTESTS=FALSE \ - -DBUILD_CLIENT=FALSE && \ - make -j2 && \ - make install + -DBUILD_CLIENT=FALSE \ + -GNinja && \ + ninja && \ + ninja install -FROM alpine:3.13 +ARG DOCKER_IMAGE=alpine:3.14 +FROM $DOCKER_IMAGE AS runtime -RUN apk add --no-cache sqlite-libs curl gmp libstdc++ libgcc libpq luajit jsoncpp && \ +RUN apk add --no-cache sqlite-libs curl gmp libstdc++ libgcc libpq luajit jsoncpp zstd-libs && \ adduser -D minetest --uid 30000 -h /var/lib/minetest && \ chown -R minetest:minetest /var/lib/minetest WORKDIR /var/lib/minetest -COPY --from=0 /usr/local/share/minetest /usr/local/share/minetest -COPY --from=0 /usr/local/bin/minetestserver /usr/local/bin/minetestserver -COPY --from=0 /usr/local/share/doc/minetest/minetest.conf.example /etc/minetest/minetest.conf +COPY --from=builder /usr/local/share/minetest /usr/local/share/minetest +COPY --from=builder /usr/local/bin/minetestserver /usr/local/bin/minetestserver +COPY --from=builder /usr/local/share/doc/minetest/minetest.conf.example /etc/minetest/minetest.conf USER minetest:minetest diff --git a/README.md b/README.md index b49b96a31..5f4dded59 100644 --- a/README.md +++ b/README.md @@ -136,25 +136,26 @@ Compiling | CMake | 3.5+ | | | IrrlichtMt | - | Custom version of Irrlicht, see https://github.com/minetest/irrlicht | | SQLite3 | 3.0+ | | +| Zstd | 1.0+ | | | LuaJIT | 2.0+ | Bundled Lua 5.1 is used if not present | | GMP | 5.0.0+ | Bundled mini-GMP is used if not present | | JsonCPP | 1.0.0+ | Bundled JsonCPP is used if not present | For Debian/Ubuntu users: - sudo apt install g++ make libc6-dev cmake 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 cmake 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 libzstd-dev For Fedora users: - sudo dnf install make automake gcc gcc-c++ kernel-devel cmake libcurl-devel openal-soft-devel libvorbis-devel libXxf86vm-devel libogg-devel freetype-devel mesa-libGL-devel zlib-devel jsoncpp-devel gmp-devel sqlite-devel luajit-devel leveldb-devel ncurses-devel spatialindex-devel + sudo dnf install make automake gcc gcc-c++ kernel-devel cmake libcurl-devel openal-soft-devel libvorbis-devel libXxf86vm-devel libogg-devel freetype-devel mesa-libGL-devel zlib-devel jsoncpp-devel gmp-devel sqlite-devel luajit-devel leveldb-devel ncurses-devel spatialindex-devel libzstd-devel For Arch users: - sudo pacman -S base-devel libcurl-gnutls cmake libxxf86vm libpng sqlite libogg libvorbis openal freetype2 jsoncpp gmp luajit leveldb ncurses + sudo pacman -S base-devel libcurl-gnutls cmake libxxf86vm libpng sqlite libogg libvorbis openal freetype2 jsoncpp gmp luajit leveldb ncurses zstd For Alpine users: - sudo apk add build-base cmake 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 + sudo apk add build-base cmake 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 zstd-dev #### Download @@ -177,6 +178,10 @@ Download minetest_game (otherwise only the "Development Test" game is available) git clone --depth 1 https://github.com/minetest/minetest_game.git games/minetest_game +Download IrrlichtMt to `lib/irrlichtmt`, it will be used to satisfy the IrrlichtMt dependency that way: + + git clone --depth 1 https://github.com/minetest/irrlicht.git lib/irrlichtmt + Download source, without using Git: wget https://github.com/minetest/minetest/archive/master.tar.gz @@ -191,6 +196,14 @@ Download minetest_game, without using Git: mv minetest_game-master minetest_game cd .. +Download IrrlichtMt, without using Git: + + cd lib/ + wget https://github.com/minetest/irrlicht/archive/master.tar.gz + tar xf master.tar.gz + mv irrlicht-master irrlichtmt + cd .. + #### Build Build a version that runs directly from the source directory: @@ -211,6 +224,10 @@ Run it: - Debug build is slower, but gives much more useful output in a debugger. - If you build a bare server you don't need to have the Irrlicht or IrrlichtMt library installed. - In that case use `-DIRRLICHT_INCLUDE_DIR=/some/where/irrlicht/include`. +- IrrlichtMt can also be installed somewhere that is not a standard install path. + - In that case use `-DCMAKE_PREFIX_PATH=/path/to/install_prefix` + - The path must be set so that `$(CMAKE_PREFIX_PATH)/lib/cmake/IrrlichtMt` exists + or that `$(CMAKE_PREFIX_PATH)` is the path of an IrrlichtMt build folder. ### CMake options @@ -260,8 +277,7 @@ Library specific options: GETTEXT_LIBRARY - Only when building with gettext on Windows; path to libintl.dll.a GETTEXT_MSGFMT - Only when building with gettext; path to msgfmt/msgfmt.exe IRRLICHT_DLL - Only on Windows; path to IrrlichtMt.dll - IRRLICHT_INCLUDE_DIR - Directory that contains IrrCompileConfig.h - IRRLICHT_LIBRARY - Path to libIrrlichtMt.a/libIrrlichtMt.so/libIrrlichtMt.dll.a/IrrlichtMt.lib + IRRLICHT_INCLUDE_DIR - Directory that contains IrrCompileConfig.h (usable for server build only) LEVELDB_INCLUDE_DIR - Only when building with LevelDB; directory that contains db.h LEVELDB_LIBRARY - Only when building with LevelDB; path to libleveldb.a/libleveldb.so/libleveldb.dll.a LEVELDB_DLL - Only when building with LevelDB on Windows; path to libleveldb.dll @@ -291,8 +307,11 @@ Library specific options: ZLIB_DLL - Only on Windows; path to zlib1.dll ZLIB_INCLUDE_DIR - Directory that contains zlib.h ZLIB_LIBRARY - Path to libz.a/libz.so/zlib.lib + ZSTD_DLL - Only on Windows; path to libzstd.dll + ZSTD_INCLUDE_DIR - Directory that contains zstd.h + ZSTD_LIBRARY - Path to libzstd.a/libzstd.so/ztd.lib -### Compiling on Windows +### Compiling on Windows using MSVC ### Requirements @@ -305,14 +324,12 @@ Library specific options: It is highly recommended to use vcpkg as package manager. -#### a) Using vcpkg to install dependencies - After you successfully built vcpkg you can easily install the required libraries: ```powershell -vcpkg install zlib curl[winssl] openal-soft libvorbis libogg sqlite3 freetype luajit gmp jsoncpp --triplet x64-windows +vcpkg install zlib zstd curl[winssl] openal-soft libvorbis libogg sqlite3 freetype luajit gmp jsoncpp --triplet x64-windows ``` -- **Note that you currently need to build irrlicht on your own** +- **Don't forget about IrrlichtMt.** The easiest way is to clone it to `lib/irrlichtmt` as described in the Linux section. - `curl` is optional, but required to read the serverlist, `curl[winssl]` is required to use the content store. - `openal-soft`, `libvorbis` and `libogg` are optional, but required to use sound. - `freetype` is optional, it allows true-type font rendering. @@ -323,10 +340,6 @@ There are other optional libraries, but they are not tested if they can build an Use `--triplet` to specify the target triplet, e.g. `x64-windows` or `x86-windows`. -#### b) Compile the dependencies on your own - -This is outdated and not recommended. Follow the instructions on https://dev.minetest.net/Build_Win32_Minetest_including_all_required_libraries#VS2012_Build - ### Compile Minetest #### a) Using the vcpkg toolchain and CMake GUI @@ -355,12 +368,6 @@ cmake --build . --config Release ``` Make sure that the right compiler is selected and the path to the vcpkg toolchain is correct. -#### c) Using your own compiled libraries - -**This is outdated and not recommended** - -Follow the instructions on https://dev.minetest.net/Build_Win32_Minetest_including_all_required_libraries#VS2012_Build - ### Windows Installer using WiX Toolset Requirements: diff --git a/build/android/.gitignore b/android/.gitignore similarity index 100% rename from build/android/.gitignore rename to android/.gitignore diff --git a/build/android/app/build.gradle b/android/app/build.gradle similarity index 90% rename from build/android/app/build.gradle rename to android/app/build.gradle index 7f4eba8c4..53fe85910 100644 --- a/build/android/app/build.gradle +++ b/android/app/build.gradle @@ -52,7 +52,7 @@ android { task prepareAssets() { def assetsFolder = "build/assets" - def projRoot = "../../.." + def projRoot = "../.." def gameToCopy = "minetest_game" copy { @@ -76,10 +76,13 @@ task prepareAssets() { copy { from "${projRoot}/games/${gameToCopy}" into "${assetsFolder}/games/${gameToCopy}" } - /*copy { - // ToDo: fix broken locales - from "${projRoot}/po" into "${assetsFolder}/po" - }*/ + fileTree("${projRoot}/po").include("**/*.po").forEach { poFile -> + def moPath = "${assetsFolder}/locale/${poFile.parentFile.name}/LC_MESSAGES/" + file(moPath).mkdirs() + exec { + commandLine 'msgfmt', '-o', "${moPath}/minetest.mo", poFile + } + } copy { from "${projRoot}/textures" into "${assetsFolder}/textures" } diff --git a/build/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml similarity index 100% rename from build/android/app/src/main/AndroidManifest.xml rename to android/app/src/main/AndroidManifest.xml diff --git a/build/android/app/src/main/java/net/minetest/minetest/CopyZipTask.java b/android/app/src/main/java/net/minetest/minetest/CopyZipTask.java similarity index 100% rename from build/android/app/src/main/java/net/minetest/minetest/CopyZipTask.java rename to android/app/src/main/java/net/minetest/minetest/CopyZipTask.java diff --git a/build/android/app/src/main/java/net/minetest/minetest/CustomEditText.java b/android/app/src/main/java/net/minetest/minetest/CustomEditText.java similarity index 100% rename from build/android/app/src/main/java/net/minetest/minetest/CustomEditText.java rename to android/app/src/main/java/net/minetest/minetest/CustomEditText.java diff --git a/build/android/app/src/main/java/net/minetest/minetest/GameActivity.java b/android/app/src/main/java/net/minetest/minetest/GameActivity.java similarity index 79% rename from build/android/app/src/main/java/net/minetest/minetest/GameActivity.java rename to android/app/src/main/java/net/minetest/minetest/GameActivity.java index 38a388230..bdf764138 100644 --- a/build/android/app/src/main/java/net/minetest/minetest/GameActivity.java +++ b/android/app/src/main/java/net/minetest/minetest/GameActivity.java @@ -30,7 +30,9 @@ import android.view.KeyEvent; import android.view.View; import android.view.WindowManager; import android.view.inputmethod.InputMethodManager; +import android.widget.Button; import android.widget.EditText; +import android.widget.LinearLayout; import androidx.appcompat.app.AlertDialog; @@ -85,9 +87,19 @@ public class GameActivity extends NativeActivity { private void showDialogUI(String hint, String current, int editType) { final AlertDialog.Builder builder = new AlertDialog.Builder(this); - EditText editText = new CustomEditText(this); - builder.setView(editText); + LinearLayout container = new LinearLayout(this); + container.setOrientation(LinearLayout.VERTICAL); + builder.setView(container); AlertDialog alertDialog = builder.create(); + EditText editText; + // For multi-line, do not close the dialog after pressing back button + if (editType == 1) { + editText = new EditText(this); + } else { + editText = new CustomEditText(this); + } + container.addView(editText); + editText.setMaxLines(8); editText.requestFocus(); editText.setHint(hint); editText.setText(current); @@ -103,8 +115,9 @@ public class GameActivity extends NativeActivity { else editText.setInputType(InputType.TYPE_CLASS_TEXT); editText.setSelection(editText.getText().length()); - editText.setOnKeyListener((view, KeyCode, event) -> { - if (KeyCode == KeyEvent.KEYCODE_ENTER) { + editText.setOnKeyListener((view, keyCode, event) -> { + // For multi-line, do not submit the text after pressing Enter key + if (keyCode == KeyEvent.KEYCODE_ENTER && editType != 1) { imm.hideSoftInputFromWindow(editText.getWindowToken(), 0); messageReturnCode = 0; messageReturnValue = editText.getText().toString(); @@ -113,6 +126,18 @@ public class GameActivity extends NativeActivity { } return false; }); + // For multi-line, add Done button since Enter key does not submit text + if (editType == 1) { + Button doneButton = new Button(this); + container.addView(doneButton); + doneButton.setText(R.string.ime_dialog_done); + doneButton.setOnClickListener((view -> { + imm.hideSoftInputFromWindow(editText.getWindowToken(), 0); + messageReturnCode = 0; + messageReturnValue = editText.getText().toString(); + alertDialog.dismiss(); + })); + } alertDialog.show(); alertDialog.setOnCancelListener(dialog -> { getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); diff --git a/build/android/app/src/main/java/net/minetest/minetest/MainActivity.java b/android/app/src/main/java/net/minetest/minetest/MainActivity.java similarity index 100% rename from build/android/app/src/main/java/net/minetest/minetest/MainActivity.java rename to android/app/src/main/java/net/minetest/minetest/MainActivity.java diff --git a/build/android/app/src/main/java/net/minetest/minetest/UnzipService.java b/android/app/src/main/java/net/minetest/minetest/UnzipService.java similarity index 100% rename from build/android/app/src/main/java/net/minetest/minetest/UnzipService.java rename to android/app/src/main/java/net/minetest/minetest/UnzipService.java diff --git a/build/android/app/src/main/res/drawable/background.png b/android/app/src/main/res/drawable/background.png similarity index 100% rename from build/android/app/src/main/res/drawable/background.png rename to android/app/src/main/res/drawable/background.png diff --git a/build/android/app/src/main/res/drawable/bg.xml b/android/app/src/main/res/drawable/bg.xml similarity index 100% rename from build/android/app/src/main/res/drawable/bg.xml rename to android/app/src/main/res/drawable/bg.xml diff --git a/build/android/app/src/main/res/layout/activity_main.xml b/android/app/src/main/res/layout/activity_main.xml similarity index 100% rename from build/android/app/src/main/res/layout/activity_main.xml rename to android/app/src/main/res/layout/activity_main.xml diff --git a/build/android/app/src/main/res/mipmap/ic_launcher.png b/android/app/src/main/res/mipmap/ic_launcher.png similarity index 100% rename from build/android/app/src/main/res/mipmap/ic_launcher.png rename to android/app/src/main/res/mipmap/ic_launcher.png diff --git a/build/android/app/src/main/res/values/strings.xml b/android/app/src/main/res/values/strings.xml similarity index 89% rename from build/android/app/src/main/res/values/strings.xml rename to android/app/src/main/res/values/strings.xml index a6fba70d5..85238117f 100644 --- a/build/android/app/src/main/res/values/strings.xml +++ b/android/app/src/main/res/values/strings.xml @@ -6,5 +6,6 @@ Required permission wasn\'t granted, Minetest can\'t run without it Loading Minetest Less than 1 minute… + Done diff --git a/build/android/app/src/main/res/values/styles.xml b/android/app/src/main/res/values/styles.xml similarity index 100% rename from build/android/app/src/main/res/values/styles.xml rename to android/app/src/main/res/values/styles.xml diff --git a/build/android/build.gradle b/android/build.gradle similarity index 100% rename from build/android/build.gradle rename to android/build.gradle diff --git a/build/android/gradle.properties b/android/gradle.properties similarity index 100% rename from build/android/gradle.properties rename to android/gradle.properties diff --git a/build/android/gradle/wrapper/gradle-wrapper.jar b/android/gradle/wrapper/gradle-wrapper.jar similarity index 100% rename from build/android/gradle/wrapper/gradle-wrapper.jar rename to android/gradle/wrapper/gradle-wrapper.jar diff --git a/build/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties similarity index 100% rename from build/android/gradle/wrapper/gradle-wrapper.properties rename to android/gradle/wrapper/gradle-wrapper.properties diff --git a/build/android/gradlew b/android/gradlew similarity index 100% rename from build/android/gradlew rename to android/gradlew diff --git a/build/android/gradlew.bat b/android/gradlew.bat similarity index 100% rename from build/android/gradlew.bat rename to android/gradlew.bat diff --git a/build/android/icons/aux1_btn.svg b/android/icons/aux1_btn.svg similarity index 100% rename from build/android/icons/aux1_btn.svg rename to android/icons/aux1_btn.svg diff --git a/build/android/icons/camera_btn.svg b/android/icons/camera_btn.svg similarity index 100% rename from build/android/icons/camera_btn.svg rename to android/icons/camera_btn.svg diff --git a/build/android/icons/chat_btn.svg b/android/icons/chat_btn.svg similarity index 100% rename from build/android/icons/chat_btn.svg rename to android/icons/chat_btn.svg diff --git a/build/android/icons/chat_hide_btn.svg b/android/icons/chat_hide_btn.svg similarity index 100% rename from build/android/icons/chat_hide_btn.svg rename to android/icons/chat_hide_btn.svg diff --git a/build/android/icons/chat_show_btn.svg b/android/icons/chat_show_btn.svg similarity index 100% rename from build/android/icons/chat_show_btn.svg rename to android/icons/chat_show_btn.svg diff --git a/build/android/icons/checkbox_tick.svg b/android/icons/checkbox_tick.svg similarity index 100% rename from build/android/icons/checkbox_tick.svg rename to android/icons/checkbox_tick.svg diff --git a/build/android/icons/debug_btn.svg b/android/icons/debug_btn.svg similarity index 100% rename from build/android/icons/debug_btn.svg rename to android/icons/debug_btn.svg diff --git a/build/android/icons/down.svg b/android/icons/down.svg similarity index 100% rename from build/android/icons/down.svg rename to android/icons/down.svg diff --git a/build/android/icons/drop_btn.svg b/android/icons/drop_btn.svg similarity index 100% rename from build/android/icons/drop_btn.svg rename to android/icons/drop_btn.svg diff --git a/build/android/icons/fast_btn.svg b/android/icons/fast_btn.svg similarity index 100% rename from build/android/icons/fast_btn.svg rename to android/icons/fast_btn.svg diff --git a/build/android/icons/fly_btn.svg b/android/icons/fly_btn.svg similarity index 100% rename from build/android/icons/fly_btn.svg rename to android/icons/fly_btn.svg diff --git a/build/android/icons/gear_icon.svg b/android/icons/gear_icon.svg similarity index 100% rename from build/android/icons/gear_icon.svg rename to android/icons/gear_icon.svg diff --git a/build/android/icons/inventory_btn.svg b/android/icons/inventory_btn.svg similarity index 100% rename from build/android/icons/inventory_btn.svg rename to android/icons/inventory_btn.svg diff --git a/build/android/icons/joystick_bg.svg b/android/icons/joystick_bg.svg similarity index 100% rename from build/android/icons/joystick_bg.svg rename to android/icons/joystick_bg.svg diff --git a/build/android/icons/joystick_center.svg b/android/icons/joystick_center.svg similarity index 100% rename from build/android/icons/joystick_center.svg rename to android/icons/joystick_center.svg diff --git a/build/android/icons/joystick_off.svg b/android/icons/joystick_off.svg similarity index 100% rename from build/android/icons/joystick_off.svg rename to android/icons/joystick_off.svg diff --git a/build/android/icons/jump_btn.svg b/android/icons/jump_btn.svg similarity index 100% rename from build/android/icons/jump_btn.svg rename to android/icons/jump_btn.svg diff --git a/build/android/icons/minimap_btn.svg b/android/icons/minimap_btn.svg similarity index 100% rename from build/android/icons/minimap_btn.svg rename to android/icons/minimap_btn.svg diff --git a/build/android/icons/noclip_btn.svg b/android/icons/noclip_btn.svg similarity index 100% rename from build/android/icons/noclip_btn.svg rename to android/icons/noclip_btn.svg diff --git a/build/android/icons/rangeview_btn.svg b/android/icons/rangeview_btn.svg similarity index 100% rename from build/android/icons/rangeview_btn.svg rename to android/icons/rangeview_btn.svg diff --git a/build/android/icons/rare_controls.svg b/android/icons/rare_controls.svg similarity index 100% rename from build/android/icons/rare_controls.svg rename to android/icons/rare_controls.svg diff --git a/build/android/icons/zoom.svg b/android/icons/zoom.svg similarity index 100% rename from build/android/icons/zoom.svg rename to android/icons/zoom.svg diff --git a/build/android/keystore-minetest.jks b/android/keystore-minetest.jks similarity index 100% rename from build/android/keystore-minetest.jks rename to android/keystore-minetest.jks diff --git a/build/android/native/build.gradle b/android/native/build.gradle similarity index 100% rename from build/android/native/build.gradle rename to android/native/build.gradle diff --git a/android/native/jni/Android.mk b/android/native/jni/Android.mk new file mode 100644 index 000000000..26e9b058b --- /dev/null +++ b/android/native/jni/Android.mk @@ -0,0 +1,219 @@ +LOCAL_PATH := $(call my-dir)/.. + +#LOCAL_ADDRESS_SANITIZER:=true + +include $(CLEAR_VARS) +LOCAL_MODULE := Curl +LOCAL_SRC_FILES := deps/Android/Curl/${NDK_TOOLCHAIN_VERSION}/$(APP_ABI)/libcurl.a +include $(PREBUILT_STATIC_LIBRARY) + +include $(CLEAR_VARS) +LOCAL_MODULE := Freetype +LOCAL_SRC_FILES := deps/Android/Freetype/${NDK_TOOLCHAIN_VERSION}/$(APP_ABI)/libfreetype.a +include $(PREBUILT_STATIC_LIBRARY) + +include $(CLEAR_VARS) +LOCAL_MODULE := Irrlicht +LOCAL_SRC_FILES := deps/Android/Irrlicht/${NDK_TOOLCHAIN_VERSION}/$(APP_ABI)/libIrrlichtMt.a +include $(PREBUILT_STATIC_LIBRARY) + +#include $(CLEAR_VARS) +#LOCAL_MODULE := LevelDB +#LOCAL_SRC_FILES := deps/Android/LevelDB/${NDK_TOOLCHAIN_VERSION}/$(APP_ABI)/libleveldb.a +#include $(PREBUILT_STATIC_LIBRARY) + +include $(CLEAR_VARS) +LOCAL_MODULE := LuaJIT +LOCAL_SRC_FILES := deps/Android/LuaJIT/${NDK_TOOLCHAIN_VERSION}/$(APP_ABI)/libluajit.a +include $(PREBUILT_STATIC_LIBRARY) + +include $(CLEAR_VARS) +LOCAL_MODULE := mbedTLS +LOCAL_SRC_FILES := deps/Android/mbedTLS/${NDK_TOOLCHAIN_VERSION}/$(APP_ABI)/libmbedtls.a +include $(PREBUILT_STATIC_LIBRARY) + +include $(CLEAR_VARS) +LOCAL_MODULE := mbedx509 +LOCAL_SRC_FILES := deps/Android/mbedTLS/${NDK_TOOLCHAIN_VERSION}/$(APP_ABI)/libmbedx509.a +include $(PREBUILT_STATIC_LIBRARY) + +include $(CLEAR_VARS) +LOCAL_MODULE := mbedcrypto +LOCAL_SRC_FILES := deps/Android/mbedTLS/${NDK_TOOLCHAIN_VERSION}/$(APP_ABI)/libmbedcrypto.a +include $(PREBUILT_STATIC_LIBRARY) + +include $(CLEAR_VARS) +LOCAL_MODULE := OpenAL +LOCAL_SRC_FILES := deps/Android/OpenAL-Soft/${NDK_TOOLCHAIN_VERSION}/$(APP_ABI)/libopenal.a +include $(PREBUILT_STATIC_LIBRARY) + +include $(CLEAR_VARS) +LOCAL_MODULE := GetText +LOCAL_SRC_FILES := deps/Android/GetText/${NDK_TOOLCHAIN_VERSION}/$(APP_ABI)/libintl.a +include $(PREBUILT_STATIC_LIBRARY) + +include $(CLEAR_VARS) +LOCAL_MODULE := Vorbis +LOCAL_SRC_FILES := deps/Android/Vorbis/${NDK_TOOLCHAIN_VERSION}/$(APP_ABI)/libvorbis.a +include $(PREBUILT_STATIC_LIBRARY) + +include $(CLEAR_VARS) +LOCAL_MODULE := Zstd +LOCAL_SRC_FILES := deps/Android/Zstd/${NDK_TOOLCHAIN_VERSION}/$(APP_ABI)/libzstd.a +include $(PREBUILT_STATIC_LIBRARY) + +include $(CLEAR_VARS) +LOCAL_MODULE := Minetest + +LOCAL_CFLAGS += \ + -DJSONCPP_NO_LOCALE_SUPPORT \ + -DHAVE_TOUCHSCREENGUI \ + -DENABLE_GLES=1 \ + -DUSE_CURL=1 \ + -DUSE_SOUND=1 \ + -DUSE_FREETYPE=1 \ + -DUSE_LEVELDB=0 \ + -DUSE_LUAJIT=1 \ + -DUSE_GETTEXT=1 \ + -DVERSION_MAJOR=${versionMajor} \ + -DVERSION_MINOR=${versionMinor} \ + -DVERSION_PATCH=${versionPatch} \ + -DVERSION_EXTRA=${versionExtra} \ + $(GPROF_DEF) + +ifdef NDEBUG + LOCAL_CFLAGS += -DNDEBUG=1 +endif + +ifdef GPROF + GPROF_DEF := -DGPROF + PROFILER_LIBS := android-ndk-profiler + LOCAL_CFLAGS += -pg +endif + +LOCAL_C_INCLUDES := \ + ../../src \ + ../../src/script \ + ../../lib/gmp \ + ../../lib/jsoncpp \ + deps/Android/Curl/include \ + deps/Android/Freetype/include \ + deps/Android/Irrlicht/include \ + deps/Android/LevelDB/include \ + deps/Android/GetText/include \ + deps/Android/libiconv/include \ + deps/Android/libiconv/libcharset/include \ + deps/Android/LuaJIT/src \ + deps/Android/OpenAL-Soft/include \ + deps/Android/sqlite \ + deps/Android/Vorbis/include \ + deps/Android/Zstd/include + +LOCAL_SRC_FILES := \ + $(wildcard ../../src/client/*.cpp) \ + $(wildcard ../../src/client/*/*.cpp) \ + $(wildcard ../../src/content/*.cpp) \ + ../../src/database/database.cpp \ + ../../src/database/database-dummy.cpp \ + ../../src/database/database-files.cpp \ + ../../src/database/database-sqlite3.cpp \ + $(wildcard ../../src/gui/*.cpp) \ + $(wildcard ../../src/irrlicht_changes/*.cpp) \ + $(wildcard ../../src/mapgen/*.cpp) \ + $(wildcard ../../src/network/*.cpp) \ + $(wildcard ../../src/script/*.cpp) \ + $(wildcard ../../src/script/*/*.cpp) \ + $(wildcard ../../src/server/*.cpp) \ + $(wildcard ../../src/threading/*.cpp) \ + $(wildcard ../../src/util/*.c) \ + $(wildcard ../../src/util/*.cpp) \ + ../../src/ban.cpp \ + ../../src/chat.cpp \ + ../../src/clientiface.cpp \ + ../../src/collision.cpp \ + ../../src/content_mapnode.cpp \ + ../../src/content_nodemeta.cpp \ + ../../src/convert_json.cpp \ + ../../src/craftdef.cpp \ + ../../src/debug.cpp \ + ../../src/defaultsettings.cpp \ + ../../src/emerge.cpp \ + ../../src/environment.cpp \ + ../../src/face_position_cache.cpp \ + ../../src/filesys.cpp \ + ../../src/gettext.cpp \ + ../../src/httpfetch.cpp \ + ../../src/hud.cpp \ + ../../src/inventory.cpp \ + ../../src/inventorymanager.cpp \ + ../../src/itemdef.cpp \ + ../../src/itemstackmetadata.cpp \ + ../../src/light.cpp \ + ../../src/log.cpp \ + ../../src/main.cpp \ + ../../src/map.cpp \ + ../../src/map_settings_manager.cpp \ + ../../src/mapblock.cpp \ + ../../src/mapnode.cpp \ + ../../src/mapsector.cpp \ + ../../src/metadata.cpp \ + ../../src/modchannels.cpp \ + ../../src/nameidmapping.cpp \ + ../../src/nodedef.cpp \ + ../../src/nodemetadata.cpp \ + ../../src/nodetimer.cpp \ + ../../src/noise.cpp \ + ../../src/objdef.cpp \ + ../../src/object_properties.cpp \ + ../../src/particles.cpp \ + ../../src/pathfinder.cpp \ + ../../src/player.cpp \ + ../../src/porting.cpp \ + ../../src/porting_android.cpp \ + ../../src/profiler.cpp \ + ../../src/raycast.cpp \ + ../../src/reflowscan.cpp \ + ../../src/remoteplayer.cpp \ + ../../src/rollback.cpp \ + ../../src/rollback_interface.cpp \ + ../../src/serialization.cpp \ + ../../src/server.cpp \ + ../../src/serverenvironment.cpp \ + ../../src/serverlist.cpp \ + ../../src/settings.cpp \ + ../../src/staticobject.cpp \ + ../../src/texture_override.cpp \ + ../../src/tileanimation.cpp \ + ../../src/tool.cpp \ + ../../src/translation.cpp \ + ../../src/version.cpp \ + ../../src/voxel.cpp \ + ../../src/voxelalgorithms.cpp + +# LevelDB backend is disabled +# ../../src/database/database-leveldb.cpp + +# GMP +LOCAL_SRC_FILES += ../../lib/gmp/mini-gmp.c + +# JSONCPP +LOCAL_SRC_FILES += ../../lib/jsoncpp/jsoncpp.cpp + +# iconv +LOCAL_SRC_FILES += \ + deps/Android/libiconv/lib/iconv.c \ + deps/Android/libiconv/libcharset/lib/localcharset.c + +# SQLite3 +LOCAL_SRC_FILES += deps/Android/sqlite/sqlite3.c + +LOCAL_STATIC_LIBRARIES += Curl Freetype Irrlicht OpenAL mbedTLS mbedx509 mbedcrypto Vorbis LuaJIT GetText Zstd android_native_app_glue $(PROFILER_LIBS) #LevelDB + +LOCAL_LDLIBS := -lEGL -lGLESv1_CM -lGLESv2 -landroid -lOpenSLES + +include $(BUILD_SHARED_LIBRARY) + +ifdef GPROF +$(call import-module,android-ndk-profiler) +endif +$(call import-module,android/native_app_glue) diff --git a/build/android/native/jni/Application.mk b/android/native/jni/Application.mk similarity index 100% rename from build/android/native/jni/Application.mk rename to android/native/jni/Application.mk diff --git a/build/android/native/src/main/AndroidManifest.xml b/android/native/src/main/AndroidManifest.xml similarity index 100% rename from build/android/native/src/main/AndroidManifest.xml rename to android/native/src/main/AndroidManifest.xml diff --git a/build/android/settings.gradle b/android/settings.gradle similarity index 100% rename from build/android/settings.gradle rename to android/settings.gradle diff --git a/build/android/native/jni/Android.mk b/build/android/native/jni/Android.mk deleted file mode 100644 index 477392af0..000000000 --- a/build/android/native/jni/Android.mk +++ /dev/null @@ -1,206 +0,0 @@ -LOCAL_PATH := $(call my-dir)/.. - -#LOCAL_ADDRESS_SANITIZER:=true - -include $(CLEAR_VARS) -LOCAL_MODULE := Curl -LOCAL_SRC_FILES := deps/Android/Curl/${NDK_TOOLCHAIN_VERSION}/$(APP_ABI)/libcurl.a -include $(PREBUILT_STATIC_LIBRARY) - -include $(CLEAR_VARS) -LOCAL_MODULE := Freetype -LOCAL_SRC_FILES := deps/Android/Freetype/${NDK_TOOLCHAIN_VERSION}/$(APP_ABI)/libfreetype.a -include $(PREBUILT_STATIC_LIBRARY) - -include $(CLEAR_VARS) -LOCAL_MODULE := Irrlicht -LOCAL_SRC_FILES := deps/Android/Irrlicht/${NDK_TOOLCHAIN_VERSION}/$(APP_ABI)/libIrrlichtMt.a -include $(PREBUILT_STATIC_LIBRARY) - -#include $(CLEAR_VARS) -#LOCAL_MODULE := LevelDB -#LOCAL_SRC_FILES := deps/Android/LevelDB/${NDK_TOOLCHAIN_VERSION}/$(APP_ABI)/libleveldb.a -#include $(PREBUILT_STATIC_LIBRARY) - -include $(CLEAR_VARS) -LOCAL_MODULE := LuaJIT -LOCAL_SRC_FILES := deps/Android/LuaJIT/${NDK_TOOLCHAIN_VERSION}/$(APP_ABI)/libluajit.a -include $(PREBUILT_STATIC_LIBRARY) - -include $(CLEAR_VARS) -LOCAL_MODULE := mbedTLS -LOCAL_SRC_FILES := deps/Android/mbedTLS/${NDK_TOOLCHAIN_VERSION}/$(APP_ABI)/libmbedtls.a -include $(PREBUILT_STATIC_LIBRARY) - -include $(CLEAR_VARS) -LOCAL_MODULE := mbedx509 -LOCAL_SRC_FILES := deps/Android/mbedTLS/${NDK_TOOLCHAIN_VERSION}/$(APP_ABI)/libmbedx509.a -include $(PREBUILT_STATIC_LIBRARY) - -include $(CLEAR_VARS) -LOCAL_MODULE := mbedcrypto -LOCAL_SRC_FILES := deps/Android/mbedTLS/${NDK_TOOLCHAIN_VERSION}/$(APP_ABI)/libmbedcrypto.a -include $(PREBUILT_STATIC_LIBRARY) - -include $(CLEAR_VARS) -LOCAL_MODULE := OpenAL -LOCAL_SRC_FILES := deps/Android/OpenAL-Soft/${NDK_TOOLCHAIN_VERSION}/$(APP_ABI)/libopenal.a -include $(PREBUILT_STATIC_LIBRARY) - -include $(CLEAR_VARS) -LOCAL_MODULE := Vorbis -LOCAL_SRC_FILES := deps/Android/Vorbis/${NDK_TOOLCHAIN_VERSION}/$(APP_ABI)/libvorbis.a -include $(PREBUILT_STATIC_LIBRARY) - -include $(CLEAR_VARS) -LOCAL_MODULE := Minetest - -LOCAL_CFLAGS += \ - -DJSONCPP_NO_LOCALE_SUPPORT \ - -DHAVE_TOUCHSCREENGUI \ - -DENABLE_GLES=1 \ - -DUSE_CURL=1 \ - -DUSE_SOUND=1 \ - -DUSE_FREETYPE=1 \ - -DUSE_LEVELDB=0 \ - -DUSE_LUAJIT=1 \ - -DVERSION_MAJOR=${versionMajor} \ - -DVERSION_MINOR=${versionMinor} \ - -DVERSION_PATCH=${versionPatch} \ - -DVERSION_EXTRA=${versionExtra} \ - $(GPROF_DEF) - -ifdef NDEBUG - LOCAL_CFLAGS += -DNDEBUG=1 -endif - -ifdef GPROF - GPROF_DEF := -DGPROF - PROFILER_LIBS := android-ndk-profiler - LOCAL_CFLAGS += -pg -endif - -LOCAL_C_INCLUDES := \ - ../../../src \ - ../../../src/script \ - ../../../lib/gmp \ - ../../../lib/jsoncpp \ - deps/Android/Curl/include \ - deps/Android/Freetype/include \ - deps/Android/Irrlicht/include \ - deps/Android/LevelDB/include \ - deps/Android/libiconv/include \ - deps/Android/libiconv/libcharset/include \ - deps/Android/LuaJIT/src \ - deps/Android/OpenAL-Soft/include \ - deps/Android/sqlite \ - deps/Android/Vorbis/include - -LOCAL_SRC_FILES := \ - $(wildcard ../../../src/client/*.cpp) \ - $(wildcard ../../../src/client/*/*.cpp) \ - $(wildcard ../../../src/content/*.cpp) \ - ../../../src/database/database.cpp \ - ../../../src/database/database-dummy.cpp \ - ../../../src/database/database-files.cpp \ - ../../../src/database/database-sqlite3.cpp \ - $(wildcard ../../../src/gui/*.cpp) \ - $(wildcard ../../../src/irrlicht_changes/*.cpp) \ - $(wildcard ../../../src/mapgen/*.cpp) \ - $(wildcard ../../../src/network/*.cpp) \ - $(wildcard ../../../src/script/*.cpp) \ - $(wildcard ../../../src/script/*/*.cpp) \ - $(wildcard ../../../src/server/*.cpp) \ - $(wildcard ../../../src/threading/*.cpp) \ - $(wildcard ../../../src/util/*.c) \ - $(wildcard ../../../src/util/*.cpp) \ - ../../../src/ban.cpp \ - ../../../src/chat.cpp \ - ../../../src/clientiface.cpp \ - ../../../src/collision.cpp \ - ../../../src/content_mapnode.cpp \ - ../../../src/content_nodemeta.cpp \ - ../../../src/convert_json.cpp \ - ../../../src/craftdef.cpp \ - ../../../src/debug.cpp \ - ../../../src/defaultsettings.cpp \ - ../../../src/emerge.cpp \ - ../../../src/environment.cpp \ - ../../../src/face_position_cache.cpp \ - ../../../src/filesys.cpp \ - ../../../src/gettext.cpp \ - ../../../src/httpfetch.cpp \ - ../../../src/hud.cpp \ - ../../../src/inventory.cpp \ - ../../../src/inventorymanager.cpp \ - ../../../src/itemdef.cpp \ - ../../../src/itemstackmetadata.cpp \ - ../../../src/light.cpp \ - ../../../src/log.cpp \ - ../../../src/main.cpp \ - ../../../src/map.cpp \ - ../../../src/map_settings_manager.cpp \ - ../../../src/mapblock.cpp \ - ../../../src/mapnode.cpp \ - ../../../src/mapsector.cpp \ - ../../../src/metadata.cpp \ - ../../../src/modchannels.cpp \ - ../../../src/nameidmapping.cpp \ - ../../../src/nodedef.cpp \ - ../../../src/nodemetadata.cpp \ - ../../../src/nodetimer.cpp \ - ../../../src/noise.cpp \ - ../../../src/objdef.cpp \ - ../../../src/object_properties.cpp \ - ../../../src/particles.cpp \ - ../../../src/pathfinder.cpp \ - ../../../src/player.cpp \ - ../../../src/porting.cpp \ - ../../../src/porting_android.cpp \ - ../../../src/profiler.cpp \ - ../../../src/raycast.cpp \ - ../../../src/reflowscan.cpp \ - ../../../src/remoteplayer.cpp \ - ../../../src/rollback.cpp \ - ../../../src/rollback_interface.cpp \ - ../../../src/serialization.cpp \ - ../../../src/server.cpp \ - ../../../src/serverenvironment.cpp \ - ../../../src/serverlist.cpp \ - ../../../src/settings.cpp \ - ../../../src/staticobject.cpp \ - ../../../src/texture_override.cpp \ - ../../../src/tileanimation.cpp \ - ../../../src/tool.cpp \ - ../../../src/translation.cpp \ - ../../../src/version.cpp \ - ../../../src/voxel.cpp \ - ../../../src/voxelalgorithms.cpp - -# LevelDB backend is disabled -# ../../../src/database/database-leveldb.cpp - -# GMP -LOCAL_SRC_FILES += ../../../lib/gmp/mini-gmp.c - -# JSONCPP -LOCAL_SRC_FILES += ../../../lib/jsoncpp/jsoncpp.cpp - -# iconv -LOCAL_SRC_FILES += \ - deps/Android/libiconv/lib/iconv.c \ - deps/Android/libiconv/libcharset/lib/localcharset.c - -# SQLite3 -LOCAL_SRC_FILES += deps/Android/sqlite/sqlite3.c - -LOCAL_STATIC_LIBRARIES += Curl Freetype Irrlicht OpenAL mbedTLS mbedx509 mbedcrypto Vorbis LuaJIT android_native_app_glue $(PROFILER_LIBS) #LevelDB - -LOCAL_LDLIBS := -lEGL -lGLESv1_CM -lGLESv2 -landroid -lOpenSLES - -include $(BUILD_SHARED_LIBRARY) - -ifdef GPROF -$(call import-module,android-ndk-profiler) -endif -$(call import-module,android/native_app_glue) diff --git a/builtin/async/init.lua b/builtin/async/init.lua index 1b2549685..3803994d6 100644 --- a/builtin/async/init.lua +++ b/builtin/async/init.lua @@ -1,16 +1,10 @@ core.log("info", "Initializing Asynchronous environment") -function core.job_processor(serialized_func, serialized_param) - local func = loadstring(serialized_func) +function core.job_processor(func, serialized_param) local param = core.deserialize(serialized_param) - local retval = nil - if type(func) == "function" then - retval = core.serialize(func(param)) - else - core.log("error", "ASYNC WORKER: Unable to deserialize function") - end + local retval = core.serialize(func(param)) return retval or core.serialize(nil) end diff --git a/builtin/client/death_formspec.lua b/builtin/client/death_formspec.lua index 6d6fd6fd9..ff484b32f 100644 --- a/builtin/client/death_formspec.lua +++ b/builtin/client/death_formspec.lua @@ -1,8 +1,8 @@ local death_formspec = "" .. "size[11,5.5]" .. "bgcolor[#320000b4;true]" - .. "label[4.85,1.35;" .. "You died" .. "]" - .. "button_exit[2,3;3,0.5;btn_respawn;" .. "Respawn" .. "]" + .. "label[4.85,1.35;" .. fgettext("You died") .. "]" + .. "button_exit[2,3;3,0.5;btn_respawn;" .. fgettext("Respawn") .. "]" .. "button_exit[6,3;3,0.5;btn_ghost_mode;" .. "Ghost Mode" .. "]" .. "set_focus[btn_respawn;true]" diff --git a/builtin/common/misc_helpers.lua b/builtin/common/misc_helpers.lua index 324d83b07..e4bc056d9 100644 --- a/builtin/common/misc_helpers.lua +++ b/builtin/common/misc_helpers.lua @@ -209,14 +209,7 @@ end -------------------------------------------------------------------------------- function math.hypot(x, y) - local t - x = math.abs(x) - y = math.abs(y) - t = math.min(x, y) - x = math.max(x, y) - if x == 0 then return 0 end - t = t / x - return x * math.sqrt(1 + t * t) + return math.sqrt(x * x + y * y) end -------------------------------------------------------------------------------- @@ -432,21 +425,19 @@ function core.string_to_pos(value) return nil end - local p = {} - p.x, p.y, p.z = string.match(value, "^([%d.-]+)[, ] *([%d.-]+)[, ] *([%d.-]+)$") - if p.x and p.y and p.z then - p.x = tonumber(p.x) - p.y = tonumber(p.y) - p.z = tonumber(p.z) - return p + local x, y, z = string.match(value, "^([%d.-]+)[, ] *([%d.-]+)[, ] *([%d.-]+)$") + if x and y and z then + x = tonumber(x) + y = tonumber(y) + z = tonumber(z) + return vector.new(x, y, z) end - p = {} - p.x, p.y, p.z = string.match(value, "^%( *([%d.-]+)[, ] *([%d.-]+)[, ] *([%d.-]+) *%)$") - if p.x and p.y and p.z then - p.x = tonumber(p.x) - p.y = tonumber(p.y) - p.z = tonumber(p.z) - return p + x, y, z = string.match(value, "^%( *([%d.-]+)[, ] *([%d.-]+)[, ] *([%d.-]+) *%)$") + if x and y and z then + x = tonumber(x) + y = tonumber(y) + z = tonumber(z) + return vector.new(x, y, z) end return nil end diff --git a/builtin/common/tests/misc_helpers_spec.lua b/builtin/common/tests/misc_helpers_spec.lua index bb9d13e7f..b16987f0b 100644 --- a/builtin/common/tests/misc_helpers_spec.lua +++ b/builtin/common/tests/misc_helpers_spec.lua @@ -1,4 +1,5 @@ _G.core = {} +dofile("builtin/common/vector.lua") dofile("builtin/common/misc_helpers.lua") describe("string", function() @@ -55,8 +56,8 @@ 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.equal(vector.new(10, 5.1, -2), core.string_to_pos("10.0, 5.1, -2")) + assert.equal(vector.new(10, 5.1, -2), core.string_to_pos("( 10.0, 5.1, -2)")) assert.is_nil(core.string_to_pos("asd, 5, -2)")) end) diff --git a/builtin/common/tests/serialize_spec.lua b/builtin/common/tests/serialize_spec.lua index 17c6a60f7..e46b7dcc5 100644 --- a/builtin/common/tests/serialize_spec.lua +++ b/builtin/common/tests/serialize_spec.lua @@ -3,6 +3,7 @@ _G.core = {} _G.setfenv = require 'busted.compatibility'.setfenv dofile("builtin/common/serialize.lua") +dofile("builtin/common/vector.lua") describe("serialize", function() it("works", function() @@ -53,4 +54,16 @@ describe("serialize", function() assert.is_nil(test_out.func) assert.equals(test_out.foo, "bar") end) + + it("vectors work", function() + local v = vector.new(1, 2, 3) + assert.same({{x = 1, y = 2, z = 3}}, core.deserialize(core.serialize({v}))) + assert.same({x = 1, y = 2, z = 3}, core.deserialize(core.serialize(v))) + + -- abuse + v = vector.new(1, 2, 3) + v.a = "bla" + assert.same({x = 1, y = 2, z = 3, a = "bla"}, + core.deserialize(core.serialize(v))) + end) end) diff --git a/builtin/common/tests/vector_spec.lua b/builtin/common/tests/vector_spec.lua index 104c656e9..2a50e2889 100644 --- a/builtin/common/tests/vector_spec.lua +++ b/builtin/common/tests/vector_spec.lua @@ -4,14 +4,20 @@ 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 })) + 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})) + + assert.is_true(vector.check(vector.new())) + assert.is_true(vector.check(vector.new(1, 2, 3))) + assert.is_true(vector.check(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) + assert.equal(input, output) + assert.is_false(rawequal(input, output)) + assert.equal(input, input:new()) end) it("throws on invalid input", function() @@ -25,32 +31,271 @@ describe("vector", function() 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) + it("zero()", function() + assert.same({x = 0, y = 0, z = 0}, vector.zero()) + assert.same(vector.new(), vector.zero()) + assert.equal(vector.new(), vector.zero()) + assert.is_true(vector.check(vector.zero())) 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 })) + it("copy()", function() + local v = vector.new(1, 2, 3) + assert.same(v, vector.copy(v)) + assert.same(vector.new(v), vector.copy(v)) + assert.equal(vector.new(v), vector.copy(v)) + assert.is_true(vector.check(vector.copy(v))) + end) + + it("indexes", function() + local some_vector = vector.new(24, 42, 13) + assert.equal(24, some_vector[1]) + assert.equal(24, some_vector.x) + assert.equal(42, some_vector[2]) + assert.equal(42, some_vector.y) + assert.equal(13, some_vector[3]) + assert.equal(13, some_vector.z) + + some_vector[1] = 100 + assert.equal(100, some_vector.x) + some_vector.x = 101 + assert.equal(101, some_vector[1]) + + some_vector[2] = 100 + assert.equal(100, some_vector.y) + some_vector.y = 102 + assert.equal(102, some_vector[2]) + + some_vector[3] = 100 + assert.equal(100, some_vector.z) + some_vector.z = 103 + assert.equal(103, some_vector[3]) + end) + + it("direction()", function() + local a = vector.new(1, 0, 0) + local b = vector.new(1, 42, 0) + assert.equal(vector.new(0, 1, 0), vector.direction(a, b)) + assert.equal(vector.new(0, 1, 0), a:direction(b)) + end) + + it("distance()", function() + local a = vector.new(1, 0, 0) + local b = vector.new(3, 42, 9) + assert.is_true(math.abs(43 - vector.distance(a, b)) < 1.0e-12) + assert.is_true(math.abs(43 - a:distance(b)) < 1.0e-12) + assert.equal(0, vector.distance(a, a)) + assert.equal(0, b:distance(b)) + end) + + it("length()", function() + local a = vector.new(0, 0, -23) + assert.equal(0, vector.length(vector.new())) + assert.equal(23, vector.length(a)) + assert.equal(23, a:length()) + end) + + it("normalize()", function() + local a = vector.new(0, 0, -23) + assert.equal(vector.new(0, 0, -1), vector.normalize(a)) + assert.equal(vector.new(0, 0, -1), a:normalize()) + assert.equal(vector.new(), vector.normalize(vector.new())) + end) + + it("floor()", function() + local a = vector.new(0.1, 0.9, -0.5) + assert.equal(vector.new(0, 0, -1), vector.floor(a)) + assert.equal(vector.new(0, 0, -1), a:floor()) + end) + + it("round()", function() + local a = vector.new(0.1, 0.9, -0.5) + assert.equal(vector.new(0, 1, -1), vector.round(a)) + assert.equal(vector.new(0, 1, -1), a:round()) + end) + + it("apply()", function() + local i = 0 + local f = function(x) + i = i + 1 + return x + i + end + local a = vector.new(0.1, 0.9, -0.5) + assert.equal(vector.new(1, 1, 0), vector.apply(a, math.ceil)) + assert.equal(vector.new(1, 1, 0), a:apply(math.ceil)) + assert.equal(vector.new(0.1, 0.9, 0.5), vector.apply(a, math.abs)) + assert.equal(vector.new(0.1, 0.9, 0.5), a:apply(math.abs)) + assert.equal(vector.new(1.1, 2.9, 2.5), vector.apply(a, f)) + assert.equal(vector.new(4.1, 5.9, 5.5), a:apply(f)) + end) + + it("equals()", 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}) + assertE({x = -1, y = 0, z = 1}, vector.new(-1, 0, 1)) + local a = {x = 2, y = 4, z = -10} + assertE(a, a) + assertNE({x = -1, y = 0, z = 1}, a) + + assert.equal(vector.new(1, 2, 3), vector.new(1, 2, 3)) + assert.is_true(vector.new(1, 2, 3):equals(vector.new(1, 2, 3))) + assert.not_equal(vector.new(1, 2, 3), vector.new(1, 2, 4)) + assert.is_true(vector.new(1, 2, 3) == vector.new(1, 2, 3)) + assert.is_false(vector.new(1, 2, 3) == vector.new(1, 3, 3)) + end) + + it("metatable is same", function() + local a = vector.new() + local b = vector.new(1, 2, 3) + + assert.equal(true, vector.check(a)) + assert.equal(true, vector.check(b)) + + assert.equal(vector.metatable, getmetatable(a)) + assert.equal(vector.metatable, getmetatable(b)) + assert.equal(vector.metatable, a.metatable) + end) + + it("sort()", function() + local a = vector.new(1, 2, 3) + local b = vector.new(0.5, 232, -2) + local sorted = {vector.new(0.5, 2, -2), vector.new(1, 232, 3)} + assert.same(sorted, {vector.sort(a, b)}) + assert.same(sorted, {a:sort(b)}) + end) + + it("angle()", function() + assert.equal(math.pi, vector.angle(vector.new(-1, -2, -3), vector.new(1, 2, 3))) + assert.equal(math.pi/2, vector.new(0, 1, 0):angle(vector.new(1, 0, 0))) + end) + + it("dot()", function() + assert.equal(-14, vector.dot(vector.new(-1, -2, -3), vector.new(1, 2, 3))) + assert.equal(0, vector.new():dot(vector.new(1, 2, 3))) + end) + + it("cross()", function() + local a = vector.new(-1, -2, 0) + local b = vector.new(1, 2, 3) + assert.equal(vector.new(-6, 3, 0), vector.cross(a, b)) + assert.equal(vector.new(-6, 3, 0), a:cross(b)) end) it("offset()", function() - assert.same({ x = 41, y = 52, z = 63 }, vector.offset(vector.new(1, 2, 3), 40, 50, 60)) + assert.same({x = 41, y = 52, z = 63}, vector.offset(vector.new(1, 2, 3), 40, 50, 60)) + assert.equal(vector.new(41, 52, 63), vector.offset(vector.new(1, 2, 3), 40, 50, 60)) + assert.equal(vector.new(41, 52, 63), vector.new(1, 2, 3):offset(40, 50, 60)) + end) + + it("is()", function() + local some_table1 = {foo = 13, [42] = 1, "bar", 2} + local some_table2 = {1, 2, 3} + local some_table3 = {x = 1, 2, 3} + local some_table4 = {1, 2, z = 3} + local old = {x = 1, y = 2, z = 3} + local real = vector.new(1, 2, 3) + + assert.is_false(vector.check(nil)) + assert.is_false(vector.check(1)) + assert.is_false(vector.check(true)) + assert.is_false(vector.check("foo")) + assert.is_false(vector.check(some_table1)) + assert.is_false(vector.check(some_table2)) + assert.is_false(vector.check(some_table3)) + assert.is_false(vector.check(some_table4)) + assert.is_false(vector.check(old)) + assert.is_true(vector.check(real)) + assert.is_true(real:check()) + end) + + it("global pairs", function() + local out = {} + local vec = vector.new(10, 20, 30) + for k, v in pairs(vec) do + out[k] = v + end + assert.same({x = 10, y = 20, z = 30}, out) + end) + + it("abusing works", function() + local v = vector.new(1, 2, 3) + v.a = 1 + assert.equal(1, v.a) + + local a_is_there = false + for key, value in pairs(v) do + if key == "a" then + a_is_there = true + assert.equal(value, 1) + break + end + end + assert.is_true(a_is_there) + end) + + it("add()", function() + local a = vector.new(1, 2, 3) + local b = vector.new(1, 4, 3) + local c = vector.new(2, 6, 6) + assert.equal(c, vector.add(a, {x = 1, y = 4, z = 3})) + assert.equal(c, vector.add(a, b)) + assert.equal(c, a:add(b)) + assert.equal(c, a + b) + assert.equal(c, b + a) + end) + + it("subtract()", function() + local a = vector.new(1, 2, 3) + local b = vector.new(2, 4, 3) + local c = vector.new(-1, -2, 0) + assert.equal(c, vector.subtract(a, {x = 2, y = 4, z = 3})) + assert.equal(c, vector.subtract(a, b)) + assert.equal(c, a:subtract(b)) + assert.equal(c, a - b) + assert.equal(c, -b + a) + end) + + it("multiply()", function() + local a = vector.new(1, 2, 3) + local b = vector.new(2, 4, 3) + local c = vector.new(2, 8, 9) + local s = 2 + local d = vector.new(2, 4, 6) + assert.equal(c, vector.multiply(a, {x = 2, y = 4, z = 3})) + assert.equal(c, vector.multiply(a, b)) + assert.equal(d, vector.multiply(a, s)) + assert.equal(d, a:multiply(s)) + assert.equal(d, a * s) + assert.equal(d, s * a) + assert.equal(-a, -1 * a) + end) + + it("divide()", function() + local a = vector.new(1, 2, 3) + local b = vector.new(2, 4, 3) + local c = vector.new(0.5, 0.5, 1) + local s = 2 + local d = vector.new(0.5, 1, 1.5) + assert.equal(c, vector.divide(a, {x = 2, y = 4, z = 3})) + assert.equal(c, vector.divide(a, b)) + assert.equal(d, vector.divide(a, s)) + assert.equal(d, a:divide(s)) + assert.equal(d, a / s) + assert.equal(d, 1/s * a) + assert.equal(-a, a / -1) end) it("to_string()", function() local v = vector.new(1, 2, 3.14) assert.same("(1, 2, 3.14)", vector.to_string(v)) + assert.same("(1, 2, 3.14)", v:to_string()) + assert.same("(1, 2, 3.14)", tostring(v)) end) it("from_string()", function() diff --git a/builtin/common/vector.lua b/builtin/common/vector.lua index 2ef8fc617..02fc1bdee 100644 --- a/builtin/common/vector.lua +++ b/builtin/common/vector.lua @@ -1,15 +1,55 @@ +--[[ +Vector helpers +Note: The vector.*-functions must be able to accept old vectors that had no metatables +]] + +-- localize functions +local setmetatable = setmetatable vector = {} +local metatable = {} +vector.metatable = metatable + +local xyz = {"x", "y", "z"} + +-- only called when rawget(v, key) returns nil +function metatable.__index(v, key) + return rawget(v, xyz[key]) or vector[key] +end + +-- only called when rawget(v, key) returns nil +function metatable.__newindex(v, key, value) + rawset(v, xyz[key] or key, value) +end + +-- constructors + +local function fast_new(x, y, z) + return setmetatable({x = x, y = y, z = z}, metatable) +end + function vector.new(a, b, c) - if type(a) == "table" then - assert(a.x and a.y and a.z, "Invalid vector passed to vector.new()") - return {x=a.x, y=a.y, z=a.z} - elseif a then - assert(b and c, "Invalid arguments for vector.new()") - return {x=a, y=b, z=c} + if a and b and c then + return fast_new(a, b, c) end - return {x=0, y=0, z=0} + + -- deprecated, use vector.copy and vector.zero directly + if type(a) == "table" then + return vector.copy(a) + else + assert(not a, "Invalid arguments for vector.new()") + return vector.zero() + end +end + +function vector.zero() + return fast_new(0, 0, 0) +end + +function vector.copy(v) + assert(v.x and v.y and v.z, "Invalid vector passed to vector.copy()") + return fast_new(v.x, v.y, v.z) end function vector.from_string(s, init) @@ -27,63 +67,60 @@ end function vector.to_string(v) return string.format("(%g, %g, %g)", v.x, v.y, v.z) end +metatable.__tostring = vector.to_string function vector.equals(a, b) return a.x == b.x and a.y == b.y and a.z == b.z end +metatable.__eq = vector.equals + +-- unary operations function vector.length(v) - return math.hypot(v.x, math.hypot(v.y, v.z)) + return math.sqrt(v.x * v.x + v.y * v.y + v.z * v.z) end +-- Note: we can not use __len because it is already used for primitive table length function vector.normalize(v) local len = vector.length(v) if len == 0 then - return {x=0, y=0, z=0} + return fast_new(0, 0, 0) else return vector.divide(v, len) end end function vector.floor(v) - return { - x = math.floor(v.x), - y = math.floor(v.y), - z = math.floor(v.z) - } + return vector.apply(v, math.floor) end function vector.round(v) - return { - x = math.round(v.x), - y = math.round(v.y), - z = math.round(v.z) - } + return fast_new( + math.round(v.x), + math.round(v.y), + math.round(v.z) + ) end function vector.apply(v, func) - return { - x = func(v.x), - y = func(v.y), - z = func(v.z) - } + return fast_new( + func(v.x), + func(v.y), + func(v.z) + ) end function vector.distance(a, b) local x = a.x - b.x local y = a.y - b.y local z = a.z - b.z - return math.hypot(x, math.hypot(y, z)) + return math.sqrt(x * x + y * y + z * z) end function vector.direction(pos1, pos2) - return vector.normalize({ - x = pos2.x - pos1.x, - y = pos2.y - pos1.y, - z = pos2.z - pos1.z - }) + return vector.subtract(pos2, pos1):normalize() end function vector.angle(a, b) @@ -98,70 +135,137 @@ function vector.dot(a, b) end function vector.cross(a, b) - return { - x = a.y * b.z - a.z * b.y, - y = a.z * b.x - a.x * b.z, - z = a.x * b.y - a.y * b.x - } + return fast_new( + a.y * b.z - a.z * b.y, + a.z * b.x - a.x * b.z, + a.x * b.y - a.y * b.x + ) end +function metatable.__unm(v) + return fast_new(-v.x, -v.y, -v.z) +end + +-- add, sub, mul, div operations + function vector.add(a, b) if type(b) == "table" then - return {x = a.x + b.x, - y = a.y + b.y, - z = a.z + b.z} + return fast_new( + a.x + b.x, + a.y + b.y, + a.z + b.z + ) else - return {x = a.x + b, - y = a.y + b, - z = a.z + b} + return fast_new( + a.x + b, + a.y + b, + a.z + b + ) end end +function metatable.__add(a, b) + return fast_new( + a.x + b.x, + a.y + b.y, + a.z + b.z + ) +end function vector.subtract(a, b) if type(b) == "table" then - return {x = a.x - b.x, - y = a.y - b.y, - z = a.z - b.z} + return fast_new( + a.x - b.x, + a.y - b.y, + a.z - b.z + ) else - return {x = a.x - b, - y = a.y - b, - z = a.z - b} + return fast_new( + a.x - b, + a.y - b, + a.z - b + ) end end +function metatable.__sub(a, b) + return fast_new( + a.x - b.x, + a.y - b.y, + a.z - b.z + ) +end function vector.multiply(a, b) if type(b) == "table" then - return {x = a.x * b.x, - y = a.y * b.y, - z = a.z * b.z} + return fast_new( + a.x * b.x, + a.y * b.y, + a.z * b.z + ) else - return {x = a.x * b, - y = a.y * b, - z = a.z * b} + return fast_new( + a.x * b, + a.y * b, + a.z * b + ) + end +end +function metatable.__mul(a, b) + if type(a) == "table" then + return fast_new( + a.x * b, + a.y * b, + a.z * b + ) + else + return fast_new( + a * b.x, + a * b.y, + a * b.z + ) end end function vector.divide(a, b) if type(b) == "table" then - return {x = a.x / b.x, - y = a.y / b.y, - z = a.z / b.z} + return fast_new( + a.x / b.x, + a.y / b.y, + a.z / b.z + ) else - return {x = a.x / b, - y = a.y / b, - z = a.z / b} + return fast_new( + a.x / b, + a.y / b, + a.z / b + ) end end +function metatable.__div(a, b) + -- scalar/vector makes no sense + return fast_new( + a.x / b, + a.y / b, + a.z / b + ) +end + +-- misc stuff function vector.offset(v, x, y, z) - return {x = v.x + x, - y = v.y + y, - z = v.z + z} + return fast_new( + v.x + x, + v.y + y, + v.z + z + ) end function vector.sort(a, b) - return {x = math.min(a.x, b.x), y = math.min(a.y, b.y), z = math.min(a.z, b.z)}, - {x = math.max(a.x, b.x), y = math.max(a.y, b.y), z = math.max(a.z, b.z)} + return fast_new(math.min(a.x, b.x), math.min(a.y, b.y), math.min(a.z, b.z)), + fast_new(math.max(a.x, b.x), math.max(a.y, b.y), math.max(a.z, b.z)) +end + +function vector.check(v) + return getmetatable(v) == metatable end local function sin(x) @@ -229,7 +333,7 @@ end function vector.dir_to_rotation(forward, up) forward = vector.normalize(forward) - local rot = {x = math.asin(forward.y), y = -math.atan2(forward.x, forward.z), z = 0} + local rot = vector.new(math.asin(forward.y), -math.atan2(forward.x, forward.z), 0) if not up then return rot end @@ -237,7 +341,7 @@ function vector.dir_to_rotation(forward, up) "Invalid vectors passed to vector.dir_to_rotation().") up = vector.normalize(up) -- Calculate vector pointing up with roll = 0, just based on forward vector. - local forwup = vector.rotate({x = 0, y = 1, z = 0}, rot) + local forwup = vector.rotate(vector.new(0, 1, 0), rot) -- 'forwup' and 'up' are now in a plane with 'forward' as normal. -- The angle between them is the absolute of the roll value we're looking for. rot.z = vector.angle(forwup, up) diff --git a/builtin/game/auth.lua b/builtin/game/auth.lua index fc061666c..e7d502bb3 100644 --- a/builtin/game/auth.lua +++ b/builtin/game/auth.lua @@ -87,6 +87,10 @@ core.builtin_auth_handler = { core.settings:get("default_password"))) end + auth_entry.privileges = privileges + + core_auth.save(auth_entry) + -- Run grant callbacks for priv, _ in pairs(privileges) do if not auth_entry.privileges[priv] then @@ -100,9 +104,6 @@ core.builtin_auth_handler = { core.run_priv_callbacks(name, priv, nil, "revoke") end end - - auth_entry.privileges = privileges - core_auth.save(auth_entry) core.notify_authentication_modified(name) end, reload = function() diff --git a/builtin/game/chat.lua b/builtin/game/chat.lua index 0bd12c25f..99296f782 100644 --- a/builtin/game/chat.lua +++ b/builtin/game/chat.lua @@ -212,9 +212,14 @@ core.register_chatcommand("haspriv", { table.insert(players_with_priv, player_name) end end - return true, S("Players online with the \"@1\" privilege: @2", - param, - table.concat(players_with_priv, ", ")) + if #players_with_priv == 0 then + return true, S("No online player has the \"@1\" privilege.", + param) + else + return true, S("Players online with the \"@1\" privilege: @2", + param, + table.concat(players_with_priv, ", ")) + end end }) @@ -250,11 +255,11 @@ local function handle_grant_command(caller, grantname, grantprivstr) if privs_unknown ~= "" then return false, privs_unknown end + core.set_player_privs(grantname, privs) for priv, _ in pairs(grantprivs) do -- call the on_grant callbacks core.run_priv_callbacks(grantname, priv, caller, "grant") end - core.set_player_privs(grantname, privs) core.log("action", caller..' granted ('..core.privs_to_string(grantprivs, ', ')..') privileges to '..grantname) if grantname ~= caller then core.chat_send_player(grantname, @@ -354,13 +359,13 @@ local function handle_revoke_command(caller, revokename, revokeprivstr) end local revokecount = 0 + + core.set_player_privs(revokename, privs) for priv, _ in pairs(revokeprivs) do -- call the on_revoke callbacks core.run_priv_callbacks(revokename, priv, caller, "revoke") revokecount = revokecount + 1 end - - core.set_player_privs(revokename, privs) local new_privs = core.get_player_privs(revokename) if revokecount == 0 then @@ -499,10 +504,10 @@ core.register_chatcommand("remove_player", { -- pos may be a non-integer position local function find_free_position_near(pos) local tries = { - {x=1, y=0, z=0}, - {x=-1, y=0, z=0}, - {x=0, y=0, z=1}, - {x=0, y=0, z=-1}, + vector.new( 1, 0, 0), + vector.new(-1, 0, 0), + vector.new( 0, 0, 1), + vector.new( 0, 0, -1), } for _, d in ipairs(tries) do local p = vector.add(pos, d) @@ -737,7 +742,12 @@ core.register_chatcommand("mods", { description = S("List mods installed on the server"), privs = {}, func = function(name, param) - return true, table.concat(core.get_modnames(), ", ") + local mods = core.get_modnames() + if #mods == 0 then + return true, S("No mods installed.") + else + return true, table.concat(core.get_modnames(), ", ") + end end, }) @@ -1053,24 +1063,58 @@ core.register_chatcommand("days", { end }) +local function parse_shutdown_param(param) + local delay, reconnect, message + local one, two, three + one, two, three = param:match("^(%S+) +(%-r) +(.*)") + if one and two and three then + -- 3 arguments: delay, reconnect and message + return one, two, three + end + -- 2 arguments + one, two = param:match("^(%S+) +(.*)") + if one and two then + if tonumber(one) then + delay = one + if two == "-r" then + reconnect = two + else + message = two + end + elseif one == "-r" then + reconnect, message = one, two + end + return delay, reconnect, message + end + -- 1 argument + one = param:match("(.*)") + if tonumber(one) then + delay = one + elseif one == "-r" then + reconnect = one + else + message = one + end + return delay, reconnect, message +end + core.register_chatcommand("shutdown", { - params = S("[ | -1] [reconnect] []"), - description = S("Shutdown server (-1 cancels a delayed shutdown)"), + params = S("[ | -1] [-r] []"), + description = S("Shutdown server (-1 cancels a delayed shutdown, -r allows players to reconnect)"), privs = {server=true}, func = function(name, param) - local delay, reconnect, message - delay, param = param:match("^%s*(%S+)(.*)") - if param then - reconnect, param = param:match("^%s*(%S+)(.*)") + local delay, reconnect, message = parse_shutdown_param(param) + local bool_reconnect = reconnect == "-r" + if not message then + message = "" end - message = param and param:match("^%s*(.+)") or "" delay = tonumber(delay) or 0 if delay == 0 then core.log("action", name .. " shuts down server") core.chat_send_all("*** "..S("Server shutting down (operator request).")) end - core.request_shutdown(message:trim(), core.is_yes(reconnect), delay) + core.request_shutdown(message:trim(), bool_reconnect, delay) return true end, }) diff --git a/builtin/game/falling.lua b/builtin/game/falling.lua index 2cc0d8fac..29cb56aae 100644 --- a/builtin/game/falling.lua +++ b/builtin/game/falling.lua @@ -39,7 +39,7 @@ local gravity = tonumber(core.settings:get("movement_gravity")) or 9.81 core.register_entity(":__builtin:falling_node", { initial_properties = { visual = "item", - visual_size = {x = SCALE, y = SCALE, z = SCALE}, + visual_size = vector.new(SCALE, SCALE, SCALE), textures = {}, physical = true, is_visible = false, @@ -96,7 +96,7 @@ core.register_entity(":__builtin:falling_node", { local vsize if def.visual_scale then local s = def.visual_scale - vsize = {x = s, y = s, z = s} + vsize = vector.new(s, s, s) end self.object:set_properties({ is_visible = true, @@ -111,15 +111,21 @@ core.register_entity(":__builtin:falling_node", { itemstring = core.itemstring_with_palette(itemstring, node.param2) end -- FIXME: solution needed for paramtype2 == "leveled" - local vsize - if def.visual_scale then - local s = def.visual_scale * SCALE - vsize = {x = s, y = s, z = s} + -- Calculate size of falling node + local s = {} + s.x = (def.visual_scale or 1) * SCALE + s.y = s.x + s.z = s.x + -- Compensate for wield_scale + if def.wield_scale then + s.x = s.x / def.wield_scale.x + s.y = s.y / def.wield_scale.y + s.z = s.z / def.wield_scale.z end self.object:set_properties({ is_visible = true, wield_item = itemstring, - visual_size = vsize, + visual_size = s, glow = def.light_source, }) end @@ -158,7 +164,8 @@ core.register_entity(":__builtin:falling_node", { if euler then self.object:set_rotation(euler) end - elseif (def.paramtype2 == "wallmounted" or def.paramtype2 == "colorwallmounted" or def.drawtype == "signlike") then + elseif (def.drawtype ~= "plantlike" and def.drawtype ~= "plantlike_rooted" and + (def.paramtype2 == "wallmounted" or def.paramtype2 == "colorwallmounted" or def.drawtype == "signlike")) then local rot = node.param2 % 8 if (def.drawtype == "signlike" and def.paramtype2 ~= "wallmounted" and def.paramtype2 ~= "colorwallmounted") then -- Change rotation to "floor" by default for non-wallmounted paramtype2 @@ -227,7 +234,7 @@ core.register_entity(":__builtin:falling_node", { on_activate = function(self, staticdata) self.object:set_armor_groups({immortal = 1}) - self.object:set_acceleration({x = 0, y = -gravity, z = 0}) + self.object:set_acceleration(vector.new(0, -gravity, 0)) local ds = core.deserialize(staticdata) if ds and ds.node then @@ -303,7 +310,7 @@ core.register_entity(":__builtin:falling_node", { if self.floats then local pos = self.object:get_pos() - local bcp = vector.round({x = pos.x, y = pos.y - 0.7, z = pos.z}) + local bcp = pos:offset(0, -0.7, 0):round() local bcn = core.get_node(bcp) local bcd = core.registered_nodes[bcn.name] @@ -344,13 +351,12 @@ core.register_entity(":__builtin:falling_node", { -- TODO: this hack could be avoided in the future if objects -- could choose who to collide with local vel = self.object:get_velocity() - self.object:set_velocity({ - x = vel.x, - y = player_collision.old_velocity.y, - z = vel.z - }) - self.object:set_pos(vector.add(self.object:get_pos(), - {x = 0, y = -0.5, z = 0})) + self.object:set_velocity(vector.new( + vel.x, + player_collision.old_velocity.y, + vel.z + )) + self.object:set_pos(self.object:get_pos():offset(0, -0.5, 0)) end return elseif bcn.name == "ignore" then @@ -430,7 +436,7 @@ local function drop_attached_node(p) if def and def.preserve_metadata then local oldmeta = core.get_meta(p):to_table().fields -- Copy pos and node because the callback can modify them. - local pos_copy = {x=p.x, y=p.y, z=p.z} + local pos_copy = vector.new(p) local node_copy = {name=n.name, param1=n.param1, param2=n.param2} local drop_stacks = {} for k, v in pairs(drops) do @@ -455,14 +461,14 @@ end function builtin_shared.check_attached_node(p, n) local def = core.registered_nodes[n.name] - local d = {x = 0, y = 0, z = 0} + local d = vector.new() if def.paramtype2 == "wallmounted" or def.paramtype2 == "colorwallmounted" then -- The fallback vector here is in case 'wallmounted to dir' is nil due -- to voxelmanip placing a wallmounted node without resetting a -- pre-existing param2 value that is out-of-range for wallmounted. -- The fallback vector corresponds to param2 = 0. - d = core.wallmounted_to_dir(n.param2) or {x = 0, y = 1, z = 0} + d = core.wallmounted_to_dir(n.param2) or vector.new(0, 1, 0) else d.y = -1 end @@ -482,7 +488,7 @@ end function core.check_single_for_falling(p) local n = core.get_node(p) if core.get_item_group(n.name, "falling_node") ~= 0 then - local p_bottom = {x = p.x, y = p.y - 1, z = p.z} + local p_bottom = vector.offset(p, 0, -1, 0) -- Only spawn falling node if node below is loaded local n_bottom = core.get_node_or_nil(p_bottom) local d_bottom = n_bottom and core.registered_nodes[n_bottom.name] @@ -521,17 +527,17 @@ end -- Down first as likely case, but always before self. The same with sides. -- Up must come last, so that things above self will also fall all at once. local check_for_falling_neighbors = { - {x = -1, y = -1, z = 0}, - {x = 1, y = -1, z = 0}, - {x = 0, y = -1, z = -1}, - {x = 0, y = -1, z = 1}, - {x = 0, y = -1, z = 0}, - {x = -1, y = 0, z = 0}, - {x = 1, y = 0, z = 0}, - {x = 0, y = 0, z = 1}, - {x = 0, y = 0, z = -1}, - {x = 0, y = 0, z = 0}, - {x = 0, y = 1, z = 0}, + vector.new(-1, -1, 0), + vector.new( 1, -1, 0), + vector.new( 0, -1, -1), + vector.new( 0, -1, 1), + vector.new( 0, -1, 0), + vector.new(-1, 0, 0), + vector.new( 1, 0, 0), + vector.new( 0, 0, 1), + vector.new( 0, 0, -1), + vector.new( 0, 0, 0), + vector.new( 0, 1, 0), } function core.check_for_falling(p) diff --git a/builtin/game/features.lua b/builtin/game/features.lua index 8f0604448..583ef5092 100644 --- a/builtin/game/features.lua +++ b/builtin/game/features.lua @@ -20,6 +20,8 @@ core.features = { direct_velocity_on_players = true, use_texture_alpha_string_modes = true, degrotate_240_steps = true, + abm_min_max_y = true, + dynamic_add_media_table = true, } function core.has_feature(arg) diff --git a/builtin/game/forceloading.lua b/builtin/game/forceloading.lua index e1e00920c..8043e5dea 100644 --- a/builtin/game/forceloading.lua +++ b/builtin/game/forceloading.lua @@ -86,12 +86,6 @@ local function read_file(filename) return core.deserialize(t) or {} end -local function write_file(filename, table) - local f = io.open(filename, "w") - f:write(core.serialize(table)) - f:close() -end - blocks_forceloaded = read_file(wpath.."/force_loaded.txt") for _, __ in pairs(blocks_forceloaded) do total_forceloaded = total_forceloaded + 1 @@ -106,7 +100,8 @@ end) -- persists the currently forceloaded blocks to disk local function persist_forceloaded_blocks() - write_file(wpath.."/force_loaded.txt", blocks_forceloaded) + local data = core.serialize(blocks_forceloaded) + core.safe_file_write(wpath.."/force_loaded.txt", data) end -- periodical forceload persistence diff --git a/builtin/game/init.lua b/builtin/game/init.lua index 1d62be019..bb007fabd 100644 --- a/builtin/game/init.lua +++ b/builtin/game/init.lua @@ -7,8 +7,6 @@ local gamepath = scriptpath .. "game".. DIR_DELIM -- not exposed to outer context local builtin_shared = {} -dofile(commonpath .. "vector.lua") - dofile(gamepath .. "constants.lua") assert(loadfile(gamepath .. "item.lua"))(builtin_shared) dofile(gamepath .. "register.lua") diff --git a/builtin/game/item.lua b/builtin/game/item.lua index c4d93abd6..92818b177 100644 --- a/builtin/game/item.lua +++ b/builtin/game/item.lua @@ -70,12 +70,12 @@ end -- Table of possible dirs local facedir_to_dir = { - {x= 0, y=0, z= 1}, - {x= 1, y=0, z= 0}, - {x= 0, y=0, z=-1}, - {x=-1, y=0, z= 0}, - {x= 0, y=-1, z= 0}, - {x= 0, y=1, z= 0}, + vector.new( 0, 0, 1), + vector.new( 1, 0, 0), + vector.new( 0, 0, -1), + vector.new(-1, 0, 0), + vector.new( 0, -1, 0), + vector.new( 0, 1, 0), } -- Mapping from facedir value to index in facedir_to_dir. local facedir_to_dir_map = { @@ -114,12 +114,12 @@ end -- table of dirs in wallmounted order local wallmounted_to_dir = { - [0] = {x = 0, y = 1, z = 0}, - {x = 0, y = -1, z = 0}, - {x = 1, y = 0, z = 0}, - {x = -1, y = 0, z = 0}, - {x = 0, y = 0, z = 1}, - {x = 0, y = 0, z = -1}, + [0] = vector.new( 0, 1, 0), + vector.new( 0, -1, 0), + vector.new( 1, 0, 0), + vector.new(-1, 0, 0), + vector.new( 0, 0, 1), + vector.new( 0, 0, -1), } function core.wallmounted_to_dir(wallmounted) return wallmounted_to_dir[wallmounted % 8] @@ -130,7 +130,7 @@ function core.dir_to_yaw(dir) end function core.yaw_to_dir(yaw) - return {x = -math.sin(yaw), y = 0, z = math.cos(yaw)} + return vector.new(-math.sin(yaw), 0, math.cos(yaw)) end function core.is_colored_paramtype(ptype) @@ -153,6 +153,18 @@ function core.strip_param2_color(param2, paramtype2) return param2 end +local function has_all_groups(tbl, required_groups) + if type(required_groups) == "string" then + return (tbl[required_groups] or 0) ~= 0 + end + for _, group in ipairs(required_groups) do + if (tbl[group] or 0) == 0 then + return false + end + end + return true +end + function core.get_node_drops(node, toolname) -- Compatibility, if node is string local nodename = node @@ -192,7 +204,7 @@ function core.get_node_drops(node, toolname) if item.rarity ~= nil then good_rarity = item.rarity < 1 or math.random(item.rarity) == 1 end - if item.tools ~= nil then + if item.tools ~= nil or item.tool_groups ~= nil then good_tool = false end if item.tools ~= nil and toolname then @@ -207,6 +219,27 @@ function core.get_node_drops(node, toolname) end end end + if item.tool_groups ~= nil and toolname then + local tooldef = core.registered_items[toolname] + if tooldef ~= nil and type(tooldef.groups) == "table" then + if type(item.tool_groups) == "string" then + -- tool_groups can be a string which specifies the required group + good_tool = core.get_item_group(toolname, item.tool_groups) ~= 0 + else + -- tool_groups can be a list of sufficient requirements. + -- i.e. if any item in the list can be satisfied then the tool is good + assert(type(item.tool_groups) == "table") + for _, required_groups in ipairs(item.tool_groups) do + -- required_groups can be either a string (a single group), + -- or an array of strings where all must be in tooldef.groups + good_tool = has_all_groups(tooldef.groups, required_groups) + if good_tool then + break + end + end + end + end + end if good_rarity and good_tool then got_count = got_count + 1 for _, add_item in ipairs(item.items) do @@ -268,12 +301,12 @@ function core.item_place_node(itemstack, placer, pointed_thing, param2, end -- Place above pointed node - local place_to = {x = above.x, y = above.y, z = above.z} + local place_to = vector.new(above) -- If node under is buildable_to, place into it instead (eg. snow) if olddef_under.buildable_to then log("info", "node under is buildable to") - place_to = {x = under.x, y = under.y, z = under.z} + place_to = vector.new(under) end if core.is_protected(place_to, playername) then @@ -293,22 +326,14 @@ function core.item_place_node(itemstack, placer, pointed_thing, param2, newnode.param2 = def.place_param2 elseif (def.paramtype2 == "wallmounted" or def.paramtype2 == "colorwallmounted") and not param2 then - local dir = { - x = under.x - above.x, - y = under.y - above.y, - z = under.z - above.z - } + local dir = vector.subtract(under, above) newnode.param2 = core.dir_to_wallmounted(dir) -- Calculate the direction for furnaces and chests and stuff elseif (def.paramtype2 == "facedir" or def.paramtype2 == "colorfacedir") and not param2 then local placer_pos = placer and placer:get_pos() if placer_pos then - local dir = { - x = above.x - placer_pos.x, - y = above.y - placer_pos.y, - z = above.z - placer_pos.z - } + local dir = vector.subtract(above, placer_pos) newnode.param2 = core.dir_to_facedir(dir) log("info", "facedir: " .. newnode.param2) end @@ -362,7 +387,7 @@ function core.item_place_node(itemstack, placer, pointed_thing, param2, -- Run callback if def.after_place_node and not prevent_after_place then -- Deepcopy place_to and pointed_thing because callback can modify it - local place_to_copy = {x=place_to.x, y=place_to.y, z=place_to.z} + local place_to_copy = vector.new(place_to) local pointed_thing_copy = copy_pointed_thing(pointed_thing) if def.after_place_node(place_to_copy, placer, itemstack, pointed_thing_copy) then @@ -373,7 +398,7 @@ function core.item_place_node(itemstack, placer, pointed_thing, param2, -- Run script hook for _, callback in ipairs(core.registered_on_placenodes) do -- Deepcopy pos, node and pointed_thing because callback can modify them - local place_to_copy = {x=place_to.x, y=place_to.y, z=place_to.z} + local place_to_copy = vector.new(place_to) local newnode_copy = {name=newnode.name, param1=newnode.param1, param2=newnode.param2} local oldnode_copy = {name=oldnode.name, param1=oldnode.param1, param2=oldnode.param2} local pointed_thing_copy = copy_pointed_thing(pointed_thing) @@ -519,11 +544,11 @@ function core.handle_node_drops(pos, drops, digger) for _, dropped_item in pairs(drops) do local left = give_item(dropped_item) if not left:is_empty() then - local p = { - x = pos.x + math.random()/2-0.25, - y = pos.y + math.random()/2-0.25, - z = pos.z + math.random()/2-0.25, - } + local p = vector.offset(pos, + math.random()/2-0.25, + math.random()/2-0.25, + math.random()/2-0.25 + ) core.add_item(p, left) end end @@ -582,7 +607,7 @@ function core.node_dig(pos, node, digger) if def and def.preserve_metadata then local oldmeta = core.get_meta(pos):to_table().fields -- Copy pos and node because the callback can modify them. - local pos_copy = {x=pos.x, y=pos.y, z=pos.z} + local pos_copy = vector.new(pos) local node_copy = {name=node.name, param1=node.param1, param2=node.param2} local drop_stacks = {} for k, v in pairs(drops) do @@ -614,7 +639,7 @@ function core.node_dig(pos, node, digger) -- Run callback if def and def.after_dig_node then -- Copy pos and node because callback can modify them - local pos_copy = {x=pos.x, y=pos.y, z=pos.z} + local pos_copy = vector.new(pos) local node_copy = {name=node.name, param1=node.param1, param2=node.param2} def.after_dig_node(pos_copy, node_copy, oldmetadata, digger) end @@ -627,7 +652,7 @@ function core.node_dig(pos, node, digger) end -- Copy pos and node because callback can modify them - local pos_copy = {x=pos.x, y=pos.y, z=pos.z} + local pos_copy = vector.new(pos) local node_copy = {name=node.name, param1=node.param1, param2=node.param2} callback(pos_copy, node_copy, digger) end @@ -670,7 +695,7 @@ core.nodedef_default = { groups = {}, inventory_image = "", wield_image = "", - wield_scale = {x=1,y=1,z=1}, + wield_scale = vector.new(1, 1, 1), stack_max = default_stack_max, usable = false, liquids_pointable = false, @@ -729,7 +754,7 @@ core.craftitemdef_default = { groups = {}, inventory_image = "", wield_image = "", - wield_scale = {x=1,y=1,z=1}, + wield_scale = vector.new(1, 1, 1), stack_max = default_stack_max, liquids_pointable = false, tool_capabilities = nil, @@ -748,7 +773,7 @@ core.tooldef_default = { groups = {}, inventory_image = "", wield_image = "", - wield_scale = {x=1,y=1,z=1}, + wield_scale = vector.new(1, 1, 1), stack_max = 1, liquids_pointable = false, tool_capabilities = nil, @@ -767,7 +792,7 @@ core.noneitemdef_default = { -- This is used for the hand and unknown items groups = {}, inventory_image = "", wield_image = "", - wield_scale = {x=1,y=1,z=1}, + wield_scale = vector.new(1, 1, 1), stack_max = default_stack_max, liquids_pointable = false, tool_capabilities = nil, diff --git a/builtin/game/misc.lua b/builtin/game/misc.lua index fcb86146d..63d64817c 100644 --- a/builtin/game/misc.lua +++ b/builtin/game/misc.lua @@ -119,13 +119,12 @@ end function core.get_position_from_hash(hash) - local pos = {} - pos.x = (hash % 65536) - 32768 + local x = (hash % 65536) - 32768 hash = math.floor(hash / 65536) - pos.y = (hash % 65536) - 32768 + local y = (hash % 65536) - 32768 hash = math.floor(hash / 65536) - pos.z = (hash % 65536) - 32768 - return pos + local z = (hash % 65536) - 32768 + return vector.new(x, y, z) end @@ -215,7 +214,7 @@ function core.is_area_protected(minp, maxp, player_name, interval) local y = math.floor(yf + 0.5) for xf = minp.x, maxp.x, d.x do local x = math.floor(xf + 0.5) - local pos = {x = x, y = y, z = z} + local pos = vector.new(x, y, z) if core.is_protected(pos, player_name) then return pos end @@ -270,24 +269,44 @@ function core.cancel_shutdown_requests() end --- Callback handling for dynamic_add_media +-- Used for callback handling with dynamic_add_media +core.dynamic_media_callbacks = {} -local dynamic_add_media_raw = core.dynamic_add_media_raw -core.dynamic_add_media_raw = nil -function core.dynamic_add_media(filepath, callback) - local ret = dynamic_add_media_raw(filepath) - if ret == false then - return ret + +-- PNG encoder safety wrapper + +local o_encode_png = core.encode_png +function core.encode_png(width, height, data, compression) + if type(width) ~= "number" then + error("Incorrect type for 'width', expected number, got " .. type(width)) end - if callback == nil then - core.log("deprecated", "Calling minetest.dynamic_add_media without ".. - "a callback is deprecated and will stop working in future versions.") - else - -- At the moment async loading is not actually implemented, so we - -- immediately call the callback ourselves - for _, name in ipairs(ret) do - callback(name) + if type(height) ~= "number" then + error("Incorrect type for 'height', expected number, got " .. type(height)) + end + + local expected_byte_count = width * height * 4 + + if type(data) ~= "table" and type(data) ~= "string" then + error("Incorrect type for 'height', expected table or string, got " .. type(height)) + end + + local data_length = type(data) == "table" and #data * 4 or string.len(data) + + if data_length ~= expected_byte_count then + error(string.format( + "Incorrect length of 'data', width and height imply %d bytes but %d were provided", + expected_byte_count, + data_length + )) + end + + if type(data) == "table" then + local dataBuf = {} + for i = 1, #data do + dataBuf[i] = core.colorspec_to_bytes(data[i]) end + data = table.concat(dataBuf) end - return true + + return o_encode_png(width, height, data, compression or 6) end diff --git a/builtin/game/privileges.lua b/builtin/game/privileges.lua index 1d3efb525..97681655e 100644 --- a/builtin/game/privileges.lua +++ b/builtin/game/privileges.lua @@ -97,10 +97,13 @@ core.register_privilege("rollback", { description = S("Can use the rollback functionality"), give_to_singleplayer = false, }) -core.register_privilege("debug", { - description = S("Allows enabling various debug options that may affect gameplay"), +core.register_privilege("basic_debug", { + description = S("Can view more debug info that might give a gameplay advantage"), + give_to_singleplayer = false, +}) +core.register_privilege("debug", { + description = S("Can enable wireframe"), give_to_singleplayer = false, - give_to_admin = true, }) core.register_can_bypass_userlimit(function(name, ip) diff --git a/builtin/game/register.lua b/builtin/game/register.lua index c07535855..56e40c75c 100644 --- a/builtin/game/register.lua +++ b/builtin/game/register.lua @@ -610,6 +610,7 @@ core.registered_on_modchannel_message, core.register_on_modchannel_message = mak core.registered_on_player_inventory_actions, core.register_on_player_inventory_action = make_registration() core.registered_allow_player_inventory_actions, core.register_allow_player_inventory_action = make_registration() core.registered_on_rightclickplayers, core.register_on_rightclickplayer = make_registration() +core.registered_on_liquid_transformed, core.register_on_liquid_transformed = make_registration() -- -- Compatibility for on_mapgen_init() diff --git a/builtin/game/voxelarea.lua b/builtin/game/voxelarea.lua index 724761414..64436bf1a 100644 --- a/builtin/game/voxelarea.lua +++ b/builtin/game/voxelarea.lua @@ -1,6 +1,6 @@ VoxelArea = { - MinEdge = {x=1, y=1, z=1}, - MaxEdge = {x=0, y=0, z=0}, + MinEdge = vector.new(1, 1, 1), + MaxEdge = vector.new(0, 0, 0), ystride = 0, zstride = 0, } @@ -19,11 +19,11 @@ end function VoxelArea:getExtent() local MaxEdge, MinEdge = self.MaxEdge, self.MinEdge - return { - x = MaxEdge.x - MinEdge.x + 1, - y = MaxEdge.y - MinEdge.y + 1, - z = MaxEdge.z - MinEdge.z + 1, - } + return vector.new( + MaxEdge.x - MinEdge.x + 1, + MaxEdge.y - MinEdge.y + 1, + MaxEdge.z - MinEdge.z + 1 + ) end function VoxelArea:getVolume() diff --git a/builtin/init.lua b/builtin/init.lua index 171742ae1..8bb69a33d 100644 --- a/builtin/init.lua +++ b/builtin/init.lua @@ -30,6 +30,7 @@ local clientpath = scriptdir .. "client" .. DIR_DELIM local commonpath = scriptdir .. "common" .. DIR_DELIM local asyncpath = scriptdir .. "async" .. DIR_DELIM +dofile(commonpath .. "vector.lua") dofile(commonpath .. "strict.lua") dofile(commonpath .. "serialize.lua") dofile(commonpath .. "misc_helpers.lua") diff --git a/builtin/locale/__builtin.de.tr b/builtin/locale/__builtin.de.tr index e8bc1fd84..aa40ffc8d 100644 --- a/builtin/locale/__builtin.de.tr +++ b/builtin/locale/__builtin.de.tr @@ -21,6 +21,7 @@ Player @1 does not exist.=Spieler @1 existiert nicht. Return list of all online players with privilege=Liste aller Spieler mit einem Privileg ausgeben Invalid parameters (see /help haspriv).=Ungültige Parameter (siehe „/help haspriv“). Unknown privilege!=Unbekanntes Privileg! +No online player has the "@1" privilege.=Kein online spielender Spieler hat das „@1“-Privileg. Players online with the "@1" privilege: @2=Derzeit online spielende Spieler mit dem „@1“-Privileg: @2 Your privileges are insufficient.=Ihre Privilegien sind unzureichend. Your privileges are insufficient. '@1' only allows you to grant: @2=Ihre Privilegien sind unzureichend. Mit „@1“ können Sie nur folgendes gewähren: @2 @@ -87,6 +88,7 @@ Resets lighting in the area between pos1 and pos2 ( and must be in Successfully reset light in the area ranging from @1 to @2.=Das Licht im Gebiet zwischen @1 und @2 wurde erfolgreich zurückgesetzt. Failed to load one or more blocks in area.=Fehlgeschlagen: Ein oder mehrere Kartenblöcke im Gebiet konnten nicht geladen werden. List mods installed on the server=Installierte Mods auf dem Server auflisten +No mods installed.=Es sind keine Mods installiert. Cannot give an empty item.=Ein leerer Gegenstand kann nicht gegeben werden. Cannot give an unknown item.=Ein unbekannter Gegenstand kann nicht gegeben werden. Giving 'ignore' is not allowed.=„ignore“ darf nicht gegeben werden. @@ -143,8 +145,8 @@ Invalid hour (must be between 0 and 23 inclusive).=Ungültige Stunde (muss zwisc Invalid minute (must be between 0 and 59 inclusive).=Ungültige Minute (muss zwischen 0 und 59 inklusive liegen). Show day count since world creation=Anzahl Tage seit der Erschaffung der Welt anzeigen Current day is @1.=Aktueller Tag ist @1. -[ | -1] [reconnect] []=[ | -1] [reconnect] [] -Shutdown server (-1 cancels a delayed shutdown)=Server herunterfahren (-1 bricht einen verzögerten Abschaltvorgang ab) +[ | -1] [-r] []=[ | -1] [-r] [] +Shutdown server (-1 cancels a delayed shutdown, -r allows players to reconnect)=Server herunterfahren (-1 bricht einen verzögerten Abschaltvorgang ab, -r erlaubt Spielern, sich wiederzuverbinden) Server shutting down (operator request).=Server wird heruntergefahren (Betreiberanfrage). Ban the IP of a player or show the ban list=Die IP eines Spielers verbannen oder die Bannliste anzeigen The ban list is empty.=Die Bannliste ist leer. @@ -191,6 +193,7 @@ Available commands:=Verfügbare Befehle: Command not available: @1=Befehl nicht verfügbar: @1 [all | privs | ]=[all | privs | ] Get help for commands or list privileges=Hilfe für Befehle erhalten oder Privilegien auflisten +Available privileges:=Verfügbare Privilegien: Command=Befehl Parameters=Parameter For more information, click on any entry in the list.=Für mehr Informationen klicken Sie auf einen beliebigen Eintrag in der Liste. @@ -200,7 +203,6 @@ Available commands: (see also: /help )=Verfügbare Befehle: (siehe auch: /h Close=Schließen Privilege=Privileg Description=Beschreibung -Available privileges:=Verfügbare Privilegien: print [] | dump [] | save [ []] | reset=print [] | dump [] | save [ []] Handle the profiler and profiling data=Den Profiler und Profilingdaten verwalten Statistics written to action log.=Statistiken zum Aktionsprotokoll geschrieben. diff --git a/builtin/locale/__builtin.it.tr b/builtin/locale/__builtin.it.tr index 8bce1d0d2..449c2b85e 100644 --- a/builtin/locale/__builtin.it.tr +++ b/builtin/locale/__builtin.it.tr @@ -21,6 +21,7 @@ Player @1 does not exist.=Il giocatore @1 non esiste. Return list of all online players with privilege=Ritorna una lista di tutti i giocatori connessi col tale privilegio Invalid parameters (see /help haspriv).=Parametri non validi (vedi /help haspriv). Unknown privilege!=Privilegio sconosciuto! +No online player has the "@1" privilege.= Players online with the "@1" privilege: @2=Giocatori connessi con il privilegio "@1": @2 Your privileges are insufficient.=I tuoi privilegi sono insufficienti. Your privileges are insufficient. '@1' only allows you to grant: @2= @@ -87,6 +88,7 @@ Resets lighting in the area between pos1 and pos2 ( and must be in Successfully reset light in the area ranging from @1 to @2.=Luce nell'area tra @1 e @2 reimpostata con successo. Failed to load one or more blocks in area.=Errore nel caricare uno o più blocchi mappa nell'area. List mods installed on the server=Elenca le mod installate nel server +No mods installed.= Cannot give an empty item.=Impossibile dare un oggetto vuoto. Cannot give an unknown item.=Impossibile dare un oggetto sconosciuto. Giving 'ignore' is not allowed.=Non è permesso dare 'ignore'. @@ -143,8 +145,8 @@ Invalid hour (must be between 0 and 23 inclusive).=Ora non valida (deve essere t Invalid minute (must be between 0 and 59 inclusive).=Minuto non valido (deve essere tra 0 e 59 inclusi) Show day count since world creation=Mostra il conteggio dei giorni da quando il mondo è stato creato Current day is @1.=Giorno attuale: @1. -[ | -1] [reconnect] []=[ | -1] [reconnect] [] -Shutdown server (-1 cancels a delayed shutdown)=Arresta il server (-1 annulla un arresto programmato) +[ | -1] [-r] []= +Shutdown server (-1 cancels a delayed shutdown, -r allows players to reconnect)= Server shutting down (operator request).=Arresto del server in corso (per richiesta dell'operatore) Ban the IP of a player or show the ban list=Bandisce l'IP del giocatore o mostra la lista di quelli banditi The ban list is empty.=La lista banditi è vuota. @@ -191,6 +193,7 @@ Available commands:=Comandi disponibili: Command not available: @1=Comando non disponibile: @1 [all | privs | ]=[all | privs | ] Get help for commands or list privileges=Richiama la finestra d'aiuto dei comandi o dei privilegi +Available privileges:=Privilegi disponibili: Command=Comando Parameters=Parametri For more information, click on any entry in the list.=Per più informazioni, clicca su una qualsiasi voce dell'elenco. @@ -200,7 +203,6 @@ Available commands: (see also: /help )=Comandi disponibili: (vedi anche /he Close=Chiudi Privilege=Privilegio Description=Descrizione -Available privileges:=Privilegi disponibili: print [] | dump [] | save [ []] | reset=print [] | dump [] | save [ []] | reset Handle the profiler and profiling data=Gestisce il profiler e i dati da esso elaborati Statistics written to action log.=Statistiche scritte nel log delle azioni. @@ -242,6 +244,8 @@ Profile saved to @1= ##### not used anymore ##### +[ | -1] [reconnect] []=[ | -1] [reconnect] [] +Shutdown server (-1 cancels a delayed shutdown)=Arresta il server (-1 annulla un arresto programmato) ( | all)= ( | all) | all= | all Can modify 'shout' and 'interact' privileges=Si possono modificare i privilegi 'shout' e 'interact' diff --git a/builtin/locale/template.txt b/builtin/locale/template.txt index db0ee07b8..7049dde36 100644 --- a/builtin/locale/template.txt +++ b/builtin/locale/template.txt @@ -21,6 +21,7 @@ Player @1 does not exist.= Return list of all online players with privilege= Invalid parameters (see /help haspriv).= Unknown privilege!= +No online player has the "@1" privilege.= Players online with the "@1" privilege: @2= Your privileges are insufficient.= Your privileges are insufficient. '@1' only allows you to grant: @2= @@ -87,6 +88,7 @@ Resets lighting in the area between pos1 and pos2 ( and must be in Successfully reset light in the area ranging from @1 to @2.= Failed to load one or more blocks in area.= List mods installed on the server= +No mods installed.= Cannot give an empty item.= Cannot give an unknown item.= Giving 'ignore' is not allowed.= @@ -143,8 +145,8 @@ Invalid hour (must be between 0 and 23 inclusive).= Invalid minute (must be between 0 and 59 inclusive).= Show day count since world creation= Current day is @1.= -[ | -1] [reconnect] []= -Shutdown server (-1 cancels a delayed shutdown)= +[ | -1] [-r] []= +Shutdown server (-1 cancels a delayed shutdown, -r allows players to reconnect)= Server shutting down (operator request).= Ban the IP of a player or show the ban list= The ban list is empty.= @@ -191,6 +193,7 @@ Available commands:= Command not available: @1= [all | privs | ]= Get help for commands or list privileges= +Available privileges:= Command= Parameters= For more information, click on any entry in the list.= @@ -200,7 +203,6 @@ Available commands: (see also: /help )= Close= Privilege= Description= -Available privileges:= print [] | dump [] | save [ []] | reset= Handle the profiler and profiling data= Statistics written to action log.= diff --git a/builtin/mainmenu/dlg_contentstore.lua b/builtin/mainmenu/dlg_contentstore.lua index 20a446d5d..790da03ba 100644 --- a/builtin/mainmenu/dlg_contentstore.lua +++ b/builtin/mainmenu/dlg_contentstore.lua @@ -57,24 +57,39 @@ local filter_types_type = { "txp", } +local REASON_NEW = "new" +local REASON_UPDATE = "update" +local REASON_DEPENDENCY = "dependency" + + +local function get_download_url(package, reason) + local base_url = core.settings:get("contentdb_url") + local ret = base_url .. ("/packages/%s/%s/releases/%d/download/"):format(package.author, package.name, package.release) + if reason then + ret = ret .. "?reason=" .. reason + end + return ret +end + local function download_package(param) - if core.download_file(param.package.url, param.filename) then + if core.download_file(param.url, param.filename) then return { filename = param.filename, successful = true, } else - core.log("error", "downloading " .. dump(param.package.url) .. " failed") + core.log("error", "downloading " .. dump(param.url) .. " failed") return { successful = false, } end end -local function start_install(package) +local function start_install(package, reason) local params = { package = package, + url = get_download_url(package, reason), filename = os.tempfolder() .. "_MODNAME_" .. package.name .. ".zip", } @@ -135,7 +150,7 @@ local function start_install(package) if next then table.remove(download_queue, 1) - start_install(next) + start_install(next.package, next.reason) end ui.update() @@ -151,12 +166,12 @@ local function start_install(package) end end -local function queue_download(package) +local function queue_download(package, reason) local max_concurrent_downloads = tonumber(core.settings:get("contentdb_max_concurrent_downloads")) if number_downloading < max_concurrent_downloads then - start_install(package) + start_install(package, reason) else - table.insert(download_queue, package) + table.insert(download_queue, { package = package, reason = reason }) package.queued = true end end @@ -407,12 +422,12 @@ function install_dialog.handle_submit(this, fields) end if fields.install_all then - queue_download(install_dialog.package) + queue_download(install_dialog.package, REASON_NEW) if install_dialog.will_install_deps then for _, dep in pairs(install_dialog.dependencies) do if not dep.is_optional and not dep.installed and dep.package then - queue_download(dep.package) + queue_download(dep.package, REASON_DEPENDENCY) end end end @@ -560,18 +575,25 @@ function store.load() end store.packages_full = core.parse_json(response.data) or {} + store.aliases = {} for _, package in pairs(store.packages_full) do - package.url = base_url .. "/packages/" .. - package.author .. "/" .. package.name .. - "/releases/" .. package.release .. "/download/" - local name_len = #package.name if package.type == "game" and name_len > 5 and package.name:sub(name_len - 4) == "_game" then package.id = package.author:lower() .. "/" .. package.name:sub(1, name_len - 5) else package.id = package.author:lower() .. "/" .. package.name end + + if package.aliases then + for _, alias in ipairs(package.aliases) do + -- We currently don't support name changing + local suffix = "/" .. package.name + if alias:sub(-#suffix) == suffix then + store.aliases[alias:lower()] = package.id + end + end + end end store.packages_full_unordered = store.packages_full @@ -584,7 +606,8 @@ function store.update_paths() pkgmgr.refresh_globals() for _, mod in pairs(pkgmgr.clientmods:get_list()) do if mod.author and mod.release > 0 then - mod_hash[mod.author:lower() .. "/" .. mod.name] = mod + local id = mod.author:lower() .. "/" .. mod.name + mod_hash[store.aliases[id] or id] = mod end end @@ -592,14 +615,16 @@ function store.update_paths() pkgmgr.update_gamelist() for _, game in pairs(pkgmgr.games) do if game.author ~= "" and game.release > 0 then - game_hash[game.author:lower() .. "/" .. game.id] = game + local id = game.author:lower() .. "/" .. game.id + game_hash[store.aliases[id] or id] = game end end local txp_hash = {} for _, txp in pairs(pkgmgr.get_texture_packs()) do if txp.author and txp.release > 0 then - txp_hash[txp.author:lower() .. "/" .. txp.name] = txp + local id = txp.author:lower() .. "/" .. txp.name + txp_hash[store.aliases[id] or id] = txp end end @@ -915,7 +940,7 @@ function store.handle_submit(this, fields) local package = store.packages_full[i] if package.path and package.installed_release < package.release and not (package.downloading or package.queued) then - queue_download(package) + queue_download(package, REASON_UPDATE) end end return true @@ -948,7 +973,7 @@ function store.handle_submit(this, fields) this:hide() dlg:show() else - queue_download(package) + queue_download(package, package.path and REASON_UPDATE or REASON_NEW) end end diff --git a/builtin/mainmenu/dlg_settings_advanced.lua b/builtin/mainmenu/dlg_settings_advanced.lua index 26f4fa4a7..38a658969 100644 --- a/builtin/mainmenu/dlg_settings_advanced.lua +++ b/builtin/mainmenu/dlg_settings_advanced.lua @@ -31,6 +31,10 @@ end -- returns error message, or nil local function parse_setting_line(settings, line, read_all, base_level, allow_secure) + + -- strip carriage returns (CR, /r) + line = line:gsub("\r", "") + -- comment local comment = line:match("^#" .. CHAR_CLASSES.SPACE .. "*(.*)$") if comment then @@ -650,7 +654,7 @@ local function create_change_setting_formspec(dialogdata) -- Third row add_field(0.3, "te_octaves", fgettext("Octaves"), t[7]) - add_field(3.6, "te_persist", fgettext("Persistance"), t[8]) + add_field(3.6, "te_persist", fgettext("Persistence"), t[8]) add_field(6.9, "te_lacun", fgettext("Lacunarity"), t[9]) height = height + 1.1 diff --git a/builtin/mainmenu/tab_local.lua b/builtin/mainmenu/tab_local.lua index 0e06c3bef..be5f905ac 100644 --- a/builtin/mainmenu/tab_local.lua +++ b/builtin/mainmenu/tab_local.lua @@ -18,8 +18,14 @@ local enable_gamebar = PLATFORM ~= "Android" local current_game, singleplayer_refresh_gamebar +local valid_disabled_settings = { + ["enable_damage"]=true, + ["creative_mode"]=true, + ["enable_server"]=true, +} if enable_gamebar then + -- Currently chosen game in gamebar for theming and filtering function current_game() local last_game_id = core.settings:get("menu_last_game") local game = pkgmgr.find_by_gameid(last_game_id) @@ -102,37 +108,87 @@ if enable_gamebar then btnbar:add_button("game_open_cdb", "", plus_image, fgettext("Install games from ContentDB")) end else + -- Currently chosen game in gamebar: no gamebar -> no "current" game function current_game() return nil end end +local function get_disabled_settings(game) + if not game then + return {} + end + + local gameconfig = Settings(game.path .. "/game.conf") + local disabled_settings = {} + if gameconfig then + local disabled_settings_str = (gameconfig:get("disabled_settings") or ""):split() + for _, value in pairs(disabled_settings_str) do + local state = false + value = value:trim() + if string.sub(value, 1, 1) == "!" then + state = true + value = string.sub(value, 2) + end + if valid_disabled_settings[value] then + disabled_settings[value] = state + else + core.log("error", "Invalid disabled setting in game.conf: "..tostring(value)) + end + end + end + return disabled_settings +end + local function get_formspec(tabview, name, tabdata) local retval = "" local index = filterlist.get_current_index(menudata.worldlist, - tonumber(core.settings:get("mainmenu_last_selected_world")) - ) + tonumber(core.settings:get("mainmenu_last_selected_world"))) + local list = menudata.worldlist:get_list() + local world = list and index and list[index] + local gameid = world and world.gameid + local game = gameid and pkgmgr.find_by_gameid(gameid) + local disabled_settings = get_disabled_settings(game) + + local creative, damage, host = "", "", "" + + -- Y offsets for game settings checkboxes + local y = -0.2 + local yo = 0.45 + + if disabled_settings["creative_mode"] == nil then + creative = "checkbox[0,"..y..";cb_creative_mode;".. fgettext("Creative Mode") .. ";" .. + dump(core.settings:get_bool("creative_mode")) .. "]" + y = y + yo + end + if disabled_settings["enable_damage"] == nil then + damage = "checkbox[0,"..y..";cb_enable_damage;".. fgettext("Enable Damage") .. ";" .. + dump(core.settings:get_bool("enable_damage")) .. "]" + y = y + yo + end + if disabled_settings["enable_server"] == nil then + host = "checkbox[0,"..y..";cb_server;".. fgettext("Host Server") ..";" .. + dump(core.settings:get_bool("enable_server")) .. "]" + y = y + yo + end retval = retval .. "button[3.9,3.8;2.8,1;world_delete;".. fgettext("Delete") .. "]" .. "button[6.55,3.8;2.8,1;world_configure;".. fgettext("Select Mods") .. "]" .. "button[9.2,3.8;2.8,1;world_create;".. fgettext("New") .. "]" .. "label[3.9,-0.05;".. fgettext("Select World:") .. "]".. - "checkbox[0,-0.20;cb_creative_mode;".. fgettext("Creative Mode") .. ";" .. - dump(core.settings:get_bool("creative_mode")) .. "]".. - "checkbox[0,0.25;cb_enable_damage;".. fgettext("Enable Damage") .. ";" .. - dump(core.settings:get_bool("enable_damage")) .. "]".. - "checkbox[0,0.7;cb_server;".. fgettext("Host Server") ..";" .. - dump(core.settings:get_bool("enable_server")) .. "]" .. + creative .. + damage .. + host .. "textlist[3.9,0.4;7.9,3.45;sp_worlds;" .. menu_render_worldlist() .. ";" .. index .. "]" - if core.settings:get_bool("enable_server") then + if core.settings:get_bool("enable_server") and disabled_settings["enable_server"] == nil then retval = retval .. "button[7.9,4.75;4.1,1;play;".. fgettext("Host Game") .. "]" .. - "checkbox[0,1.15;cb_server_announce;" .. fgettext("Announce Server") .. ";" .. + "checkbox[0,"..y..";cb_server_announce;" .. fgettext("Announce Server") .. ";" .. dump(core.settings:get_bool("server_announce")) .. "]" .. "field[0.3,2.85;3.8,0.5;te_playername;" .. fgettext("Name") .. ";" .. core.formspec_escape(core.settings:get("name")) .. "]" .. @@ -227,9 +283,21 @@ local function main_button_handler(this, fields, name, tabdata) -- Update last game local world = menudata.worldlist:get_raw_element(gamedata.selected_world) + local game_obj if world then - local game = pkgmgr.find_by_gameid(world.gameid) - core.settings:set("menu_last_game", game.id) + game_obj = pkgmgr.find_by_gameid(world.gameid) + core.settings:set("menu_last_game", game_obj.id) + end + + local disabled_settings = get_disabled_settings(game_obj) + for k, _ in pairs(valid_disabled_settings) do + local v = disabled_settings[k] + if v ~= nil then + if k == "enable_server" and v == true then + error("Setting 'enable_server' cannot be force-enabled! The game.conf needs to be fixed.") + end + core.settings:set_bool(k, disabled_settings[k]) + end end if core.settings:get_bool("enable_server") then diff --git a/builtin/mainmenu/tab_settings.lua b/builtin/mainmenu/tab_settings.lua index 29744048a..f06e35872 100644 --- a/builtin/mainmenu/tab_settings.lua +++ b/builtin/mainmenu/tab_settings.lua @@ -43,6 +43,14 @@ local labels = { fgettext("2x"), fgettext("4x"), fgettext("8x") + }, + shadow_levels = { + fgettext("Disabled"), + fgettext("Very Low"), + fgettext("Low"), + fgettext("Medium"), + fgettext("High"), + fgettext("Ultra High") } } @@ -66,6 +74,10 @@ local dd_options = { antialiasing = { table.concat(labels.antialiasing, ","), {"0", "2", "4", "8"} + }, + shadow_levels = { + table.concat(labels.shadow_levels, ","), + { "0", "1", "2", "3", "4", "5" } } } @@ -110,6 +122,15 @@ local getSettingIndex = { end end return 1 + end, + ShadowMapping = function() + local shadow_setting = core.settings:get("shadow_levels") + for i = 1, #dd_options.shadow_levels[2] do + if shadow_setting == dd_options.shadow_levels[2][i] then + return i + end + end + return 1 end } @@ -197,7 +218,10 @@ local function formspec(tabview, name, tabdata) "checkbox[8.25,1.5;cb_waving_leaves;" .. fgettext("Waving Leaves") .. ";" .. dump(core.settings:get_bool("enable_waving_leaves")) .. "]" .. "checkbox[8.25,2;cb_waving_plants;" .. fgettext("Waving Plants") .. ";" - .. dump(core.settings:get_bool("enable_waving_plants")) .. "]" + .. dump(core.settings:get_bool("enable_waving_plants")) .. "]".. + "label[8.25,3.0;" .. fgettext("Dynamic shadows: ") .. "]" .. + "dropdown[8.25,3.5;3.5;dd_shadows;" .. dd_options.shadow_levels[1] .. ";" + .. getSettingIndex.ShadowMapping() .. "]" else tab_string = tab_string .. "label[8.38,0.7;" .. core.colorize("#888888", @@ -207,7 +231,9 @@ local function formspec(tabview, name, tabdata) "label[8.38,1.7;" .. core.colorize("#888888", fgettext("Waving Leaves")) .. "]" .. "label[8.38,2.2;" .. core.colorize("#888888", - fgettext("Waving Plants")) .. "]" + fgettext("Waving Plants")) .. "]".. + "label[8.38,2.7;" .. core.colorize("#888888", + fgettext("Dynamic shadows")) .. "]" end return tab_string @@ -333,6 +359,34 @@ local function handle_settings_buttons(this, fields, tabname, tabdata) ddhandled = true end + for i = 1, #labels.shadow_levels do + if fields["dd_shadows"] == labels.shadow_levels[i] then + core.settings:set("shadow_levels", dd_options.shadow_levels[2][i]) + ddhandled = true + end + end + + if fields["dd_shadows"] == labels.shadow_levels[1] then + core.settings:set("enable_dynamic_shadows", "false") + else + local shadow_presets = { + [2] = { 80, 512, "true", 0, "false" }, + [3] = { 120, 1024, "true", 1, "false" }, + [4] = { 350, 2048, "true", 1, "false" }, + [5] = { 350, 2048, "true", 2, "true" }, + [6] = { 450, 4096, "true", 2, "true" }, + } + local s = shadow_presets[table.indexof(labels.shadow_levels, fields["dd_shadows"])] + if s then + core.settings:set("enable_dynamic_shadows", "true") + core.settings:set("shadow_map_max_distance", s[1]) + core.settings:set("shadow_map_texture_size", s[2]) + core.settings:set("shadow_map_texture_32bit", s[3]) + core.settings:set("shadow_filters", s[4]) + core.settings:set("shadow_map_color", s[5]) + end + end + return ddhandled end diff --git a/builtin/mainmenu/tests/serverlistmgr_spec.lua b/builtin/mainmenu/tests/serverlistmgr_spec.lua index 148e9b794..a091959fb 100644 --- a/builtin/mainmenu/tests/serverlistmgr_spec.lua +++ b/builtin/mainmenu/tests/serverlistmgr_spec.lua @@ -2,6 +2,7 @@ _G.core = {} _G.unpack = table.unpack _G.serverlistmgr = {} +dofile("builtin/common/vector.lua") dofile("builtin/common/misc_helpers.lua") dofile("builtin/mainmenu/serverlistmgr.lua") diff --git a/builtin/settingtypes.txt b/builtin/settingtypes.txt index ab3ceb9e7..8726012ff 100644 --- a/builtin/settingtypes.txt +++ b/builtin/settingtypes.txt @@ -525,7 +525,7 @@ texture_clean_transparent (Clean transparent textures) bool false # can be blurred, so automatically upscale them with nearest-neighbor # interpolation to preserve crisp pixels. This sets the minimum texture size # for the upscaled textures; higher values look sharper, but require more -# memory. Powers of 2 are recommended. This setting is ONLY applies if +# memory. Powers of 2 are recommended. This setting is ONLY applied if # bilinear/trilinear/anisotropic filtering is enabled. # This is also used as the base node texture size for world-aligned # texture autoscaling. @@ -594,6 +594,58 @@ enable_waving_leaves (Waving leaves) bool false # Requires shaders to be enabled. enable_waving_plants (Waving plants) bool false +[***Dynamic shadows] + +# Set to true to enable Shadow Mapping. +# Requires shaders to be enabled. +enable_dynamic_shadows (Dynamic shadows) bool false + +# Set the shadow strength. +# Lower value means lighter shadows, higher value means darker shadows. +shadow_strength (Shadow strength) float 0.2 0.05 1.0 + +# Maximum distance to render shadows. +shadow_map_max_distance (Shadow map max distance in nodes to render shadows) float 120.0 10.0 1000.0 + +# Texture size to render the shadow map on. +# This must be a power of two. +# Bigger numbers create better shadows but it is also more expensive. +shadow_map_texture_size (Shadow map texture size) int 1024 128 8192 + +# Sets shadow texture quality to 32 bits. +# On false, 16 bits texture will be used. +# This can cause much more artifacts in the shadow. +shadow_map_texture_32bit (Shadow map texture in 32 bits) bool true + +# Enable Poisson disk filtering. +# On true uses Poisson disk to make "soft shadows". Otherwise uses PCF filtering. +shadow_poisson_filter (Poisson filtering) bool true + +# Define shadow filtering quality +# This simulates the soft shadows effect by applying a PCF or Poisson disk +# but also uses more resources. +shadow_filters (Shadow filter quality) enum 1 0,1,2 + +# Enable colored shadows. +# On true translucent nodes cast colored shadows. This is expensive. +shadow_map_color (Colored shadows) bool false + +# Spread a complete update of shadow map over given amount of frames. +# Higher values might make shadows laggy, lower values +# will consume more resources. +# Minimum value: 1; maximum value: 16 +shadow_update_frames (Map shadows update frames) int 8 1 16 + +# Set the soft shadow radius size. +# Lower values mean sharper shadows, bigger values mean softer shadows. +# Minimum value: 1.0; maxiumum value: 10.0 +shadow_soft_radius (Soft shadow radius) float 1.0 1.0 10.0 + +# Set the tilt of Sun/Moon orbit in degrees +# Value of 0 means no tilt / vertical orbit. +# Minimum value: 0.0; maximum value: 60.0 +shadow_sky_body_orbit_tilt (Sky Body Orbit Tilt) float 0.0 0.0 60.0 + [**Advanced] # Arm inertia, gives a more realistic movement of @@ -620,10 +672,10 @@ viewing_range (Viewing range) int 190 20 4000 # 0.1 = Default, 0.25 = Good value for weaker tablets. near_plane (Near plane) float 0.1 0 0.25 -# Width component of the initial window size. +# Width component of the initial window size. Ignored in fullscreen mode. screen_w (Screen width) int 1024 1 -# Height component of the initial window size. +# Height component of the initial window size. Ignored in fullscreen mode. screen_h (Screen height) int 600 1 # Save window size automatically when modified. @@ -632,9 +684,6 @@ autosave_screensize (Autosave screen size) bool true # Fullscreen mode. fullscreen (Full screen) bool false -# Bits per pixel (aka color depth) in fullscreen mode. -fullscreen_bpp (Full screen BPP) int 24 - # Vertical screen synchronization. vsync (VSync) bool false @@ -678,7 +727,7 @@ texture_path (Texture path) path # Note: On Android, stick with OGLES1 if unsure! App may fail to start otherwise. # On other platforms, OpenGL is recommended. # Shaders are supported by OpenGL (desktop only) and OGLES2 (experimental) -video_driver (Video driver) enum opengl null,software,burningsvideo,direct3d8,direct3d9,opengl,ogles1,ogles2 +video_driver (Video driver) enum opengl opengl,ogles1,ogles2 # Radius of cloud area stated in number of 64 node cloud squares. # Values larger than 26 will start to produce sharp cutoffs at cloud area corners. @@ -739,7 +788,7 @@ selectionbox_width (Selection box width) int 2 1 5 crosshair_color (Crosshair color) string (255,255,255) # Crosshair alpha (opaqueness, between 0 and 255). -# Also controls the object crosshair color +# This also applies to the object crosshair. crosshair_alpha (Crosshair alpha) int 255 0 255 # Maximum number of recent chat messages to show @@ -936,6 +985,12 @@ mute_sound (Mute sound) bool false [Client] +# Clickable weblinks (middle-click or ctrl-left-click) enabled in chat console output. +clickable_chat_weblinks (Chat weblinks) bool false + +# Optional override for chat weblink color. +chat_weblink_color (Weblink color) string + [*Network] # Address to connect to. @@ -948,9 +1003,9 @@ address (Server address) string remote_port (Remote port) int 30000 1 65535 # Prometheus listener address. -# If minetest is compiled with ENABLE_PROMETHEUS option enabled, +# If Minetest is compiled with ENABLE_PROMETHEUS option enabled, # enable metrics listener for Prometheus on that address. -# Metrics can be fetch on http://127.0.0.1:30000/metrics +# Metrics can be fetched on http://127.0.0.1:30000/metrics prometheus_listener_address (Prometheus listener address) string 127.0.0.1:30000 # Save the map received by the client on disk. @@ -1057,11 +1112,10 @@ full_block_send_enable_min_time_from_building (Delay in sending blocks after bui # client number. max_packets_per_iteration (Max. packets per iteration) int 1024 -# ZLib compression level to use when sending mapblocks to the client. -# -1 - Zlib's default compression level -# 0 - no compresson, fastest +# Compression level to use when sending mapblocks to the client. +# -1 - use default compression level +# 0 - least compresson, fastest # 9 - best compression, slowest -# (levels 1-3 use Zlib's "fast" method, 4-9 use the normal method) map_compression_level_net (Map Compression Level for Network Transfer) int -1 -1 9 [*Game] @@ -1260,12 +1314,11 @@ max_objects_per_block (Maximum objects per block) int 64 # See https://www.sqlite.org/pragma.html#pragma_synchronous sqlite_synchronous (Synchronous SQLite) enum 2 0,1,2 -# ZLib compression level to use when saving mapblocks to disk. -# -1 - Zlib's default compression level -# 0 - no compresson, fastest +# Compression level to use when saving mapblocks to disk. +# -1 - use default compression level +# 0 - least compresson, fastest # 9 - best compression, slowest -# (levels 1-3 use Zlib's "fast" method, 4-9 use the normal method) -map_compression_level_disk (Map Compression Level for Disk Storage) int 3 -1 9 +map_compression_level_disk (Map Compression Level for Disk Storage) int -1 -1 9 # Length of a server tick and the interval at which objects are generally updated over # network. @@ -1437,9 +1490,6 @@ curl_parallel_limit (cURL parallel limit) int 8 # Maximum time a file download (e.g. a mod download) may take, stated in milliseconds. curl_file_download_timeout (cURL file download timeout) int 300000 -# Makes DirectX work with LuaJIT. Disable if it causes troubles. -high_precision_fpu (High-precision FPU) bool true - # Replaces the default main menu with a custom one. main_menu_script (Main menu script) string @@ -2178,15 +2228,15 @@ chunksize (Chunk size) int 5 enable_mapgen_debug_info (Mapgen debug) bool false # Maximum number of blocks that can be queued for loading. -emergequeue_limit_total (Absolute limit of queued blocks to emerge) int 1024 +emergequeue_limit_total (Absolute limit of queued blocks to emerge) int 1024 1 1000000 # Maximum number of blocks to be queued that are to be loaded from file. # This limit is enforced per player. -emergequeue_limit_diskonly (Per-player limit of queued blocks load from disk) int 128 +emergequeue_limit_diskonly (Per-player limit of queued blocks load from disk) int 128 1 1000000 # Maximum number of blocks to be queued that are to be generated. # This limit is enforced per player. -emergequeue_limit_generate (Per-player limit of queued blocks to generate) int 128 +emergequeue_limit_generate (Per-player limit of queued blocks to generate) int 128 1 1000000 # Number of emerge threads to use. # Value 0: diff --git a/client/shaders/nodes_shader/opengl_fragment.glsl b/client/shaders/nodes_shader/opengl_fragment.glsl index b58095063..87ef9af7d 100644 --- a/client/shaders/nodes_shader/opengl_fragment.glsl +++ b/client/shaders/nodes_shader/opengl_fragment.glsl @@ -7,7 +7,22 @@ uniform vec3 eyePosition; // The cameraOffset is the current center of the visible world. uniform vec3 cameraOffset; uniform float animationTimer; +#ifdef ENABLE_DYNAMIC_SHADOWS + // shadow texture + uniform sampler2D ShadowMapSampler; + // shadow uniforms + uniform vec3 v_LightDirection; + uniform float f_textureresolution; + uniform mat4 m_ShadowViewProj; + uniform float f_shadowfar; + varying float normalOffsetScale; + varying float adj_shadow_strength; + varying float cosLight; + varying float f_normal_length; +#endif + +varying vec3 vNormal; varying vec3 vPosition; // World position in the visible world (i.e. relative to the cameraOffset.) // This can be used for many shader effects without loss of precision. @@ -22,10 +37,392 @@ varying mediump vec2 varTexCoord; centroid varying vec2 varTexCoord; #endif varying vec3 eyeVec; +varying float nightRatio; const float fogStart = FOG_START; const float fogShadingParameter = 1.0 / ( 1.0 - fogStart); + + +#ifdef ENABLE_DYNAMIC_SHADOWS +const float bias0 = 0.9; +const float zPersFactor = 0.5; +const float bias1 = 1.0 - bias0 + 1e-6; + +vec4 getPerspectiveFactor(in vec4 shadowPosition) +{ + + float pDistance = length(shadowPosition.xy); + float pFactor = pDistance * bias0 + bias1; + + shadowPosition.xyz *= vec3(vec2(1.0 / pFactor), zPersFactor); + + return shadowPosition; +} + +// assuming near is always 1.0 +float getLinearDepth() +{ + return 2.0 * f_shadowfar / (f_shadowfar + 1.0 - (2.0 * gl_FragCoord.z - 1.0) * (f_shadowfar - 1.0)); +} + +vec3 getLightSpacePosition() +{ + vec4 pLightSpace; + // some drawtypes have zero normals, so we need to handle it :( + #if DRAW_TYPE == NDT_PLANTLIKE + pLightSpace = m_ShadowViewProj * vec4(worldPosition, 1.0); + #else + float offsetScale = (0.0057 * getLinearDepth() + normalOffsetScale); + pLightSpace = m_ShadowViewProj * vec4(worldPosition + offsetScale * normalize(vNormal), 1.0); + #endif + pLightSpace = getPerspectiveFactor(pLightSpace); + return pLightSpace.xyz * 0.5 + 0.5; +} +// custom smoothstep implementation because it's not defined in glsl1.2 +// https://docs.gl/sl4/smoothstep +float mtsmoothstep(in float edge0, in float edge1, in float x) +{ + float t = clamp((x - edge0) / (edge1 - edge0), 0.0, 1.0); + return t * t * (3.0 - 2.0 * t); +} + +#ifdef COLORED_SHADOWS + +// c_precision of 128 fits within 7 base-10 digits +const float c_precision = 128.0; +const float c_precisionp1 = c_precision + 1.0; + +float packColor(vec3 color) +{ + return floor(color.b * c_precision + 0.5) + + floor(color.g * c_precision + 0.5) * c_precisionp1 + + floor(color.r * c_precision + 0.5) * c_precisionp1 * c_precisionp1; +} + +vec3 unpackColor(float value) +{ + vec3 color; + color.b = mod(value, c_precisionp1) / c_precision; + color.g = mod(floor(value / c_precisionp1), c_precisionp1) / c_precision; + color.r = floor(value / (c_precisionp1 * c_precisionp1)) / c_precision; + return color; +} + +vec4 getHardShadowColor(sampler2D shadowsampler, vec2 smTexCoord, float realDistance) +{ + vec4 texDepth = texture2D(shadowsampler, smTexCoord.xy).rgba; + + float visibility = step(0.0, realDistance - texDepth.r); + vec4 result = vec4(visibility, vec3(0.0,0.0,0.0));//unpackColor(texDepth.g)); + if (visibility < 0.1) { + visibility = step(0.0, realDistance - texDepth.b); + result = vec4(visibility, unpackColor(texDepth.a)); + } + return result; +} + +#else + +float getHardShadow(sampler2D shadowsampler, vec2 smTexCoord, float realDistance) +{ + float texDepth = texture2D(shadowsampler, smTexCoord.xy).r; + float visibility = step(0.0, realDistance - texDepth); + return visibility; +} + +#endif + + +#if SHADOW_FILTER == 2 + #define PCFBOUND 3.5 + #define PCFSAMPLES 64.0 +#elif SHADOW_FILTER == 1 + #define PCFBOUND 1.5 + #if defined(POISSON_FILTER) + #define PCFSAMPLES 32.0 + #else + #define PCFSAMPLES 16.0 + #endif +#else + #define PCFBOUND 0.0 + #if defined(POISSON_FILTER) + #define PCFSAMPLES 4.0 + #else + #define PCFSAMPLES 1.0 + #endif +#endif +#ifdef COLORED_SHADOWS +float getHardShadowDepth(sampler2D shadowsampler, vec2 smTexCoord, float realDistance) +{ + vec4 texDepth = texture2D(shadowsampler, smTexCoord.xy); + float depth = max(realDistance - texDepth.r, realDistance - texDepth.b); + return depth; +} +#else +float getHardShadowDepth(sampler2D shadowsampler, vec2 smTexCoord, float realDistance) +{ + float texDepth = texture2D(shadowsampler, smTexCoord.xy).r; + float depth = realDistance - texDepth; + return depth; +} +#endif + +float getBaseLength(vec2 smTexCoord) +{ + float l = length(2.0 * smTexCoord.xy - 1.0); // length in texture coords + return bias1 / (1.0 / l - bias0); // return to undistorted coords +} + +float getDeltaPerspectiveFactor(float l) +{ + return 0.1 / (bias0 * l + bias1); // original distortion factor, divided by 10 +} + +float getPenumbraRadius(sampler2D shadowsampler, vec2 smTexCoord, float realDistance, float multiplier) +{ + float baseLength = getBaseLength(smTexCoord); + float perspectiveFactor; + + // Return fast if sharp shadows are requested + if (SOFTSHADOWRADIUS <= 1.0) { + perspectiveFactor = getDeltaPerspectiveFactor(baseLength); + return max(2 * length(smTexCoord.xy) * 2048 / f_textureresolution / pow(perspectiveFactor, 3), SOFTSHADOWRADIUS); + } + + vec2 clampedpos; + float texture_size = 1.0 / (2048 /*f_textureresolution*/ * 0.5); + float y, x; + float depth = 0.0; + float pointDepth; + float maxRadius = SOFTSHADOWRADIUS * 5.0 * multiplier; + + float bound = clamp(PCFBOUND * (1 - baseLength), 0.0, PCFBOUND); + int n = 0; + + for (y = -bound; y <= bound; y += 1.0) + for (x = -bound; x <= bound; x += 1.0) { + clampedpos = vec2(x,y); + perspectiveFactor = getDeltaPerspectiveFactor(baseLength + length(clampedpos) * texture_size * maxRadius); + clampedpos = clampedpos * texture_size * perspectiveFactor * maxRadius * perspectiveFactor + smTexCoord.xy; + + pointDepth = getHardShadowDepth(shadowsampler, clampedpos.xy, realDistance); + if (pointDepth > -0.01) { + depth += pointDepth; + n += 1; + } + } + + depth = depth / n; + depth = pow(clamp(depth, 0.0, 1000.0), 1.6) / 0.001; + + perspectiveFactor = getDeltaPerspectiveFactor(baseLength); + return max(length(smTexCoord.xy) * 2 * 2048 / f_textureresolution / pow(perspectiveFactor, 3), depth * maxRadius); +} + +#ifdef POISSON_FILTER +const vec2[64] poissonDisk = vec2[64]( + vec2(0.170019, -0.040254), + vec2(-0.299417, 0.791925), + vec2(0.645680, 0.493210), + vec2(-0.651784, 0.717887), + vec2(0.421003, 0.027070), + vec2(-0.817194, -0.271096), + vec2(-0.705374, -0.668203), + vec2(0.977050, -0.108615), + vec2(0.063326, 0.142369), + vec2(0.203528, 0.214331), + vec2(-0.667531, 0.326090), + vec2(-0.098422, -0.295755), + vec2(-0.885922, 0.215369), + vec2(0.566637, 0.605213), + vec2(0.039766, -0.396100), + vec2(0.751946, 0.453352), + vec2(0.078707, -0.715323), + vec2(-0.075838, -0.529344), + vec2(0.724479, -0.580798), + vec2(0.222999, -0.215125), + vec2(-0.467574, -0.405438), + vec2(-0.248268, -0.814753), + vec2(0.354411, -0.887570), + vec2(0.175817, 0.382366), + vec2(0.487472, -0.063082), + vec2(0.355476, 0.025357), + vec2(-0.084078, 0.898312), + vec2(0.488876, -0.783441), + vec2(0.470016, 0.217933), + vec2(-0.696890, -0.549791), + vec2(-0.149693, 0.605762), + vec2(0.034211, 0.979980), + vec2(0.503098, -0.308878), + vec2(-0.016205, -0.872921), + vec2(0.385784, -0.393902), + vec2(-0.146886, -0.859249), + vec2(0.643361, 0.164098), + vec2(0.634388, -0.049471), + vec2(-0.688894, 0.007843), + vec2(0.464034, -0.188818), + vec2(-0.440840, 0.137486), + vec2(0.364483, 0.511704), + vec2(0.034028, 0.325968), + vec2(0.099094, -0.308023), + vec2(0.693960, -0.366253), + vec2(0.678884, -0.204688), + vec2(0.001801, 0.780328), + vec2(0.145177, -0.898984), + vec2(0.062655, -0.611866), + vec2(0.315226, -0.604297), + vec2(-0.780145, 0.486251), + vec2(-0.371868, 0.882138), + vec2(0.200476, 0.494430), + vec2(-0.494552, -0.711051), + vec2(0.612476, 0.705252), + vec2(-0.578845, -0.768792), + vec2(-0.772454, -0.090976), + vec2(0.504440, 0.372295), + vec2(0.155736, 0.065157), + vec2(0.391522, 0.849605), + vec2(-0.620106, -0.328104), + vec2(0.789239, -0.419965), + vec2(-0.545396, 0.538133), + vec2(-0.178564, -0.596057) +); + +#ifdef COLORED_SHADOWS + +vec4 getShadowColor(sampler2D shadowsampler, vec2 smTexCoord, float realDistance) +{ + vec2 clampedpos; + vec4 visibility = vec4(0.0); + float radius = getPenumbraRadius(shadowsampler, smTexCoord, realDistance, 1.5); // scale to align with PCF + if (radius < 0.1) { + // we are in the middle of even brightness, no need for filtering + return getHardShadowColor(shadowsampler, smTexCoord.xy, realDistance); + } + + float baseLength = getBaseLength(smTexCoord); + float perspectiveFactor; + + float texture_size = 1.0 / (f_textureresolution * 0.5); + int samples = int(clamp(PCFSAMPLES * (1 - baseLength) * (1 - baseLength), PCFSAMPLES / 4, PCFSAMPLES)); + int init_offset = int(floor(mod(((smTexCoord.x * 34.0) + 1.0) * smTexCoord.y, 64.0-samples))); + int end_offset = int(samples) + init_offset; + + for (int x = init_offset; x < end_offset; x++) { + clampedpos = poissonDisk[x]; + perspectiveFactor = getDeltaPerspectiveFactor(baseLength + length(clampedpos) * texture_size * radius); + clampedpos = clampedpos * texture_size * perspectiveFactor * radius * perspectiveFactor + smTexCoord.xy; + visibility += getHardShadowColor(shadowsampler, clampedpos.xy, realDistance); + } + + return visibility / samples; +} + +#else + +float getShadow(sampler2D shadowsampler, vec2 smTexCoord, float realDistance) +{ + vec2 clampedpos; + float visibility = 0.0; + float radius = getPenumbraRadius(shadowsampler, smTexCoord, realDistance, 1.5); // scale to align with PCF + if (radius < 0.1) { + // we are in the middle of even brightness, no need for filtering + return getHardShadow(shadowsampler, smTexCoord.xy, realDistance); + } + + float baseLength = getBaseLength(smTexCoord); + float perspectiveFactor; + + float texture_size = 1.0 / (f_textureresolution * 0.5); + int samples = int(clamp(PCFSAMPLES * (1 - baseLength) * (1 - baseLength), PCFSAMPLES / 4, PCFSAMPLES)); + int init_offset = int(floor(mod(((smTexCoord.x * 34.0) + 1.0) * smTexCoord.y, 64.0-samples))); + int end_offset = int(samples) + init_offset; + + for (int x = init_offset; x < end_offset; x++) { + clampedpos = poissonDisk[x]; + perspectiveFactor = getDeltaPerspectiveFactor(baseLength + length(clampedpos) * texture_size * radius); + clampedpos = clampedpos * texture_size * perspectiveFactor * radius * perspectiveFactor + smTexCoord.xy; + visibility += getHardShadow(shadowsampler, clampedpos.xy, realDistance); + } + + return visibility / samples; +} + +#endif + +#else +/* poisson filter disabled */ + +#ifdef COLORED_SHADOWS + +vec4 getShadowColor(sampler2D shadowsampler, vec2 smTexCoord, float realDistance) +{ + vec2 clampedpos; + vec4 visibility = vec4(0.0); + float radius = getPenumbraRadius(shadowsampler, smTexCoord, realDistance, 1.0); + if (radius < 0.1) { + // we are in the middle of even brightness, no need for filtering + return getHardShadowColor(shadowsampler, smTexCoord.xy, realDistance); + } + + float baseLength = getBaseLength(smTexCoord); + float perspectiveFactor; + + float texture_size = 1.0 / (f_textureresolution * 0.5); + float y, x; + float bound = clamp(PCFBOUND * (1 - baseLength), PCFBOUND / 2, PCFBOUND); + int n = 0; + + // basic PCF filter + for (y = -bound; y <= bound; y += 1.0) + for (x = -bound; x <= bound; x += 1.0) { + clampedpos = vec2(x,y); // screen offset + perspectiveFactor = getDeltaPerspectiveFactor(baseLength + length(clampedpos) * texture_size * radius / bound); + clampedpos = clampedpos * texture_size * perspectiveFactor * radius * perspectiveFactor / bound + smTexCoord.xy; // both dx,dy and radius are adjusted + visibility += getHardShadowColor(shadowsampler, clampedpos.xy, realDistance); + n += 1; + } + + return visibility / n; +} + +#else +float getShadow(sampler2D shadowsampler, vec2 smTexCoord, float realDistance) +{ + vec2 clampedpos; + float visibility = 0.0; + float radius = getPenumbraRadius(shadowsampler, smTexCoord, realDistance, 1.0); + if (radius < 0.1) { + // we are in the middle of even brightness, no need for filtering + return getHardShadow(shadowsampler, smTexCoord.xy, realDistance); + } + + float baseLength = getBaseLength(smTexCoord); + float perspectiveFactor; + + float texture_size = 1.0 / (f_textureresolution * 0.5); + float y, x; + float bound = clamp(PCFBOUND * (1 - baseLength), PCFBOUND / 2, PCFBOUND); + int n = 0; + + // basic PCF filter + for (y = -bound; y <= bound; y += 1.0) + for (x = -bound; x <= bound; x += 1.0) { + clampedpos = vec2(x,y); // screen offset + perspectiveFactor = getDeltaPerspectiveFactor(baseLength + length(clampedpos) * texture_size * radius / bound); + clampedpos = clampedpos * texture_size * perspectiveFactor * radius * perspectiveFactor / bound + smTexCoord.xy; // both dx,dy and radius are adjusted + visibility += getHardShadow(shadowsampler, clampedpos.xy, realDistance); + n += 1; + } + + return visibility / n; +} + +#endif + +#endif +#endif + #if ENABLE_TONE_MAPPING /* Hable's UC2 Tone mapping parameters @@ -58,25 +455,62 @@ vec4 applyToneMapping(vec4 color) } #endif + + void main(void) { vec3 color; vec2 uv = varTexCoord.st; vec4 base = texture2D(baseTexture, uv).rgba; -#ifdef USE_DISCARD // If alpha is zero, we can just discard the pixel. This fixes transparency // on GPUs like GC7000L, where GL_ALPHA_TEST is not implemented in mesa, // and also on GLES 2, where GL_ALPHA_TEST is missing entirely. - if (base.a == 0.0) { +#ifdef USE_DISCARD + if (base.a == 0.0) + discard; +#endif +#ifdef USE_DISCARD_REF + if (base.a < 0.5) discard; - } #endif color = base.rgb; - vec4 col = vec4(color.rgb * varColor.rgb, 1.0); +#ifdef ENABLE_DYNAMIC_SHADOWS + float shadow_int = 0.0; + vec3 shadow_color = vec3(0.0, 0.0, 0.0); + vec3 posLightSpace = getLightSpacePosition(); + + float distance_rate = (1 - pow(clamp(2.0 * length(posLightSpace.xy - 0.5),0.0,1.0), 20.0)); + float f_adj_shadow_strength = max(adj_shadow_strength-mtsmoothstep(0.9,1.1, posLightSpace.z ),0.0); + + if (distance_rate > 1e-7) { + +#ifdef COLORED_SHADOWS + vec4 visibility = getShadowColor(ShadowMapSampler, posLightSpace.xy, posLightSpace.z); + shadow_int = visibility.r; + shadow_color = visibility.gba; +#else + shadow_int = getShadow(ShadowMapSampler, posLightSpace.xy, posLightSpace.z); +#endif + shadow_int *= distance_rate; + shadow_int *= 1.0 - nightRatio; + + + } + + if (f_normal_length != 0 && cosLight < 0.035) { + shadow_int = max(shadow_int, min(clamp(1.0-nightRatio, 0.0, 1.0), 1 - clamp(cosLight, 0.0, 0.035)/0.035)); + } + + shadow_int = 1.0 - (shadow_int * f_adj_shadow_strength); + + col.rgb = mix(shadow_color,col.rgb,shadow_int)*shadow_int; + // col.r = 0.5 * clamp(getPenumbraRadius(ShadowMapSampler, posLightSpace.xy, posLightSpace.z, 1.0) / SOFTSHADOWRADIUS, 0.0, 1.0) + 0.5 * col.r; +#endif + #if ENABLE_TONE_MAPPING col = applyToneMapping(col); #endif @@ -94,6 +528,6 @@ void main(void) - fogShadingParameter * length(eyeVec) / fogDistance, 0.0, 1.0); col = mix(skyBgColor, col, clarity); col = vec4(col.rgb, base.a); - + gl_FragColor = col; } diff --git a/client/shaders/nodes_shader/opengl_vertex.glsl b/client/shaders/nodes_shader/opengl_vertex.glsl index 1a4840d35..d316930b2 100644 --- a/client/shaders/nodes_shader/opengl_vertex.glsl +++ b/client/shaders/nodes_shader/opengl_vertex.glsl @@ -1,5 +1,4 @@ uniform mat4 mWorld; - // Color of the light emitted by the sun. uniform vec3 dayLight; uniform vec3 eyePosition; @@ -8,6 +7,7 @@ uniform vec3 eyePosition; uniform vec3 cameraOffset; uniform float animationTimer; +varying vec3 vNormal; varying vec3 vPosition; // World position in the visible world (i.e. relative to the cameraOffset.) // This can be used for many shader effects without loss of precision. @@ -24,13 +24,38 @@ varying mediump vec2 varTexCoord; #else centroid varying vec2 varTexCoord; #endif -varying vec3 eyeVec; +#ifdef ENABLE_DYNAMIC_SHADOWS + // shadow uniforms + uniform vec3 v_LightDirection; + uniform float f_textureresolution; + uniform mat4 m_ShadowViewProj; + uniform float f_shadowfar; + uniform float f_shadow_strength; + uniform float f_timeofday; + varying float cosLight; + varying float normalOffsetScale; + varying float adj_shadow_strength; + varying float f_normal_length; +#endif + +varying vec3 eyeVec; +varying float nightRatio; // Color of the light emitted by the light sources. const vec3 artificialLight = vec3(1.04, 1.04, 1.04); const float e = 2.718281828459; const float BS = 10.0; +#ifdef ENABLE_DYNAMIC_SHADOWS +// custom smoothstep implementation because it's not defined in glsl1.2 +// https://docs.gl/sl4/smoothstep +float mtsmoothstep(in float edge0, in float edge1, in float x) +{ + float t = clamp((x - edge0) / (edge1 - edge0), 0.0, 1.0); + return t * t * (3.0 - 2.0 * t); +} +#endif + float smoothCurve(float x) { @@ -86,6 +111,9 @@ float snoise(vec3 p) #endif + + + void main(void) { varTexCoord = inTexCoord0.st; @@ -136,10 +164,9 @@ void main(void) gl_Position = mWorldViewProj * inVertexPosition; #endif - vPosition = gl_Position.xyz; - eyeVec = -(mWorldView * inVertexPosition).xyz; + vNormal = inVertexNormal; // Calculate color. // Red, green and blue components are pre-multiplied with @@ -152,7 +179,7 @@ void main(void) vec4 color = inVertexColor; #endif // The alpha gives the ratio of sunlight in the incoming light. - float nightRatio = 1.0 - color.a; + nightRatio = 1.0 - color.a; color.rgb = color.rgb * (color.a * dayLight.rgb + nightRatio * artificialLight.rgb) * 2.0; color.a = 1.0; @@ -164,4 +191,26 @@ void main(void) 0.07 * brightness); varColor = clamp(color, 0.0, 1.0); + +#ifdef ENABLE_DYNAMIC_SHADOWS + vec3 nNormal = normalize(vNormal); + cosLight = dot(nNormal, -v_LightDirection); + float texelSize = 767.0 / f_textureresolution; + float slopeScale = clamp(1.0 - abs(cosLight), 0.0, 1.0); + normalOffsetScale = texelSize * slopeScale; + + if (f_timeofday < 0.2) { + adj_shadow_strength = f_shadow_strength * 0.5 * + (1.0 - mtsmoothstep(0.18, 0.2, f_timeofday)); + } else if (f_timeofday >= 0.8) { + adj_shadow_strength = f_shadow_strength * 0.5 * + mtsmoothstep(0.8, 0.83, f_timeofday); + } else { + adj_shadow_strength = f_shadow_strength * + mtsmoothstep(0.20, 0.25, f_timeofday) * + (1.0 - mtsmoothstep(0.7, 0.8, f_timeofday)); + } + f_normal_length = length(vNormal); +#endif + } diff --git a/client/shaders/object_shader/opengl_fragment.glsl b/client/shaders/object_shader/opengl_fragment.glsl index 9a81d8185..9a0b90f15 100644 --- a/client/shaders/object_shader/opengl_fragment.glsl +++ b/client/shaders/object_shader/opengl_fragment.glsl @@ -23,8 +23,22 @@ const float BS = 10.0; const float fogStart = FOG_START; const float fogShadingParameter = 1.0 / (1.0 - fogStart); -#if ENABLE_TONE_MAPPING +#ifdef ENABLE_DYNAMIC_SHADOWS + // shadow texture + uniform sampler2D ShadowMapSampler; + // shadow uniforms + uniform vec3 v_LightDirection; + uniform float f_textureresolution; + uniform mat4 m_ShadowViewProj; + uniform float f_shadowfar; + uniform float f_timeofday; + varying float normalOffsetScale; + varying float adj_shadow_strength; + varying float cosLight; + varying float f_normal_length; +#endif +#if ENABLE_TONE_MAPPING /* Hable's UC2 Tone mapping parameters A = 0.22; B = 0.30; @@ -55,30 +69,306 @@ vec4 applyToneMapping(vec4 color) } #endif +#ifdef ENABLE_DYNAMIC_SHADOWS +const float bias0 = 0.9; +const float zPersFactor = 0.5; +const float bias1 = 1.0 - bias0; + +vec4 getPerspectiveFactor(in vec4 shadowPosition) +{ + float pDistance = length(shadowPosition.xy); + float pFactor = pDistance * bias0 + bias1; + shadowPosition.xyz *= vec3(vec2(1.0 / pFactor), zPersFactor); + + return shadowPosition; +} + +// assuming near is always 1.0 +float getLinearDepth() +{ + return 2.0 * f_shadowfar / (f_shadowfar + 1.0 - (2.0 * gl_FragCoord.z - 1.0) * (f_shadowfar - 1.0)); +} + +vec3 getLightSpacePosition() +{ + vec4 pLightSpace; + float normalBias = 0.0005 * getLinearDepth() * cosLight + normalOffsetScale; + pLightSpace = m_ShadowViewProj * vec4(worldPosition + normalBias * normalize(vNormal), 1.0); + pLightSpace = getPerspectiveFactor(pLightSpace); + return pLightSpace.xyz * 0.5 + 0.5; +} + +#ifdef COLORED_SHADOWS + +// c_precision of 128 fits within 7 base-10 digits +const float c_precision = 128.0; +const float c_precisionp1 = c_precision + 1.0; + +float packColor(vec3 color) +{ + return floor(color.b * c_precision + 0.5) + + floor(color.g * c_precision + 0.5) * c_precisionp1 + + floor(color.r * c_precision + 0.5) * c_precisionp1 * c_precisionp1; +} + +vec3 unpackColor(float value) +{ + vec3 color; + color.b = mod(value, c_precisionp1) / c_precision; + color.g = mod(floor(value / c_precisionp1), c_precisionp1) / c_precision; + color.r = floor(value / (c_precisionp1 * c_precisionp1)) / c_precision; + return color; +} + +vec4 getHardShadowColor(sampler2D shadowsampler, vec2 smTexCoord, float realDistance) +{ + vec4 texDepth = texture2D(shadowsampler, smTexCoord.xy).rgba; + + float visibility = step(0.0, (realDistance-2e-5) - texDepth.r); + vec4 result = vec4(visibility, vec3(0.0,0.0,0.0));//unpackColor(texDepth.g)); + if (visibility < 0.1) { + visibility = step(0.0, (realDistance-2e-5) - texDepth.r); + result = vec4(visibility, unpackColor(texDepth.a)); + } + return result; +} + +#else + +float getHardShadow(sampler2D shadowsampler, vec2 smTexCoord, float realDistance) +{ + float texDepth = texture2D(shadowsampler, smTexCoord.xy).r; + float visibility = step(0.0, (realDistance-2e-5) - texDepth); + + return visibility; +} + +#endif + +#if SHADOW_FILTER == 2 + #define PCFBOUND 3.5 + #define PCFSAMPLES 64.0 +#elif SHADOW_FILTER == 1 + #define PCFBOUND 1.5 + #if defined(POISSON_FILTER) + #define PCFSAMPLES 32.0 + #else + #define PCFSAMPLES 16.0 + #endif +#else + #define PCFBOUND 0.0 + #if defined(POISSON_FILTER) + #define PCFSAMPLES 4.0 + #else + #define PCFSAMPLES 1.0 + #endif +#endif + +#ifdef POISSON_FILTER +const vec2[64] poissonDisk = vec2[64]( + vec2(0.170019, -0.040254), + vec2(-0.299417, 0.791925), + vec2(0.645680, 0.493210), + vec2(-0.651784, 0.717887), + vec2(0.421003, 0.027070), + vec2(-0.817194, -0.271096), + vec2(-0.705374, -0.668203), + vec2(0.977050, -0.108615), + vec2(0.063326, 0.142369), + vec2(0.203528, 0.214331), + vec2(-0.667531, 0.326090), + vec2(-0.098422, -0.295755), + vec2(-0.885922, 0.215369), + vec2(0.566637, 0.605213), + vec2(0.039766, -0.396100), + vec2(0.751946, 0.453352), + vec2(0.078707, -0.715323), + vec2(-0.075838, -0.529344), + vec2(0.724479, -0.580798), + vec2(0.222999, -0.215125), + vec2(-0.467574, -0.405438), + vec2(-0.248268, -0.814753), + vec2(0.354411, -0.887570), + vec2(0.175817, 0.382366), + vec2(0.487472, -0.063082), + vec2(0.355476, 0.025357), + vec2(-0.084078, 0.898312), + vec2(0.488876, -0.783441), + vec2(0.470016, 0.217933), + vec2(-0.696890, -0.549791), + vec2(-0.149693, 0.605762), + vec2(0.034211, 0.979980), + vec2(0.503098, -0.308878), + vec2(-0.016205, -0.872921), + vec2(0.385784, -0.393902), + vec2(-0.146886, -0.859249), + vec2(0.643361, 0.164098), + vec2(0.634388, -0.049471), + vec2(-0.688894, 0.007843), + vec2(0.464034, -0.188818), + vec2(-0.440840, 0.137486), + vec2(0.364483, 0.511704), + vec2(0.034028, 0.325968), + vec2(0.099094, -0.308023), + vec2(0.693960, -0.366253), + vec2(0.678884, -0.204688), + vec2(0.001801, 0.780328), + vec2(0.145177, -0.898984), + vec2(0.062655, -0.611866), + vec2(0.315226, -0.604297), + vec2(-0.780145, 0.486251), + vec2(-0.371868, 0.882138), + vec2(0.200476, 0.494430), + vec2(-0.494552, -0.711051), + vec2(0.612476, 0.705252), + vec2(-0.578845, -0.768792), + vec2(-0.772454, -0.090976), + vec2(0.504440, 0.372295), + vec2(0.155736, 0.065157), + vec2(0.391522, 0.849605), + vec2(-0.620106, -0.328104), + vec2(0.789239, -0.419965), + vec2(-0.545396, 0.538133), + vec2(-0.178564, -0.596057) +); + +#ifdef COLORED_SHADOWS + +vec4 getShadowColor(sampler2D shadowsampler, vec2 smTexCoord, float realDistance) +{ + vec2 clampedpos; + vec4 visibility = vec4(0.0); + + float texture_size = 1.0 / (f_textureresolution * 0.5); + int init_offset = int(floor(mod(((smTexCoord.x * 34.0) + 1.0) * smTexCoord.y, 64.0-PCFSAMPLES))); + int end_offset = int(PCFSAMPLES) + init_offset; + + for (int x = init_offset; x < end_offset; x++) { + clampedpos = poissonDisk[x] * texture_size * SOFTSHADOWRADIUS + smTexCoord.xy; + visibility += getHardShadowColor(shadowsampler, clampedpos.xy, realDistance); + } + + return visibility / PCFSAMPLES; +} + +#else + +float getShadow(sampler2D shadowsampler, vec2 smTexCoord, float realDistance) +{ + vec2 clampedpos; + float visibility = 0.0; + + float texture_size = 1.0 / (f_textureresolution * 0.5); + int init_offset = int(floor(mod(((smTexCoord.x * 34.0) + 1.0) * smTexCoord.y, 64.0-PCFSAMPLES))); + int end_offset = int(PCFSAMPLES) + init_offset; + + for (int x = init_offset; x < end_offset; x++) { + clampedpos = poissonDisk[x] * texture_size * SOFTSHADOWRADIUS + smTexCoord.xy; + visibility += getHardShadow(shadowsampler, clampedpos.xy, realDistance); + } + + return visibility / PCFSAMPLES; +} + +#endif + +#else +/* poisson filter disabled */ + +#ifdef COLORED_SHADOWS + +vec4 getShadowColor(sampler2D shadowsampler, vec2 smTexCoord, float realDistance) +{ + vec2 clampedpos; + vec4 visibility = vec4(0.0); + float sradius=0.0; + if( PCFBOUND>0) + sradius = SOFTSHADOWRADIUS / PCFBOUND; + float texture_size = 1.0 / (f_textureresolution * 0.5); + float y, x; + // basic PCF filter + for (y = -PCFBOUND; y <= PCFBOUND; y += 1.0) + for (x = -PCFBOUND; x <= PCFBOUND; x += 1.0) { + clampedpos = vec2(x,y) * texture_size* sradius + smTexCoord.xy; + visibility += getHardShadowColor(shadowsampler, clampedpos.xy, realDistance); + } + + return visibility / PCFSAMPLES; +} + +#else +float getShadow(sampler2D shadowsampler, vec2 smTexCoord, float realDistance) +{ + vec2 clampedpos; + float visibility = 0.0; + float sradius=0.0; + if( PCFBOUND>0) + sradius = SOFTSHADOWRADIUS / PCFBOUND; + + float texture_size = 1.0 / (f_textureresolution * 0.5); + float y, x; + // basic PCF filter + for (y = -PCFBOUND; y <= PCFBOUND; y += 1.0) + for (x = -PCFBOUND; x <= PCFBOUND; x += 1.0) { + clampedpos = vec2(x,y) * texture_size * sradius + smTexCoord.xy; + visibility += getHardShadow(shadowsampler, clampedpos.xy, realDistance); + } + + return visibility / PCFSAMPLES; +} + +#endif + +#endif +#endif + void main(void) { vec3 color; vec2 uv = varTexCoord.st; - vec4 base = texture2D(baseTexture, uv).rgba; -#ifdef USE_DISCARD // If alpha is zero, we can just discard the pixel. This fixes transparency // on GPUs like GC7000L, where GL_ALPHA_TEST is not implemented in mesa, // and also on GLES 2, where GL_ALPHA_TEST is missing entirely. - if (base.a == 0.0) { +#ifdef USE_DISCARD + if (base.a == 0.0) + discard; +#endif +#ifdef USE_DISCARD_REF + if (base.a < 0.5) discard; - } #endif color = base.rgb; - vec4 col = vec4(color.rgb, base.a); - col.rgb *= varColor.rgb; - col.rgb *= emissiveColor.rgb * vIDiff; +#ifdef ENABLE_DYNAMIC_SHADOWS + float shadow_int = 0.0; + vec3 shadow_color = vec3(0.0, 0.0, 0.0); + vec3 posLightSpace = getLightSpacePosition(); + +#ifdef COLORED_SHADOWS + vec4 visibility = getShadowColor(ShadowMapSampler, posLightSpace.xy, posLightSpace.z); + shadow_int = visibility.r; + shadow_color = visibility.gba; +#else + shadow_int = getShadow(ShadowMapSampler, posLightSpace.xy, posLightSpace.z); +#endif + + if (f_normal_length != 0 && cosLight <= 0.001) { + shadow_int = clamp(shadow_int + 0.5 * abs(cosLight), 0.0, 1.0); + } + + shadow_int = 1.0 - (shadow_int * adj_shadow_strength); + + col.rgb = mix(shadow_color, col.rgb, shadow_int) * shadow_int; +#endif + + + #if ENABLE_TONE_MAPPING col = applyToneMapping(col); #endif diff --git a/client/shaders/object_shader/opengl_vertex.glsl b/client/shaders/object_shader/opengl_vertex.glsl index f26224e82..f135ab9dc 100644 --- a/client/shaders/object_shader/opengl_vertex.glsl +++ b/client/shaders/object_shader/opengl_vertex.glsl @@ -13,12 +13,37 @@ varying mediump vec2 varTexCoord; centroid varying vec2 varTexCoord; #endif +#ifdef ENABLE_DYNAMIC_SHADOWS + // shadow uniforms + uniform vec3 v_LightDirection; + uniform float f_textureresolution; + uniform mat4 m_ShadowViewProj; + uniform float f_shadowfar; + uniform float f_shadow_strength; + uniform float f_timeofday; + varying float cosLight; + varying float normalOffsetScale; + varying float adj_shadow_strength; + varying float f_normal_length; +#endif + varying vec3 eyeVec; varying float vIDiff; const float e = 2.718281828459; const float BS = 10.0; +#ifdef ENABLE_DYNAMIC_SHADOWS +// custom smoothstep implementation because it's not defined in glsl1.2 +// https://docs.gl/sl4/smoothstep +float mtsmoothstep(in float edge0, in float edge1, in float x) +{ + float t = clamp((x - edge0) / (edge1 - edge0), 0.0, 1.0); + return t * t * (3.0 - 2.0 * t); +} +#endif + + float directional_ambient(vec3 normal) { vec3 v = normal * normal; @@ -54,4 +79,25 @@ void main(void) #else varColor = inVertexColor; #endif + +#ifdef ENABLE_DYNAMIC_SHADOWS + + cosLight = max(0.0, dot(vNormal, -v_LightDirection)); + float texelSize = 0.51; + float slopeScale = clamp(1.0 - cosLight, 0.0, 1.0); + normalOffsetScale = texelSize * slopeScale; + if (f_timeofday < 0.2) { + adj_shadow_strength = f_shadow_strength * 0.5 * + (1.0 - mtsmoothstep(0.18, 0.2, f_timeofday)); + } else if (f_timeofday >= 0.8) { + adj_shadow_strength = f_shadow_strength * 0.5 * + mtsmoothstep(0.8, 0.83, f_timeofday); + } else { + adj_shadow_strength = f_shadow_strength * + mtsmoothstep(0.20, 0.25, f_timeofday) * + (1.0 - mtsmoothstep(0.7, 0.8, f_timeofday)); + } + f_normal_length = length(vNormal); + +#endif } diff --git a/client/shaders/shadow_shaders/pass1_fragment.glsl b/client/shaders/shadow_shaders/pass1_fragment.glsl new file mode 100644 index 000000000..2105def96 --- /dev/null +++ b/client/shaders/shadow_shaders/pass1_fragment.glsl @@ -0,0 +1,13 @@ +uniform sampler2D ColorMapSampler; +varying vec4 tPos; + +void main() +{ + vec4 col = texture2D(ColorMapSampler, gl_TexCoord[0].st); + + if (col.a < 0.70) + discard; + + float depth = 0.5 + tPos.z * 0.5; + gl_FragColor = vec4(depth, 0.0, 0.0, 1.0); +} diff --git a/client/shaders/shadow_shaders/pass1_trans_fragment.glsl b/client/shaders/shadow_shaders/pass1_trans_fragment.glsl new file mode 100644 index 000000000..9f9e5be8c --- /dev/null +++ b/client/shaders/shadow_shaders/pass1_trans_fragment.glsl @@ -0,0 +1,38 @@ +uniform sampler2D ColorMapSampler; +varying vec4 tPos; + +#ifdef COLORED_SHADOWS +// c_precision of 128 fits within 7 base-10 digits +const float c_precision = 128.0; +const float c_precisionp1 = c_precision + 1.0; + +float packColor(vec3 color) +{ + return floor(color.b * c_precision + 0.5) + + floor(color.g * c_precision + 0.5) * c_precisionp1 + + floor(color.r * c_precision + 0.5) * c_precisionp1 * c_precisionp1; +} + +const vec3 black = vec3(0.0); +#endif + +void main() +{ + vec4 col = texture2D(ColorMapSampler, gl_TexCoord[0].st); +#ifndef COLORED_SHADOWS + if (col.a < 0.5) + discard; +#endif + + float depth = 0.5 + tPos.z * 0.5; + // ToDo: Liso: Apply movement on waving plants + // depth in [0, 1] for texture + + //col.rgb = col.a == 1.0 ? vec3(1.0) : col.rgb; +#ifdef COLORED_SHADOWS + float packedColor = packColor(mix(col.rgb, black, col.a)); + gl_FragColor = vec4(depth, packedColor, 0.0,1.0); +#else + gl_FragColor = vec4(depth, 0.0, 0.0, 1.0); +#endif +} diff --git a/client/shaders/shadow_shaders/pass1_trans_vertex.glsl b/client/shaders/shadow_shaders/pass1_trans_vertex.glsl new file mode 100644 index 000000000..ca59f2796 --- /dev/null +++ b/client/shaders/shadow_shaders/pass1_trans_vertex.glsl @@ -0,0 +1,26 @@ +uniform mat4 LightMVP; // world matrix +varying vec4 tPos; + +const float bias0 = 0.9; +const float zPersFactor = 0.5; +const float bias1 = 1.0 - bias0 + 1e-6; + +vec4 getPerspectiveFactor(in vec4 shadowPosition) +{ + float pDistance = length(shadowPosition.xy); + float pFactor = pDistance * bias0 + bias1; + shadowPosition.xyz *= vec3(vec2(1.0 / pFactor), zPersFactor); + + return shadowPosition; +} + + +void main() +{ + vec4 pos = LightMVP * gl_Vertex; + + tPos = getPerspectiveFactor(LightMVP * gl_Vertex); + + gl_Position = vec4(tPos.xyz, 1.0); + gl_TexCoord[0].st = gl_MultiTexCoord0.st; +} diff --git a/client/shaders/shadow_shaders/pass1_vertex.glsl b/client/shaders/shadow_shaders/pass1_vertex.glsl new file mode 100644 index 000000000..a6d8b3db8 --- /dev/null +++ b/client/shaders/shadow_shaders/pass1_vertex.glsl @@ -0,0 +1,26 @@ +uniform mat4 LightMVP; // world matrix +varying vec4 tPos; + +const float bias0 = 0.9; +const float zPersFactor = 0.5; +const float bias1 = 1.0 - bias0 + 1e-6; + +vec4 getPerspectiveFactor(in vec4 shadowPosition) +{ + float pDistance = length(shadowPosition.xy); + float pFactor = pDistance * bias0 + bias1; + shadowPosition.xyz *= vec3(vec2(1.0 / pFactor), zPersFactor); + + return shadowPosition; +} + + +void main() +{ + vec4 pos = LightMVP * gl_Vertex; + + tPos = getPerspectiveFactor(pos); + + gl_Position = vec4(tPos.xyz, 1.0); + gl_TexCoord[0].st = gl_MultiTexCoord0.st; +} diff --git a/client/shaders/shadow_shaders/pass2_fragment.glsl b/client/shaders/shadow_shaders/pass2_fragment.glsl new file mode 100644 index 000000000..00b4f9f6c --- /dev/null +++ b/client/shaders/shadow_shaders/pass2_fragment.glsl @@ -0,0 +1,23 @@ +uniform sampler2D ShadowMapClientMap; +#ifdef COLORED_SHADOWS +uniform sampler2D ShadowMapClientMapTraslucent; +#endif +uniform sampler2D ShadowMapSamplerdynamic; + +void main() { + +#ifdef COLORED_SHADOWS + vec2 first_depth = texture2D(ShadowMapClientMap, gl_TexCoord[0].st).rg; + vec2 depth_splitdynamics = vec2(texture2D(ShadowMapSamplerdynamic, gl_TexCoord[2].st).r, 0.0); + if (first_depth.r > depth_splitdynamics.r) + first_depth = depth_splitdynamics; + vec2 depth_color = texture2D(ShadowMapClientMapTraslucent, gl_TexCoord[1].st).rg; + gl_FragColor = vec4(first_depth.r, first_depth.g, depth_color.r, depth_color.g); +#else + float first_depth = texture2D(ShadowMapClientMap, gl_TexCoord[0].st).r; + float depth_splitdynamics = texture2D(ShadowMapSamplerdynamic, gl_TexCoord[2].st).r; + first_depth = min(first_depth, depth_splitdynamics); + gl_FragColor = vec4(first_depth, 0.0, 0.0, 1.0); +#endif + +} diff --git a/client/shaders/shadow_shaders/pass2_vertex.glsl b/client/shaders/shadow_shaders/pass2_vertex.glsl new file mode 100644 index 000000000..ac445c9c7 --- /dev/null +++ b/client/shaders/shadow_shaders/pass2_vertex.glsl @@ -0,0 +1,9 @@ + +void main() +{ + vec4 uv = vec4(gl_Vertex.xyz, 1.0) * 0.5 + 0.5; + gl_TexCoord[0] = uv; + gl_TexCoord[1] = uv; + gl_TexCoord[2] = uv; + gl_Position = vec4(gl_Vertex.xyz, 1.0); +} diff --git a/cmake/Modules/FindIrrlicht.cmake b/cmake/Modules/FindIrrlicht.cmake deleted file mode 100644 index 058e93878..000000000 --- a/cmake/Modules/FindIrrlicht.cmake +++ /dev/null @@ -1,61 +0,0 @@ - -mark_as_advanced(IRRLICHT_DLL) - -# Find include directory and libraries - -# find our fork first, then upstream (TODO: remove this?) -foreach(libname IN ITEMS IrrlichtMt Irrlicht) - string(TOLOWER "${libname}" libname2) - - find_path(IRRLICHT_INCLUDE_DIR NAMES irrlicht.h - DOC "Path to the directory with IrrlichtMt includes" - PATHS - /usr/local/include/${libname2} - /usr/include/${libname2} - /system/develop/headers/${libname2} #Haiku - PATH_SUFFIXES "include/${libname2}" - ) - - find_library(IRRLICHT_LIBRARY NAMES lib${libname} ${libname} - DOC "Path to the IrrlichtMt library file" - PATHS - /usr/local/lib - /usr/lib - /system/develop/lib # Haiku - ) - - if(IRRLICHT_INCLUDE_DIR OR IRRLICHT_LIBRARY) - break() - endif() -endforeach() - -# Handholding for users -if(IRRLICHT_INCLUDE_DIR AND (NOT IS_DIRECTORY "${IRRLICHT_INCLUDE_DIR}" OR - NOT EXISTS "${IRRLICHT_INCLUDE_DIR}/irrlicht.h")) - message(WARNING "IRRLICHT_INCLUDE_DIR was set to ${IRRLICHT_INCLUDE_DIR} " - "but irrlicht.h does not exist inside. The path will not be used.") - unset(IRRLICHT_INCLUDE_DIR CACHE) -endif() -if(WIN32 OR CMAKE_SYSTEM_NAME STREQUAL "Linux" OR APPLE) - # (only on systems where we're sure how a valid library looks like) - if(IRRLICHT_LIBRARY AND (IS_DIRECTORY "${IRRLICHT_LIBRARY}" OR - NOT IRRLICHT_LIBRARY MATCHES "\\.(a|so|dylib|lib)([.0-9]+)?$")) - message(WARNING "IRRLICHT_LIBRARY was set to ${IRRLICHT_LIBRARY} " - "but is not a valid library file. The path will not be used.") - unset(IRRLICHT_LIBRARY CACHE) - endif() -endif() - -# On Windows, find the DLL for installation -if(WIN32) - # If VCPKG_APPLOCAL_DEPS is ON, dll's are automatically handled by VCPKG - if(NOT VCPKG_APPLOCAL_DEPS) - find_file(IRRLICHT_DLL NAMES IrrlichtMt.dll - DOC "Path of the IrrlichtMt dll (for installation)" - ) - endif() -endif(WIN32) - -include(FindPackageHandleStandardArgs) -find_package_handle_standard_args(Irrlicht DEFAULT_MSG IRRLICHT_LIBRARY IRRLICHT_INCLUDE_DIR) - diff --git a/cmake/Modules/FindLuaJIT.cmake b/cmake/Modules/FindLuaJIT.cmake index 97b0b7c64..217415d14 100644 --- a/cmake/Modules/FindLuaJIT.cmake +++ b/cmake/Modules/FindLuaJIT.cmake @@ -1,8 +1,8 @@ # Locate LuaJIT library # This module defines # LUAJIT_FOUND, if false, do not try to link to Lua +# LUA_LIBRARY, where to find the lua library # LUA_INCLUDE_DIR, where to find lua.h -# LUA_VERSION_STRING, the version of Lua found (since CMake 2.8.8) # # This module is similar to FindLua51.cmake except that it finds LuaJit instead. @@ -44,19 +44,10 @@ else() ) endif() - -IF(LUA_INCLUDE_DIR AND EXISTS "${LUA_INCLUDE_DIR}/luajit.h") - FILE(STRINGS "${LUA_INCLUDE_DIR}/luajit.h" lua_version_str REGEX "^#define[ \t]+LUA_RELEASE[ \t]+\"LuaJIT .+\"") - - STRING(REGEX REPLACE "^#define[ \t]+LUA_RELEASE[ \t]+\"LuaJIT ([^\"]+)\".*" "\\1" LUA_VERSION_STRING "${lua_version_str}") - UNSET(lua_version_str) -ENDIF() - INCLUDE(FindPackageHandleStandardArgs) # handle the QUIETLY and REQUIRED arguments and set LUAJIT_FOUND to TRUE if -# all listed variables are TRUE +# all listed variables exist FIND_PACKAGE_HANDLE_STANDARD_ARGS(LuaJIT - REQUIRED_VARS LUA_LIBRARY LUA_INCLUDE_DIR - VERSION_VAR LUA_VERSION_STRING) + REQUIRED_VARS LUA_LIBRARY LUA_INCLUDE_DIR) -MARK_AS_ADVANCED(LUA_INCLUDE_DIR LUA_LIBRARY LUA_MATH_LIBRARY) +MARK_AS_ADVANCED(LUA_INCLUDE_DIR LUA_LIBRARY) diff --git a/cmake/Modules/FindZstd.cmake b/cmake/Modules/FindZstd.cmake new file mode 100644 index 000000000..e28e1334b --- /dev/null +++ b/cmake/Modules/FindZstd.cmake @@ -0,0 +1,25 @@ +mark_as_advanced(ZSTD_LIBRARY ZSTD_INCLUDE_DIR) + +find_path(ZSTD_INCLUDE_DIR NAMES zstd.h) + +find_library(ZSTD_LIBRARY NAMES zstd) + +if(ZSTD_INCLUDE_DIR AND ZSTD_LIBRARY) + # Check that the API we use exists + include(CheckSymbolExists) + unset(HAVE_ZSTD_INITCSTREAM CACHE) + set(CMAKE_REQUIRED_INCLUDES ${ZSTD_INCLUDE_DIR}) + set(CMAKE_REQUIRED_LIBRARIES ${ZSTD_LIBRARY}) + check_symbol_exists(ZSTD_initCStream zstd.h HAVE_ZSTD_INITCSTREAM) + unset(CMAKE_REQUIRED_INCLUDES) + unset(CMAKE_REQUIRED_LIBRARIES) + + if(NOT HAVE_ZSTD_INITCSTREAM) + unset(ZSTD_INCLUDE_DIR CACHE) + unset(ZSTD_LIBRARY CACHE) + endif() +endif() + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(Zstd DEFAULT_MSG ZSTD_LIBRARY ZSTD_INCLUDE_DIR) + diff --git a/cmake/Modules/MinetestFindIrrlichtHeaders.cmake b/cmake/Modules/MinetestFindIrrlichtHeaders.cmake new file mode 100644 index 000000000..d33b296d0 --- /dev/null +++ b/cmake/Modules/MinetestFindIrrlichtHeaders.cmake @@ -0,0 +1,26 @@ +# Locate Irrlicht or IrrlichtMt headers on system. + +foreach(libname IN ITEMS IrrlichtMt Irrlicht) + string(TOLOWER "${libname}" libname2) + + find_path(IRRLICHT_INCLUDE_DIR NAMES irrlicht.h + DOC "Path to the directory with IrrlichtMt includes" + PATHS + /usr/local/include/${libname2} + /usr/include/${libname2} + /system/develop/headers/${libname2} #Haiku + PATH_SUFFIXES "include/${libname2}" + ) + + if(IRRLICHT_INCLUDE_DIR) + break() + endif() +endforeach() + +# Handholding for users +if(IRRLICHT_INCLUDE_DIR AND (NOT IS_DIRECTORY "${IRRLICHT_INCLUDE_DIR}" OR + NOT EXISTS "${IRRLICHT_INCLUDE_DIR}/irrlicht.h")) + message(WARNING "IRRLICHT_INCLUDE_DIR was set to ${IRRLICHT_INCLUDE_DIR} " + "but irrlicht.h does not exist inside. The path will not be used.") + unset(IRRLICHT_INCLUDE_DIR CACHE) +endif() diff --git a/doc/README.android b/doc/README.android index f6b67978f..3833688b1 100644 --- a/doc/README.android +++ b/doc/README.android @@ -74,7 +74,7 @@ automatically. Or you can create a `local.properties` file and specify are different tutorials on the web explaining how to do it - choose one yourself. -* Once your keystore is setup, enter build/android subdirectory and create a new +* Once your keystore is setup, enter the android subdirectory and create a new file "ant.properties" there. Add following lines to that file: > key.store= diff --git a/doc/client_lua_api.txt b/doc/client_lua_api.txt index 22148ee51..40e0327e4 100644 --- a/doc/client_lua_api.txt +++ b/doc/client_lua_api.txt @@ -1124,7 +1124,9 @@ Passed to `HTTPApiTable.fetch` callback. Returned by * Example: `minetest.rgba(10, 20, 30, 40)`, returns `"#0A141E28"` * `minetest.encode_base64(string)`: returns string encoded in base64 * Encodes a string in base64. -* `minetest.decode_base64(string)`: returns string +* `minetest.decode_base64(string)`: returns string or nil on failure + * Padding characters are only supported starting at version 5.4.0, where + 5.5.0 and newer perform proper checks. * Decodes a string encoded in base64. * `minetest.gettext(string)` : returns string * look up the translation of a string in the gettext message catalog @@ -1660,6 +1662,8 @@ It can be created via `Raycast(pos1, pos2, objects, liquids)` or -- ^ See "HUD Element Types" size = { x=100, y=100 }, -- default {x=0, y=0} -- ^ Size of element in pixels + style = 0, + -- ^ For "text" elements sets font style: bitfield with 1 = bold, 2 = italic, 4 = monospace } ``` diff --git a/doc/direction.md b/doc/direction.md new file mode 100644 index 000000000..826dd47b3 --- /dev/null +++ b/doc/direction.md @@ -0,0 +1,69 @@ +# Minetest Direction Document + +## 1. Long-term Roadmap + +The long-term roadmaps, aims, and guiding philosophies are set out using the +following documents: + +* [What is Minetest?](http://c55.me/blog/?p=1491) +* [celeron55's roadmap](https://forum.minetest.net/viewtopic.php?t=9177) +* [celeron55's comment in "A clear mission statement for Minetest is missing"](https://github.com/minetest/minetest/issues/3476#issuecomment-167399287) +* [Core developer to-do/wish lists](https://forum.minetest.net/viewforum.php?f=7) + +## 2. Medium-term Roadmap + +These are the current medium-term goals for Minetest development, in no +particular order. + +These goals were created from the top points in a +[roadmap brainstorm](https://github.com/minetest/minetest/issues/10461). +This should be reviewed approximately yearly, or when goals are achieved. + +Pull requests that address one of these goals will be labelled as "Roadmap". +PRs that are not on the roadmap will be closed unless they receive a concept +approval within a week, issues can be used for preapproval. +Bug fixes are exempt for this, and are always accepted and prioritised. +See [CONTRIBUTING.md](../.github/CONTRIBUTING.md) for more info. + +### 2.1 Rendering/Graphics improvements + +The priority is fixing the issues, performance, and general correctness. +Once that is done, fancier features can be worked on, such as water shaders, +shadows, and improved lighting. + +Examples include +[transparency sorting](https://github.com/minetest/minetest/issues/95), +[particle performance](https://github.com/minetest/minetest/issues/1414), +[general view distance](https://github.com/minetest/minetest/issues/7222). + +This includes work on maintaining +[our Irrlicht fork](https://github.com/minetest/irrlicht), and switching to +alternative libraries to replace Irrlicht functionality as needed + +### 2.2 Internal code refactoring + +To ensure sustainable development, Minetest's code needs to be +[refactored and improved](https://github.com/minetest/minetest/pulls?q=is%3Aopen+sort%3Aupdated-desc+label%3A%22Code+quality%22+). +This will remove code rot and allow for more efficient development. + +### 2.3 UI Improvements + +A [formspec replacement](https://github.com/minetest/minetest/issues/6527) is +needed to make GUIs better and easier to create. This replacement could also +be a replacement for HUDs, allowing for a unified API. + +A [new mainmenu](https://github.com/minetest/minetest/issues/6733) is needed to +improve user experience. First impressions matter, and the current main menu +doesn't do a very good job at selling Minetest or explaining what it is. +A new main menu should promote games to users, allowing Minetest Game to no +longer be bundled by default. + +The UI code is undergoing rapid changes, so it is especially important to make +an issue for any large changes before spending lots of time. + +### 2.4 Object and entity improvements + +There are still a significant number of issues with objects. +Collisions, +[performance](https://github.com/minetest/minetest/issues/6453), +API convenience, and discrepancies between players and entities. diff --git a/doc/lua_api.txt b/doc/lua_api.txt index 7104af3e7..a9bcc1707 100644 --- a/doc/lua_api.txt +++ b/doc/lua_api.txt @@ -77,8 +77,16 @@ The game directory can contain the following files: `disallowed_mapgens`. * `disallowed_mapgen_settings= ` e.g. `disallowed_mapgen_settings = mgv5_spflags` - These settings are hidden for this game in the world creation + These mapgen settings are hidden for this game in the world creation dialog and game start menu. + * `disabled_settings = ` + e.g. `disabled_settings = enable_damage, creative_mode` + These settings are hidden for this game in the "Start game" tab + and will be initialized as `false` when the game is started. + Prepend a setting name with an exclamation mark to initialize it to `true` + (this does not work for `enable_server`). + Only these settings are supported: + `enable_damage`, `creative_mode`, `enable_server`. * `author`: The author of the game. It only appears when downloaded from ContentDB. * `release`: Ignore this: Should only ever be set by ContentDB, as it is @@ -247,7 +255,7 @@ Media files (textures, sounds, whatever) that will be transferred to the client and will be available for use by the mod and translation files for the clients (see [Translations]). -It is suggested to use the folders for the purpous they are thought for, +It is suggested to use the folders for the purpose they are thought for, eg. put textures into `textures`, translation files into `locale`, models for entities or meshnodes into `models` et cetera. @@ -1022,7 +1030,8 @@ The function of `param2` is determined by `paramtype2` in node definition. to access/manipulate the content of this field * Bit 3: If set, liquid is flowing downwards (no graphical effect) * `paramtype2 = "wallmounted"` - * Supported drawtypes: "torchlike", "signlike", "normal", "nodebox", "mesh" + * Supported drawtypes: "torchlike", "signlike", "plantlike", + "plantlike_rooted", "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 @@ -1084,9 +1093,14 @@ The function of `param2` is determined by `paramtype2` in node definition. palette. The palette should have 32 pixels. * `paramtype2 = "glasslikeliquidlevel"` * Only valid for "glasslike_framed" or "glasslike_framed_optional" - drawtypes. - * `param2` values 0-63 define 64 levels of internal liquid, 0 being empty - and 63 being full. + drawtypes. "glasslike_framed_optional" nodes are only affected if the + "Connected Glass" setting is enabled. + * Bits 0-5 define 64 levels of internal liquid, 0 being empty and 63 being + full. + * Bits 6 and 7 modify the appearance of the frame and node faces. One or + both of these values may be added to `param2`: + * 64 - Makes the node not connect with neighbors above or below it. + * 128 - Makes the node not connect with neighbors to its sides. * Liquid texture is defined using `special_tiles = {"modname_tilename.png"}` * `paramtype2 = "colordegrotate"` * Same as `degrotate`, but with colors. @@ -1198,7 +1212,12 @@ Look for examples in `games/devtest` or `games/minetest_game`. * `plantlike_rooted` * Enables underwater `plantlike` without air bubbles around the nodes. * Consists of a base cube at the co-ordinates of the node plus a - `plantlike` extension above with a height of `param2 / 16` nodes. + `plantlike` extension above + * If `paramtype2="leveled", the `plantlike` extension has a height + of `param2 / 16` nodes, otherwise it's the height of 1 node + * If `paramtype2="wallmounted"`, the `plantlike` extension + will be at one of the corresponding 6 sides of the base cube. + Also, the base cube rotates like a `normal` cube would * The `plantlike` extension visually passes through any nodes above the base cube without affecting them. * The base cube texture tiles are defined as normal, the `plantlike` @@ -1505,6 +1524,9 @@ Position/vector {x=num, y=num, z=num} + Note: it is highly recommended to construct a vector using the helper function: + vector.new(num, num, num) + For helper functions see [Spatial Vectors]. `pointed_thing` @@ -1572,15 +1594,37 @@ since, by default, no schematic attributes are set. Items ===== +Items are things that can be held by players, dropped in the map and +stored in inventories. +Items come in the form of item stacks, which are collections of equal +items that occupy a single inventory slot. + Item types ---------- There are three kinds of items: nodes, tools and craftitems. -* Node: Can be placed in the world's voxel grid -* Tool: Has a wear property but cannot be stacked. The default use action is to - dig nodes or hit objects according to its tool capabilities. -* Craftitem: Cannot dig nodes or be placed +* Node: Placeable item form of a node in the world's voxel grid +* Tool: Has a changable wear property but cannot be stacked +* Craftitem: Has no special properties + +Every registered node (the voxel in the world) has a corresponding +item form (the thing in your inventory) that comes along with it. +This item form can be placed which will create a node in the +world (by default). +Both the 'actual' node and its item form share the same identifier. +For all practical purposes, you can treat the node and its item form +interchangeably. We usually just say 'node' to the item form of +the node as well. + +Note the definition of tools is purely technical. The only really +unique thing about tools is their wear, and that's basically it. +Beyond that, you can't make any gameplay-relevant assumptions +about tools or non-tools. It is perfectly valid to register something +that acts as tool in a gameplay sense as a craftitem, and vice-versa. + +Craftitems can be used for items that neither need to be a node +nor a tool. Amount and wear --------------- @@ -1591,7 +1635,9 @@ default. Tool item stacks can not have an amount greater than 1. Tools use a wear (damage) value ranging from 0 to 65535. The value 0 is the default and is used for unworn tools. The values 1 to 65535 are used for worn tools, where a higher value stands for -a higher wear. Non-tools always have a wear value of 0. +a higher wear. Non-tools technically also have a wear property, +but it is always 0. There is also a special 'toolrepair' crafting +recipe that is only available to tools. Item formats ------------ @@ -1645,8 +1691,8 @@ Groups ====== In a number of places, there is a group table. Groups define the -properties of a thing (item, node, armor of entity, capabilities of -tool) in such a way that the engine and other mods can can interact with +properties of a thing (item, node, armor of entity, tool capabilities) +in such a way that the engine and other mods can can interact with the thing without actually knowing what the thing is. Usage @@ -1687,17 +1733,17 @@ Groups of entities ------------------ For entities, groups are, as of now, used only for calculating damage. -The rating is the percentage of damage caused by tools with this damage group. +The rating is the percentage of damage caused by items with this damage group. See [Entity damage mechanism]. object.get_armor_groups() --> a group-rating table (e.g. {fleshy=100}) object.set_armor_groups({fleshy=30, cracky=80}) -Groups of tools ---------------- +Groups of tool capabilities +--------------------------- -Groups in tools define which groups of nodes and entities they are -effective towards. +Groups in tool capabilities define which groups of nodes and entities they +are effective towards. Groups in crafting recipes -------------------------- @@ -1729,7 +1775,7 @@ The asterisk `(*)` after a group name describes that there is no engine functionality bound to it, and implementation is left up as a suggestion to games. -### Node, item and tool groups +### Node and item groups * `not_in_creative_inventory`: (*) Special group for inventory mods to indicate that the item should be hidden in item lists. @@ -1765,7 +1811,7 @@ to games. from destroyed nodes. * `0` is something that is directly accessible at the start of gameplay * There is no upper limit - * See also: `leveldiff` in [Tools] + * See also: `leveldiff` in [Tool Capabilities] * `slippery`: Players and items will slide on the node. Slipperiness rises steadily with `slippery` value, starting at 1. @@ -1796,8 +1842,8 @@ Known damage and digging time defining groups * `crumbly`: dirt, sand * `cracky`: tough but crackable stuff like stone. -* `snappy`: something that can be cut using fine tools; e.g. leaves, small - plants, wire, sheets of metal +* `snappy`: something that can be cut using things like scissors, shears, + bolt cutters and the like, e.g. leaves, small plants, wire, sheets of metal * `choppy`: something that can be cut using force; e.g. trees, wooden planks * `fleshy`: Living things like animals and the player. This could imply some blood effects when hitting. @@ -1806,7 +1852,7 @@ Known damage and digging time defining groups Can be added to nodes that shouldn't logically be breakable by the hand but are. Somewhat similar to `dig_immediate`, but times are more like `{[1]=3.50,[2]=2.00,[3]=0.70}` and this does not override the - speed of a tool if the tool can dig at a faster speed than this + digging speed of an item if it can dig at a faster speed than this suggests for the hand. Examples of custom groups @@ -1832,50 +1878,62 @@ Groups such as `crumbly`, `cracky` and `snappy` are used for this purpose. Rating is `1`, `2` or `3`. A higher rating for such a group implies faster digging time. -The `level` group is used to limit the toughness of nodes a tool can dig -and to scale the digging times / damage to a greater extent. +The `level` group is used to limit the toughness of nodes an item capable +of digging can dig and to scale the digging times / damage to a greater extent. **Please do understand this**, otherwise you cannot use the system to it's full potential. -Tools define their properties by a list of parameters for groups. They +Items define their properties by a list of parameters for groups. They cannot dig other groups; thus it is important to use a standard bunch of -groups to enable interaction with tools. +groups to enable interaction with items. -Tools -===== +Tool Capabilities +================= -Tools definition ----------------- +'Tool capabilities' is a property of items that defines two things: -Tools define: +1) Which nodes it can dig and how fast +2) Which objects it can hurt by punching and by how much + +Tool capabilities are available for all items, not just tools. +But only tools can receive wear from digging and punching. + +Missing or incomplete tool capabilities will default to the +player's hand. + +Tool capabilities definition +---------------------------- + +Tool capabilities define: * Full punch interval * Maximum drop level -* For an arbitrary list of groups: +* For an arbitrary list of node groups: * Uses (until the tool breaks) - * Maximum level (usually `0`, `1`, `2` or `3`) - * Digging times - * Damage groups + * Maximum level (usually `0`, `1`, `2` or `3`) + * Digging times +* Damage groups +* Punch attack uses (until the tool breaks) ### Full punch interval -When used as a weapon, the tool will do full damage if this time is spent -between punches. If e.g. half the time is spent, the tool will do half +When used as a weapon, the item will do full damage if this time is spent +between punches. If e.g. half the time is spent, the item will do half damage. ### Maximum drop level -Suggests the maximum level of node, when dug with the tool, that will drop -it's useful item. (e.g. iron ore to drop a lump of iron). +Suggests the maximum level of node, when dug with the item, that will drop +its useful item. (e.g. iron ore to drop a lump of iron). This is not automated; it is the responsibility of the node definition to implement this. -### Uses +### Uses (tools only) Determines how many uses the tool has when it is used for digging a node, of this group, of the maximum level. For lower leveled nodes, the use count @@ -1887,9 +1945,11 @@ node's `level` group. The node cannot be dug if `leveldiff` is less than zero. * `uses=10, leveldiff=1`: actual uses: 30 * `uses=10, leveldiff=2`: actual uses: 90 +For non-tools, this has no effect. + ### Maximum level -Tells what is the maximum level of a node of this group that the tool will +Tells what is the maximum level of a node of this group that the item will be able to dig. ### Digging times @@ -1898,7 +1958,7 @@ List of digging times for different ratings of the group, for nodes of the maximum level. For example, as a Lua table, `times={2=2.00, 3=0.70}`. This would -result in the tool to be able to dig nodes that have a rating of `2` or `3` +result in the item to be able to dig nodes that have a rating of `2` or `3` for this group, and unable to dig the rating `1`, which is the toughest. Unless there is a matching group that enables digging otherwise. @@ -1910,8 +1970,19 @@ i.e. players can more quickly click the nodes away instead of holding LMB. List of damage for groups of entities. See [Entity damage mechanism]. -Example definition of the capabilities of a tool ------------------------------------------------- +### Punch attack uses (tools only) + +Determines how many uses (before breaking) the tool has when dealing damage +to an object, when the full punch interval (see above) was always +waited out fully. + +Wear received by the tool is proportional to the time spent, scaled by +the full punch interval. + +For non-tools, this has no effect. + +Example definition of the capabilities of an item +------------------------------------------------- tool_capabilities = { full_punch_interval=1.5, @@ -1922,7 +1993,7 @@ Example definition of the capabilities of a tool damage_groups = {fleshy=2}, } -This makes the tool be able to dig nodes that fulfil both of these: +This makes the item capable of digging nodes that fulfil both of these: * Have the `crumbly` group * Have a `level` group less or equal to `2` @@ -2026,8 +2097,12 @@ Node metadata contains two things: Some of the values in the key-value store are handled specially: -* `formspec`: Defines a right-click inventory menu. See [Formspec]. -* `infotext`: Text shown on the screen when the node is pointed at +* `formspec`: Defines an inventory menu that is opened with the + 'place/use' key. Only works if no `on_rightclick` was + defined for the node. See also [Formspec]. +* `infotext`: Text shown on the screen when the node is pointed at. + Line-breaks will be applied automatically. + If the infotext is very long, it will be truncated. Example: @@ -2977,6 +3052,9 @@ Some tags can enclose text, they open with `` and close with `...` @@ -3170,15 +3248,38 @@ no particular point. Internally, it is implemented as a table with the 3 fields `x`, `y` and `z`. Example: `{x = 0, y = 1, z = 0}`. +However, one should *never* create a vector manually as above, such misbehavior +is deprecated. The vector helpers set a metatable for the created vectors which +allows indexing with numbers, calling functions directly on vectors and using +operators (like `+`). Furthermore, the internal implementation might change in +the future. +Old code might still use vectors without metatables, be aware of this! + +All these forms of addressing a vector `v` are valid: +`v[1]`, `v[3]`, `v.x`, `v[1] = 42`, `v.y = 13` + +Where `v` is a vector and `foo` stands for any function name, `v:foo(...)` does +the same as `vector.foo(v, ...)`, apart from deprecated functionality. + +The metatable that is used for vectors can be accessed via `vector.metatable`. +Do not modify it! + +All `vector.*` functions allow vectors `{x = X, y = Y, z = Z}` without metatables. +Returned vectors always have a metatable set. For the following functions, `v`, `v1`, `v2` are vectors, `p1`, `p2` are positions, -`s` is a scalar (a number): +`s` is a scalar (a number), +vectors are written like this: `(x, y, z)`: -* `vector.new(a[, b, c])`: - * Returns a vector. - * A copy of `a` if `a` is a vector. - * `{x = a, y = b, z = c}`, if all of `a`, `b`, `c` are defined numbers. +* `vector.new([a[, b, c]])`: + * Returns a new vector `(a, b, c)`. + * Deprecated: `vector.new()` does the same as `vector.zero()` and + `vector.new(v)` does the same as `vector.copy(v)` +* `vector.zero()`: + * Returns a new vector `(0, 0, 0)`. +* `vector.copy(v)`: + * Returns a copy of the vector `v`. * `vector.from_string(s[, init])`: * Returns `v, np`, where `v` is a vector read from the given string `s` and `np` is the next position in the string after the vector. @@ -3191,14 +3292,14 @@ For the following functions, `v`, `v1`, `v2` are vectors, * Returns a string of the form `"(x, y, z)"`. * `vector.direction(p1, p2)`: * Returns a vector of length 1 with direction `p1` to `p2`. - * If `p1` and `p2` are identical, returns `{x = 0, y = 0, z = 0}`. + * If `p1` and `p2` are identical, returns `(0, 0, 0)`. * `vector.distance(p1, p2)`: * Returns zero or a positive number, the distance between `p1` and `p2`. * `vector.length(v)`: * Returns zero or a positive number, the length of vector `v`. * `vector.normalize(v)`: * Returns a vector of length 1 with direction of vector `v`. - * If `v` has zero length, returns `{x = 0, y = 0, z = 0}`. + * If `v` has zero length, returns `(0, 0, 0)`. * `vector.floor(v)`: * Returns a vector, each dimension rounded down. * `vector.round(v)`: @@ -3218,7 +3319,11 @@ For the following functions, `v`, `v1`, `v2` are vectors, * `vector.cross(v1, v2)`: * Returns the cross product of `v1` and `v2`. * `vector.offset(v, x, y, z)`: - * Returns the sum of the vectors `v` and `{x = x, y = y, z = z}`. + * Returns the sum of the vectors `v` and `(x, y, z)`. +* `vector.check()`: + * Returns a boolean value indicating whether `v` is a real vector, eg. created + by a `vector.*` function. + * Returns `false` for anything else, including tables like `{x=3,y=1,z=4}`. For the following functions `x` can be either a vector or a number: @@ -3237,14 +3342,30 @@ For the following functions `x` can be either a vector or a number: * Returns a scaled vector. * Deprecated: If `s` is a vector: Returns the Schur quotient. +Operators can be used if all of the involved vectors have metatables: +* `v1 == v2`: + * Returns whether `v1` and `v2` are identical. +* `-v`: + * Returns the additive inverse of v. +* `v1 + v2`: + * Returns the sum of both vectors. + * Note: `+` can not be used together with scalars. +* `v1 - v2`: + * Returns the difference of `v1` subtracted by `v2`. + * Note: `-` can not be used together with scalars. +* `v * s` or `s * v`: + * Returns `v` scaled by `s`. +* `v / s`: + * Returns `v` scaled by `1 / s`. + For the following functions `a` is an angle in radians and `r` is a rotation vector ({x = , y = , z = }) where pitch, yaw and roll are angles in radians. * `vector.rotate(v, r)`: * Applies the rotation `r` to `v` and returns the result. - * `vector.rotate({x = 0, y = 0, z = 1}, r)` and - `vector.rotate({x = 0, y = 1, z = 0}, r)` return vectors pointing + * `vector.rotate(vector.new(0, 0, 1), r)` and + `vector.rotate(vector.new(0, 1, 0), r)` return vectors pointing forward and up relative to an entity's rotation `r`. * `vector.rotate_around_axis(v1, v2, a)`: * Returns `v1` rotated around axis `v2` by `a` radians according to @@ -3339,21 +3460,21 @@ Helper functions * `minetest.pointed_thing_to_face_pos(placer, pointed_thing)`: returns a position. * returns the exact position on the surface of a pointed node -* `minetest.get_dig_params(groups, tool_capabilities)`: Simulates a tool +* `minetest.get_dig_params(groups, tool_capabilities)`: Simulates an item that digs a node. Returns a table with the following fields: * `diggable`: `true` if node can be dug, `false` otherwise. * `time`: Time it would take to dig the node. - * `wear`: How much wear would be added to the tool. + * `wear`: How much wear would be added to the tool (ignored for non-tools). `time` and `wear` are meaningless if node's not diggable Parameters: * `groups`: Table of the node groups of the node that would be dug - * `tool_capabilities`: Tool capabilities table of the tool + * `tool_capabilities`: Tool capabilities table of the item * `minetest.get_hit_params(groups, tool_capabilities [, time_from_last_punch])`: Simulates an item that punches an object. Returns a table with the following fields: * `hp`: How much damage the punch would cause. - * `wear`: How much wear would be added to the tool. + * `wear`: How much wear would be added to the tool (ignored for non-tools). Parameters: * `groups`: Damage groups of the object * `tool_capabilities`: Tool capabilities table of the item @@ -3557,7 +3678,7 @@ A whole number, 1 or more. Each additional octave adds finer detail to the noise but also increases the noise calculation load. 3 is a typical minimum for a high quality, complex and natural-looking noise -variation. 1 octave has a slight 'gridlike' appearence. +variation. 1 octave has a slight 'gridlike' appearance. Choose the number of octaves according to the `spread` and `lacunarity`, and the size of the finest detail you require. For example: @@ -3632,7 +3753,7 @@ For 2D or 3D perlin noise or perlin noise maps: spread = {x = 500, y = 500, z = 500}, seed = 571347, octaves = 5, - persist = 0.63, + persistence = 0.63, lacunarity = 2.0, flags = "defaults, absvalue", } @@ -3722,7 +3843,7 @@ The following is a decent set of parameters to work from: spread = {x=200, y=200, z=200}, seed = 5390, octaves = 4, - persist = 0.5, + persistence = 0.5, lacunarity = 2.0, flags = "eased", }, @@ -4279,7 +4400,7 @@ Callbacks: * `puncher`: an `ObjectRef` (can be `nil`) * `time_from_last_punch`: Meant for disallowing spamming of clicks (can be `nil`). - * `tool_capabilities`: capability table of used tool (can be `nil`) + * `tool_capabilities`: capability table of used item (can be `nil`) * `dir`: unit vector of direction of punch. Always defined. Points from the puncher to the punched. * `damage`: damage that will be done to entity. @@ -4288,6 +4409,9 @@ Callbacks: * Called when the object dies. * `killer`: an `ObjectRef` (can be `nil`) * `on_rightclick(self, clicker)` + * Called when `clicker` pressed the 'place/use' key while pointing + to the object (not neccessarily an actual rightclick) + * `clicker`: an `ObjectRef` (may or may not be a player) * `on_attach_child(self, child)` * `child`: an `ObjectRef` of the child that attaches * `on_detach_child(self, child)` @@ -4443,6 +4567,10 @@ Utilities -- degrotate param2 rotates in units of 1.5° instead of 2° -- thus changing the range of values from 0-179 to 0-240 (5.5.0) degrotate_240_steps = true, + -- ABM supports min_y and max_y fields in definition (5.5.0) + abm_min_max_y = true, + -- dynamic_add_media supports passing a table with options (5.5.0) + dynamic_add_media_table = true, } * `minetest.has_feature(arg)`: returns `boolean, missing_features` @@ -4505,6 +4633,23 @@ Utilities * `minetest.colorspec_to_colorstring(colorspec)`: Converts a ColorSpec to a ColorString. If the ColorSpec is invalid, returns `nil`. * `colorspec`: The ColorSpec to convert +* `minetest.colorspec_to_bytes(colorspec)`: Converts a ColorSpec to a raw + string of four bytes in an RGBA layout, returned as a string. + * `colorspec`: The ColorSpec to convert +* `minetest.encode_png(width, height, data, [compression])`: Encode a PNG + image and return it in string form. + * `width`: Width of the image + * `height`: Height of the image + * `data`: Image data, one of: + * array table of ColorSpec, length must be width*height + * string with raw RGBA pixels, length must be width*height*4 + * `compression`: Optional zlib compression level, number in range 0 to 9. + The data is one-dimensional, starting in the upper left corner of the image + and laid out in scanlines going from left to right, then top to bottom. + Please note that it's not safe to use string.char to generate raw data, + use `colorspec_to_bytes` to generate raw RGBA values in a predictable way. + The resulting PNG image is always 32-bit. Palettes are not supported at the moment. + You may use this to procedurally generate textures during server init. Logging ------- @@ -4649,15 +4794,16 @@ Call these functions only at load time! * `hitter`: ObjectRef - Player that hit * `time_from_last_punch`: Meant for disallowing spamming of clicks (can be nil). - * `tool_capabilities`: Capability table of used tool (can be nil) + * `tool_capabilities`: Capability table of used item (can be nil) * `dir`: Unit vector of direction of punch. Always defined. Points from the puncher to the punched. * `damage`: Number that represents the damage calculated by the engine * should return `true` to prevent the default damage mechanism * `minetest.register_on_rightclickplayer(function(player, clicker))` - * Called when a player is right-clicked - * `player`: ObjectRef - Player that was right-clicked - * `clicker`: ObjectRef - Object that right-clicked, may or may not be a player + * Called when the 'place/use' key was used while pointing a player + (not neccessarily an actual rightclick) + * `player`: ObjectRef - Player that is acted upon + * `clicker`: ObjectRef - Object that acted upon `player`, may or may not be a player * `minetest.register_on_player_hpchange(function(player, hp_change, reason), modifier)` * Called when the player gets damaged or healed * `player`: ObjectRef of the player @@ -4813,6 +4959,12 @@ Call these functions only at load time! * Called when an incoming mod channel message is received * You should have joined some channels to receive events. * If message comes from a server mod, `sender` field is an empty string. +* `minetest.register_on_liquid_transformed(function(pos_list, node_list))` + * Called after liquid nodes are modified by the engine's liquid transformation + process. + * `pos_list` is an array of all modified positions. + * `node_list` is an array of the old node that was previously at the position + with the corresponding index in pos_list. Setting-related --------------- @@ -5333,9 +5485,9 @@ Item handling information. * `minetest.get_node_drops(node, toolname)` * Returns list of itemstrings that are dropped by `node` when dug - with `toolname`. + with the item `toolname` (not limited to tools). * `node`: node as table or node name - * `toolname`: name of the tool item (can be `nil`) + * `toolname`: name of the item used to dig (can be `nil`) * `minetest.get_craft_result(input)`: returns `output, decremented_input` * `input.method` = `"normal"` or `"cooking"` or `"fuel"` * `input.width` = for example `3` @@ -5504,22 +5656,33 @@ Server * Returns a code (0: successful, 1: no such player, 2: player is connected) * `minetest.remove_player_auth(name)`: remove player authentication data * Returns boolean indicating success (false if player nonexistant) -* `minetest.dynamic_add_media(filepath, callback)` - * `filepath`: path to a media file on the filesystem - * `callback`: function with arguments `name`, where name is a player name - (previously there was no callback argument; omitting it is deprecated) - * Adds the file to the media sent to clients by the server on startup - and also pushes this file to already connected clients. - The file must be a supported image, sound or model format. It must not be - modified, deleted, moved or renamed after calling this function. - The list of dynamically added media is not persisted. +* `minetest.dynamic_add_media(options, callback)` + * `options`: table containing the following parameters + * `filepath`: path to a media file on the filesystem + * `to_player`: name of the player the media should be sent to instead of + all players (optional) + * `ephemeral`: boolean that marks the media as ephemeral, + it will not be cached on the client (optional, default false) + * `callback`: function with arguments `name`, which is a player name + * Pushes the specified media file to client(s). (details below) + The file must be a supported image, sound or model format. + Dynamically added media is not persisted between server restarts. * Returns false on error, true if the request was accepted * The given callback will be called for every player as soon as the media is available on the client. - Old clients that lack support for this feature will not see the media - unless they reconnect to the server. (callback won't be called) - * Since media transferred this way currently does not use client caching - or HTTP transfers, dynamic media should not be used with big files. + * Details/Notes: + * If `ephemeral`=false and `to_player` is unset the file is added to the media + sent to clients on startup, this means the media will appear even on + old clients if they rejoin the server. + * If `ephemeral`=false the file must not be modified, deleted, moved or + renamed after calling this function. + * Regardless of any use of `ephemeral`, adding media files with the same + name twice is not possible/guaranteed to work. An exception to this is the + use of `to_player` to send the same, already existent file to multiple + chosen players. + * Clients will attempt to fetch files added this way via remote media, + this can make transfer of bigger files painless (if set up). Nevertheless + it is advised not to use dynamic media for big media files. Bans ---- @@ -5775,7 +5938,9 @@ Misc. * Example: `minetest.rgba(10, 20, 30, 40)`, returns `"#0A141E28"` * `minetest.encode_base64(string)`: returns string encoded in base64 * Encodes a string in base64. -* `minetest.decode_base64(string)`: returns string or nil for invalid base64 +* `minetest.decode_base64(string)`: returns string or nil on failure + * Padding characters are only supported starting at version 5.4.0, where + 5.5.0 and newer perform proper checks. * Decodes a string encoded in base64. * `minetest.is_protected(pos, name)`: returns boolean * Returning `true` restricts the player `name` from modifying (i.e. digging, @@ -5863,6 +6028,19 @@ Misc. * If `transient` is `false` or absent, frees a persistent forceload. If `true`, frees a transient forceload. +* `minetest.compare_block_status(pos, condition)` + * Checks whether the mapblock at positition `pos` is in the wanted condition. + * `condition` may be one of the following values: + * `"unknown"`: not in memory + * `"emerging"`: in the queue for loading from disk or generating + * `"loaded"`: in memory but inactive (no ABMs are executed) + * `"active"`: in memory and active + * Other values are reserved for future functionality extensions + * Return value, the comparison status: + * `false`: Mapblock does not fulfil the wanted condition + * `true`: Mapblock meets the requirement + * `nil`: Unsupported `condition` value + * `minetest.request_insecure_environment()`: returns an environment containing insecure functions if the calling mod has been listed as trusted in the `secure.trusted_mods` setting or security is disabled, otherwise returns @@ -6122,7 +6300,7 @@ an itemstring, a table or `nil`. * `get_tool_capabilities()`: returns the digging properties of the item, or those of the hand if none are defined for this item type * `add_wear(amount)` - * Increases wear by `amount` if the item is a tool + * Increases wear by `amount` if the item is a tool, otherwise does nothing * `amount`: number, integer * `add_item(item)`: returns leftover `ItemStack` * Put some item or stack onto this stack @@ -6316,6 +6494,8 @@ object you are working with still exists. Default `{x=0, y=0, z=0}` * `forced_visible`: Boolean to control whether the attached entity should appear in first person. Default `false`. + * This command may fail silently (do nothing) when it would result + in circular attachments. * `get_attach()`: returns parent, bone, position, rotation, forced_visible, or nil if it isn't attached. * `get_children()`: returns a list of ObjectRefs that are attached to the @@ -6552,9 +6732,9 @@ object you are working with still exists. * `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`) + sky during the day. (default: `#61b5f5`) * `day_horizon`: ColorSpec, for the bottom half of the - `"regular"` sky during the day. (default: `#9bc1f0`) + `"regular"` sky during the day. (default: `#90d3f6`) * `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. @@ -6564,7 +6744,7 @@ object you are working with still exists. 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`) + sky during the night. (default: `#006bff`) 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"` @@ -7029,7 +7209,7 @@ Player properties need to be saved manually. -- Default: false infotext = "", - -- By default empty, text to be shown when pointed at object + -- Same as infotext for nodes. Empty by default static_save = true, -- If false, never save this object statically. It will simply be @@ -7130,6 +7310,11 @@ Used by `minetest.register_abm`. -- Chance of triggering `action` per-node per-interval is 1.0 / this -- value + min_y = -32768, + max_y = 32767, + -- min and max height levels where ABM will be processed + -- can be used to reduce CPU usage + catch_up = true, -- If true, catch-up behaviour is enabled: The `chance` value is -- temporarily reduced when returning to an area to simulate time lost @@ -7287,7 +7472,7 @@ Used by `minetest.register_node`, `minetest.register_craftitem`, and -- A value outside the range 0 to minetest.LIGHT_MAX causes undefined -- behavior. - -- See "Tools" section for an example including explanation + -- See "Tool Capabilities" section for an example including explanation tool_capabilities = { full_punch_interval = 1.0, max_drop_level = 0, @@ -7334,6 +7519,8 @@ Used by `minetest.register_node`, `minetest.register_craftitem`, and }, on_place = function(itemstack, placer, pointed_thing), + -- When the 'place' key was pressed with the item in hand + -- and a node was pointed at. -- Shall place item and return the leftover itemstack. -- The placer may be any ObjectRef or nil. -- default: minetest.item_place @@ -7350,6 +7537,7 @@ Used by `minetest.register_node`, `minetest.register_craftitem`, and on_use = function(itemstack, user, pointed_thing), -- default: nil + -- When user pressed the 'punch/mine' key with the item in hand. -- Function must return either nil if no item shall be removed from -- inventory, or an itemstack to replace the original itemstack. -- e.g. itemstack:take_item(); return itemstack @@ -7360,7 +7548,7 @@ Used by `minetest.register_node`, `minetest.register_craftitem`, and after_use = function(itemstack, user, node, digparams), -- default: nil -- If defined, should return an itemstack and will be called instead of - -- wearing out the tool. If returns nil, does nothing. + -- wearing out the item (if tool). If returns nil, does nothing. -- If after_use doesn't exist, it is the same as: -- function(itemstack, user, node, digparams) -- itemstack:add_wear(digparams.wear) @@ -7497,7 +7685,7 @@ Used by `minetest.register_node`. leveled_max = 127, -- Maximum value for `leveled` (0-127), enforced in -- `minetest.set_node_level` and `minetest.add_node_level`. - -- Values above 124 might causes collision detection issues. + -- Values above 124 might causes collision detection issues. liquid_range = 8, -- Maximum distance that flowing liquid nodes can spread around @@ -7573,7 +7761,7 @@ Used by `minetest.register_node`. -- While digging node. -- If `"__group"`, then the sound will be -- `default_dig_`, where `` is the - -- name of the tool's digging group with the fastest digging time. + -- name of the item'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"` @@ -7597,14 +7785,13 @@ Used by `minetest.register_node`. drop = "", -- Name of dropped item when dug. -- Default dropped item is the node itself. - -- Using a table allows multiple items, drop chances and tool filtering. - -- Tool filtering was undocumented until recently, tool filtering by string - -- matching is deprecated. + -- Using a table allows multiple items, drop chances and item filtering. + -- Item filtering by string matching is deprecated. drop = { max_items = 1, -- Maximum number of item lists to drop. -- The entries in 'items' are processed in order. For each: - -- Tool filtering is applied, chance of drop is applied, if both are + -- Item filtering is applied, chance of drop is applied, if both are -- successful the entire item list is dropped. -- Entry processing continues until the number of dropped item lists -- equals 'max_items'. @@ -7618,7 +7805,7 @@ Used by `minetest.register_node`. items = {"default:diamond"}, }, { - -- Only drop if using a tool whose name is identical to one + -- Only drop if using an item whose name is identical to one -- of these. tools = {"default:shovel_mese", "default:shovel_diamond"}, rarity = 5, @@ -7629,14 +7816,24 @@ Used by `minetest.register_node`. inherit_color = true, }, { - -- Only drop if using a tool whose name contains - -- "default:shovel_" (this tool filtering by string matching - -- is deprecated). + -- Only drop if using an item whose name contains + -- "default:shovel_" (this item filtering by string matching + -- is deprecated, use tool_groups instead). tools = {"~default:shovel_"}, rarity = 2, -- The item list dropped. items = {"default:sand", "default:desert_sand"}, }, + { + -- Only drop if using an item in the "magicwand" group, or + -- an item that is in both the "pickaxe" and the "lucky" + -- groups. + tool_groups = { + "magicwand", + {"pickaxe", "lucky"} + }, + items = {"default:coal_lump"}, + }, }, }, @@ -7700,9 +7897,9 @@ Used by `minetest.register_node`. on_rightclick = function(pos, node, clicker, itemstack, pointed_thing), -- default: nil - -- Called when clicker (an ObjectRef) "rightclicks" - -- ("rightclick" here stands for the placement key) while pointing at - -- the node at pos with 'node' being the node table. + -- Called when clicker (an ObjectRef) used the 'place/build' key + -- (not neccessarily an actual rightclick) + -- while pointing at the node at pos with 'node' being the node table. -- itemstack will hold clicker's wielded item. -- Shall return the leftover itemstack. -- Note: pointed_thing can be nil, if a mod calls this function. @@ -7711,7 +7908,7 @@ Used by `minetest.register_node`. on_dig = function(pos, node, digger), -- default: minetest.node_dig - -- By default checks privileges, wears out tool and removes node. + -- By default checks privileges, wears out item (if tool) and removes node. -- return true if the node was dug successfully, false otherwise. -- Deprecated: returning nil is the same as returning true. @@ -7798,10 +7995,22 @@ Used by `minetest.register_craft`. { type = "toolrepair", - additional_wear = -0.02, + additional_wear = -0.02, -- multiplier of 65536 } -Note: Tools with group `disable_repair=1` will not repairable by this recipe. +Adds a shapeless recipe for *every* tool that doesn't have the `disable_repair=1` +group. Player can put 2 equal tools in the craft grid to get one "repaired" tool +back. +The wear of the output is determined by the wear of both tools, plus a +'repair bonus' given by `additional_wear`. To reduce the wear (i.e. 'repair'), +you want `additional_wear` to be negative. + +The formula used to calculate the resulting wear is: + + 65536 - ( (65536 - tool_1_wear) + (65536 - tool_2_wear) + 65536 * additional_wear ) + +The result is rounded and can't be lower than 0. If the result is 65536 or higher, +no crafting is possible. ### Cooking @@ -7869,7 +8078,7 @@ See [Ores] section above for essential information. spread = {x = 100, y = 100, z = 100}, seed = 23, octaves = 3, - persist = 0.7 + persistence = 0.7 }, -- NoiseParams structure describing one of the perlin noises used for -- ore distribution. @@ -7898,7 +8107,7 @@ See [Ores] section above for essential information. spread = {x = 100, y = 100, z = 100}, seed = 47, octaves = 3, - persist = 0.7 + persistence = 0.7 }, np_puff_bottom = { offset = 4, @@ -7906,7 +8115,7 @@ See [Ores] section above for essential information. spread = {x = 100, y = 100, z = 100}, seed = 11, octaves = 3, - persist = 0.7 + persistence = 0.7 }, -- vein @@ -7919,7 +8128,7 @@ See [Ores] section above for essential information. spread = {x = 100, y = 100, z = 100}, seed = 17, octaves = 3, - persist = 0.7 + persistence = 0.7 }, stratum_thickness = 8, } @@ -8046,7 +8255,7 @@ See [Decoration types]. Used by `minetest.register_decoration`. spread = {x = 100, y = 100, z = 100}, seed = 354, octaves = 3, - persist = 0.7, + persistence = 0.7, lacunarity = 2.0, flags = "absvalue" }, @@ -8302,6 +8511,9 @@ Used by `Player:hud_add`. Returned by `Player:hud_get`. z_index = 0, -- Z index : lower z-index HUDs are displayed behind higher z-index HUDs + + style = 0, + -- For "text" elements sets font style: bitfield with 1 = bold, 2 = italic, 4 = monospace } Particle definition diff --git a/doc/world_format.txt b/doc/world_format.txt index a8a9e463e..eb1d7f728 100644 --- a/doc/world_format.txt +++ b/doc/world_format.txt @@ -1,5 +1,5 @@ ============================= -Minetest World Format 22...27 +Minetest World Format 22...29 ============================= This applies to a world format carrying the block serialization version @@ -8,6 +8,7 @@ This applies to a world format carrying the block serialization version - 0.4.0 (23) - 24 was never released as stable and existed for ~2 days - 27 was added in 0.4.15-dev +- 29 was added in 5.5.0-dev 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 @@ -281,6 +282,8 @@ MapBlock serialization format NOTE: Byte order is MSB first (big-endian). NOTE: Zlib data is in such a format that Python's zlib at least can directly decompress. +NOTE: Since version 29 zstd is used instead of zlib. In addition the entire + block is first serialized and then compressed (except the version byte). u8 version - map format version number, see serialisation.h for the latest number @@ -324,6 +327,20 @@ u16 lighting_complete then Minetest will correct lighting in the day light bank when the block at (1, 0, 0) is also loaded. +if map format version >= 29: + u32 timestamp + - Timestamp when last saved, as seconds from starting the game. + - 0xffffffff = invalid/unknown timestamp, nothing should be done with the time + difference when loaded + + u16 num_name_id_mappings + foreach num_name_id_mappings + u16 id + u16 name_len + u8[name_len] name +if map format version < 29: + -- Nothing right here, timpstamp and node id mappings are serialized later + u8 content_width - Number of bytes in the content (param0) fields of nodes if map format version <= 23: @@ -335,7 +352,7 @@ u8 params_width - Number of bytes used for parameters per node - Always 2 -zlib-compressed node data: +node data (zlib-compressed if version < 29): if content_width == 1: - content: u8[4096]: param0 fields @@ -348,31 +365,31 @@ if content_width == 2: u8[4096]: param2 fields - The location of a node in each of those arrays is (z*16*16 + y*16 + x). -zlib-compressed node metadata list +node metadata list (zlib-compressed if version < 29): - content: -if map format version <= 22: - 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] content of metadata. Format depends on type_id, see below. -if map format version >= 23: - u8 version -- Note: type was u16 for map format version <= 22 - -- = 1 for map format version < 28 - -- = 2 since map format version 28 - u16 count of metadata - foreach count: - u16 position (p.Z*MAP_BLOCKSIZE*MAP_BLOCKSIZE + p.Y*MAP_BLOCKSIZE + p.X) - u32 num_vars - foreach num_vars: - u16 key_len - u8[key_len] key - u32 val_len - u8[val_len] value - u8 is_private -- only for version >= 2. 0 = not private, 1 = private - serialized inventory + if map format version <= 22: + 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] content of metadata. Format depends on type_id, see below. + if map format version >= 23: + u8 version -- Note: type was u16 for map format version <= 22 + -- = 1 for map format version < 28 + -- = 2 since map format version 28 + u16 count of metadata + foreach count: + u16 position (p.Z*MAP_BLOCKSIZE*MAP_BLOCKSIZE + p.Y*MAP_BLOCKSIZE + p.X) + u32 num_vars + foreach num_vars: + u16 key_len + u8[key_len] key + u32 val_len + u8[val_len] value + u8 is_private -- only for version >= 2. 0 = not private, 1 = private + serialized inventory - Node timers if map format version == 23: @@ -403,20 +420,18 @@ foreach static_object_count: u16 data_size u8[data_size] data -u32 timestamp -- Timestamp when last saved, as seconds from starting the game. -- 0xffffffff = invalid/unknown timestamp, nothing should be done with the time - difference when loaded +if map format version < 29: + u32 timestamp + - Same meaning as the timestamp further up -u8 name-id-mapping version -- Always 0 + u8 name-id-mapping version + - Always 0 -u16 num_name_id_mappings - -foreach num_name_id_mappings - u16 id - u16 name_len - u8[name_len] name + u16 num_name_id_mappings + foreach num_name_id_mappings + u16 id + u16 name_len + u8[name_len] name - Node timers if map format version == 25: diff --git a/games/devtest/menu/background.png b/games/devtest/menu/background.png index 415bb3d14..89c45fcd5 100644 Binary files a/games/devtest/menu/background.png and b/games/devtest/menu/background.png differ diff --git a/games/devtest/mods/testhud/init.lua b/games/devtest/mods/testhud/init.lua new file mode 100644 index 000000000..2fa12fd71 --- /dev/null +++ b/games/devtest/mods/testhud/init.lua @@ -0,0 +1,81 @@ +local player_huds = {} + +local states = { + {0, "Normal font"}, + {1, "Bold font"}, + {2, "Italic font"}, + {3, "Bold and italic font"}, + {4, "Monospace font"}, + {5, "Bold and monospace font"}, + {7, "ZOMG all the font styles"}, +} + + +local default_def = { + hud_elem_type = "text", + position = {x = 0.5, y = 0.5}, + scale = {x = 2, y = 2}, + alignment = { x = 0, y = 0 }, +} + +local function add_hud(player, state) + local def = table.copy(default_def) + local statetbl = states[state] + def.offset = {x = 0, y = 32 * state} + def.style = statetbl[1] + def.text = statetbl[2] + return player:hud_add(def) +end + +minetest.register_on_leaveplayer(function(player) + player_huds[player:get_player_name()] = nil +end) + +local etime = 0 +local state = 0 + +minetest.register_globalstep(function(dtime) + etime = etime + dtime + if etime < 1 then + return + end + etime = 0 + for _, player in ipairs(minetest.get_connected_players()) do + local huds = player_huds[player:get_player_name()] + if huds then + for i, hud_id in ipairs(huds) do + local statetbl = states[(state + i) % #states + 1] + player:hud_change(hud_id, "style", statetbl[1]) + player:hud_change(hud_id, "text", statetbl[2]) + end + end + end + state = state + 1 +end) + +minetest.register_chatcommand("hudfonts", { + params = "", + description = "Show/Hide some text on the HUD with various font options", + func = function(name, param) + local player = minetest.get_player_by_name(name) + local param = tonumber(param) or 0 + param = math.min(math.max(param, 1), #states) + if player_huds[name] == nil then + player_huds[name] = {} + for i = 1, param do + table.insert(player_huds[name], add_hud(player, i)) + end + minetest.chat_send_player(name, ("%d HUD element(s) added."):format(param)) + else + local huds = player_huds[name] + if huds then + for _, hud_id in ipairs(huds) do + player:hud_remove(hud_id) + end + minetest.chat_send_player(name, "All HUD elements removed.") + end + player_huds[name] = nil + end + return true + end, +}) diff --git a/games/devtest/mods/testhud/mod.conf b/games/devtest/mods/testhud/mod.conf new file mode 100644 index 000000000..ed9f65c59 --- /dev/null +++ b/games/devtest/mods/testhud/mod.conf @@ -0,0 +1,2 @@ +name = testhud +description = For testing HUD functionality diff --git a/games/devtest/mods/testnodes/drawtypes.lua b/games/devtest/mods/testnodes/drawtypes.lua index 2bc7ec2e3..208774f6c 100644 --- a/games/devtest/mods/testnodes/drawtypes.lua +++ b/games/devtest/mods/testnodes/drawtypes.lua @@ -208,6 +208,19 @@ minetest.register_node("testnodes:plantlike_waving", { groups = { dig_immediate = 3 }, }) +minetest.register_node("testnodes:plantlike_wallmounted", { + description = S("Wallmounted Plantlike Drawtype Test Node"), + drawtype = "plantlike", + paramtype = "light", + paramtype2 = "wallmounted", + tiles = { "testnodes_plantlike_wallmounted.png" }, + leveled = 1, + + + walkable = false, + sunlight_propagates = true, + groups = { dig_immediate = 3 }, +}) -- param2 will rotate @@ -320,6 +333,20 @@ minetest.register_node("testnodes:plantlike_rooted", { groups = { dig_immediate = 3 }, }) +minetest.register_node("testnodes:plantlike_rooted_wallmounted", { + description = S("Wallmounted Rooted Plantlike Drawtype Test Node"), + drawtype = "plantlike_rooted", + paramtype = "light", + paramtype2 = "wallmounted", + tiles = { + "testnodes_plantlike_rooted_base.png", + "testnodes_plantlike_rooted_base.png", + "testnodes_plantlike_rooted_base_side_wallmounted.png" }, + special_tiles = { "testnodes_plantlike_rooted_wallmounted.png" }, + + groups = { dig_immediate = 3 }, +}) + minetest.register_node("testnodes:plantlike_rooted_waving", { description = S("Waving Rooted Plantlike Drawtype Test Node"), drawtype = "plantlike_rooted", @@ -588,6 +615,9 @@ scale("allfaces_optional_waving", scale("plantlike", S("Double-sized Plantlike Drawtype Test Node"), S("Half-sized Plantlike Drawtype Test Node")) +scale("plantlike_wallmounted", + S("Double-sized Wallmounted Plantlike Drawtype Test Node"), + S("Half-sized Wallmounted Plantlike Drawtype Test Node")) scale("torchlike_wallmounted", S("Double-sized Wallmounted Torchlike Drawtype Test Node"), S("Half-sized Wallmounted Torchlike Drawtype Test Node")) diff --git a/games/devtest/mods/testnodes/textures.lua b/games/devtest/mods/testnodes/textures.lua index f6e6a0c2a..4652007d9 100644 --- a/games/devtest/mods/testnodes/textures.lua +++ b/games/devtest/mods/testnodes/textures.lua @@ -65,3 +65,78 @@ for a=1,#alphas do }) end +-- Generate PNG textures + +local function mandelbrot(w, h, iterations) + local r = {} + for y=0, h-1 do + for x=0, w-1 do + local re = (x - w/2) * 4/w + local im = (y - h/2) * 4/h + -- zoom in on a nice view + re = re / 128 - 0.23 + im = im / 128 - 0.82 + + local px, py = 0, 0 + local i = 0 + while px*px + py*py <= 4 and i < iterations do + px, py = px*px - py*py + re, 2 * px * py + im + i = i + 1 + end + r[w*y+x+1] = i / iterations + end + end + return r +end + +local function gen_checkers(w, h, tile) + local r = {} + for y=0, h-1 do + for x=0, w-1 do + local hori = math.floor(x / tile) % 2 == 0 + local vert = math.floor(y / tile) % 2 == 0 + r[w*y+x+1] = hori ~= vert and 1 or 0 + end + end + return r +end + +local fractal = mandelbrot(512, 512, 128) +local checker = gen_checkers(512, 512, 32) + +local floor = math.floor +local abs = math.abs +local data_mb = {} +local data_ck = {} +for i=1, #fractal do + data_mb[i] = { + r = floor(fractal[i] * 255), + g = floor(abs(fractal[i] * 2 - 1) * 255), + b = floor(abs(1 - fractal[i]) * 255), + a = 255, + } + data_ck[i] = checker[i] > 0 and "#F80" or "#000" +end + +local textures_path = minetest.get_modpath( minetest.get_current_modname() ) .. "/textures/" +minetest.safe_file_write( + textures_path .. "testnodes_generated_mb.png", + minetest.encode_png(512,512,data_mb) +) +minetest.safe_file_write( + textures_path .. "testnodes_generated_ck.png", + minetest.encode_png(512,512,data_ck) +) + +minetest.register_node("testnodes:generated_png_mb", { + description = S("Generated Mandelbrot PNG Test Node"), + tiles = { "testnodes_generated_mb.png" }, + + groups = { dig_immediate = 2 }, +}) +minetest.register_node("testnodes:generated_png_ck", { + description = S("Generated Checker PNG Test Node"), + tiles = { "testnodes_generated_ck.png" }, + + groups = { dig_immediate = 2 }, +}) diff --git a/games/devtest/mods/testnodes/textures/testnodes_plantlike_rooted_base_side_wallmounted.png b/games/devtest/mods/testnodes/textures/testnodes_plantlike_rooted_base_side_wallmounted.png new file mode 100644 index 000000000..b0be8d077 Binary files /dev/null and b/games/devtest/mods/testnodes/textures/testnodes_plantlike_rooted_base_side_wallmounted.png differ diff --git a/games/devtest/mods/testnodes/textures/testnodes_plantlike_rooted_wallmounted.png b/games/devtest/mods/testnodes/textures/testnodes_plantlike_rooted_wallmounted.png new file mode 100644 index 000000000..421466407 Binary files /dev/null and b/games/devtest/mods/testnodes/textures/testnodes_plantlike_rooted_wallmounted.png differ diff --git a/games/devtest/mods/testnodes/textures/testnodes_plantlike_wallmounted.png b/games/devtest/mods/testnodes/textures/testnodes_plantlike_wallmounted.png new file mode 100644 index 000000000..c89b29e30 Binary files /dev/null and b/games/devtest/mods/testnodes/textures/testnodes_plantlike_wallmounted.png differ diff --git a/minetest.conf.example b/minetest.conf.example index 6343c8234..b252f4f70 100644 --- a/minetest.conf.example +++ b/minetest.conf.example @@ -30,7 +30,7 @@ # type: bool # pitch_move = false -# Fast movement (via the "special" key). +# Fast movement (via the "Aux1" key). # This requires the "fast" privilege on the server. # type: bool # fast_move = false @@ -61,7 +61,7 @@ # type: float # mouse_sensitivity = 0.2 -# If enabled, "special" key instead of "sneak" key is used for climbing down and +# If enabled, "Aux1" key instead of "Sneak" key is used for climbing down and # descending. # type: bool # aux1_descends = false @@ -70,7 +70,7 @@ # type: bool # doubletap_jump = false -# If disabled, "special" key is used to fly fast if both fly and fast mode are +# If disabled, "Aux1" key is used to fly fast if both fly and fast mode are # enabled. # type: bool # always_fly_fast = true @@ -107,10 +107,10 @@ # type: bool # fixed_virtual_joystick = false -# (Android) Use virtual joystick to trigger "aux" button. -# If enabled, virtual joystick will also tap "aux" button when out of main circle. +# (Android) Use virtual joystick to trigger "Aux1" button. +# If enabled, virtual joystick will also tap "Aux1" button when out of main circle. # type: bool -# virtual_joystick_triggers_aux = false +# virtual_joystick_triggers_aux1 = false # Enable joysticks # type: bool @@ -188,7 +188,7 @@ # Key for moving fast in fast mode. # See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3 # type: key -# keymap_special1 = KEY_KEY_E +# keymap_aux1 = KEY_KEY_E # Key for opening the chat window. # See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3 @@ -570,9 +570,9 @@ # trilinear_filter = false # Filtered textures can blend RGB values with fully-transparent neighbors, -# which PNG optimizers usually discard, sometimes resulting in a dark or -# light edge to transparent textures. Apply this filter to clean that up -# at texture load time. +# which PNG optimizers usually discard, often resulting in dark or +# light edges to transparent textures. Apply a filter to clean that up +# at texture load time. This is automatically enabled if mipmapping is enabled. # type: bool # texture_clean_transparent = false @@ -580,9 +580,8 @@ # can be blurred, so automatically upscale them with nearest-neighbor # interpolation to preserve crisp pixels. This sets the minimum texture size # for the upscaled textures; higher values look sharper, but require more -# memory. Powers of 2 are recommended. Setting this higher than 1 may not -# have a visible effect unless bilinear/trilinear/anisotropic filtering is -# enabled. +# memory. Powers of 2 are recommended. This setting is ONLY applies if +# bilinear/trilinear/anisotropic filtering is enabled. # This is also used as the base node texture size for world-aligned # texture autoscaling. # type: int @@ -662,6 +661,68 @@ # type: bool # enable_waving_plants = false +#### Dynamic shadows + +# Set to true to enable Shadow Mapping. +# Requires shaders to be enabled. +# type: bool +# enable_dynamic_shadows = false + +# Set the shadow strength. +# Lower value means lighter shadows, higher value means darker shadows. +# type: float min: 0.05 max: 1 +# shadow_strength = 0.2 + +# Maximum distance to render shadows. +# type: float min: 10 max: 1000 +# shadow_map_max_distance = 120.0 + +# Texture size to render the shadow map on. +# This must be a power of two. +# Bigger numbers create better shadowsbut it is also more expensive. +# type: int min: 128 max: 8192 +# shadow_map_texture_size = 1024 + +# Sets shadow texture quality to 32 bits. +# On false, 16 bits texture will be used. +# This can cause much more artifacts in the shadow. +# type: bool +# shadow_map_texture_32bit = true + +# Enable poisson disk filtering. +# On true uses poisson disk to make "soft shadows". Otherwise uses PCF filtering. +# type: bool +# shadow_poisson_filter = true + +# Define shadow filtering quality +# This simulates the soft shadows effect by applying a PCF or poisson disk +# but also uses more resources. +# type: enum values: 0, 1, 2 +# shadow_filters = 1 + +# Enable colored shadows. +# On true translucent nodes cast colored shadows. This is expensive. +# type: bool +# shadow_map_color = false + +# Set the shadow update time. +# Lower value means shadows and map updates faster, but it consume more resources. +# Minimun value 0.001 seconds max value 0.2 seconds +# type: float min: 0.001 max: 0.2 +# shadow_update_time = 0.2 + +# Set the soft shadow radius size. +# Lower values mean sharper shadows bigger values softer. +# Minimun value 1.0 and max value 10.0 +# type: float min: 1 max: 10 +# shadow_soft_radius = 1.0 + +# Set the tilt of Sun/Moon orbit in degrees +# Value of 0 means no tilt / vertical orbit. +# Minimun value 0.0 and max value 60.0 +# type: float min: 0 max: 60 +# shadow_sky_body_orbit_tilt = 0.0 + ### Advanced # Arm inertia, gives a more realistic movement of @@ -694,11 +755,11 @@ # type: float min: 0 max: 0.25 # near_plane = 0.1 -# Width component of the initial window size. +# Width component of the initial window size. Ignored in fullscreen mode. # type: int min: 1 # screen_w = 1024 -# Height component of the initial window size. +# Height component of the initial window size. Ignored in fullscreen mode. # type: int min: 1 # screen_h = 600 @@ -710,10 +771,6 @@ # type: bool # fullscreen = false -# Bits per pixel (aka color depth) in fullscreen mode. -# type: int -# fullscreen_bpp = 24 - # Vertical screen synchronization. # type: bool # vsync = false @@ -1011,7 +1068,7 @@ # font_path_italic = fonts/Arimo-Italic.ttf # type: filepath -# font_path_bolditalic = fonts/Arimo-BoldItalic.ttf +# font_path_bold_italic = fonts/Arimo-BoldItalic.ttf # Font size of the monospace font in point (pt). # type: int min: 1 @@ -1031,19 +1088,7 @@ # 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 +# mono_font_path_bold_italic = fonts/Cousine-BoldItalic.ttf # Path of the fallback font. # If “freetype” setting is enabled: Must be a TrueType font. @@ -1110,6 +1155,14 @@ # Client # +# If enabled, http links in chat can be middle-clicked or ctrl-left-clicked to open the link in the OS's default web browser. +# type: bool +# clickable_chat_weblinks = false + +# If clickable_chat_weblinks is enabled, specify the color (as 24-bit hexadecimal) of weblinks in chat. +# type: string +# chat_weblink_color = #8888FF + ## Network # Address to connect to. @@ -1364,6 +1417,11 @@ # type: string # chat_message_format = <@name> @message +# If the execution of a chat command takes longer than this specified time in +# seconds, add the time information to the chat command message +# type: float +# chatcommand_msg_time_threshold = 0.1 + # A message to be displayed to all clients when the server shuts down. # type: string # kick_msg_shutdown = Server shutting down. @@ -1682,7 +1740,7 @@ # Set the language. Leave empty to use the system language. # A restart is required after changing this. -# type: enum values: , ar, ca, cs, da, de, dv, el, en, 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 +# type: enum values: , be, bg, ca, cs, da, de, el, en, eo, es, et, eu, fi, fr, gd, gl, hu, id, it, ja, jbo, kk, ko, lt, lv, ms, nb, nl, nn, pl, pt, pt_BR, ro, ru, sk, sl, sr_Cyrl, sr_Latn, sv, sw, tr, uk, vi, zh_CN, zh_TW # language = # Level of logging to be written to debug.txt: @@ -1714,10 +1772,9 @@ ## Advanced -# Default timeout for cURL, stated in milliseconds. -# Only has an effect if compiled with cURL. +# Maximum time an interactive request (e.g. server list fetch) may take, stated in milliseconds. # type: int -# curl_timeout = 5000 +# curl_timeout = 20000 # Limits number of parallel HTTP requests. Affects: # - Media fetch if server uses remote_media setting. @@ -1727,14 +1784,10 @@ # type: int # curl_parallel_limit = 8 -# Maximum time in ms a file download (e.g. a mod download) may take. +# Maximum time a file download (e.g. a mod download) may take, stated in milliseconds. # type: int # curl_file_download_timeout = 300000 -# Makes DirectX work with LuaJIT. Disable if it causes troubles. -# type: bool -# high_precision_fpu = true - # Replaces the default main menu with a custom one. # type: string # main_menu_script = diff --git a/misc/debpkg-control b/misc/debpkg-control index 1fef17fd9..e867f3eb9 100644 --- a/misc/debpkg-control +++ b/misc/debpkg-control @@ -3,7 +3,7 @@ Priority: extra Standards-Version: 3.6.2 Package: minetest-staging Version: 5.4.0-DATEPLACEHOLDER -Depends: libc6, libcurl3-gnutls, libfreetype6, libgl1, JPEG_PLACEHOLDER, libjsoncpp1, LEVELDB_PLACEHOLDER, libopenal1, libpng16-16, libsqlite3-0, libstdc++6, libvorbisfile3, libx11-6, libxxf86vm1, zlib1g +Depends: libc6, libcurl3-gnutls, libfreetype6, libgl1, JPEG_PLACEHOLDER, JSONCPP_PLACEHOLDER, LEVELDB_PLACEHOLDER, libopenal1, libpng16-16, libsqlite3-0, libstdc++6, libvorbisfile3, libx11-6, libxxf86vm1, libzstd1, zlib1g Maintainer: Loic Blot Homepage: https://www.minetest.net/ Vcs-Git: https://github.com/minetest/minetest.git diff --git a/po/ar/minetest.po b/po/ar/minetest.po index 1ab09c2bd..b7e681881 100644 --- a/po/ar/minetest.po +++ b/po/ar/minetest.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: minetest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-02-23 19:03+0100\n" -"PO-Revision-Date: 2020-10-29 16:26+0000\n" +"POT-Creation-Date: 2021-06-16 18:27+0200\n" +"PO-Revision-Date: 2021-03-19 20:18+0000\n" "Last-Translator: abidin toumi \n" "Language-Team: Arabic \n" @@ -18,7 +18,46 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " "&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n" -"X-Generator: Weblate 4.3.2-dev\n" +"X-Generator: Weblate 4.5.2-dev\n" + +#: builtin/client/chatcommands.lua +msgid "Clear the out chat queue" +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "Empty command." +msgstr "" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Exit to main menu" +msgstr "اخرج للقائمة" + +#: builtin/client/chatcommands.lua +msgid "Invalid command: " +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "Issued command: " +msgstr "" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "List online players" +msgstr "لاعب منفرد" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Online players: " +msgstr "لاعب منفرد" + +#: builtin/client/chatcommands.lua +msgid "The out chat queue is now empty." +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "This command is disabled by server." +msgstr "" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -28,6 +67,36 @@ msgstr "أعِد الإحياء" msgid "You died" msgstr "مِت" +#: builtin/client/death_formspec.lua +#, fuzzy +msgid "You died." +msgstr "مِت" + +#: builtin/common/chatcommands.lua +msgid "Available commands:" +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "Available commands: " +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "Command not available: " +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "Get help for commands" +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "" +"Use '.help ' to get more information, or '.help all' to list everything." +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "[all | ]" +msgstr "" + #: builtin/fstk/dialog.lua builtin/fstk/ui.lua src/gui/modalMenu.cpp msgid "OK" msgstr "موافق" @@ -159,11 +228,11 @@ msgstr "مُفعل" #: builtin/mainmenu/dlg_contentstore.lua msgid "\"$1\" already exists. Would you like to overwrite it?" -msgstr "" +msgstr "\"$1\" موجود مسبقًا. هل تريد الكتابة عليه؟" #: builtin/mainmenu/dlg_contentstore.lua msgid "$1 and $2 dependencies will be installed." -msgstr "" +msgstr "الاعتماديتان \"$1\" و $2 ستثبتان." #: builtin/mainmenu/dlg_contentstore.lua msgid "$1 by $2" @@ -174,15 +243,16 @@ msgid "" "$1 downloading,\n" "$2 queued" msgstr "" +"يُنزل $1،\n" +"$2 في الطابور" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "$1 downloading..." -msgstr "يحمل..." +msgstr "ينزل $1..." #: builtin/mainmenu/dlg_contentstore.lua msgid "$1 required dependencies could not be found." -msgstr "" +msgstr "يحتاج $1 لكن لم يُعثر عليها." #: builtin/mainmenu/dlg_contentstore.lua msgid "$1 will be installed, and $2 dependencies will be skipped." @@ -193,18 +263,16 @@ msgid "All packages" msgstr "كل الحزم" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "Already installed" -msgstr "المفتاح مستخدم مسبقا" +msgstr "مثبت مسبقا" #: builtin/mainmenu/dlg_contentstore.lua msgid "Back to Main Menu" msgstr "عُد للقائمة الرئيسة" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "Base Game:" -msgstr "استضف لعبة" +msgstr "اللعبة القاعدية" #: builtin/mainmenu/dlg_contentstore.lua msgid "ContentDB is not available when Minetest was compiled without cURL" @@ -228,14 +296,12 @@ msgid "Install" msgstr "ثبت" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "Install $1" -msgstr "ثبت" +msgstr "ثبت $1" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "Install missing dependencies" -msgstr "الإعتماديات الإختيارية:" +msgstr "ثبت الإعتماديات المفقودة" #: builtin/mainmenu/dlg_contentstore.lua #: builtin/mainmenu/dlg_settings_advanced.lua @@ -251,25 +317,24 @@ msgid "No results" msgstr "بدون نتائج" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "No updates" -msgstr "حدِث" +msgstr "لا توجد تحديثات" #: builtin/mainmenu/dlg_contentstore.lua msgid "Not found" -msgstr "" +msgstr "لم يُعثر عليه" #: builtin/mainmenu/dlg_contentstore.lua msgid "Overwrite" -msgstr "" +msgstr "اكتب عليه" #: builtin/mainmenu/dlg_contentstore.lua msgid "Please check that the base game is correct." -msgstr "" +msgstr "تحقق من صحة اللعبة القاعدية." #: builtin/mainmenu/dlg_contentstore.lua msgid "Queued" -msgstr "" +msgstr "في الطابور" #: builtin/mainmenu/dlg_contentstore.lua msgid "Texture packs" @@ -285,7 +350,7 @@ msgstr "حدِث" #: builtin/mainmenu/dlg_contentstore.lua msgid "Update All [$1]" -msgstr "" +msgstr "حدِّث الكل [$1]" #: builtin/mainmenu/dlg_contentstore.lua msgid "View more information in a web browser" @@ -444,7 +509,7 @@ msgstr "المنشآت السطحية (لا تأثر على الأشجار وا #: builtin/mainmenu/dlg_create_world.lua msgid "Structures appearing on the terrain, typically trees and plants" -msgstr "" +msgstr "الهياكل التي تظهر على التضاريس ، عادة الأشجار والنباتات" #: builtin/mainmenu/dlg_create_world.lua msgid "Temperate, Desert" @@ -539,7 +604,7 @@ msgstr "< عد لصفحة الإعدادات" msgid "Browse" msgstr "استعرض" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_settings.lua msgid "Disabled" msgstr "عطِّل" @@ -564,8 +629,9 @@ msgid "Offset" msgstr "المُعادل" #: builtin/mainmenu/dlg_settings_advanced.lua +#, fuzzy msgid "Persistance" -msgstr "" +msgstr "استمرار" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Please enter a valid integer." @@ -583,7 +649,7 @@ msgstr "إستعِد الإفتراضي" msgid "Scale" msgstr "تكبير/تصغير" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua msgid "Search" msgstr "إبحث" @@ -613,23 +679,24 @@ msgstr "X" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "X spread" -msgstr "" +msgstr "التوزع على محور X" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Y" -msgstr "" +msgstr "Y" #: builtin/mainmenu/dlg_settings_advanced.lua +#, fuzzy msgid "Y spread" -msgstr "" +msgstr "التوزع على محور Y" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Z" -msgstr "" +msgstr "Z" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Z spread" -msgstr "" +msgstr "التوزع على محور Z" #. ~ "absvalue" is a noise parameter flag. #. It is short for "absolute value". @@ -707,14 +774,49 @@ msgid "Loading..." msgstr "يحمل..." #: builtin/mainmenu/serverlistmgr.lua -#, fuzzy msgid "Public server list is disabled" -msgstr "البرمجة النصية للعميل معطلة" +msgstr "قائمة الخوادم العمومية معطلة" #: builtin/mainmenu/serverlistmgr.lua msgid "Try reenabling public serverlist and check your internet connection." msgstr "جرب إعادة تمكين قائمة الحوادم العامة وتحقق من إتصالك بالانترنت." +#: builtin/mainmenu/tab_about.lua +msgid "About" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active Contributors" +msgstr "المساهمون النشطون" + +#: builtin/mainmenu/tab_about.lua +msgid "Active renderer:" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Core Developers" +msgstr "المطورون الرئيسيون" + +#: builtin/mainmenu/tab_about.lua +msgid "Open User Data Directory" +msgstr "افتح دليل بيانات المستخدم" + +#: builtin/mainmenu/tab_about.lua +msgid "" +"Opens the directory that contains user-provided worlds, games, mods,\n" +"and texture packs in a file manager / explorer." +msgstr "" +"يفتح الدليل الذي يحوي العوالم والألعاب والتعديلات \n" +"وحزم الإكساء في مدير الملفات." + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Contributors" +msgstr "المساهمون السابقون" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Core Developers" +msgstr "المطورون الرئيسيون السابقون" + #: builtin/mainmenu/tab_content.lua msgid "Browse online content" msgstr "تصفح المحتوى عبر الانترنت" @@ -755,37 +857,6 @@ msgstr "أزل الحزمة" msgid "Use Texture Pack" msgstr "إستعمال حزمة الإكساء" -#: builtin/mainmenu/tab_credits.lua -msgid "Active Contributors" -msgstr "المساهمون النشطون" - -#: builtin/mainmenu/tab_credits.lua -msgid "Core Developers" -msgstr "المطورون الرئيسيون" - -#: builtin/mainmenu/tab_credits.lua -msgid "Credits" -msgstr "إشادات" - -#: builtin/mainmenu/tab_credits.lua -#, fuzzy -msgid "Open User Data Directory" -msgstr "إختر الدليل" - -#: builtin/mainmenu/tab_credits.lua -msgid "" -"Opens the directory that contains user-provided worlds, games, mods,\n" -"and texture packs in a file manager / explorer." -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Contributors" -msgstr "المساهمون السابقون" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Core Developers" -msgstr "المطورون الرئيسيون السابقون" - #: builtin/mainmenu/tab_local.lua msgid "Announce Server" msgstr "أعلن عن الخادوم" @@ -815,9 +886,9 @@ msgstr "استضف خدوم" msgid "Install games from ContentDB" msgstr "ثبت العابا من ContentDB" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Name" -msgstr "" +msgstr "الاسم" #: builtin/mainmenu/tab_local.lua msgid "New" @@ -827,23 +898,21 @@ msgstr "جديد" msgid "No world created or selected!" msgstr "لم تنشئ او تحدد عالما!" -#: builtin/mainmenu/tab_local.lua -#, fuzzy +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Password" -msgstr "كلمة مرور جديدة" +msgstr "كلمة المرور" #: builtin/mainmenu/tab_local.lua msgid "Play Game" msgstr "إلعب" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Port" msgstr "المنفذ" #: builtin/mainmenu/tab_local.lua -#, fuzzy msgid "Select Mods" -msgstr "حدد العالم:" +msgstr "اختر التعديلات" #: builtin/mainmenu/tab_local.lua msgid "Select World:" @@ -858,8 +927,13 @@ msgid "Start Game" msgstr "ابدأ اللعبة" #: builtin/mainmenu/tab_online.lua -msgid "Address / Port" -msgstr "العنوان \\ المنفذ" +#, fuzzy +msgid "Address" +msgstr "- العنوان: " + +#: builtin/mainmenu/tab_online.lua src/client/keycode.cpp +msgid "Clear" +msgstr "امسح" #: builtin/mainmenu/tab_online.lua msgid "Connect" @@ -869,34 +943,46 @@ msgstr "اتصل" msgid "Creative mode" msgstr "النمط الإبداعي" +#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "Damage enabled" -msgstr "الضرر ممكن" +#, fuzzy +msgid "Damage / PvP" +msgstr "- التضرر: " #: builtin/mainmenu/tab_online.lua msgid "Del. Favorite" msgstr "حذف المفضلة" #: builtin/mainmenu/tab_online.lua -msgid "Favorite" +#, fuzzy +msgid "Favorites" msgstr "المفضلة" +#: builtin/mainmenu/tab_online.lua +msgid "Incompatible Servers" +msgstr "" + #: builtin/mainmenu/tab_online.lua msgid "Join Game" msgstr "انضم للعبة" -#: builtin/mainmenu/tab_online.lua -msgid "Name / Password" -msgstr "الاسم \\ كلمة المرور" - #: builtin/mainmenu/tab_online.lua msgid "Ping" msgstr "" -#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "PvP enabled" -msgstr "قتال اللاعبين ممكن" +#, fuzzy +msgid "Public Servers" +msgstr "أعلن عن الخادوم" + +#: builtin/mainmenu/tab_online.lua +msgid "Refresh" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +#, fuzzy +msgid "Server Description" +msgstr "منفذ الخدوم" #: builtin/mainmenu/tab_settings.lua msgid "2x" @@ -938,10 +1024,30 @@ msgstr "غيِر المفاتيح" msgid "Connected Glass" msgstr "زجاج متصل" +#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp +msgid "Dynamic shadows" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Dynamic shadows: " +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Fancy Leaves" msgstr "اوراق بتفاصيل واضحة" +#: builtin/mainmenu/tab_settings.lua +msgid "High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Low" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Medium" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Mipmap" msgstr "" @@ -963,9 +1069,8 @@ msgid "Node Highlighting" msgstr "إبراز العقد" #: builtin/mainmenu/tab_settings.lua -#, fuzzy msgid "Node Outlining" -msgstr "عدم إبراز العقد" +msgstr "اقتضاب العقد" #: builtin/mainmenu/tab_settings.lua msgid "None" @@ -996,9 +1101,8 @@ msgid "Shaders" msgstr "مُظللات" #: builtin/mainmenu/tab_settings.lua -#, fuzzy msgid "Shaders (experimental)" -msgstr "أراضيٌ عائمة (تجريبية)" +msgstr "المظللات (تجريبية)" #: builtin/mainmenu/tab_settings.lua msgid "Shaders (unavailable)" @@ -1032,6 +1136,14 @@ msgstr "حساسية اللمس: (بكسل)" msgid "Trilinear Filter" msgstr "مرشح خطي ثلاثي" +#: builtin/mainmenu/tab_settings.lua +msgid "Ultra High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Very Low" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Waving Leaves" msgstr "اوراق متموجة" @@ -1104,18 +1216,6 @@ 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" - #: src/client/game.cpp msgid "" "\n" @@ -1186,9 +1286,8 @@ msgid "Cinematic mode enabled" msgstr "الوضع السينمائي مفعل" #: src/client/game.cpp -#, fuzzy msgid "Client side scripting is disabled" -msgstr "البرمجة النصية للعميل معطلة" +msgstr "البرمجة النصية معطلة من جانب العميل" #: src/client/game.cpp msgid "Connecting to server..." @@ -1199,7 +1298,7 @@ msgid "Continue" msgstr "تابع" #: src/client/game.cpp -#, fuzzy, c-format +#, c-format msgid "" "Controls:\n" "- %s: move forwards\n" @@ -1222,12 +1321,12 @@ msgstr "" "- %s: سر يسارا\n" "- %s: سر يمينا\n" "- %s: اقفز/تسلق\n" +"- %s: احفر/الكم\n" +"- %s: ضع/استخدم\n" "- %s: ازحف/انزل\n" "- %s: ارمي عنصر\n" "- %s: افتح المخزن\n" "- تحريك الفأرة: دوران\n" -"- زر الفأرة الأيمن: احفر/الكم\n" -"- زر الفأرة الأيسر: ضع/استخدم\n" "- عجلة الفأرة: غيير العنصر\n" "- -%s: دردشة\n" @@ -1359,13 +1458,18 @@ msgstr "مب\\ثا" msgid "Minimap currently disabled by game or mod" msgstr "الخريطة المصغرة معطلة من قبل لعبة أو تعديل" +#: src/client/game.cpp +#, fuzzy +msgid "Multiplayer" +msgstr "لاعب منفرد" + #: src/client/game.cpp msgid "Noclip mode disabled" -msgstr "" +msgstr "وضع العقبات مفعل" #: src/client/game.cpp msgid "Noclip mode enabled" -msgstr "" +msgstr "وضع القبات معطل" #: src/client/game.cpp msgid "Noclip mode enabled (note: no 'noclip' privilege)" @@ -1500,10 +1604,6 @@ msgstr "Backspace" msgid "Caps Lock" msgstr "Caps Lock" -#: src/client/keycode.cpp -msgid "Clear" -msgstr "امسح" - #: src/client/keycode.cpp #, fuzzy msgid "Control" @@ -1846,7 +1946,8 @@ msgid "Proceed" msgstr "تابع" #: src/gui/guiKeyChangeMenu.cpp -msgid "\"Special\" = climb down" +#, fuzzy +msgid "\"Aux1\" = climb down" msgstr "\"خاص\" = التسلق نزولا" #: src/gui/guiKeyChangeMenu.cpp @@ -1857,10 +1958,18 @@ msgstr "المشي التلقائي" msgid "Automatic jumping" msgstr "القفز التلقائي" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Aux1" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Backward" msgstr "للخلف" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Block bounds" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Change camera" msgstr "غير الكاميرا" @@ -1949,10 +2058,6 @@ msgstr "صوّر الشاشة" msgid "Sneak" msgstr "" -#: src/gui/guiKeyChangeMenu.cpp -msgid "Special" -msgstr "خاص" - #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle HUD" msgstr "بدّل عرض الواجهة" @@ -2040,8 +2145,8 @@ 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 " +"(Android) Use virtual joystick to trigger \"Aux1\" button.\n" +"If enabled, virtual joystick will also tap \"Aux1\" button when out of main " "circle." msgstr "" @@ -2335,6 +2440,14 @@ msgstr "" msgid "Autoscaling mode" msgstr "" +#: src/settings_translation_file.cpp +msgid "Aux1 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Aux1 key for climbing/descending" +msgstr "" + #: src/settings_translation_file.cpp msgid "Backward key" msgstr "" @@ -2379,10 +2492,6 @@ msgstr "" msgid "Biome noise" msgstr "" -#: src/settings_translation_file.cpp -msgid "Bits per pixel (aka color depth) in fullscreen mode." -msgstr "" - #: src/settings_translation_file.cpp msgid "Block send optimize distance" msgstr "" @@ -2481,6 +2590,10 @@ msgid "" "Where 0.0 is minimum light level, 1.0 is maximum light level." msgstr "" +#: src/settings_translation_file.cpp +msgid "Chat command time message threshold" +msgstr "" + #: src/settings_translation_file.cpp msgid "Chat font size" msgstr "" @@ -2577,6 +2690,10 @@ msgstr "" msgid "Colored fog" msgstr "" +#: src/settings_translation_file.cpp +msgid "Colored shadows" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Comma-separated list of flags to hide in the content repository.\n" @@ -2772,8 +2889,9 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"Default timeout for cURL, stated in milliseconds.\n" -"Only has an effect if compiled with cURL." +"Define shadow filtering quality\n" +"This simulates the soft shadows effect by applying a PCF or poisson disk\n" +"but also uses more resources." msgstr "" #: src/settings_translation_file.cpp @@ -2934,6 +3052,12 @@ msgid "" "This support is experimental and API can change." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Enable colored shadows. \n" +"On true translucent nodes cast colored shadows. This is expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable console window" msgstr "" @@ -2958,6 +3082,13 @@ msgstr "" msgid "Enable players getting damage and dying." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Enable poisson disk filtering.\n" +"On true uses poisson disk to make \"soft shadows\". Otherwise uses PCF " +"filtering." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable random user input (only used for testing)." msgstr "" @@ -3080,18 +3211,6 @@ msgstr "" msgid "Fallback font path" msgstr "" -#: src/settings_translation_file.cpp -msgid "Fallback font shadow" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Fallback font shadow alpha" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Fallback font size" -msgstr "" - #: src/settings_translation_file.cpp msgid "Fast key" msgstr "" @@ -3110,7 +3229,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"Fast movement (via the \"special\" key).\n" +"Fast movement (via the \"Aux1\" key).\n" "This requires the \"fast\" privilege on the server." msgstr "" @@ -3144,9 +3263,9 @@ 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." +"which PNG optimizers usually discard, often resulting in dark or\n" +"light edges to transparent textures. Apply a filter to clean that up\n" +"at texture load time. This is automatically enabled if mipmapping is enabled." msgstr "" #: src/settings_translation_file.cpp @@ -3241,10 +3360,6 @@ msgstr "" msgid "Font size of the default font in point (pt)." msgstr "" -#: src/settings_translation_file.cpp -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 "" @@ -3342,10 +3457,6 @@ msgstr "" msgid "Full screen" msgstr "" -#: src/settings_translation_file.cpp -msgid "Full screen BPP" -msgstr "" - #: src/settings_translation_file.cpp msgid "Fullscreen mode." msgstr "" @@ -3439,7 +3550,8 @@ msgid "Heat noise" msgstr "" #: src/settings_translation_file.cpp -msgid "Height component of the initial window size." +msgid "" +"Height component of the initial window size. Ignored in fullscreen mode." msgstr "" #: src/settings_translation_file.cpp @@ -3450,10 +3562,6 @@ msgstr "" msgid "Height select noise" msgstr "" -#: src/settings_translation_file.cpp -msgid "High-precision FPU" -msgstr "" - #: src/settings_translation_file.cpp msgid "Hill steepness" msgstr "" @@ -3685,8 +3793,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"If disabled, \"special\" key is used to fly fast if both fly and fast mode " -"are\n" +"If disabled, \"Aux1\" key is used to fly fast if both fly and fast mode are\n" "enabled." msgstr "" @@ -3708,8 +3815,8 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"If enabled, \"special\" key instead of \"sneak\" key is used for climbing " -"down and\n" +"If enabled, \"Aux1\" key instead of \"Sneak\" key is used for climbing down " +"and\n" "descending." msgstr "" @@ -3753,6 +3860,12 @@ msgid "" "to this distance from the player to the node." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"If the execution of a chat command takes longer than this specified time in\n" +"seconds, add the time information to the chat command message" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "If the file size of debug.txt exceeds the number of megabytes specified in\n" @@ -4641,10 +4754,6 @@ msgid "" "Make fog and sky colors depend on daytime (dawn/sunset) and view direction." msgstr "" -#: src/settings_translation_file.cpp -msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." -msgstr "" - #: src/settings_translation_file.cpp msgid "Makes all liquids opaque" msgstr "" @@ -4716,6 +4825,10 @@ msgstr "" msgid "Map save interval" msgstr "" +#: src/settings_translation_file.cpp +msgid "Map update time" +msgstr "" + #: src/settings_translation_file.cpp msgid "Mapblock limit" msgstr "" @@ -4824,6 +4937,10 @@ msgstr "" msgid "Maximum FPS when the window is not focused, or when the game is paused." msgstr "" +#: src/settings_translation_file.cpp +msgid "Maximum distance to render shadows." +msgstr "" + #: src/settings_translation_file.cpp msgid "Maximum forceloaded blocks" msgstr "" @@ -4930,7 +5047,15 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "Maximum time in ms a file download (e.g. a mod download) may take." +msgid "" +"Maximum time a file download (e.g. a mod download) may take, stated in " +"milliseconds." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum time an interactive request (e.g. server list fetch) may take, " +"stated in milliseconds." msgstr "" #: src/settings_translation_file.cpp @@ -5143,11 +5268,6 @@ 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 " @@ -5246,6 +5366,10 @@ msgstr "" msgid "Player versus player" msgstr "" +#: src/settings_translation_file.cpp +msgid "Poisson filtering" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Port to connect to (UDP).\n" @@ -5580,6 +5704,40 @@ msgstr "" msgid "Set the maximum character length of a chat message sent by clients." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow strength.\n" +"Lower value means lighter shadows, higher value means darker shadows." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow update time.\n" +"Lower value means shadows and map updates faster, but it consume more " +"resources.\n" +"Minimun value 0.001 seconds max value 0.2 seconds" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the soft shadow radius size.\n" +"Lower values mean sharper shadows bigger values softer.\n" +"Minimun value 1.0 and max value 10.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the tilt of Sun/Moon orbit in degrees\n" +"Value of 0 means no tilt / vertical orbit.\n" +"Minimun value 0.0 and max value 60.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set to true to enable Shadow Mapping.\n" +"Requires shaders to be enabled." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Set to true to enable waving leaves.\n" @@ -5598,6 +5756,13 @@ msgid "" "Requires shaders to be enabled." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Sets shadow texture quality to 32 bits.\n" +"On false, 16 bits texture will be used.\n" +"This can cause much more artifacts in the shadow." +msgstr "" + #: src/settings_translation_file.cpp msgid "Shader path" msgstr "" @@ -5610,6 +5775,22 @@ msgid "" "This only works with the OpenGL video backend." msgstr "" +#: src/settings_translation_file.cpp +msgid "Shadow filter quality" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map max distance in nodes to render shadows" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture in 32 bits" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture size" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Shadow offset (in pixels) of the default font. If 0, then shadow will not be " @@ -5617,9 +5798,7 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "" -"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not " -"be drawn." +msgid "Shadow strength" msgstr "" #: src/settings_translation_file.cpp @@ -5665,6 +5844,10 @@ msgid "" "thread, thus reducing jitter." msgstr "" +#: src/settings_translation_file.cpp +msgid "Sky Body Orbit Tilt" +msgstr "" + #: src/settings_translation_file.cpp msgid "Slice w" msgstr "" @@ -5719,18 +5902,14 @@ msgstr "" msgid "Sneaking speed, in nodes per second." msgstr "" +#: src/settings_translation_file.cpp +msgid "Soft shadow radius" +msgstr "" + #: src/settings_translation_file.cpp msgid "Sound" msgstr "" -#: src/settings_translation_file.cpp -msgid "Special key" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Special key for climbing/descending" -msgstr "" - #: src/settings_translation_file.cpp msgid "" "Specifies URL from which client fetches media instead of using UDP.\n" @@ -5852,6 +6031,13 @@ msgstr "" msgid "Texture path" msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Texture size to render the shadow map on.\n" +"This must be a power of two.\n" +"Bigger numbers create better shadowsbut it is also more expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Textures on a node may be aligned either to the node or to the world.\n" @@ -5925,7 +6111,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"The rendering back-end for Irrlicht.\n" +"The rendering back-end.\n" "A restart is required after changing this.\n" "Note: On Android, stick with OGLES1 if unsure! App may fail to start " "otherwise.\n" @@ -6212,7 +6398,7 @@ msgid "Viewing range" msgstr "" #: src/settings_translation_file.cpp -msgid "Virtual joystick triggers aux button" +msgid "Virtual joystick triggers Aux1 button" msgstr "" #: src/settings_translation_file.cpp @@ -6303,9 +6489,8 @@ msgid "" "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" +"memory. Powers of 2 are recommended. This setting is ONLY applies if\n" +"bilinear/trilinear/anisotropic filtering is enabled.\n" "This is also used as the base node texture size for world-aligned\n" "texture autoscaling." msgstr "" @@ -6361,7 +6546,7 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "Width component of the initial window size." +msgid "Width component of the initial window size. Ignored in fullscreen mode." msgstr "" #: src/settings_translation_file.cpp @@ -6468,13 +6653,16 @@ msgid "cURL file download timeout" msgstr "" #: src/settings_translation_file.cpp -msgid "cURL parallel limit" +msgid "cURL interactive timeout" msgstr "" #: src/settings_translation_file.cpp -msgid "cURL timeout" +msgid "cURL parallel limit" msgstr "" +#~ msgid "Address / Port" +#~ msgstr "العنوان \\ المنفذ" + #~ msgid "Are you sure to reset your singleplayer world?" #~ msgstr "هل أنت متأكد من إعادة تعيين عالم اللاعب الوحيد؟" @@ -6490,6 +6678,12 @@ msgstr "" #~ msgid "Configure" #~ msgstr "اضبط" +#~ msgid "Credits" +#~ msgstr "إشادات" + +#~ msgid "Damage enabled" +#~ msgstr "الضرر ممكن" + #~ msgid "Downloading and installing $1, please wait..." #~ msgstr "تنزيل وتثبيت $1, يرجى الإنتظار..." @@ -6511,6 +6705,9 @@ msgstr "" #~ msgid "Minimap in surface mode, Zoom x4" #~ msgstr "الخريطة المصغرة في وضع الأسطح، تكبير x4" +#~ msgid "Name / Password" +#~ msgstr "الاسم \\ كلمة المرور" + #~ msgid "Name/Password" #~ msgstr "الاسم\\كلمة المرور" @@ -6520,9 +6717,15 @@ msgstr "" #~ msgid "Ok" #~ msgstr "موافق" +#~ msgid "PvP enabled" +#~ msgstr "قتال اللاعبين ممكن" + #~ msgid "Reset singleplayer world" #~ msgstr "أعد تعيين عالم اللاعب المنفرد" +#~ msgid "Special" +#~ msgstr "خاص" + #~ msgid "Start Singleplayer" #~ msgstr "إلعب فرديا" @@ -6531,3 +6734,6 @@ msgstr "" #~ msgid "Yes" #~ msgstr "نعم" + +#~ msgid "needs_fallback_font" +#~ msgstr "yes" diff --git a/po/be/minetest.po b/po/be/minetest.po index 8b597ca4b..bfae449ad 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: 2021-02-23 19:03+0100\n" +"POT-Creation-Date: 2021-06-16 18:27+0200\n" "PO-Revision-Date: 2019-11-19 23:04+0000\n" "Last-Translator: Viktar Vauchkevich \n" "Language-Team: Belarusian =20) ? 1 : 2;\n" "X-Generator: Weblate 3.10-dev\n" +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Clear the out chat queue" +msgstr "Максімальны памер чаргі размовы" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Empty command." +msgstr "Загады размовы" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Exit to main menu" +msgstr "Выхад у меню" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Invalid command: " +msgstr "Лакальная каманда" + +#: builtin/client/chatcommands.lua +msgid "Issued command: " +msgstr "" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "List online players" +msgstr "Адзіночная гульня" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Online players: " +msgstr "Адзіночная гульня" + +#: builtin/client/chatcommands.lua +msgid "The out chat queue is now empty." +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "This command is disabled by server." +msgstr "" + #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" msgstr "Адрадзіцца" @@ -23,6 +65,38 @@ msgstr "Адрадзіцца" msgid "You died" msgstr "Вы загінулі" +#: builtin/client/death_formspec.lua +#, fuzzy +msgid "You died." +msgstr "Вы загінулі" + +#: builtin/common/chatcommands.lua +#, fuzzy +msgid "Available commands:" +msgstr "Лакальная каманда" + +#: builtin/common/chatcommands.lua +#, fuzzy +msgid "Available commands: " +msgstr "Лакальная каманда" + +#: builtin/common/chatcommands.lua +msgid "Command not available: " +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "Get help for commands" +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "" +"Use '.help ' to get more information, or '.help all' to list everything." +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "[all | ]" +msgstr "" + #: builtin/fstk/dialog.lua builtin/fstk/ui.lua src/gui/modalMenu.cpp msgid "OK" msgstr "" @@ -554,7 +628,7 @@ msgstr "< Назад на старонку налад" msgid "Browse" msgstr "Праглядзець" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_settings.lua msgid "Disabled" msgstr "Адключаны" @@ -598,7 +672,7 @@ msgstr "Аднавіць прадвызначанае" msgid "Scale" msgstr "Маштаб" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua msgid "Search" msgstr "Пошук" @@ -735,6 +809,42 @@ msgstr "" "Паспрабуйце паўторна ўключыць спіс публічных сервераў і праверце злучэнне з " "сецівам." +#: builtin/mainmenu/tab_about.lua +msgid "About" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active Contributors" +msgstr "Актыўныя ўдзельнікі" + +#: builtin/mainmenu/tab_about.lua +#, fuzzy +msgid "Active renderer:" +msgstr "Адлегласць адпраўлення актыўнага аб'екта" + +#: builtin/mainmenu/tab_about.lua +msgid "Core Developers" +msgstr "Асноўныя распрацоўшчыкі" + +#: builtin/mainmenu/tab_about.lua +#, fuzzy +msgid "Open User Data Directory" +msgstr "Абраць каталог" + +#: builtin/mainmenu/tab_about.lua +msgid "" +"Opens the directory that contains user-provided worlds, games, mods,\n" +"and texture packs in a file manager / explorer." +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Contributors" +msgstr "Былыя ўдзельнікі" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Core Developers" +msgstr "Былыя асноўныя распрацоўшчыкі" + #: builtin/mainmenu/tab_content.lua msgid "Browse online content" msgstr "Пошук у сеціве" @@ -775,37 +885,6 @@ msgstr "Выдаліць пакунак" msgid "Use Texture Pack" msgstr "Выкарыстоўваць пакунак тэкстур" -#: builtin/mainmenu/tab_credits.lua -msgid "Active Contributors" -msgstr "Актыўныя ўдзельнікі" - -#: builtin/mainmenu/tab_credits.lua -msgid "Core Developers" -msgstr "Асноўныя распрацоўшчыкі" - -#: builtin/mainmenu/tab_credits.lua -msgid "Credits" -msgstr "Падзякі" - -#: builtin/mainmenu/tab_credits.lua -#, fuzzy -msgid "Open User Data Directory" -msgstr "Абраць каталог" - -#: builtin/mainmenu/tab_credits.lua -msgid "" -"Opens the directory that contains user-provided worlds, games, mods,\n" -"and texture packs in a file manager / explorer." -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Contributors" -msgstr "Былыя ўдзельнікі" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Core Developers" -msgstr "Былыя асноўныя распрацоўшчыкі" - #: builtin/mainmenu/tab_local.lua msgid "Announce Server" msgstr "Анансаваць сервер" @@ -834,7 +913,7 @@ msgstr "Сервер" msgid "Install games from ContentDB" msgstr "" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Name" msgstr "" @@ -846,7 +925,7 @@ msgstr "Новы" msgid "No world created or selected!" msgstr "Няма створанага альбо абранага свету!" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua #, fuzzy msgid "Password" msgstr "Новы пароль" @@ -855,7 +934,7 @@ msgstr "Новы пароль" msgid "Play Game" msgstr "Гуляць" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Port" msgstr "Порт" @@ -877,8 +956,13 @@ msgid "Start Game" msgstr "Пачаць гульню" #: builtin/mainmenu/tab_online.lua -msgid "Address / Port" -msgstr "Адрас / Порт" +#, fuzzy +msgid "Address" +msgstr "- Адрас: " + +#: builtin/mainmenu/tab_online.lua src/client/keycode.cpp +msgid "Clear" +msgstr "Ачысціць" #: builtin/mainmenu/tab_online.lua msgid "Connect" @@ -888,34 +972,46 @@ msgstr "Злучыцца" msgid "Creative mode" msgstr "Творчы рэжым" +#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "Damage enabled" -msgstr "Пашкоджанні ўключаныя" +#, fuzzy +msgid "Damage / PvP" +msgstr "Пашкоджанні" #: builtin/mainmenu/tab_online.lua msgid "Del. Favorite" msgstr "Прыбраць з упадабанага" #: builtin/mainmenu/tab_online.lua -msgid "Favorite" +#, fuzzy +msgid "Favorites" msgstr "Упадабанае" +#: builtin/mainmenu/tab_online.lua +msgid "Incompatible Servers" +msgstr "" + #: builtin/mainmenu/tab_online.lua msgid "Join Game" msgstr "Далучыцца да гульні" -#: builtin/mainmenu/tab_online.lua -msgid "Name / Password" -msgstr "Імя / Пароль" - #: builtin/mainmenu/tab_online.lua msgid "Ping" msgstr "Пінг" -#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "PvP enabled" -msgstr "PvP уключаны" +#, fuzzy +msgid "Public Servers" +msgstr "Анансаваць сервер" + +#: builtin/mainmenu/tab_online.lua +msgid "Refresh" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +#, fuzzy +msgid "Server Description" +msgstr "Апісанне сервера" #: builtin/mainmenu/tab_settings.lua msgid "2x" @@ -957,10 +1053,31 @@ msgstr "Змяніць клавішы" msgid "Connected Glass" msgstr "Суцэльнае шкло" +#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp +#, fuzzy +msgid "Dynamic shadows" +msgstr "Цень шрыфту" + +#: builtin/mainmenu/tab_settings.lua +msgid "Dynamic shadows: " +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Fancy Leaves" msgstr "Аздобленае лісце" +#: builtin/mainmenu/tab_settings.lua +msgid "High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Low" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Medium" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Mipmap" msgstr "MIP-тэкстураванне" @@ -1050,6 +1167,14 @@ msgstr "Сэнсарны парог: (px)" msgid "Trilinear Filter" msgstr "Трылінейны фільтр" +#: builtin/mainmenu/tab_settings.lua +msgid "Ultra High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Very Low" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Waving Leaves" msgstr "Дрыготкае лісце" @@ -1122,18 +1247,6 @@ 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" - #: src/client/game.cpp msgid "" "\n" @@ -1376,6 +1489,11 @@ msgstr "МіБ/сек" msgid "Minimap currently disabled by game or mod" msgstr "Мінімапа на дадзены момант адключаная гульнёй альбо мадыфікацыяй" +#: src/client/game.cpp +#, fuzzy +msgid "Multiplayer" +msgstr "Адзіночная гульня" + #: src/client/game.cpp msgid "Noclip mode disabled" msgstr "Рэжым руху скрозь сцены адключаны" @@ -1517,10 +1635,6 @@ msgstr "Backspace" msgid "Caps Lock" msgstr "Caps Lock" -#: src/client/keycode.cpp -msgid "Clear" -msgstr "Ачысціць" - #: src/client/keycode.cpp msgid "Control" msgstr "Ctrl" @@ -1815,7 +1929,8 @@ msgid "Proceed" msgstr "Працягнуць" #: src/gui/guiKeyChangeMenu.cpp -msgid "\"Special\" = climb down" +#, fuzzy +msgid "\"Aux1\" = climb down" msgstr "«Адмысловая» = злазіць" #: src/gui/guiKeyChangeMenu.cpp @@ -1826,10 +1941,18 @@ msgstr "Аўтабег" msgid "Automatic jumping" msgstr "Аўтаскок" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Aux1" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Backward" msgstr "Назад" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Block bounds" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Change camera" msgstr "Змяніць камеру" @@ -1919,10 +2042,6 @@ msgstr "Здымак экрана" msgid "Sneak" msgstr "Красціся" -#: src/gui/guiKeyChangeMenu.cpp -msgid "Special" -msgstr "Адмысловая" - #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle HUD" msgstr "HUD" @@ -2010,9 +2129,10 @@ 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 " +"(Android) Use virtual joystick to trigger \"Aux1\" button.\n" +"If enabled, virtual joystick will also tap \"Aux1\" button when out of main " "circle." msgstr "" "(Android) Выкарыстоўваць віртуальны джойсцік для актывацыі кнопкі \"aux\".\n" @@ -2358,6 +2478,16 @@ msgstr "Аўтаматычна захоўваць памеры экрана" msgid "Autoscaling mode" msgstr "Рэжым аўтамаштабавання" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Aux1 key" +msgstr "Клавіша скока" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Aux1 key for climbing/descending" +msgstr "Адмысловая клавіша для караскання/спускання" + #: src/settings_translation_file.cpp msgid "Backward key" msgstr "Клавіша назад" @@ -2402,10 +2532,6 @@ msgstr "Параметры шуму тэмпературы і вільготна msgid "Biome noise" msgstr "Шум біёму" -#: src/settings_translation_file.cpp -msgid "Bits per pixel (aka color depth) in fullscreen mode." -msgstr "Біты на піксель (глыбіня колеру) у поўнаэкранным рэжыме." - #: src/settings_translation_file.cpp msgid "Block send optimize distance" msgstr "Аптымізаваная адлегласць адпраўлення блокаў" @@ -2514,6 +2640,11 @@ msgid "" "Where 0.0 is minimum light level, 1.0 is maximum light level." msgstr "" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Chat command time message threshold" +msgstr "Максімальная колькасць паведамленняў у размове для выключэння" + #: src/settings_translation_file.cpp #, fuzzy msgid "Chat font size" @@ -2612,6 +2743,11 @@ msgstr "Аблокі ў меню" msgid "Colored fog" msgstr "Каляровы туман" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Colored shadows" +msgstr "Каляровы туман" + #: src/settings_translation_file.cpp msgid "" "Comma-separated list of flags to hide in the content repository.\n" @@ -2828,11 +2964,10 @@ msgstr "Прадвызначаная гульня" #: src/settings_translation_file.cpp msgid "" -"Default timeout for cURL, stated in milliseconds.\n" -"Only has an effect if compiled with cURL." +"Define shadow filtering quality\n" +"This simulates the soft shadows effect by applying a PCF or poisson disk\n" +"but also uses more resources." msgstr "" -"Прадвызначаны таймаўт для cURL, зададзены ў мілісекундах.\n" -"Уплывае толькі пры кампіляцыі з cURL." #: src/settings_translation_file.cpp msgid "Defines areas where trees have apples." @@ -3005,6 +3140,12 @@ msgstr "" "Уключыць падтрымку Lua-модынгу на кліенце.\n" "Гэта падтрымка эксперыментальная і API можа змяніцца." +#: src/settings_translation_file.cpp +msgid "" +"Enable colored shadows. \n" +"On true translucent nodes cast colored shadows. This is expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable console window" msgstr "Уключаць акно кансолі" @@ -3030,6 +3171,13 @@ msgstr "Уключыць абарону мадыфікацый" msgid "Enable players getting damage and dying." msgstr "Дазволіць гульцам атрымоўваць пашкоджанні і паміраць." +#: src/settings_translation_file.cpp +msgid "" +"Enable poisson disk filtering.\n" +"On true uses poisson disk to make \"soft shadows\". Otherwise uses PCF " +"filtering." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable random user input (only used for testing)." msgstr "Уключыць выпадковы карыстальніцкі ўвод (толькі для тэставання)." @@ -3171,18 +3319,6 @@ msgstr "Каэфіцыент калыхання пры падзенні" msgid "Fallback font path" msgstr "Рэзервовы шрыфт" -#: src/settings_translation_file.cpp -msgid "Fallback font shadow" -msgstr "Цень рэзервовага шрыфту" - -#: src/settings_translation_file.cpp -msgid "Fallback font shadow alpha" -msgstr "Празрыстасць цені рэзервовага шрыфту" - -#: src/settings_translation_file.cpp -msgid "Fallback font size" -msgstr "Памер рэзервовага шрыфту" - #: src/settings_translation_file.cpp msgid "Fast key" msgstr "Клавіша шпаркасці" @@ -3200,8 +3336,9 @@ msgid "Fast movement" msgstr "Шпаркае перамяшчэнне" #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"Fast movement (via the \"special\" key).\n" +"Fast movement (via the \"Aux1\" key).\n" "This requires the \"fast\" privilege on the server." msgstr "" "Шпаркае перамяшчэнне (з дапамогай клавішы выкарыстання).\n" @@ -3238,11 +3375,12 @@ msgid "Filmic tone mapping" msgstr "Кінематаграфічнае танальнае адлюстраванне" #: src/settings_translation_file.cpp +#, fuzzy msgid "" "Filtered textures can blend RGB values with fully-transparent neighbors,\n" -"which PNG optimizers usually discard, sometimes resulting in a dark or\n" -"light edge to transparent textures. Apply this filter to clean that up\n" -"at texture load time." +"which PNG optimizers usually discard, often resulting in dark or\n" +"light edges to transparent textures. Apply a filter to clean that up\n" +"at texture load time. This is automatically enabled if mipmapping is enabled." msgstr "" "Адфільтраваныя тэкстуры могуць змешваць значэнні RGB з цалкам празрыстымі " "суседнімі, якія PNG-аптымізатары звычайна адкідваюць, што часам прыводзіць " @@ -3349,10 +3487,6 @@ msgstr "Памер шрыфту" msgid "Font size of the default font in point (pt)." msgstr "" -#: src/settings_translation_file.cpp -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 "" @@ -3463,10 +3597,6 @@ msgstr "" msgid "Full screen" msgstr "На ўвесь экран" -#: src/settings_translation_file.cpp -msgid "Full screen BPP" -msgstr "Глыбіня колеру ў поўнаэкранным рэжыме (бітаў на піксель)" - #: src/settings_translation_file.cpp msgid "Fullscreen mode." msgstr "Поўнаэкранны рэжым." @@ -3578,7 +3708,9 @@ msgid "Heat noise" msgstr "Цеплавы шум" #: src/settings_translation_file.cpp -msgid "Height component of the initial window size." +#, fuzzy +msgid "" +"Height component of the initial window size. Ignored in fullscreen mode." msgstr "Вышыня акна падчас запуску." #: src/settings_translation_file.cpp @@ -3589,10 +3721,6 @@ msgstr "Шум вышыні" msgid "Height select noise" msgstr "Шум выбару вышыні" -#: src/settings_translation_file.cpp -msgid "High-precision FPU" -msgstr "Высокадакладны FPU" - #: src/settings_translation_file.cpp msgid "Hill steepness" msgstr "Крутасць пагоркаў" @@ -3834,9 +3962,9 @@ msgstr "" "каб не марнаваць дарма магутнасць працэсара." #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"If disabled, \"special\" key is used to fly fast if both fly and fast mode " -"are\n" +"If disabled, \"Aux1\" key is used to fly fast if both fly and fast mode are\n" "enabled." msgstr "" "Калі выключана, то клавіша \"special\" выкарыстоўваецца для хуткага палёту, " @@ -3866,9 +3994,10 @@ msgstr "" "На серверы патрабуецца прывілей \"noclip\"." #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"If enabled, \"special\" key instead of \"sneak\" key is used for climbing " -"down and\n" +"If enabled, \"Aux1\" key instead of \"Sneak\" key is used for climbing down " +"and\n" "descending." msgstr "" "Калі ўключана, то для спускання і апускання будзе выкарыстоўвацца клавіша " @@ -3926,6 +4055,12 @@ msgstr "" "Калі абмежаванне CSM для дыяпазону блокаў уключана, выклікі get_node " "абмяжоўваюцца на гэтую адлегласць ад гульца да блока." +#: src/settings_translation_file.cpp +msgid "" +"If the execution of a chat command takes longer than this specified time in\n" +"seconds, add the time information to the chat command message" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "If the file size of debug.txt exceeds the number of megabytes specified in\n" @@ -5106,11 +5241,6 @@ msgstr "" "Зрабіць колер туману і неба залежным ад часу сутак (світанак, захад) і " "напрамку погляду." -#: src/settings_translation_file.cpp -msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." -msgstr "" -"Прымушае DirectX працаваць з LuaJIT. Выключыце, калі гэта выклікае праблемы." - #: src/settings_translation_file.cpp msgid "Makes all liquids opaque" msgstr "Робіць усе вадкасці непразрыстымі" @@ -5202,6 +5332,11 @@ msgstr "Ліміт генерацыі мапы" msgid "Map save interval" msgstr "Інтэрвал захавання мапы" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Map update time" +msgstr "Інтэрвал абнаўлення вадкасці" + #: src/settings_translation_file.cpp msgid "Mapblock limit" msgstr "Ліміт блокаў мапы" @@ -5311,6 +5446,10 @@ msgstr "Максімальны FPS (кадраў за секунду)" msgid "Maximum FPS when the window is not focused, or when the game is paused." msgstr "Максімальны FPS, калі гульня прыпыненая." +#: src/settings_translation_file.cpp +msgid "Maximum distance to render shadows." +msgstr "" + #: src/settings_translation_file.cpp msgid "Maximum forceloaded blocks" msgstr "Максімальная колькасць прымусова загружаемых блокаў" @@ -5440,11 +5579,20 @@ msgstr "" "0 - выключыць чаргу, -1 - зрабіць неабмежаванай." #: src/settings_translation_file.cpp -msgid "Maximum time in ms a file download (e.g. a mod download) may take." +#, fuzzy +msgid "" +"Maximum time a file download (e.g. a mod download) may take, stated in " +"milliseconds." msgstr "" "Максімальны час у мілісекундах, які можа заняць спампоўванне файла\n" "(напрыклад спампоўванне мадыфікацыі)." +#: src/settings_translation_file.cpp +msgid "" +"Maximum time an interactive request (e.g. server list fetch) may take, " +"stated in milliseconds." +msgstr "" + #: src/settings_translation_file.cpp msgid "Maximum users" msgstr "Максімальная колькасць карыстальнікаў" @@ -5691,11 +5839,6 @@ 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 " @@ -5803,6 +5946,11 @@ msgstr "Дыстанцыя перадачы даных гульца" msgid "Player versus player" msgstr "Гулец супраць гульца" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Poisson filtering" +msgstr "Білінейная фільтрацыя" + #: src/settings_translation_file.cpp msgid "" "Port to connect to (UDP).\n" @@ -6194,6 +6342,43 @@ msgstr "" "Вызначае максімальную колькасць сімвалаў у паведамленнях, што адпраўляюцца " "кліентамі ў размову." +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow strength.\n" +"Lower value means lighter shadows, higher value means darker shadows." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow update time.\n" +"Lower value means shadows and map updates faster, but it consume more " +"resources.\n" +"Minimun value 0.001 seconds max value 0.2 seconds" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the soft shadow radius size.\n" +"Lower values mean sharper shadows bigger values softer.\n" +"Minimun value 1.0 and max value 10.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the tilt of Sun/Moon orbit in degrees\n" +"Value of 0 means no tilt / vertical orbit.\n" +"Minimun value 0.0 and max value 60.0" +msgstr "" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "" +"Set to true to enable Shadow Mapping.\n" +"Requires shaders to be enabled." +msgstr "" +"Значэнне \"true\" уключае калыханне лісця.\n" +"Патрабуюцца ўключаныя шэйдэры." + #: src/settings_translation_file.cpp #, fuzzy msgid "" @@ -6221,6 +6406,13 @@ msgstr "" "Значэнне \"true\" уключае калыханне раслін.\n" "Патрабуюцца ўключаныя шэйдэры." +#: src/settings_translation_file.cpp +msgid "" +"Sets shadow texture quality to 32 bits.\n" +"On false, 16 bits texture will be used.\n" +"This can cause much more artifacts in the shadow." +msgstr "" + #: src/settings_translation_file.cpp msgid "Shader path" msgstr "Шлях да шэйдэраў" @@ -6237,6 +6429,24 @@ msgstr "" "прадукцыйнасць на некаторых відэакартах.\n" "Працуюць толькі з OpenGL." +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Shadow filter quality" +msgstr "Якасць здымкаў экрана" + +#: src/settings_translation_file.cpp +msgid "Shadow map max distance in nodes to render shadows" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture in 32 bits" +msgstr "" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Shadow map texture size" +msgstr "Мінімальны памер тэкстуры" + #: src/settings_translation_file.cpp #, fuzzy msgid "" @@ -6245,11 +6455,8 @@ msgid "" 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, то цень не будзе паказвацца." +msgid "Shadow strength" +msgstr "" #: src/settings_translation_file.cpp msgid "Shape of the minimap. Enabled = round, disabled = square." @@ -6308,6 +6515,10 @@ msgstr "" "павялічыць адсотак пераносу ў кэш, прадухіляючы капіяванне даных\n" "з галоўнага патоку гульні, тым самым памяншаючы дрыжанне." +#: src/settings_translation_file.cpp +msgid "Sky Body Orbit Tilt" +msgstr "" + #: src/settings_translation_file.cpp msgid "Slice w" msgstr "Частка W" @@ -6366,18 +6577,15 @@ msgstr "Хуткасць хады ўпотай" msgid "Sneaking speed, in nodes per second." msgstr "Хуткасць крадкоў у вузлах за секунду." +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Soft shadow radius" +msgstr "Празрыстасць цені шрыфту" + #: src/settings_translation_file.cpp msgid "Sound" msgstr "Гук" -#: src/settings_translation_file.cpp -msgid "Special key" -msgstr "Адмысловая клавіша" - -#: src/settings_translation_file.cpp -msgid "Special key for climbing/descending" -msgstr "Адмысловая клавіша для караскання/спускання" - #: src/settings_translation_file.cpp msgid "" "Specifies URL from which client fetches media instead of using UDP.\n" @@ -6515,6 +6723,13 @@ msgstr "Сталы шум рэльефу" msgid "Texture path" msgstr "Шлях да тэкстур" +#: src/settings_translation_file.cpp +msgid "" +"Texture size to render the shadow map on.\n" +"This must be a power of two.\n" +"Bigger numbers create better shadowsbut it is also more expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Textures on a node may be aligned either to the node or to the world.\n" @@ -6610,7 +6825,7 @@ msgstr "" #: src/settings_translation_file.cpp #, fuzzy msgid "" -"The rendering back-end for Irrlicht.\n" +"The rendering back-end.\n" "A restart is required after changing this.\n" "Note: On Android, stick with OGLES1 if unsure! App may fail to start " "otherwise.\n" @@ -6946,7 +7161,8 @@ msgid "Viewing range" msgstr "Дыяпазон бачнасці" #: src/settings_translation_file.cpp -msgid "Virtual joystick triggers aux button" +#, fuzzy +msgid "Virtual joystick triggers Aux1 button" msgstr "Дадатковая кнопка трыгераў віртуальнага джойсціка" #: src/settings_translation_file.cpp @@ -7051,14 +7267,14 @@ msgstr "" "якія не падтрымліваюць перадачу тэкстур з апаратуры назад." #: src/settings_translation_file.cpp +#, fuzzy msgid "" "When using bilinear/trilinear/anisotropic filters, low-resolution textures\n" "can be blurred, so automatically upscale them with nearest-neighbor\n" "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" +"memory. Powers of 2 are recommended. This setting is ONLY applies if\n" +"bilinear/trilinear/anisotropic filtering is enabled.\n" "This is also used as the base node texture size for world-aligned\n" "texture autoscaling." msgstr "" @@ -7133,7 +7349,8 @@ msgid "" msgstr "Паказваць адладачную інфармацыю (тое ж, што і F5)." #: src/settings_translation_file.cpp -msgid "Width component of the initial window size." +#, fuzzy +msgid "Width component of the initial window size. Ignored in fullscreen mode." msgstr "Шырыня кампанента пачатковага памеру акна." #: src/settings_translation_file.cpp @@ -7254,12 +7471,13 @@ msgid "cURL file download timeout" msgstr "Таймаўт спампоўвання файла па cURL" #: src/settings_translation_file.cpp -msgid "cURL parallel limit" -msgstr "Ліміт адначасовых злучэнняў cURL" +#, fuzzy +msgid "cURL interactive timeout" +msgstr "Таймаўт cURL" #: src/settings_translation_file.cpp -msgid "cURL timeout" -msgstr "Таймаўт cURL" +msgid "cURL parallel limit" +msgstr "Ліміт адначасовых злучэнняў cURL" #~ msgid "" #~ "0 = parallax occlusion with slope information (faster).\n" @@ -7268,6 +7486,9 @@ msgstr "Таймаўт cURL" #~ "0 = паралаксная аклюзія са звесткамі аб нахіле (хутка).\n" #~ "1 = рэльефнае тэкстураванне (павольней, але якасней)." +#~ msgid "Address / Port" +#~ msgstr "Адрас / Порт" + #~ msgid "" #~ "Adjust the gamma encoding for the light tables. Higher numbers are " #~ "brighter.\n" @@ -7286,6 +7507,9 @@ msgstr "Таймаўт cURL" #~ msgid "Back" #~ msgstr "Назад" +#~ msgid "Bits per pixel (aka color depth) in fullscreen mode." +#~ msgstr "Біты на піксель (глыбіня колеру) у поўнаэкранным рэжыме." + #~ msgid "Bump Mapping" #~ msgstr "Тэкстураванне маскамі" @@ -7330,12 +7554,25 @@ msgstr "Таймаўт cURL" #~ msgstr "" #~ "Кіруе шырынёй тунэляў. Меншае значэнне стварае больш шырокія тунэлі." +#~ msgid "Credits" +#~ msgstr "Падзякі" + #~ msgid "Crosshair color (R,G,B)." #~ msgstr "Колер перакрыжавання (R,G,B)." +#~ msgid "Damage enabled" +#~ msgstr "Пашкоджанні ўключаныя" + #~ msgid "Darkness sharpness" #~ msgstr "Рэзкасць цемры" +#~ msgid "" +#~ "Default timeout for cURL, stated in milliseconds.\n" +#~ "Only has an effect if compiled with cURL." +#~ msgstr "" +#~ "Прадвызначаны таймаўт для cURL, зададзены ў мілісекундах.\n" +#~ "Уплывае толькі пры кампіляцыі з cURL." + #~ msgid "" #~ "Defines areas of floatland smooth terrain.\n" #~ "Smooth floatlands occur when noise > 0." @@ -7402,6 +7639,15 @@ msgstr "Таймаўт cURL" #~ msgid "FPS in pause menu" #~ msgstr "FPS у меню паўзы" +#~ msgid "Fallback font shadow" +#~ msgstr "Цень рэзервовага шрыфту" + +#~ msgid "Fallback font shadow alpha" +#~ msgstr "Празрыстасць цені рэзервовага шрыфту" + +#~ msgid "Fallback font size" +#~ msgstr "Памер рэзервовага шрыфту" + #~ msgid "Floatland base height noise" #~ msgstr "Шум базавай вышыні лятучых астравоў" @@ -7411,6 +7657,9 @@ msgstr "Таймаўт cURL" #~ msgid "Font shadow alpha (opaqueness, between 0 and 255)." #~ msgstr "Празрыстасць цені шрыфту (ад 0 да 255)." +#~ msgid "Full screen BPP" +#~ msgstr "Глыбіня колеру ў поўнаэкранным рэжыме (бітаў на піксель)" + #~ msgid "Gamma" #~ msgstr "Гама" @@ -7420,6 +7669,9 @@ msgstr "Таймаўт cURL" #~ msgid "Generate normalmaps" #~ msgstr "Генерацыя мапы нармаляў" +#~ msgid "High-precision FPU" +#~ msgstr "Высокадакладны FPU" + #~ msgid "IPv6 support." #~ msgstr "Падтрымка IPv6." @@ -7445,6 +7697,11 @@ msgstr "Таймаўт cURL" #~ msgid "Main menu style" #~ msgstr "Стыль галоўнага меню" +#~ msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." +#~ msgstr "" +#~ "Прымушае DirectX працаваць з LuaJIT. Выключыце, калі гэта выклікае " +#~ "праблемы." + #~ msgid "" #~ "Map generation attributes specific to Mapgen Carpathian.\n" #~ "Flags that are not enabled are not modified from the default.\n" @@ -7486,6 +7743,9 @@ msgstr "Таймаўт cURL" #~ msgid "Minimap in surface mode, Zoom x4" #~ msgstr "Мінімапа ў рэжыме паверхні, павелічэнне х4" +#~ msgid "Name / Password" +#~ msgstr "Імя / Пароль" + #~ msgid "Name/Password" #~ msgstr "Імя/Пароль" @@ -7540,6 +7800,9 @@ msgstr "Таймаўт cURL" #~ msgid "Projecting dungeons" #~ msgstr "Праектаванне падзямелляў" +#~ msgid "PvP enabled" +#~ msgstr "PvP уключаны" + #~ msgid "Reset singleplayer world" #~ msgstr "Скінуць свет адзіночнай гульні" @@ -7549,6 +7812,18 @@ msgstr "Таймаўт cURL" #~ msgid "Shadow limit" #~ msgstr "Ліміт ценяў" +#, fuzzy +#~ msgid "" +#~ "Shadow offset (in pixels) of the fallback font. If 0, then shadow will " +#~ "not be drawn." +#~ msgstr "Зрух цені шрыфту. Калі 0, то цень не будзе паказвацца." + +#~ msgid "Special" +#~ msgstr "Адмысловая" + +#~ msgid "Special key" +#~ msgstr "Адмысловая клавіша" + #~ msgid "Start Singleplayer" #~ msgstr "Пачаць адзіночную гульню" @@ -7595,3 +7870,6 @@ msgstr "Таймаўт cURL" #~ msgid "Yes" #~ msgstr "Так" + +#~ msgid "needs_fallback_font" +#~ msgstr "no" diff --git a/po/bg/minetest.po b/po/bg/minetest.po index 62011a94a..4e8037f24 100644 --- a/po/bg/minetest.po +++ b/po/bg/minetest.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: minetest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-02-23 19:03+0100\n" +"POT-Creation-Date: 2021-06-16 18:27+0200\n" "PO-Revision-Date: 2020-08-04 04:41+0000\n" "Last-Translator: atomicbeef \n" "Language-Team: Bulgarian ' to get more information, or '.help all' to list everything." +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "[all | ]" +msgstr "" + #: builtin/fstk/dialog.lua builtin/fstk/ui.lua src/gui/modalMenu.cpp msgid "OK" msgstr "Добре" @@ -540,7 +607,7 @@ msgstr "" msgid "Browse" msgstr "Преглеждане" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_settings.lua msgid "Disabled" msgstr "Изключено" @@ -585,7 +652,7 @@ msgstr "" msgid "Scale" msgstr "Мащаб" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua msgid "Search" msgstr "Търсене" @@ -719,6 +786,40 @@ msgstr "" "Опитай да включиш публичния списък на сървъри отново и си провай интернет " "връзката." +#: builtin/mainmenu/tab_about.lua +msgid "About" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active Contributors" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active renderer:" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Core Developers" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Open User Data Directory" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "" +"Opens the directory that contains user-provided worlds, games, mods,\n" +"and texture packs in a file manager / explorer." +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Contributors" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Core Developers" +msgstr "" + #: builtin/mainmenu/tab_content.lua msgid "Browse online content" msgstr "" @@ -759,36 +860,6 @@ msgstr "" msgid "Use Texture Pack" msgstr "" -#: builtin/mainmenu/tab_credits.lua -msgid "Active Contributors" -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Core Developers" -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Credits" -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Open User Data Directory" -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "" -"Opens the directory that contains user-provided worlds, games, mods,\n" -"and texture packs in a file manager / explorer." -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Contributors" -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Core Developers" -msgstr "" - #: builtin/mainmenu/tab_local.lua msgid "Announce Server" msgstr "" @@ -817,7 +888,7 @@ msgstr "" msgid "Install games from ContentDB" msgstr "" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Name" msgstr "" @@ -829,7 +900,7 @@ msgstr "" msgid "No world created or selected!" msgstr "" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Password" msgstr "" @@ -837,7 +908,7 @@ msgstr "" msgid "Play Game" msgstr "" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Port" msgstr "" @@ -858,7 +929,11 @@ msgid "Start Game" msgstr "" #: builtin/mainmenu/tab_online.lua -msgid "Address / Port" +msgid "Address" +msgstr "" + +#: builtin/mainmenu/tab_online.lua src/client/keycode.cpp +msgid "Clear" msgstr "" #: builtin/mainmenu/tab_online.lua @@ -869,8 +944,9 @@ msgstr "" msgid "Creative mode" msgstr "" +#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "Damage enabled" +msgid "Damage / PvP" msgstr "" #: builtin/mainmenu/tab_online.lua @@ -878,24 +954,32 @@ msgid "Del. Favorite" msgstr "" #: builtin/mainmenu/tab_online.lua -msgid "Favorite" +msgid "Favorites" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +msgid "Incompatible Servers" msgstr "" #: builtin/mainmenu/tab_online.lua msgid "Join Game" msgstr "" -#: builtin/mainmenu/tab_online.lua -msgid "Name / Password" -msgstr "" - #: builtin/mainmenu/tab_online.lua msgid "Ping" msgstr "" -#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "PvP enabled" +#, fuzzy +msgid "Public Servers" +msgstr "Влажни реки" + +#: builtin/mainmenu/tab_online.lua +msgid "Refresh" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +msgid "Server Description" msgstr "" #: builtin/mainmenu/tab_settings.lua @@ -938,10 +1022,30 @@ msgstr "" msgid "Connected Glass" msgstr "" +#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp +msgid "Dynamic shadows" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Dynamic shadows: " +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Fancy Leaves" msgstr "" +#: builtin/mainmenu/tab_settings.lua +msgid "High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Low" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Medium" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Mipmap" msgstr "" @@ -1031,6 +1135,14 @@ msgstr "" msgid "Trilinear Filter" msgstr "" +#: builtin/mainmenu/tab_settings.lua +msgid "Ultra High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Very Low" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Waving Leaves" msgstr "" @@ -1103,18 +1215,6 @@ 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" - #: src/client/game.cpp msgid "" "\n" @@ -1329,6 +1429,10 @@ msgstr "" msgid "Minimap currently disabled by game or mod" msgstr "" +#: src/client/game.cpp +msgid "Multiplayer" +msgstr "" + #: src/client/game.cpp msgid "Noclip mode disabled" msgstr "" @@ -1470,10 +1574,6 @@ msgstr "" msgid "Caps Lock" msgstr "" -#: src/client/keycode.cpp -msgid "Clear" -msgstr "" - #: src/client/keycode.cpp msgid "Control" msgstr "" @@ -1762,7 +1862,7 @@ msgid "Proceed" msgstr "" #: src/gui/guiKeyChangeMenu.cpp -msgid "\"Special\" = climb down" +msgid "\"Aux1\" = climb down" msgstr "" #: src/gui/guiKeyChangeMenu.cpp @@ -1773,10 +1873,18 @@ msgstr "" msgid "Automatic jumping" msgstr "" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Aux1" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Backward" msgstr "" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Block bounds" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Change camera" msgstr "" @@ -1865,10 +1973,6 @@ msgstr "" msgid "Sneak" msgstr "" -#: src/gui/guiKeyChangeMenu.cpp -msgid "Special" -msgstr "" - #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle HUD" msgstr "" @@ -1954,8 +2058,8 @@ 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 " +"(Android) Use virtual joystick to trigger \"Aux1\" button.\n" +"If enabled, virtual joystick will also tap \"Aux1\" button when out of main " "circle." msgstr "" @@ -2249,6 +2353,14 @@ msgstr "" msgid "Autoscaling mode" msgstr "" +#: src/settings_translation_file.cpp +msgid "Aux1 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Aux1 key for climbing/descending" +msgstr "" + #: src/settings_translation_file.cpp msgid "Backward key" msgstr "" @@ -2293,10 +2405,6 @@ msgstr "" msgid "Biome noise" msgstr "" -#: src/settings_translation_file.cpp -msgid "Bits per pixel (aka color depth) in fullscreen mode." -msgstr "" - #: src/settings_translation_file.cpp msgid "Block send optimize distance" msgstr "" @@ -2395,6 +2503,10 @@ msgid "" "Where 0.0 is minimum light level, 1.0 is maximum light level." msgstr "" +#: src/settings_translation_file.cpp +msgid "Chat command time message threshold" +msgstr "" + #: src/settings_translation_file.cpp msgid "Chat font size" msgstr "" @@ -2491,6 +2603,10 @@ msgstr "" msgid "Colored fog" msgstr "" +#: src/settings_translation_file.cpp +msgid "Colored shadows" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Comma-separated list of flags to hide in the content repository.\n" @@ -2686,8 +2802,9 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"Default timeout for cURL, stated in milliseconds.\n" -"Only has an effect if compiled with cURL." +"Define shadow filtering quality\n" +"This simulates the soft shadows effect by applying a PCF or poisson disk\n" +"but also uses more resources." msgstr "" #: src/settings_translation_file.cpp @@ -2848,6 +2965,12 @@ msgid "" "This support is experimental and API can change." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Enable colored shadows. \n" +"On true translucent nodes cast colored shadows. This is expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable console window" msgstr "" @@ -2872,6 +2995,13 @@ msgstr "" msgid "Enable players getting damage and dying." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Enable poisson disk filtering.\n" +"On true uses poisson disk to make \"soft shadows\". Otherwise uses PCF " +"filtering." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable random user input (only used for testing)." msgstr "" @@ -2994,18 +3124,6 @@ msgstr "" msgid "Fallback font path" msgstr "" -#: src/settings_translation_file.cpp -msgid "Fallback font shadow" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Fallback font shadow alpha" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Fallback font size" -msgstr "" - #: src/settings_translation_file.cpp msgid "Fast key" msgstr "" @@ -3024,7 +3142,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"Fast movement (via the \"special\" key).\n" +"Fast movement (via the \"Aux1\" key).\n" "This requires the \"fast\" privilege on the server." msgstr "" @@ -3058,9 +3176,9 @@ 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." +"which PNG optimizers usually discard, often resulting in dark or\n" +"light edges to transparent textures. Apply a filter to clean that up\n" +"at texture load time. This is automatically enabled if mipmapping is enabled." msgstr "" #: src/settings_translation_file.cpp @@ -3155,10 +3273,6 @@ msgstr "" msgid "Font size of the default font in point (pt)." msgstr "" -#: src/settings_translation_file.cpp -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 "" @@ -3256,10 +3370,6 @@ msgstr "" msgid "Full screen" msgstr "" -#: src/settings_translation_file.cpp -msgid "Full screen BPP" -msgstr "" - #: src/settings_translation_file.cpp msgid "Fullscreen mode." msgstr "" @@ -3353,7 +3463,8 @@ msgid "Heat noise" msgstr "" #: src/settings_translation_file.cpp -msgid "Height component of the initial window size." +msgid "" +"Height component of the initial window size. Ignored in fullscreen mode." msgstr "" #: src/settings_translation_file.cpp @@ -3364,10 +3475,6 @@ msgstr "" msgid "Height select noise" msgstr "" -#: src/settings_translation_file.cpp -msgid "High-precision FPU" -msgstr "" - #: src/settings_translation_file.cpp msgid "Hill steepness" msgstr "" @@ -3599,8 +3706,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"If disabled, \"special\" key is used to fly fast if both fly and fast mode " -"are\n" +"If disabled, \"Aux1\" key is used to fly fast if both fly and fast mode are\n" "enabled." msgstr "" @@ -3622,8 +3728,8 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"If enabled, \"special\" key instead of \"sneak\" key is used for climbing " -"down and\n" +"If enabled, \"Aux1\" key instead of \"Sneak\" key is used for climbing down " +"and\n" "descending." msgstr "" @@ -3667,6 +3773,12 @@ msgid "" "to this distance from the player to the node." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"If the execution of a chat command takes longer than this specified time in\n" +"seconds, add the time information to the chat command message" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "If the file size of debug.txt exceeds the number of megabytes specified in\n" @@ -4555,10 +4667,6 @@ msgid "" "Make fog and sky colors depend on daytime (dawn/sunset) and view direction." msgstr "" -#: src/settings_translation_file.cpp -msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." -msgstr "" - #: src/settings_translation_file.cpp msgid "Makes all liquids opaque" msgstr "" @@ -4630,6 +4738,10 @@ msgstr "" msgid "Map save interval" msgstr "" +#: src/settings_translation_file.cpp +msgid "Map update time" +msgstr "" + #: src/settings_translation_file.cpp msgid "Mapblock limit" msgstr "" @@ -4738,6 +4850,10 @@ msgstr "" msgid "Maximum FPS when the window is not focused, or when the game is paused." msgstr "" +#: src/settings_translation_file.cpp +msgid "Maximum distance to render shadows." +msgstr "" + #: src/settings_translation_file.cpp msgid "Maximum forceloaded blocks" msgstr "" @@ -4844,7 +4960,15 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "Maximum time in ms a file download (e.g. a mod download) may take." +msgid "" +"Maximum time a file download (e.g. a mod download) may take, stated in " +"milliseconds." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum time an interactive request (e.g. server list fetch) may take, " +"stated in milliseconds." msgstr "" #: src/settings_translation_file.cpp @@ -5057,11 +5181,6 @@ 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 " @@ -5160,6 +5279,10 @@ msgstr "" msgid "Player versus player" msgstr "" +#: src/settings_translation_file.cpp +msgid "Poisson filtering" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Port to connect to (UDP).\n" @@ -5494,6 +5617,40 @@ msgstr "" msgid "Set the maximum character length of a chat message sent by clients." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow strength.\n" +"Lower value means lighter shadows, higher value means darker shadows." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow update time.\n" +"Lower value means shadows and map updates faster, but it consume more " +"resources.\n" +"Minimun value 0.001 seconds max value 0.2 seconds" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the soft shadow radius size.\n" +"Lower values mean sharper shadows bigger values softer.\n" +"Minimun value 1.0 and max value 10.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the tilt of Sun/Moon orbit in degrees\n" +"Value of 0 means no tilt / vertical orbit.\n" +"Minimun value 0.0 and max value 60.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set to true to enable Shadow Mapping.\n" +"Requires shaders to be enabled." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Set to true to enable waving leaves.\n" @@ -5512,6 +5669,13 @@ msgid "" "Requires shaders to be enabled." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Sets shadow texture quality to 32 bits.\n" +"On false, 16 bits texture will be used.\n" +"This can cause much more artifacts in the shadow." +msgstr "" + #: src/settings_translation_file.cpp msgid "Shader path" msgstr "" @@ -5524,6 +5688,22 @@ msgid "" "This only works with the OpenGL video backend." msgstr "" +#: src/settings_translation_file.cpp +msgid "Shadow filter quality" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map max distance in nodes to render shadows" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture in 32 bits" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture size" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Shadow offset (in pixels) of the default font. If 0, then shadow will not be " @@ -5531,9 +5711,7 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "" -"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not " -"be drawn." +msgid "Shadow strength" msgstr "" #: src/settings_translation_file.cpp @@ -5579,6 +5757,10 @@ msgid "" "thread, thus reducing jitter." msgstr "" +#: src/settings_translation_file.cpp +msgid "Sky Body Orbit Tilt" +msgstr "" + #: src/settings_translation_file.cpp msgid "Slice w" msgstr "" @@ -5633,18 +5815,14 @@ msgstr "" msgid "Sneaking speed, in nodes per second." msgstr "" +#: src/settings_translation_file.cpp +msgid "Soft shadow radius" +msgstr "" + #: src/settings_translation_file.cpp msgid "Sound" msgstr "" -#: src/settings_translation_file.cpp -msgid "Special key" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Special key for climbing/descending" -msgstr "" - #: src/settings_translation_file.cpp msgid "" "Specifies URL from which client fetches media instead of using UDP.\n" @@ -5766,6 +5944,13 @@ msgstr "" msgid "Texture path" msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Texture size to render the shadow map on.\n" +"This must be a power of two.\n" +"Bigger numbers create better shadowsbut it is also more expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Textures on a node may be aligned either to the node or to the world.\n" @@ -5839,7 +6024,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"The rendering back-end for Irrlicht.\n" +"The rendering back-end.\n" "A restart is required after changing this.\n" "Note: On Android, stick with OGLES1 if unsure! App may fail to start " "otherwise.\n" @@ -6126,7 +6311,7 @@ msgid "Viewing range" msgstr "" #: src/settings_translation_file.cpp -msgid "Virtual joystick triggers aux button" +msgid "Virtual joystick triggers Aux1 button" msgstr "" #: src/settings_translation_file.cpp @@ -6217,9 +6402,8 @@ msgid "" "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" +"memory. Powers of 2 are recommended. This setting is ONLY applies if\n" +"bilinear/trilinear/anisotropic filtering is enabled.\n" "This is also used as the base node texture size for world-aligned\n" "texture autoscaling." msgstr "" @@ -6275,7 +6459,7 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "Width component of the initial window size." +msgid "Width component of the initial window size. Ignored in fullscreen mode." msgstr "" #: src/settings_translation_file.cpp @@ -6382,12 +6566,15 @@ msgid "cURL file download timeout" msgstr "" #: src/settings_translation_file.cpp -msgid "cURL parallel limit" +msgid "cURL interactive timeout" msgstr "" #: src/settings_translation_file.cpp -msgid "cURL timeout" +msgid "cURL parallel limit" msgstr "" #~ msgid "View" #~ msgstr "Гледане" + +#~ msgid "needs_fallback_font" +#~ msgstr "no" diff --git a/po/ca/minetest.po b/po/ca/minetest.po index f9aecf265..a388ebfc1 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: 2021-02-23 19:03+0100\n" +"POT-Creation-Date: 2021-06-16 18:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: Catalan ' to get more information, or '.help all' to list everything." +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "[all | ]" +msgstr "" + #: builtin/fstk/dialog.lua builtin/fstk/ui.lua src/gui/modalMenu.cpp msgid "OK" msgstr "" @@ -566,7 +639,7 @@ msgstr "< Torna a la pàgina de configuració" msgid "Browse" msgstr "Navegar" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_settings.lua msgid "Disabled" msgstr "Desactivat" @@ -610,7 +683,7 @@ msgstr "Restablir per defecte" msgid "Scale" msgstr "" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua msgid "Search" msgstr "Buscar" @@ -763,6 +836,42 @@ msgstr "" "Intenta tornar a habilitar la llista de servidors públics i comprovi la seva " "connexió a Internet ." +#: builtin/mainmenu/tab_about.lua +msgid "About" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active Contributors" +msgstr "Col·laboradors Actius" + +#: builtin/mainmenu/tab_about.lua +#, fuzzy +msgid "Active renderer:" +msgstr "Rang d'enviament de l'objecte actiu" + +#: builtin/mainmenu/tab_about.lua +msgid "Core Developers" +msgstr "Desenvolupadors del nucli" + +#: builtin/mainmenu/tab_about.lua +#, fuzzy +msgid "Open User Data Directory" +msgstr "Selecciona el fitxer del mod:" + +#: builtin/mainmenu/tab_about.lua +msgid "" +"Opens the directory that contains user-provided worlds, games, mods,\n" +"and texture packs in a file manager / explorer." +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Contributors" +msgstr "Antics Col·laboradors" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Core Developers" +msgstr "Antics Desenvolupadors del nucli" + #: builtin/mainmenu/tab_content.lua msgid "Browse online content" msgstr "" @@ -810,37 +919,6 @@ msgstr "Desinstal·lar el mod seleccionat" msgid "Use Texture Pack" msgstr "Textures" -#: builtin/mainmenu/tab_credits.lua -msgid "Active Contributors" -msgstr "Col·laboradors Actius" - -#: builtin/mainmenu/tab_credits.lua -msgid "Core Developers" -msgstr "Desenvolupadors del nucli" - -#: builtin/mainmenu/tab_credits.lua -msgid "Credits" -msgstr "Crèdits" - -#: builtin/mainmenu/tab_credits.lua -#, fuzzy -msgid "Open User Data Directory" -msgstr "Selecciona el fitxer del mod:" - -#: builtin/mainmenu/tab_credits.lua -msgid "" -"Opens the directory that contains user-provided worlds, games, mods,\n" -"and texture packs in a file manager / explorer." -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Contributors" -msgstr "Antics Col·laboradors" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Core Developers" -msgstr "Antics Desenvolupadors del nucli" - #: builtin/mainmenu/tab_local.lua msgid "Announce Server" msgstr "Anunciar servidor" @@ -871,7 +949,7 @@ msgstr "Servidor" msgid "Install games from ContentDB" msgstr "" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Name" msgstr "" @@ -883,7 +961,7 @@ msgstr "Nou" msgid "No world created or selected!" msgstr "No s'ha creat ningun món o no s'ha seleccionat!" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua #, fuzzy msgid "Password" msgstr "Nova contrasenya" @@ -892,7 +970,7 @@ msgstr "Nova contrasenya" msgid "Play Game" msgstr "Jugar Joc" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Port" msgstr "Port" @@ -915,8 +993,13 @@ msgid "Start Game" msgstr "Ocultar Joc" #: builtin/mainmenu/tab_online.lua -msgid "Address / Port" -msgstr "Adreça / Port" +#, fuzzy +msgid "Address" +msgstr "Adreça BIND" + +#: builtin/mainmenu/tab_online.lua src/client/keycode.cpp +msgid "Clear" +msgstr "Netejar" #: builtin/mainmenu/tab_online.lua msgid "Connect" @@ -926,35 +1009,47 @@ msgstr "Connectar" msgid "Creative mode" msgstr "Mode creatiu" +#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "Damage enabled" -msgstr "Dany activat" +#, fuzzy +msgid "Damage / PvP" +msgstr "Dany" #: builtin/mainmenu/tab_online.lua msgid "Del. Favorite" msgstr "Esborra preferit" #: builtin/mainmenu/tab_online.lua -msgid "Favorite" +#, fuzzy +msgid "Favorites" msgstr "Preferit" +#: builtin/mainmenu/tab_online.lua +msgid "Incompatible Servers" +msgstr "" + #: builtin/mainmenu/tab_online.lua #, fuzzy msgid "Join Game" msgstr "Ocultar Joc" -#: builtin/mainmenu/tab_online.lua -msgid "Name / Password" -msgstr "Nom / Contrasenya" - #: builtin/mainmenu/tab_online.lua msgid "Ping" msgstr "Ping" -#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "PvP enabled" -msgstr "PvP activat" +#, fuzzy +msgid "Public Servers" +msgstr "Anunciar servidor" + +#: builtin/mainmenu/tab_online.lua +msgid "Refresh" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +#, fuzzy +msgid "Server Description" +msgstr "Port del Servidor" #: builtin/mainmenu/tab_settings.lua msgid "2x" @@ -998,10 +1093,30 @@ msgstr "Configurar Controls" msgid "Connected Glass" msgstr "Vidres connectats" +#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp +msgid "Dynamic shadows" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Dynamic shadows: " +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Fancy Leaves" msgstr "Fulles Boniques" +#: builtin/mainmenu/tab_settings.lua +msgid "High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Low" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Medium" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Mipmap" msgstr "Mipmap" @@ -1091,6 +1206,14 @@ msgstr "Llindar tàctil (px)" msgid "Trilinear Filter" msgstr "Filtratge Trilineal" +#: builtin/mainmenu/tab_settings.lua +msgid "Ultra High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Very Low" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Waving Leaves" msgstr "Moviment de les Fulles" @@ -1164,18 +1287,6 @@ 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" - #: src/client/game.cpp msgid "" "\n" @@ -1433,6 +1544,11 @@ msgstr "MiB/s" msgid "Minimap currently disabled by game or mod" msgstr "" +#: src/client/game.cpp +#, fuzzy +msgid "Multiplayer" +msgstr "Un jugador" + #: src/client/game.cpp msgid "Noclip mode disabled" msgstr "" @@ -1580,10 +1696,6 @@ msgstr "Enrere" msgid "Caps Lock" msgstr "" -#: src/client/keycode.cpp -msgid "Clear" -msgstr "Netejar" - #: src/client/keycode.cpp msgid "Control" msgstr "Control" @@ -1880,7 +1992,7 @@ msgstr "Continuar" #: src/gui/guiKeyChangeMenu.cpp #, fuzzy -msgid "\"Special\" = climb down" +msgid "\"Aux1\" = climb down" msgstr "\"Utilitzar\" = Descendir" #: src/gui/guiKeyChangeMenu.cpp @@ -1892,10 +2004,18 @@ msgstr "Avant" msgid "Automatic jumping" msgstr "" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Aux1" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Backward" msgstr "Arrere" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Block bounds" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp #, fuzzy msgid "Change camera" @@ -1990,10 +2110,6 @@ msgstr "" msgid "Sneak" msgstr "Discreció" -#: src/gui/guiKeyChangeMenu.cpp -msgid "Special" -msgstr "" - #: src/gui/guiKeyChangeMenu.cpp #, fuzzy msgid "Toggle HUD" @@ -2085,8 +2201,8 @@ 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 " +"(Android) Use virtual joystick to trigger \"Aux1\" button.\n" +"If enabled, virtual joystick will also tap \"Aux1\" button when out of main " "circle." msgstr "" @@ -2413,6 +2529,16 @@ msgstr "Desar automàticament mesures de la pantalla" msgid "Autoscaling mode" msgstr "" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Aux1 key" +msgstr "Tecla botar" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Aux1 key for climbing/descending" +msgstr "Utilitzar la tecla \"utilitzar\" per escalar/descendir" + #: src/settings_translation_file.cpp msgid "Backward key" msgstr "Tecla de retrocés" @@ -2459,10 +2585,6 @@ msgstr "" msgid "Biome noise" msgstr "" -#: src/settings_translation_file.cpp -msgid "Bits per pixel (aka color depth) in fullscreen mode." -msgstr "Bits per píxel (profunditat de color) en el mode de pantalla completa." - #: src/settings_translation_file.cpp msgid "Block send optimize distance" msgstr "" @@ -2567,6 +2689,10 @@ msgid "" "Where 0.0 is minimum light level, 1.0 is maximum light level." msgstr "" +#: src/settings_translation_file.cpp +msgid "Chat command time message threshold" +msgstr "" + #: src/settings_translation_file.cpp #, fuzzy msgid "Chat font size" @@ -2668,6 +2794,11 @@ msgstr "Núvols en el menú" msgid "Colored fog" msgstr "Boira de color" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Colored shadows" +msgstr "Boira de color" + #: src/settings_translation_file.cpp msgid "" "Comma-separated list of flags to hide in the content repository.\n" @@ -2882,11 +3013,10 @@ msgstr "Joc per defecte" #: src/settings_translation_file.cpp msgid "" -"Default timeout for cURL, stated in milliseconds.\n" -"Only has an effect if compiled with cURL." +"Define shadow filtering quality\n" +"This simulates the soft shadows effect by applying a PCF or poisson disk\n" +"but also uses more resources." msgstr "" -"Temporització per defecte per a cURL, manifestat en mil·lisegons.\n" -"Només té un efecte si és compilat amb cURL." #: src/settings_translation_file.cpp msgid "Defines areas where trees have apples." @@ -3050,6 +3180,12 @@ msgid "" "This support is experimental and API can change." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Enable colored shadows. \n" +"On true translucent nodes cast colored shadows. This is expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable console window" msgstr "" @@ -3074,6 +3210,13 @@ msgstr "" msgid "Enable players getting damage and dying." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Enable poisson disk filtering.\n" +"On true uses poisson disk to make \"soft shadows\". Otherwise uses PCF " +"filtering." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable random user input (only used for testing)." msgstr "Habilitar l'entrada aleatòria d'usuari (només utilitzat per testing)." @@ -3196,18 +3339,6 @@ msgstr "" msgid "Fallback font path" msgstr "" -#: src/settings_translation_file.cpp -msgid "Fallback font shadow" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Fallback font shadow alpha" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Fallback font size" -msgstr "" - #: src/settings_translation_file.cpp msgid "Fast key" msgstr "" @@ -3227,7 +3358,7 @@ msgstr "Moviment ràpid" #: src/settings_translation_file.cpp #, fuzzy msgid "" -"Fast movement (via the \"special\" key).\n" +"Fast movement (via the \"Aux1\" key).\n" "This requires the \"fast\" privilege on the server." msgstr "" "Moviment ràpid (via utilitzar clau).\n" @@ -3263,9 +3394,9 @@ 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." +"which PNG optimizers usually discard, often resulting in dark or\n" +"light edges to transparent textures. Apply a filter to clean that up\n" +"at texture load time. This is automatically enabled if mipmapping is enabled." msgstr "" #: src/settings_translation_file.cpp @@ -3361,10 +3492,6 @@ msgstr "" msgid "Font size of the default font in point (pt)." msgstr "" -#: src/settings_translation_file.cpp -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 "" @@ -3462,10 +3589,6 @@ msgstr "" msgid "Full screen" msgstr "" -#: src/settings_translation_file.cpp -msgid "Full screen BPP" -msgstr "" - #: src/settings_translation_file.cpp msgid "Fullscreen mode." msgstr "" @@ -3562,7 +3685,8 @@ msgid "Heat noise" msgstr "Soroll de cova #1" #: src/settings_translation_file.cpp -msgid "Height component of the initial window size." +msgid "" +"Height component of the initial window size. Ignored in fullscreen mode." msgstr "" #: src/settings_translation_file.cpp @@ -3574,10 +3698,6 @@ msgstr "Windows dret" msgid "Height select noise" msgstr "" -#: src/settings_translation_file.cpp -msgid "High-precision FPU" -msgstr "" - #: src/settings_translation_file.cpp msgid "Hill steepness" msgstr "" @@ -3813,8 +3933,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"If disabled, \"special\" key is used to fly fast if both fly and fast mode " -"are\n" +"If disabled, \"Aux1\" key is used to fly fast if both fly and fast mode are\n" "enabled." msgstr "" @@ -3836,8 +3955,8 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"If enabled, \"special\" key instead of \"sneak\" key is used for climbing " -"down and\n" +"If enabled, \"Aux1\" key instead of \"Sneak\" key is used for climbing down " +"and\n" "descending." msgstr "" @@ -3881,6 +4000,12 @@ msgid "" "to this distance from the player to the node." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"If the execution of a chat command takes longer than this specified time in\n" +"seconds, add the time information to the chat command message" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "If the file size of debug.txt exceeds the number of megabytes specified in\n" @@ -4992,10 +5117,6 @@ msgid "" "Make fog and sky colors depend on daytime (dawn/sunset) and view direction." msgstr "" -#: src/settings_translation_file.cpp -msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." -msgstr "" - #: src/settings_translation_file.cpp msgid "Makes all liquids opaque" msgstr "" @@ -5067,6 +5188,10 @@ msgstr "" msgid "Map save interval" msgstr "" +#: src/settings_translation_file.cpp +msgid "Map update time" +msgstr "" + #: src/settings_translation_file.cpp msgid "Mapblock limit" msgstr "" @@ -5184,6 +5309,10 @@ msgstr "" msgid "Maximum FPS when the window is not focused, or when the game is paused." msgstr "" +#: src/settings_translation_file.cpp +msgid "Maximum distance to render shadows." +msgstr "" + #: src/settings_translation_file.cpp msgid "Maximum forceloaded blocks" msgstr "" @@ -5290,7 +5419,15 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "Maximum time in ms a file download (e.g. a mod download) may take." +msgid "" +"Maximum time a file download (e.g. a mod download) may take, stated in " +"milliseconds." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum time an interactive request (e.g. server list fetch) may take, " +"stated in milliseconds." msgstr "" #: src/settings_translation_file.cpp @@ -5504,11 +5641,6 @@ 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 " @@ -5610,6 +5742,11 @@ msgstr "" msgid "Player versus player" msgstr "" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Poisson filtering" +msgstr "Filtre bilineal" + #: src/settings_translation_file.cpp msgid "" "Port to connect to (UDP).\n" @@ -5968,6 +6105,40 @@ msgstr "" msgid "Set the maximum character length of a chat message sent by clients." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow strength.\n" +"Lower value means lighter shadows, higher value means darker shadows." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow update time.\n" +"Lower value means shadows and map updates faster, but it consume more " +"resources.\n" +"Minimun value 0.001 seconds max value 0.2 seconds" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the soft shadow radius size.\n" +"Lower values mean sharper shadows bigger values softer.\n" +"Minimun value 1.0 and max value 10.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the tilt of Sun/Moon orbit in degrees\n" +"Value of 0 means no tilt / vertical orbit.\n" +"Minimun value 0.0 and max value 60.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set to true to enable Shadow Mapping.\n" +"Requires shaders to be enabled." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Set to true to enable waving leaves.\n" @@ -5986,6 +6157,13 @@ msgid "" "Requires shaders to be enabled." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Sets shadow texture quality to 32 bits.\n" +"On false, 16 bits texture will be used.\n" +"This can cause much more artifacts in the shadow." +msgstr "" + #: src/settings_translation_file.cpp #, fuzzy msgid "Shader path" @@ -5999,6 +6177,22 @@ msgid "" "This only works with the OpenGL video backend." msgstr "" +#: src/settings_translation_file.cpp +msgid "Shadow filter quality" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map max distance in nodes to render shadows" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture in 32 bits" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture size" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Shadow offset (in pixels) of the default font. If 0, then shadow will not be " @@ -6006,9 +6200,7 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "" -"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not " -"be drawn." +msgid "Shadow strength" msgstr "" #: src/settings_translation_file.cpp @@ -6054,6 +6246,10 @@ msgid "" "thread, thus reducing jitter." msgstr "" +#: src/settings_translation_file.cpp +msgid "Sky Body Orbit Tilt" +msgstr "" + #: src/settings_translation_file.cpp msgid "Slice w" msgstr "" @@ -6112,20 +6308,15 @@ msgstr "Velocitat d'escalada" msgid "Sneaking speed, in nodes per second." msgstr "" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Soft shadow radius" +msgstr "Radi del núvol" + #: src/settings_translation_file.cpp msgid "Sound" msgstr "" -#: src/settings_translation_file.cpp -#, fuzzy -msgid "Special key" -msgstr "Tecla sigil" - -#: src/settings_translation_file.cpp -#, fuzzy -msgid "Special key for climbing/descending" -msgstr "Utilitzar la tecla \"utilitzar\" per escalar/descendir" - #: src/settings_translation_file.cpp msgid "" "Specifies URL from which client fetches media instead of using UDP.\n" @@ -6248,6 +6439,13 @@ msgstr "" msgid "Texture path" msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Texture size to render the shadow map on.\n" +"This must be a power of two.\n" +"Bigger numbers create better shadowsbut it is also more expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Textures on a node may be aligned either to the node or to the world.\n" @@ -6321,7 +6519,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"The rendering back-end for Irrlicht.\n" +"The rendering back-end.\n" "A restart is required after changing this.\n" "Note: On Android, stick with OGLES1 if unsure! App may fail to start " "otherwise.\n" @@ -6617,7 +6815,7 @@ msgid "Viewing range" msgstr "" #: src/settings_translation_file.cpp -msgid "Virtual joystick triggers aux button" +msgid "Virtual joystick triggers Aux1 button" msgstr "" #: src/settings_translation_file.cpp @@ -6712,9 +6910,8 @@ msgid "" "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" +"memory. Powers of 2 are recommended. This setting is ONLY applies if\n" +"bilinear/trilinear/anisotropic filtering is enabled.\n" "This is also used as the base node texture size for world-aligned\n" "texture autoscaling." msgstr "" @@ -6770,7 +6967,7 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "Width component of the initial window size." +msgid "Width component of the initial window size. Ignored in fullscreen mode." msgstr "" #: src/settings_translation_file.cpp @@ -6881,11 +7078,11 @@ msgid "cURL file download timeout" msgstr "" #: src/settings_translation_file.cpp -msgid "cURL parallel limit" +msgid "cURL interactive timeout" msgstr "" #: src/settings_translation_file.cpp -msgid "cURL timeout" +msgid "cURL parallel limit" msgstr "" #~ msgid "" @@ -6895,6 +7092,9 @@ msgstr "" #~ "0 = oclusió de la paral.laxi amb informació d'inclinació (més ràpid).\n" #~ "1 = mapa de relleu (més lent, més precís)." +#~ msgid "Address / Port" +#~ msgstr "Adreça / Port" + #, fuzzy #~ msgid "" #~ "Adjust the gamma encoding for the light tables. Higher numbers are " @@ -6911,6 +7111,10 @@ msgstr "" #~ msgid "Back" #~ msgstr "Enrere" +#~ msgid "Bits per pixel (aka color depth) in fullscreen mode." +#~ msgstr "" +#~ "Bits per píxel (profunditat de color) en el mode de pantalla completa." + #~ msgid "Bump Mapping" #~ msgstr "Mapat de relleu" @@ -6927,9 +7131,22 @@ msgstr "" #~ msgstr "" #~ "Controla l'amplada dels túnels, un valor més petit crea túnels més amples." +#~ msgid "Credits" +#~ msgstr "Crèdits" + #~ msgid "Crosshair color (R,G,B)." #~ msgstr "Color del punt de mira (R, G, B)." +#~ msgid "Damage enabled" +#~ msgstr "Dany activat" + +#~ msgid "" +#~ "Default timeout for cURL, stated in milliseconds.\n" +#~ "Only has an effect if compiled with cURL." +#~ msgstr "" +#~ "Temporització per defecte per a cURL, manifestat en mil·lisegons.\n" +#~ "Només té un efecte si és compilat amb cURL." + #, fuzzy #~ msgid "Downloading and installing $1, please wait..." #~ msgstr "Descarregant $1, si us plau esperi ..." @@ -6948,6 +7165,9 @@ msgstr "" #~ msgid "Main menu style" #~ msgstr "Menú principal" +#~ msgid "Name / Password" +#~ msgstr "Nom / Contrasenya" + #~ msgid "Name/Password" #~ msgstr "Nom/Contrasenya" @@ -6964,6 +7184,9 @@ msgstr "" #~ msgid "Parallax occlusion scale" #~ msgstr "Oclusió de paral·laxi" +#~ msgid "PvP enabled" +#~ msgstr "PvP activat" + #, fuzzy #~ msgid "Reset singleplayer world" #~ msgstr "Reiniciar el mon individual" @@ -6972,6 +7195,10 @@ msgstr "" #~ msgid "Select Package File:" #~ msgstr "Selecciona el fitxer del mod:" +#, fuzzy +#~ msgid "Special key" +#~ msgstr "Tecla sigil" + #~ msgid "Start Singleplayer" #~ msgstr "Començar Un Jugador" @@ -6980,3 +7207,6 @@ msgstr "" #~ msgid "Yes" #~ msgstr "Sí" + +#~ msgid "needs_fallback_font" +#~ msgstr "no" diff --git a/po/cs/minetest.po b/po/cs/minetest.po index 1bb3a4336..ac3d06de3 100644 --- a/po/cs/minetest.po +++ b/po/cs/minetest.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Czech (Minetest)\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-02-23 19:03+0100\n" +"POT-Creation-Date: 2021-06-16 18:27+0200\n" "PO-Revision-Date: 2021-02-03 04:31+0000\n" "Last-Translator: Vít Skalický \n" "Language-Team: Czech =2 && n<=4) ? 1 : 2;\n" "X-Generator: Weblate 4.5-dev\n" +#: builtin/client/chatcommands.lua +msgid "Clear the out chat queue" +msgstr "" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Empty command." +msgstr "Příkazy" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Exit to main menu" +msgstr "Odejít do nabídky" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Invalid command: " +msgstr "Místní příkaz" + +#: builtin/client/chatcommands.lua +msgid "Issued command: " +msgstr "" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "List online players" +msgstr "Místní hra" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Online players: " +msgstr "Místní hra" + +#: builtin/client/chatcommands.lua +msgid "The out chat queue is now empty." +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "This command is disabled by server." +msgstr "" + #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" msgstr "Oživit" @@ -22,6 +63,38 @@ msgstr "Oživit" msgid "You died" msgstr "Zemřel jsi" +#: builtin/client/death_formspec.lua +#, fuzzy +msgid "You died." +msgstr "Zemřel jsi" + +#: builtin/common/chatcommands.lua +#, fuzzy +msgid "Available commands:" +msgstr "Místní příkaz" + +#: builtin/common/chatcommands.lua +#, fuzzy +msgid "Available commands: " +msgstr "Místní příkaz" + +#: builtin/common/chatcommands.lua +msgid "Command not available: " +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "Get help for commands" +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "" +"Use '.help ' to get more information, or '.help all' to list everything." +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "[all | ]" +msgstr "" + #: builtin/fstk/dialog.lua builtin/fstk/ui.lua src/gui/modalMenu.cpp msgid "OK" msgstr "OK" @@ -550,7 +623,7 @@ msgstr "< Zpět do Nastavení" msgid "Browse" msgstr "Procházet" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_settings.lua msgid "Disabled" msgstr "Vypnuto" @@ -594,7 +667,7 @@ msgstr "Obnovit výchozí" msgid "Scale" msgstr "Přiblížení" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua msgid "Search" msgstr "Hledat" @@ -731,6 +804,42 @@ msgstr "" "Zkuste znovu povolit seznam veřejných serverů a zkontrolujte své internetové " "připojení." +#: builtin/mainmenu/tab_about.lua +msgid "About" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active Contributors" +msgstr "Aktivní přispěvatelé" + +#: builtin/mainmenu/tab_about.lua +#, fuzzy +msgid "Active renderer:" +msgstr "Odesílací rozsah aktivních bloků" + +#: builtin/mainmenu/tab_about.lua +msgid "Core Developers" +msgstr "Hlavní vývojáři" + +#: builtin/mainmenu/tab_about.lua +#, fuzzy +msgid "Open User Data Directory" +msgstr "Vyberte adresář" + +#: builtin/mainmenu/tab_about.lua +msgid "" +"Opens the directory that contains user-provided worlds, games, mods,\n" +"and texture packs in a file manager / explorer." +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Contributors" +msgstr "Bývalí přispěvatelé" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Core Developers" +msgstr "Bývalí klíčoví vývojáři" + #: builtin/mainmenu/tab_content.lua msgid "Browse online content" msgstr "Procházet online obsah" @@ -771,37 +880,6 @@ msgstr "Odinstalovat balíček" msgid "Use Texture Pack" msgstr "Použít Rozšíření Textur" -#: builtin/mainmenu/tab_credits.lua -msgid "Active Contributors" -msgstr "Aktivní přispěvatelé" - -#: builtin/mainmenu/tab_credits.lua -msgid "Core Developers" -msgstr "Hlavní vývojáři" - -#: builtin/mainmenu/tab_credits.lua -msgid "Credits" -msgstr "Autoři" - -#: builtin/mainmenu/tab_credits.lua -#, fuzzy -msgid "Open User Data Directory" -msgstr "Vyberte adresář" - -#: builtin/mainmenu/tab_credits.lua -msgid "" -"Opens the directory that contains user-provided worlds, games, mods,\n" -"and texture packs in a file manager / explorer." -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Contributors" -msgstr "Bývalí přispěvatelé" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Core Developers" -msgstr "Bývalí klíčoví vývojáři" - #: builtin/mainmenu/tab_local.lua msgid "Announce Server" msgstr "Uveřejnit server" @@ -830,7 +908,7 @@ msgstr "Založit server" msgid "Install games from ContentDB" msgstr "" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Name" msgstr "" @@ -842,7 +920,7 @@ msgstr "Nový" msgid "No world created or selected!" msgstr "Žádný svět nebyl vytvořen ani vybrán!" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua #, fuzzy msgid "Password" msgstr "Nové heslo" @@ -851,7 +929,7 @@ msgstr "Nové heslo" msgid "Play Game" msgstr "Spustit hru" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Port" msgstr "Port" @@ -873,8 +951,13 @@ msgid "Start Game" msgstr "Spustit hru" #: builtin/mainmenu/tab_online.lua -msgid "Address / Port" -msgstr "Adresa / Port" +#, fuzzy +msgid "Address" +msgstr "- Adresa: " + +#: builtin/mainmenu/tab_online.lua src/client/keycode.cpp +msgid "Clear" +msgstr "Vyčistit" #: builtin/mainmenu/tab_online.lua msgid "Connect" @@ -884,34 +967,46 @@ msgstr "Připojit" msgid "Creative mode" msgstr "Kreativní mód" +#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "Damage enabled" -msgstr "Zranění povoleno" +#, fuzzy +msgid "Damage / PvP" +msgstr "Zranění" #: builtin/mainmenu/tab_online.lua msgid "Del. Favorite" msgstr "Smazat oblíbené" #: builtin/mainmenu/tab_online.lua -msgid "Favorite" +#, fuzzy +msgid "Favorites" msgstr "Oblíbené" +#: builtin/mainmenu/tab_online.lua +msgid "Incompatible Servers" +msgstr "" + #: builtin/mainmenu/tab_online.lua msgid "Join Game" msgstr "Připojit se ke hře" -#: builtin/mainmenu/tab_online.lua -msgid "Name / Password" -msgstr "Jméno / Heslo" - #: builtin/mainmenu/tab_online.lua msgid "Ping" msgstr "Ping" -#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "PvP enabled" -msgstr "PvP (hráč proti hráči) povoleno" +#, fuzzy +msgid "Public Servers" +msgstr "Uveřejnit server" + +#: builtin/mainmenu/tab_online.lua +msgid "Refresh" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +#, fuzzy +msgid "Server Description" +msgstr "Popis serveru" #: builtin/mainmenu/tab_settings.lua msgid "2x" @@ -953,10 +1048,31 @@ msgstr "Změnit klávesy" msgid "Connected Glass" msgstr "Propojené sklo" +#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp +#, fuzzy +msgid "Dynamic shadows" +msgstr "Stín písma" + +#: builtin/mainmenu/tab_settings.lua +msgid "Dynamic shadows: " +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Fancy Leaves" msgstr "Vícevrstevné listí" +#: builtin/mainmenu/tab_settings.lua +msgid "High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Low" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Medium" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Mipmap" msgstr "Mipmapy zapnuté" @@ -1046,6 +1162,14 @@ msgstr "Dosah dotyku: (px)" msgid "Trilinear Filter" msgstr "Trilineární filtr" +#: builtin/mainmenu/tab_settings.lua +msgid "Ultra High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Very Low" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Waving Leaves" msgstr "Vlnění listů" @@ -1119,18 +1243,6 @@ msgstr "Soubor s heslem nebylo možné otevřít: " 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" - #: src/client/game.cpp msgid "" "\n" @@ -1373,6 +1485,11 @@ msgstr "MiB/s" msgid "Minimap currently disabled by game or mod" msgstr "Minimapa je aktuálně zakázána" +#: src/client/game.cpp +#, fuzzy +msgid "Multiplayer" +msgstr "Místní hra" + #: src/client/game.cpp msgid "Noclip mode disabled" msgstr "Režim bez ořezu zakázán" @@ -1514,10 +1631,6 @@ msgstr "Backspace" msgid "Caps Lock" msgstr "Caps Lock" -#: src/client/keycode.cpp -msgid "Clear" -msgstr "Vyčistit" - #: src/client/keycode.cpp msgid "Control" msgstr "Control" @@ -1812,7 +1925,8 @@ msgid "Proceed" msgstr "Pokračovat" #: src/gui/guiKeyChangeMenu.cpp -msgid "\"Special\" = climb down" +#, fuzzy +msgid "\"Aux1\" = climb down" msgstr "„Speciální“ = sestoupit dolů" #: src/gui/guiKeyChangeMenu.cpp @@ -1823,10 +1937,18 @@ msgstr "Automaticky vpřed" msgid "Automatic jumping" msgstr "Automaticky skákat" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Aux1" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Backward" msgstr "Vzad" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Block bounds" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Change camera" msgstr "Změnit nastavení kamery" @@ -1917,10 +2039,6 @@ msgstr "Snímek obrazovky" msgid "Sneak" msgstr "Plížit se" -#: src/gui/guiKeyChangeMenu.cpp -msgid "Special" -msgstr "Speciální" - #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle HUD" msgstr "Zapnout/Vypnout ovládací prvky" @@ -2007,9 +2125,10 @@ msgstr "" "Pokud je zakázán, virtuální joystick se upraví podle umístění prvního dotyku." #: 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 " +"(Android) Use virtual joystick to trigger \"Aux1\" button.\n" +"If enabled, virtual joystick will also tap \"Aux1\" button when out of main " "circle." msgstr "" "(Android) Použít virtuální joystick pro stisknutí tlačítka 'aux'.\n" @@ -2358,6 +2477,16 @@ msgstr "Ukládat velikost obr." msgid "Autoscaling mode" msgstr "Režim automatického přiblížení" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Aux1 key" +msgstr "Klávesa skoku" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Aux1 key for climbing/descending" +msgstr "Klávesa pro výstup/sestup" + #: src/settings_translation_file.cpp msgid "Backward key" msgstr "Vzad" @@ -2405,10 +2534,6 @@ msgstr "Parametry tepelného a vlhkostního šumu pro Biome API" msgid "Biome noise" msgstr "Šum biomů" -#: src/settings_translation_file.cpp -msgid "Bits per pixel (aka color depth) in fullscreen mode." -msgstr "Bitová hloubka (bity na pixel) v celoobrazovkovém režimu." - #: src/settings_translation_file.cpp msgid "Block send optimize distance" msgstr "Optimalizace vzdálenosti vysílání bloku" @@ -2512,6 +2637,11 @@ msgid "" "Where 0.0 is minimum light level, 1.0 is maximum light level." msgstr "" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Chat command time message threshold" +msgstr "Práh pouštního šumu" + #: src/settings_translation_file.cpp #, fuzzy msgid "Chat font size" @@ -2613,6 +2743,11 @@ msgstr "Mraky v menu" msgid "Colored fog" msgstr "Barevná mlha" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Colored shadows" +msgstr "Barevná mlha" + #: src/settings_translation_file.cpp msgid "" "Comma-separated list of flags to hide in the content repository.\n" @@ -2823,11 +2958,10 @@ msgstr "Výchozí hra" #: src/settings_translation_file.cpp msgid "" -"Default timeout for cURL, stated in milliseconds.\n" -"Only has an effect if compiled with cURL." +"Define shadow filtering quality\n" +"This simulates the soft shadows effect by applying a PCF or poisson disk\n" +"but also uses more resources." msgstr "" -"Výchozí časový limit požadavku pro cURL, v milisekundách.\n" -"Má vliv, pouze pokud byl program sestaven s cURL." #: src/settings_translation_file.cpp msgid "Defines areas where trees have apples." @@ -3009,6 +3143,12 @@ msgstr "" "Zapnout podporu Lua modů na straně klienta.\n" "Tato funkce je experimentální a její API se může změnit." +#: src/settings_translation_file.cpp +msgid "" +"Enable colored shadows. \n" +"On true translucent nodes cast colored shadows. This is expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable console window" msgstr "Povolit konzolové okno" @@ -3036,6 +3176,13 @@ msgstr "Zapnout zabezpečení módů" msgid "Enable players getting damage and dying." msgstr "Povolit zraňování a umírání hráčů." +#: src/settings_translation_file.cpp +msgid "" +"Enable poisson disk filtering.\n" +"On true uses poisson disk to make \"soft shadows\". Otherwise uses PCF " +"filtering." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable random user input (only used for testing)." msgstr "Povolit náhodný uživatelský vstup (pouze pro testování)." @@ -3174,18 +3321,6 @@ msgstr "Součinitel houpání pohledu při pádu" msgid "Fallback font path" msgstr "Záložní písmo" -#: src/settings_translation_file.cpp -msgid "Fallback font shadow" -msgstr "Stín záložního písma" - -#: src/settings_translation_file.cpp -msgid "Fallback font shadow alpha" -msgstr "Průhlednost stínu záložního písma" - -#: src/settings_translation_file.cpp -msgid "Fallback font size" -msgstr "Velikost záložního písma" - #: src/settings_translation_file.cpp msgid "Fast key" msgstr "Klávesa pro přepnutí turbo režimu" @@ -3205,7 +3340,7 @@ msgstr "Turbo režim pohybu" #: src/settings_translation_file.cpp #, fuzzy msgid "" -"Fast movement (via the \"special\" key).\n" +"Fast movement (via the \"Aux1\" key).\n" "This requires the \"fast\" privilege on the server." msgstr "" "Turbo režim pohybu (pomocí klávesy použít).\n" @@ -3246,9 +3381,9 @@ msgstr "Filmový tone mapping" #, 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" -"light edge to transparent textures. Apply this filter to clean that up\n" -"at texture load time." +"which PNG optimizers usually discard, often resulting in dark or\n" +"light edges to transparent textures. Apply a filter to clean that up\n" +"at texture load time. This is automatically enabled if mipmapping is enabled." msgstr "" "Okraje filtrovaných textur se mohou mísit s průhlednými sousedními pixely,\n" "které PNG optimizery obvykle zahazují. To může vyústit v tmavý nebo světlý\n" @@ -3356,10 +3491,6 @@ msgstr "Velikost písma" msgid "Font size of the default font in point (pt)." msgstr "" -#: src/settings_translation_file.cpp -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 "" @@ -3469,10 +3600,6 @@ msgstr "" msgid "Full screen" msgstr "Celá obrazovka" -#: src/settings_translation_file.cpp -msgid "Full screen BPP" -msgstr "Bitová hloubka v celoobrazovkovém režimu" - #: src/settings_translation_file.cpp msgid "Fullscreen mode." msgstr "Celoobrazovkový režim." @@ -3585,7 +3712,9 @@ msgid "Heat noise" msgstr "Tepelný šum" #: src/settings_translation_file.cpp -msgid "Height component of the initial window size." +#, fuzzy +msgid "" +"Height component of the initial window size. Ignored in fullscreen mode." msgstr "Výšková část počáteční velikosti okna." #: src/settings_translation_file.cpp @@ -3596,10 +3725,6 @@ msgstr "Výškový šum" msgid "Height select noise" msgstr "Šum vybírání výšky" -#: src/settings_translation_file.cpp -msgid "High-precision FPU" -msgstr "Výpočty ve FPU s vysokou přesností" - #: src/settings_translation_file.cpp msgid "Hill steepness" msgstr "Strmost kopců" @@ -3874,8 +3999,7 @@ msgstr "" #: src/settings_translation_file.cpp #, fuzzy msgid "" -"If disabled, \"special\" key is used to fly fast if both fly and fast mode " -"are\n" +"If disabled, \"Aux1\" key is used to fly fast if both fly and fast mode are\n" "enabled." msgstr "" "V zakázaném stavu způsobí, že klávesa \"použít\" je použita k aktivaci " @@ -3908,8 +4032,8 @@ msgstr "" #: src/settings_translation_file.cpp #, fuzzy msgid "" -"If enabled, \"special\" key instead of \"sneak\" key is used for climbing " -"down and\n" +"If enabled, \"Aux1\" key instead of \"Sneak\" key is used for climbing down " +"and\n" "descending." msgstr "" "Když zapnuto, místo klávesy \"plížit se\" se ke slézání a potápění používá " @@ -3962,6 +4086,12 @@ msgid "" "to this distance from the player to the node." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"If the execution of a chat command takes longer than this specified time in\n" +"seconds, add the time information to the chat command message" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "If the file size of debug.txt exceeds the number of megabytes specified in\n" @@ -5046,10 +5176,6 @@ msgid "" "Make fog and sky colors depend on daytime (dawn/sunset) and view direction." msgstr "" -#: src/settings_translation_file.cpp -msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." -msgstr "" - #: src/settings_translation_file.cpp msgid "Makes all liquids opaque" msgstr "" @@ -5149,6 +5275,10 @@ msgstr "" msgid "Map save interval" msgstr "Interval ukládání mapy" +#: src/settings_translation_file.cpp +msgid "Map update time" +msgstr "" + #: src/settings_translation_file.cpp msgid "Mapblock limit" msgstr "" @@ -5265,6 +5395,10 @@ msgstr "Maximální FPS" msgid "Maximum FPS when the window is not focused, or when the game is paused." msgstr "" +#: src/settings_translation_file.cpp +msgid "Maximum distance to render shadows." +msgstr "" + #: src/settings_translation_file.cpp msgid "Maximum forceloaded blocks" msgstr "" @@ -5371,7 +5505,15 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "Maximum time in ms a file download (e.g. a mod download) may take." +msgid "" +"Maximum time a file download (e.g. a mod download) may take, stated in " +"milliseconds." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum time an interactive request (e.g. server list fetch) may take, " +"stated in milliseconds." msgstr "" #: src/settings_translation_file.cpp @@ -5586,11 +5728,6 @@ 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 " @@ -5692,6 +5829,11 @@ msgstr "" msgid "Player versus player" msgstr "Hráč proti hráči (PvP)" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Poisson filtering" +msgstr "Bilineární filtrování" + #: src/settings_translation_file.cpp msgid "" "Port to connect to (UDP).\n" @@ -6058,6 +6200,43 @@ msgstr "" msgid "Set the maximum character length of a chat message sent by clients." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow strength.\n" +"Lower value means lighter shadows, higher value means darker shadows." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow update time.\n" +"Lower value means shadows and map updates faster, but it consume more " +"resources.\n" +"Minimun value 0.001 seconds max value 0.2 seconds" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the soft shadow radius size.\n" +"Lower values mean sharper shadows bigger values softer.\n" +"Minimun value 1.0 and max value 10.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the tilt of Sun/Moon orbit in degrees\n" +"Value of 0 means no tilt / vertical orbit.\n" +"Minimun value 0.0 and max value 60.0" +msgstr "" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "" +"Set to true to enable Shadow Mapping.\n" +"Requires shaders to be enabled." +msgstr "" +"Zapne parallax occlusion mapping.\n" +"Nastavení vyžaduje zapnuté shadery." + #: src/settings_translation_file.cpp #, fuzzy msgid "" @@ -6085,6 +6264,13 @@ msgstr "" "Zapne parallax occlusion mapping.\n" "Nastavení vyžaduje zapnuté shadery." +#: src/settings_translation_file.cpp +msgid "" +"Sets shadow texture quality to 32 bits.\n" +"On false, 16 bits texture will be used.\n" +"This can cause much more artifacts in the shadow." +msgstr "" + #: src/settings_translation_file.cpp msgid "Shader path" msgstr "Cesta k shaderům" @@ -6097,6 +6283,24 @@ msgid "" "This only works with the OpenGL video backend." msgstr "" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Shadow filter quality" +msgstr "Kvalita snímků obrazovky" + +#: src/settings_translation_file.cpp +msgid "Shadow map max distance in nodes to render shadows" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture in 32 bits" +msgstr "" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Shadow map texture size" +msgstr "Minimální velikost textury k filtrování" + #: src/settings_translation_file.cpp #, fuzzy msgid "" @@ -6105,11 +6309,8 @@ msgid "" 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." +msgid "Shadow strength" +msgstr "" #: src/settings_translation_file.cpp msgid "Shape of the minimap. Enabled = round, disabled = square." @@ -6154,6 +6355,10 @@ msgid "" "thread, thus reducing jitter." msgstr "" +#: src/settings_translation_file.cpp +msgid "Sky Body Orbit Tilt" +msgstr "" + #: src/settings_translation_file.cpp msgid "Slice w" msgstr "" @@ -6209,20 +6414,15 @@ msgstr "Rychlost chůze" msgid "Sneaking speed, in nodes per second." msgstr "" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Soft shadow radius" +msgstr "Průhlednost stínu písma" + #: src/settings_translation_file.cpp msgid "Sound" msgstr "Zvuk" -#: src/settings_translation_file.cpp -#, fuzzy -msgid "Special key" -msgstr "Klávesa plížení" - -#: src/settings_translation_file.cpp -#, fuzzy -msgid "Special key for climbing/descending" -msgstr "Klávesa pro výstup/sestup" - #: src/settings_translation_file.cpp msgid "" "Specifies URL from which client fetches media instead of using UDP.\n" @@ -6346,6 +6546,13 @@ msgstr "" msgid "Texture path" msgstr "Cesta k texturám" +#: src/settings_translation_file.cpp +msgid "" +"Texture size to render the shadow map on.\n" +"This must be a power of two.\n" +"Bigger numbers create better shadowsbut it is also more expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Textures on a node may be aligned either to the node or to the world.\n" @@ -6419,7 +6626,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"The rendering back-end for Irrlicht.\n" +"The rendering back-end.\n" "A restart is required after changing this.\n" "Note: On Android, stick with OGLES1 if unsure! App may fail to start " "otherwise.\n" @@ -6711,7 +6918,7 @@ msgid "Viewing range" msgstr "Vzdálenost dohledu" #: src/settings_translation_file.cpp -msgid "Virtual joystick triggers aux button" +msgid "Virtual joystick triggers Aux1 button" msgstr "" #: src/settings_translation_file.cpp @@ -6809,9 +7016,8 @@ msgid "" "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" +"memory. Powers of 2 are recommended. This setting is ONLY applies if\n" +"bilinear/trilinear/anisotropic filtering is enabled.\n" "This is also used as the base node texture size for world-aligned\n" "texture autoscaling." msgstr "" @@ -6867,8 +7073,9 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "Width component of the initial window size." -msgstr "" +#, fuzzy +msgid "Width component of the initial window size. Ignored in fullscreen mode." +msgstr "Výšková část počáteční velikosti okna." #: src/settings_translation_file.cpp msgid "Width of the selection box lines around nodes." @@ -6976,12 +7183,13 @@ msgid "cURL file download timeout" msgstr "" #: src/settings_translation_file.cpp -msgid "cURL parallel limit" -msgstr "cURL limit paralelních stahování" +#, fuzzy +msgid "cURL interactive timeout" +msgstr "cURL timeout" #: src/settings_translation_file.cpp -msgid "cURL timeout" -msgstr "cURL timeout" +msgid "cURL parallel limit" +msgstr "cURL limit paralelních stahování" #~ msgid "" #~ "0 = parallax occlusion with slope information (faster).\n" @@ -6990,6 +7198,9 @@ msgstr "cURL timeout" #~ "0 = parallax occlusion s informacemi o sklonu (rychlejší).\n" #~ "1 = mapování reliéfu (pomalejší, ale přesnější)." +#~ msgid "Address / Port" +#~ msgstr "Adresa / Port" + #~ msgid "" #~ "Adjust the gamma encoding for the light tables. Higher numbers are " #~ "brighter.\n" @@ -7005,6 +7216,9 @@ msgstr "cURL timeout" #~ msgid "Back" #~ msgstr "Zpět" +#~ msgid "Bits per pixel (aka color depth) in fullscreen mode." +#~ msgstr "Bitová hloubka (bity na pixel) v celoobrazovkovém režimu." + #~ msgid "Bump Mapping" #~ msgstr "Bump mapping" @@ -7028,9 +7242,22 @@ msgstr "cURL timeout" #~ msgid "Controls width of tunnels, a smaller value creates wider tunnels." #~ msgstr "Ovládá šířku tunelů, menší hodnota vytváří širší tunely." +#~ msgid "Credits" +#~ msgstr "Autoři" + #~ msgid "Crosshair color (R,G,B)." #~ msgstr "Barva zaměřovače (R,G,B)." +#~ msgid "Damage enabled" +#~ msgstr "Zranění povoleno" + +#~ msgid "" +#~ "Default timeout for cURL, stated in milliseconds.\n" +#~ "Only has an effect if compiled with cURL." +#~ msgstr "" +#~ "Výchozí časový limit požadavku pro cURL, v milisekundách.\n" +#~ "Má vliv, pouze pokud byl program sestaven s cURL." + #~ msgid "" #~ "Defines areas of floatland smooth terrain.\n" #~ "Smooth floatlands occur when noise > 0." @@ -7088,12 +7315,24 @@ msgstr "cURL timeout" #~ msgid "FPS in pause menu" #~ msgstr "FPS v menu pauzy" +#~ msgid "Fallback font shadow" +#~ msgstr "Stín záložního písma" + +#~ msgid "Fallback font shadow alpha" +#~ msgstr "Průhlednost stínu záložního písma" + +#~ msgid "Fallback font size" +#~ msgstr "Velikost záložního písma" + #~ msgid "Floatland base height noise" #~ msgstr "Šum základní výšky létajících ostrovů" #~ msgid "Font shadow alpha (opaqueness, between 0 and 255)." #~ msgstr "Neprůhlednost stínu písma (od 0 do 255)." +#~ msgid "Full screen BPP" +#~ msgstr "Bitová hloubka v celoobrazovkovém režimu" + #~ msgid "Gamma" #~ msgstr "Gamma" @@ -7103,6 +7342,9 @@ msgstr "cURL timeout" #~ msgid "Generate normalmaps" #~ msgstr "Generovat normálové mapy" +#~ msgid "High-precision FPU" +#~ msgstr "Výpočty ve FPU s vysokou přesností" + #~ msgid "IPv6 support." #~ msgstr "" #~ "Nastavuje reálnou délku dne.\n" @@ -7132,6 +7374,9 @@ msgstr "cURL timeout" #~ msgid "Minimap in surface mode, Zoom x4" #~ msgstr "Minimapa v režimu povrch, Přiblížení x4" +#~ msgid "Name / Password" +#~ msgstr "Jméno / Heslo" + #~ msgid "Name/Password" #~ msgstr "Jméno/Heslo" @@ -7160,6 +7405,9 @@ msgstr "cURL timeout" #~ msgid "Parallax occlusion scale" #~ msgstr "Škála parallax occlusion" +#~ msgid "PvP enabled" +#~ msgstr "PvP (hráč proti hráči) povoleno" + #~ msgid "Reset singleplayer world" #~ msgstr "Reset místního světa" @@ -7167,6 +7415,20 @@ msgstr "cURL timeout" #~ msgid "Select Package File:" #~ msgstr "Vybrat soubor s modem:" +#, 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." + +#~ msgid "Special" +#~ msgstr "Speciální" + +#, fuzzy +#~ msgid "Special key" +#~ msgstr "Klávesa plížení" + #~ msgid "Start Singleplayer" #~ msgstr "Start místní hry" @@ -7184,3 +7446,6 @@ msgstr "cURL timeout" #~ msgid "Yes" #~ msgstr "Ano" + +#~ msgid "needs_fallback_font" +#~ msgstr "no" diff --git a/po/da/minetest.po b/po/da/minetest.po index 5a11a9779..ff40ba138 100644 --- a/po/da/minetest.po +++ b/po/da/minetest.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Danish (Minetest)\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-02-23 19:03+0100\n" +"POT-Creation-Date: 2021-06-16 18:27+0200\n" "PO-Revision-Date: 2020-03-31 10:14+0000\n" "Last-Translator: sfan5 \n" "Language-Team: Danish ' to get more information, or '.help all' to list everything." +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "[all | ]" +msgstr "" + #: builtin/fstk/dialog.lua builtin/fstk/ui.lua src/gui/modalMenu.cpp msgid "OK" msgstr "" @@ -557,7 +630,7 @@ msgstr "< Tilbage til siden Indstillinger" msgid "Browse" msgstr "Gennemse" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_settings.lua msgid "Disabled" msgstr "Deaktiveret" @@ -602,7 +675,7 @@ msgstr "Gendan standard" msgid "Scale" msgstr "Skala" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua msgid "Search" msgstr "Søg" @@ -738,6 +811,42 @@ msgstr "" "Prøv at slå den offentlige serverliste fra og til, og tjek din internet " "forbindelse." +#: builtin/mainmenu/tab_about.lua +msgid "About" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active Contributors" +msgstr "Aktive bidragere" + +#: builtin/mainmenu/tab_about.lua +#, fuzzy +msgid "Active renderer:" +msgstr "Aktivt objektafsendelsesinterval" + +#: builtin/mainmenu/tab_about.lua +msgid "Core Developers" +msgstr "Primære udviklere" + +#: builtin/mainmenu/tab_about.lua +#, fuzzy +msgid "Open User Data Directory" +msgstr "Vælg mappe" + +#: builtin/mainmenu/tab_about.lua +msgid "" +"Opens the directory that contains user-provided worlds, games, mods,\n" +"and texture packs in a file manager / explorer." +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Contributors" +msgstr "Tidligere bidragere" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Core Developers" +msgstr "Tidligere primære udviklere" + #: builtin/mainmenu/tab_content.lua msgid "Browse online content" msgstr "Gennemse online indhold" @@ -778,37 +887,6 @@ msgstr "Afinstaller den valgte pakke" msgid "Use Texture Pack" msgstr "Anvend teksturpakker" -#: builtin/mainmenu/tab_credits.lua -msgid "Active Contributors" -msgstr "Aktive bidragere" - -#: builtin/mainmenu/tab_credits.lua -msgid "Core Developers" -msgstr "Primære udviklere" - -#: builtin/mainmenu/tab_credits.lua -msgid "Credits" -msgstr "Skabt af" - -#: builtin/mainmenu/tab_credits.lua -#, fuzzy -msgid "Open User Data Directory" -msgstr "Vælg mappe" - -#: builtin/mainmenu/tab_credits.lua -msgid "" -"Opens the directory that contains user-provided worlds, games, mods,\n" -"and texture packs in a file manager / explorer." -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Contributors" -msgstr "Tidligere bidragere" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Core Developers" -msgstr "Tidligere primære udviklere" - #: builtin/mainmenu/tab_local.lua msgid "Announce Server" msgstr "Meddelelsesserver" @@ -837,7 +915,7 @@ msgstr "Host Server" msgid "Install games from ContentDB" msgstr "" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Name" msgstr "" @@ -849,7 +927,7 @@ msgstr "Ny" msgid "No world created or selected!" msgstr "Ingen verden oprettet eller valgt!" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua #, fuzzy msgid "Password" msgstr "Nyt kodeord" @@ -858,7 +936,7 @@ msgstr "Nyt kodeord" msgid "Play Game" msgstr "Start spil" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Port" msgstr "Port" @@ -881,8 +959,13 @@ msgid "Start Game" msgstr "Vær vært for spil" #: builtin/mainmenu/tab_online.lua -msgid "Address / Port" -msgstr "Adresse/port" +#, fuzzy +msgid "Address" +msgstr "- Adresse: " + +#: builtin/mainmenu/tab_online.lua src/client/keycode.cpp +msgid "Clear" +msgstr "Ryd" #: builtin/mainmenu/tab_online.lua msgid "Connect" @@ -892,35 +975,47 @@ msgstr "Forbind" msgid "Creative mode" msgstr "Kreativ tilstand" +#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "Damage enabled" -msgstr "Skade aktiveret" +#, fuzzy +msgid "Damage / PvP" +msgstr "Skade" #: builtin/mainmenu/tab_online.lua msgid "Del. Favorite" msgstr "Slet favorit" #: builtin/mainmenu/tab_online.lua -msgid "Favorite" +#, fuzzy +msgid "Favorites" msgstr "Favorit" +#: builtin/mainmenu/tab_online.lua +msgid "Incompatible Servers" +msgstr "" + #: builtin/mainmenu/tab_online.lua #, fuzzy msgid "Join Game" msgstr "Vær vært for spil" -#: builtin/mainmenu/tab_online.lua -msgid "Name / Password" -msgstr "Navn/adgangskode" - #: builtin/mainmenu/tab_online.lua msgid "Ping" msgstr "Ping" -#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "PvP enabled" -msgstr "Spiller mod spiller aktiveret" +#, fuzzy +msgid "Public Servers" +msgstr "Meddelelsesserver" + +#: builtin/mainmenu/tab_online.lua +msgid "Refresh" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +#, fuzzy +msgid "Server Description" +msgstr "Serverbeskrivelse" #: builtin/mainmenu/tab_settings.lua msgid "2x" @@ -964,10 +1059,31 @@ msgstr "Skift tastatur-bindinger" msgid "Connected Glass" msgstr "Forbundet glas" +#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp +#, fuzzy +msgid "Dynamic shadows" +msgstr "Fontskygge" + +#: builtin/mainmenu/tab_settings.lua +msgid "Dynamic shadows: " +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Fancy Leaves" msgstr "Smukke blade" +#: builtin/mainmenu/tab_settings.lua +msgid "High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Low" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Medium" +msgstr "" + #: builtin/mainmenu/tab_settings.lua #, fuzzy msgid "Mipmap" @@ -1059,6 +1175,14 @@ msgstr "Føletærskel (px)" msgid "Trilinear Filter" msgstr "Tri-lineær filtréring" +#: builtin/mainmenu/tab_settings.lua +msgid "Ultra High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Very Low" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Waving Leaves" msgstr "Bølgende blade" @@ -1133,18 +1257,6 @@ 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 "no" - #: src/client/game.cpp msgid "" "\n" @@ -1401,6 +1513,11 @@ msgstr "MiB/s" msgid "Minimap currently disabled by game or mod" msgstr "" +#: src/client/game.cpp +#, fuzzy +msgid "Multiplayer" +msgstr "Enlig spiller" + #: src/client/game.cpp msgid "Noclip mode disabled" msgstr "" @@ -1547,10 +1664,6 @@ msgstr "Tilbage" msgid "Caps Lock" msgstr "Caps Lock" -#: src/client/keycode.cpp -msgid "Clear" -msgstr "Ryd" - #: src/client/keycode.cpp msgid "Control" msgstr "Control" @@ -1841,7 +1954,7 @@ msgstr "Fortsæt" #: src/gui/guiKeyChangeMenu.cpp #, fuzzy -msgid "\"Special\" = climb down" +msgid "\"Aux1\" = climb down" msgstr "\"Brug\" = klatre ned" #: src/gui/guiKeyChangeMenu.cpp @@ -1853,10 +1966,18 @@ msgstr "Fremad" msgid "Automatic jumping" msgstr "" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Aux1" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Backward" msgstr "Baglæns" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Block bounds" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp #, fuzzy msgid "Change camera" @@ -1950,10 +2071,6 @@ msgstr "Skærmbillede" msgid "Sneak" msgstr "Snige" -#: src/gui/guiKeyChangeMenu.cpp -msgid "Special" -msgstr "" - #: src/gui/guiKeyChangeMenu.cpp #, fuzzy msgid "Toggle HUD" @@ -2045,8 +2162,8 @@ 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 " +"(Android) Use virtual joystick to trigger \"Aux1\" button.\n" +"If enabled, virtual joystick will also tap \"Aux1\" button when out of main " "circle." msgstr "" @@ -2372,6 +2489,16 @@ msgstr "Autogem skærmstørrelse" msgid "Autoscaling mode" msgstr "" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Aux1 key" +msgstr "Hop-tast" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Aux1 key for climbing/descending" +msgstr "Tast brugt til at klatre op/ned" + #: src/settings_translation_file.cpp msgid "Backward key" msgstr "Tilbage-tast" @@ -2421,10 +2548,6 @@ msgstr "Biom API temperatur og luftfugtighed støj parametre" msgid "Biome noise" msgstr "Biom støj" -#: src/settings_translation_file.cpp -msgid "Bits per pixel (aka color depth) in fullscreen mode." -msgstr "Bit per billedpunkt (a.k.a. farvedybde) i fuldskærmtilstand." - #: src/settings_translation_file.cpp msgid "Block send optimize distance" msgstr "" @@ -2531,6 +2654,11 @@ msgid "" "Where 0.0 is minimum light level, 1.0 is maximum light level." msgstr "" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Chat command time message threshold" +msgstr "Ørkenstøjtærskel" + #: src/settings_translation_file.cpp #, fuzzy msgid "Chat font size" @@ -2633,6 +2761,11 @@ msgstr "Skyer i menu" msgid "Colored fog" msgstr "Farvet tåge" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Colored shadows" +msgstr "Farvet tåge" + #: src/settings_translation_file.cpp msgid "" "Comma-separated list of flags to hide in the content repository.\n" @@ -2844,11 +2977,10 @@ msgstr "Standard spil" #: src/settings_translation_file.cpp msgid "" -"Default timeout for cURL, stated in milliseconds.\n" -"Only has an effect if compiled with cURL." +"Define shadow filtering quality\n" +"This simulates the soft shadows effect by applying a PCF or poisson disk\n" +"but also uses more resources." msgstr "" -"Standardtidsudløb for cURL, angivet i millisekunder.\n" -"Har kun effekt hvis kompileret med cURL." #: src/settings_translation_file.cpp msgid "Defines areas where trees have apples." @@ -3021,6 +3153,12 @@ msgid "" "This support is experimental and API can change." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Enable colored shadows. \n" +"On true translucent nodes cast colored shadows. This is expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable console window" msgstr "Aktivér konsolvindue" @@ -3048,6 +3186,13 @@ msgstr "Aktiver mod-sikkerhed" msgid "Enable players getting damage and dying." msgstr "Aktiver at spillere kan skades og dø." +#: src/settings_translation_file.cpp +msgid "" +"Enable poisson disk filtering.\n" +"On true uses poisson disk to make \"soft shadows\". Otherwise uses PCF " +"filtering." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable random user input (only used for testing)." msgstr "Aktiver vilkårlig brugerinddata (kun til test)." @@ -3187,18 +3332,6 @@ msgstr "Fall bobbing faktor" msgid "Fallback font path" msgstr "Reserveskrifttype" -#: src/settings_translation_file.cpp -msgid "Fallback font shadow" -msgstr "Skygge for reserveskrifttypen" - -#: src/settings_translation_file.cpp -msgid "Fallback font shadow alpha" -msgstr "Skyggealfa for reserveskrifttypen" - -#: src/settings_translation_file.cpp -msgid "Fallback font size" -msgstr "Størrelse for reserveskrifttypen" - #: src/settings_translation_file.cpp msgid "Fast key" msgstr "Hurtigtast" @@ -3218,7 +3351,7 @@ msgstr "Hurtig bevægelse" #: src/settings_translation_file.cpp #, fuzzy msgid "" -"Fast movement (via the \"special\" key).\n" +"Fast movement (via the \"Aux1\" key).\n" "This requires the \"fast\" privilege on the server." msgstr "" "Hurtig bevægelse (via tast).\n" @@ -3260,9 +3393,9 @@ msgstr "Filmisk toneoversættelse" #, 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" -"light edge to transparent textures. Apply this filter to clean that up\n" -"at texture load time." +"which PNG optimizers usually discard, often resulting in dark or\n" +"light edges to transparent textures. Apply a filter to clean that up\n" +"at texture load time. This is automatically enabled if mipmapping is enabled." msgstr "" "Filtrerede teksturer kan blande RGB-værdier med fuldt gennemsigtige naboer,\n" "som PNG-optimeringsprogrammer normalt fjerner, undertiden resulterende i " @@ -3371,10 +3504,6 @@ msgstr "Skriftstørrelse" msgid "Font size of the default font in point (pt)." msgstr "" -#: src/settings_translation_file.cpp -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 "" @@ -3486,10 +3615,6 @@ msgstr "" msgid "Full screen" msgstr "Fuld skærm" -#: src/settings_translation_file.cpp -msgid "Full screen BPP" -msgstr "Fuldskærm BPP" - #: src/settings_translation_file.cpp msgid "Fullscreen mode." msgstr "Fuldskærmstilstand." @@ -3606,7 +3731,9 @@ msgid "Heat noise" msgstr "Varmestøj" #: src/settings_translation_file.cpp -msgid "Height component of the initial window size." +#, fuzzy +msgid "" +"Height component of the initial window size. Ignored in fullscreen mode." msgstr "Højdekomponent for den oprindelige vinduestørrelse." #: src/settings_translation_file.cpp @@ -3618,10 +3745,6 @@ msgstr "Højdestøj" msgid "Height select noise" msgstr "Højde Vælg støj" -#: src/settings_translation_file.cpp -msgid "High-precision FPU" -msgstr "Højpræcisions FPU" - #: src/settings_translation_file.cpp msgid "Hill steepness" msgstr "Bakkestejlhed" @@ -3864,8 +3987,7 @@ msgstr "" #: src/settings_translation_file.cpp #, fuzzy msgid "" -"If disabled, \"special\" key is used to fly fast if both fly and fast mode " -"are\n" +"If disabled, \"Aux1\" key is used to fly fast if both fly and fast mode are\n" "enabled." msgstr "" "Hvis deaktiveret bruges »brug«-tasten til at flyve hurtig hvis både flyvning " @@ -3893,8 +4015,8 @@ msgstr "" #: src/settings_translation_file.cpp #, fuzzy msgid "" -"If enabled, \"special\" key instead of \"sneak\" key is used for climbing " -"down and\n" +"If enabled, \"Aux1\" key instead of \"Sneak\" key is used for climbing down " +"and\n" "descending." msgstr "" "Hvis aktiveret bruges »brug«-tasten i stedet for »snig«-tasten til at klatre " @@ -3949,6 +4071,12 @@ msgid "" "to this distance from the player to the node." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"If the execution of a chat command takes longer than this specified time in\n" +"seconds, add the time information to the chat command message" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "If the file size of debug.txt exceeds the number of megabytes specified in\n" @@ -5163,11 +5291,6 @@ msgstr "" "Tåge- og himmelfarver afhænger af tid på dagen (solopgang/solnedgang) og den " "sete retning." -#: src/settings_translation_file.cpp -msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." -msgstr "" -"Får DirectX til at fungere med LuaJIT. Deaktiver hvis det giver problemer." - #: src/settings_translation_file.cpp msgid "Makes all liquids opaque" msgstr "" @@ -5261,6 +5384,11 @@ msgstr "Kortoprettelsesbegrænsning" msgid "Map save interval" msgstr "Interval for kortlagring" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Map update time" +msgstr "Væskeopdateringsudløsning" + #: src/settings_translation_file.cpp msgid "Mapblock limit" msgstr "Kortblokbegrænsning" @@ -5384,6 +5512,10 @@ msgstr "Maksimal FPS" msgid "Maximum FPS when the window is not focused, or when the game is paused." msgstr "" +#: src/settings_translation_file.cpp +msgid "Maximum distance to render shadows." +msgstr "" + #: src/settings_translation_file.cpp msgid "Maximum forceloaded blocks" msgstr "" @@ -5490,7 +5622,15 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "Maximum time in ms a file download (e.g. a mod download) may take." +msgid "" +"Maximum time a file download (e.g. a mod download) may take, stated in " +"milliseconds." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum time an interactive request (e.g. server list fetch) may take, " +"stated in milliseconds." msgstr "" #: src/settings_translation_file.cpp @@ -5707,11 +5847,6 @@ 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 " @@ -5814,6 +5949,11 @@ msgstr "" msgid "Player versus player" msgstr "" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Poisson filtering" +msgstr "Bilineær filtrering" + #: src/settings_translation_file.cpp msgid "" "Port to connect to (UDP).\n" @@ -6180,6 +6320,43 @@ msgstr "" msgid "Set the maximum character length of a chat message sent by clients." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow strength.\n" +"Lower value means lighter shadows, higher value means darker shadows." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow update time.\n" +"Lower value means shadows and map updates faster, but it consume more " +"resources.\n" +"Minimun value 0.001 seconds max value 0.2 seconds" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the soft shadow radius size.\n" +"Lower values mean sharper shadows bigger values softer.\n" +"Minimun value 1.0 and max value 10.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the tilt of Sun/Moon orbit in degrees\n" +"Value of 0 means no tilt / vertical orbit.\n" +"Minimun value 0.0 and max value 60.0" +msgstr "" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "" +"Set to true to enable Shadow Mapping.\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 "" @@ -6207,6 +6384,13 @@ msgstr "" "Angivet til true (sand) aktiverer bølgende planter.\n" "Kræver at dybdeskabere er aktiveret." +#: src/settings_translation_file.cpp +msgid "" +"Sets shadow texture quality to 32 bits.\n" +"On false, 16 bits texture will be used.\n" +"This can cause much more artifacts in the shadow." +msgstr "" + #: src/settings_translation_file.cpp #, fuzzy msgid "Shader path" @@ -6224,6 +6408,23 @@ msgstr "" "nogle videokort.\n" "De fungerer kun med OpenGL-videomotoren." +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Shadow filter quality" +msgstr "Skærmbilledkvalitet" + +#: src/settings_translation_file.cpp +msgid "Shadow map max distance in nodes to render shadows" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture in 32 bits" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture size" +msgstr "" + #: src/settings_translation_file.cpp #, fuzzy msgid "" @@ -6233,12 +6434,8 @@ 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." +msgid "Shadow strength" 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." @@ -6283,6 +6480,10 @@ msgid "" "thread, thus reducing jitter." msgstr "" +#: src/settings_translation_file.cpp +msgid "Sky Body Orbit Tilt" +msgstr "" + #: src/settings_translation_file.cpp msgid "Slice w" msgstr "" @@ -6338,20 +6539,15 @@ msgstr "Ganghastighed" msgid "Sneaking speed, in nodes per second." msgstr "" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Soft shadow radius" +msgstr "Alfa for skrifttypeskygge" + #: src/settings_translation_file.cpp msgid "Sound" msgstr "Lyd" -#: src/settings_translation_file.cpp -#, fuzzy -msgid "Special key" -msgstr "Snigetast" - -#: src/settings_translation_file.cpp -#, fuzzy -msgid "Special key for climbing/descending" -msgstr "Tast brugt til at klatre op/ned" - #: src/settings_translation_file.cpp msgid "" "Specifies URL from which client fetches media instead of using UDP.\n" @@ -6478,6 +6674,13 @@ msgstr "" msgid "Texture path" msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Texture size to render the shadow map on.\n" +"This must be a power of two.\n" +"Bigger numbers create better shadowsbut it is also more expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Textures on a node may be aligned either to the node or to the world.\n" @@ -6552,7 +6755,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"The rendering back-end for Irrlicht.\n" +"The rendering back-end.\n" "A restart is required after changing this.\n" "Note: On Android, stick with OGLES1 if unsure! App may fail to start " "otherwise.\n" @@ -6845,7 +7048,7 @@ msgid "Viewing range" msgstr "" #: src/settings_translation_file.cpp -msgid "Virtual joystick triggers aux button" +msgid "Virtual joystick triggers Aux1 button" msgstr "" #: src/settings_translation_file.cpp @@ -6943,9 +7146,8 @@ msgid "" "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" +"memory. Powers of 2 are recommended. This setting is ONLY applies if\n" +"bilinear/trilinear/anisotropic filtering is enabled.\n" "This is also used as the base node texture size for world-aligned\n" "texture autoscaling." msgstr "" @@ -7001,8 +7203,9 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "Width component of the initial window size." -msgstr "" +#, fuzzy +msgid "Width component of the initial window size. Ignored in fullscreen mode." +msgstr "Højdekomponent for den oprindelige vinduestørrelse." #: src/settings_translation_file.cpp msgid "Width of the selection box lines around nodes." @@ -7110,12 +7313,13 @@ msgid "cURL file download timeout" msgstr "" #: src/settings_translation_file.cpp -msgid "cURL parallel limit" -msgstr "" +#, fuzzy +msgid "cURL interactive timeout" +msgstr "cURL-tidsudløb" #: src/settings_translation_file.cpp -msgid "cURL timeout" -msgstr "cURL-tidsudløb" +msgid "cURL parallel limit" +msgstr "" #~ msgid "" #~ "0 = parallax occlusion with slope information (faster).\n" @@ -7124,6 +7328,9 @@ msgstr "cURL-tidsudløb" #~ "0 = parallax-okklusion med kurveinformation (hurtigere).\n" #~ "1 = relief-oversættelse (langsommere, mere præcis)." +#~ msgid "Address / Port" +#~ msgstr "Adresse/port" + #~ msgid "" #~ "Adjust the gamma encoding for the light tables. Higher numbers are " #~ "brighter.\n" @@ -7138,6 +7345,9 @@ msgstr "cURL-tidsudløb" #~ msgid "Back" #~ msgstr "Tilbage" +#~ msgid "Bits per pixel (aka color depth) in fullscreen mode." +#~ msgstr "Bit per billedpunkt (a.k.a. farvedybde) i fuldskærmtilstand." + #, fuzzy #~ msgid "Bump Mapping" #~ msgstr "Bump Mapping" @@ -7156,13 +7366,26 @@ msgstr "cURL-tidsudløb" #~ msgstr "" #~ "Styrer bredden af tunneller. En lavere værdi giver bredere tunneller." +#~ msgid "Credits" +#~ msgstr "Skabt af" + #~ msgid "Crosshair color (R,G,B)." #~ msgstr "Crosshair-farve (R,G,B)." +#~ msgid "Damage enabled" +#~ msgstr "Skade aktiveret" + #, fuzzy #~ msgid "Darkness sharpness" #~ msgstr "Søstejlhed" +#~ msgid "" +#~ "Default timeout for cURL, stated in milliseconds.\n" +#~ "Only has an effect if compiled with cURL." +#~ msgstr "" +#~ "Standardtidsudløb for cURL, angivet i millisekunder.\n" +#~ "Har kun effekt hvis kompileret med cURL." + #~ msgid "" #~ "Defines sampling step of texture.\n" #~ "A higher value results in smoother normal maps." @@ -7214,9 +7437,21 @@ msgstr "cURL-tidsudløb" #~ msgid "FPS in pause menu" #~ msgstr "FPS i pausemenu" +#~ msgid "Fallback font shadow" +#~ msgstr "Skygge for reserveskrifttypen" + +#~ msgid "Fallback font shadow alpha" +#~ msgstr "Skyggealfa for reserveskrifttypen" + +#~ msgid "Fallback font size" +#~ msgstr "Størrelse for reserveskrifttypen" + #~ msgid "Font shadow alpha (opaqueness, between 0 and 255)." #~ msgstr "Alfa for skrifttypeskygge (uigennemsigtighed, mellem 0 og 255)." +#~ msgid "Full screen BPP" +#~ msgstr "Fuldskærm BPP" + #~ msgid "Gamma" #~ msgstr "Gamma" @@ -7227,6 +7462,9 @@ msgstr "cURL-tidsudløb" #~ msgid "Generate normalmaps" #~ msgstr "Opret normalkort" +#~ msgid "High-precision FPU" +#~ msgstr "Højpræcisions FPU" + #~ msgid "IPv6 support." #~ msgstr "Understøttelse af IPv6." @@ -7244,6 +7482,13 @@ msgstr "cURL-tidsudløb" #~ msgid "Main menu style" #~ msgstr "Hovedmenuskript" +#~ msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." +#~ msgstr "" +#~ "Får DirectX til at fungere med LuaJIT. Deaktiver hvis det giver problemer." + +#~ msgid "Name / Password" +#~ msgstr "Navn/adgangskode" + #~ msgid "Name/Password" #~ msgstr "Navn/kodeord" @@ -7260,6 +7505,9 @@ msgstr "cURL-tidsudløb" #~ msgid "Parallax occlusion scale" #~ msgstr "Parallax-okklusion" +#~ msgid "PvP enabled" +#~ msgstr "Spiller mod spiller aktiveret" + #~ msgid "Reset singleplayer world" #~ msgstr "Nulstil spillerverden" @@ -7270,6 +7518,17 @@ msgstr "cURL-tidsudløb" #~ msgid "Shadow limit" #~ msgstr "Skygge grænse" +#, 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." + +#, fuzzy +#~ msgid "Special key" +#~ msgstr "Snigetast" + #~ msgid "Start Singleplayer" #~ msgstr "Enlig spiller" @@ -7278,3 +7537,6 @@ msgstr "cURL-tidsudløb" #~ msgid "Yes" #~ msgstr "Ja" + +#~ msgid "needs_fallback_font" +#~ msgstr "no" diff --git a/po/de/minetest.po b/po/de/minetest.po index 484c4707f..b8362beb2 100644 --- a/po/de/minetest.po +++ b/po/de/minetest.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: German (Minetest)\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-02-23 19:03+0100\n" -"PO-Revision-Date: 2021-02-13 08:50+0000\n" +"POT-Creation-Date: 2021-06-16 18:27+0200\n" +"PO-Revision-Date: 2021-03-02 15:50+0000\n" "Last-Translator: Wuzzy \n" "Language-Team: German \n" @@ -12,7 +12,49 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.5-dev\n" +"X-Generator: Weblate 4.5\n" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Clear the out chat queue" +msgstr "Maximale Größe der ausgehenden Chatwarteschlange" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Empty command." +msgstr "Chatbefehle" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Exit to main menu" +msgstr "Hauptmenü" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Invalid command: " +msgstr "Lokaler Befehl" + +#: builtin/client/chatcommands.lua +msgid "Issued command: " +msgstr "" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "List online players" +msgstr "Einzelspieler" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Online players: " +msgstr "Einzelspieler" + +#: builtin/client/chatcommands.lua +msgid "The out chat queue is now empty." +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "This command is disabled by server." +msgstr "" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -22,6 +64,38 @@ msgstr "Wiederbeleben" msgid "You died" msgstr "Sie sind gestorben" +#: builtin/client/death_formspec.lua +#, fuzzy +msgid "You died." +msgstr "Sie sind gestorben" + +#: builtin/common/chatcommands.lua +#, fuzzy +msgid "Available commands:" +msgstr "Lokaler Befehl" + +#: builtin/common/chatcommands.lua +#, fuzzy +msgid "Available commands: " +msgstr "Lokaler Befehl" + +#: builtin/common/chatcommands.lua +msgid "Command not available: " +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "Get help for commands" +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "" +"Use '.help ' to get more information, or '.help all' to list everything." +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "[all | ]" +msgstr "" + #: builtin/fstk/dialog.lua builtin/fstk/ui.lua src/gui/modalMenu.cpp msgid "OK" msgstr "OK" @@ -536,7 +610,7 @@ msgstr "< Einstellungsseite" msgid "Browse" msgstr "Durchsuchen" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_settings.lua msgid "Disabled" msgstr "Deaktiviert" @@ -580,7 +654,7 @@ msgstr "Zurücksetzen" msgid "Scale" msgstr "Skalierung" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua msgid "Search" msgstr "Suchen" @@ -707,9 +781,8 @@ msgid "Loading..." msgstr "Lädt …" #: builtin/mainmenu/serverlistmgr.lua -#, fuzzy msgid "Public server list is disabled" -msgstr "Clientseitige Skripte sind deaktiviert" +msgstr "Öffentliche Serverliste ist deaktiviert" #: builtin/mainmenu/serverlistmgr.lua msgid "Try reenabling public serverlist and check your internet connection." @@ -717,6 +790,43 @@ msgstr "" "Versuchen Sie die öffentliche Serverliste neu zu laden und prüfen Sie Ihre " "Internetverbindung." +#: builtin/mainmenu/tab_about.lua +msgid "About" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active Contributors" +msgstr "Aktive Mitwirkende" + +#: builtin/mainmenu/tab_about.lua +#, fuzzy +msgid "Active renderer:" +msgstr "Reichweite aktiver Objekte" + +#: builtin/mainmenu/tab_about.lua +msgid "Core Developers" +msgstr "Hauptentwickler" + +#: builtin/mainmenu/tab_about.lua +msgid "Open User Data Directory" +msgstr "Benutzerdatenverzeichnis öffnen" + +#: builtin/mainmenu/tab_about.lua +msgid "" +"Opens the directory that contains user-provided worlds, games, mods,\n" +"and texture packs in a file manager / explorer." +msgstr "" +"Öffnet das Verzeichnis, welches die Welten, Spiele, Mods und\n" +"Texturenpakete des Benutzers enthält, im Datei-Manager." + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Contributors" +msgstr "Frühere Mitwirkende" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Core Developers" +msgstr "Ehemalige Hauptentwickler" + #: builtin/mainmenu/tab_content.lua msgid "Browse online content" msgstr "Onlineinhalte durchsuchen" @@ -757,38 +867,6 @@ msgstr "Paket deinstallieren" msgid "Use Texture Pack" msgstr "Texturenpaket benutzen" -#: builtin/mainmenu/tab_credits.lua -msgid "Active Contributors" -msgstr "Aktive Mitwirkende" - -#: builtin/mainmenu/tab_credits.lua -msgid "Core Developers" -msgstr "Hauptentwickler" - -#: builtin/mainmenu/tab_credits.lua -msgid "Credits" -msgstr "Mitwirkende" - -#: builtin/mainmenu/tab_credits.lua -msgid "Open User Data Directory" -msgstr "Benutzerdatenverzeichnis öffnen" - -#: builtin/mainmenu/tab_credits.lua -msgid "" -"Opens the directory that contains user-provided worlds, games, mods,\n" -"and texture packs in a file manager / explorer." -msgstr "" -"Öffnet das Verzeichnis, welches die Welten, Spiele, Mods und\n" -"Texturenpakete des Benutzers enthält, im Datei-Manager." - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Contributors" -msgstr "Frühere Mitwirkende" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Core Developers" -msgstr "Ehemalige Hauptentwickler" - #: builtin/mainmenu/tab_local.lua msgid "Announce Server" msgstr "Server veröffentlichen" @@ -817,7 +895,7 @@ msgstr "Server hosten" msgid "Install games from ContentDB" msgstr "Spiele aus ContentDB installieren" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Name" msgstr "Name" @@ -829,7 +907,7 @@ msgstr "Neu" msgid "No world created or selected!" msgstr "Keine Welt angegeben oder ausgewählt!" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Password" msgstr "Passwort" @@ -837,7 +915,7 @@ msgstr "Passwort" msgid "Play Game" msgstr "Spiel starten" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Port" msgstr "Port" @@ -858,8 +936,13 @@ msgid "Start Game" msgstr "Spiel starten" #: builtin/mainmenu/tab_online.lua -msgid "Address / Port" -msgstr "Adresse / Port" +#, fuzzy +msgid "Address" +msgstr "- Adresse: " + +#: builtin/mainmenu/tab_online.lua src/client/keycode.cpp +msgid "Clear" +msgstr "Clear" #: builtin/mainmenu/tab_online.lua msgid "Connect" @@ -869,34 +952,46 @@ msgstr "Verbinden" msgid "Creative mode" msgstr "Kreativmodus" +#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "Damage enabled" -msgstr "Schaden aktiviert" +#, fuzzy +msgid "Damage / PvP" +msgstr "Schaden" #: builtin/mainmenu/tab_online.lua msgid "Del. Favorite" msgstr "Favorit löschen" #: builtin/mainmenu/tab_online.lua -msgid "Favorite" +#, fuzzy +msgid "Favorites" msgstr "Favorit" +#: builtin/mainmenu/tab_online.lua +msgid "Incompatible Servers" +msgstr "" + #: builtin/mainmenu/tab_online.lua msgid "Join Game" msgstr "Spiel beitreten" -#: builtin/mainmenu/tab_online.lua -msgid "Name / Password" -msgstr "Name / Passwort" - #: builtin/mainmenu/tab_online.lua msgid "Ping" msgstr "Latenz" -#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "PvP enabled" -msgstr "Spielerkampf aktiviert" +#, fuzzy +msgid "Public Servers" +msgstr "Server veröffentlichen" + +#: builtin/mainmenu/tab_online.lua +msgid "Refresh" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +#, fuzzy +msgid "Server Description" +msgstr "Serverbeschreibung" #: builtin/mainmenu/tab_settings.lua msgid "2x" @@ -938,10 +1033,31 @@ msgstr "Tastenbelegung" msgid "Connected Glass" msgstr "Verbundenes Glas" +#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp +#, fuzzy +msgid "Dynamic shadows" +msgstr "Schriftschatten" + +#: builtin/mainmenu/tab_settings.lua +msgid "Dynamic shadows: " +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Fancy Leaves" msgstr "Schöne Blätter" +#: builtin/mainmenu/tab_settings.lua +msgid "High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Low" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Medium" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Mipmap" msgstr "Mipmap" @@ -1030,6 +1146,14 @@ msgstr "Berührungsempfindlichkeit: (px)" msgid "Trilinear Filter" msgstr "Trilinearer Filter" +#: builtin/mainmenu/tab_settings.lua +msgid "Ultra High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Very Low" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Waving Leaves" msgstr "Wehende Blätter" @@ -1102,18 +1226,6 @@ msgstr "Fehler beim Öffnen der angegebenen Passwortdatei: " 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" - #: src/client/game.cpp msgid "" "\n" @@ -1286,7 +1398,7 @@ msgstr "Unbegrenzte Sichtweite aktiviert" #: src/client/game.cpp msgid "Exit to Menu" -msgstr "Zum Hauptmenü" +msgstr "Hauptmenü" #: src/client/game.cpp msgid "Exit to OS" @@ -1356,6 +1468,11 @@ msgstr "MiB/s" msgid "Minimap currently disabled by game or mod" msgstr "Übersichtskarte momentan von Spiel oder Mod deaktiviert" +#: src/client/game.cpp +#, fuzzy +msgid "Multiplayer" +msgstr "Einzelspieler" + #: src/client/game.cpp msgid "Noclip mode disabled" msgstr "Geistmodus deaktiviert" @@ -1497,10 +1614,6 @@ msgstr "Rücktaste" msgid "Caps Lock" msgstr "Feststellt." -#: src/client/keycode.cpp -msgid "Clear" -msgstr "Clear" - #: src/client/keycode.cpp msgid "Control" msgstr "Strg" @@ -1796,7 +1909,8 @@ msgid "Proceed" msgstr "Fortsetzen" #: src/gui/guiKeyChangeMenu.cpp -msgid "\"Special\" = climb down" +#, fuzzy +msgid "\"Aux1\" = climb down" msgstr "„Spezial“ = runter" #: src/gui/guiKeyChangeMenu.cpp @@ -1807,10 +1921,18 @@ msgstr "Autovorwärts" msgid "Automatic jumping" msgstr "Auto-Springen" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Aux1" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Backward" msgstr "Rückwärts" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Block bounds" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Change camera" msgstr "Kamerawechsel" @@ -1901,10 +2023,6 @@ msgstr "Bildschirmfoto" msgid "Sneak" msgstr "Schleichen" -#: src/gui/guiKeyChangeMenu.cpp -msgid "Special" -msgstr "Spezial" - #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle HUD" msgstr "HUD an/aus" @@ -1992,9 +2110,10 @@ msgstr "" "zentriert." #: 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 " +"(Android) Use virtual joystick to trigger \"Aux1\" button.\n" +"If enabled, virtual joystick will also tap \"Aux1\" button when out of main " "circle." msgstr "" "(Android) Den virtuellen Joystick benutzen, um die „Aux“-Taste zu " @@ -2373,6 +2492,16 @@ msgstr "Monitorgröße merken" msgid "Autoscaling mode" msgstr "Autoskalierungsmodus" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Aux1 key" +msgstr "Sprungtaste" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Aux1 key for climbing/descending" +msgstr "Spezialtaste zum Klettern/Sinken" + #: src/settings_translation_file.cpp msgid "Backward key" msgstr "Rückwärtstaste" @@ -2417,10 +2546,6 @@ msgstr "Biom-API-Temperatur- und Luftfeuchtigkeits-Rauschparameter" msgid "Biome noise" msgstr "Biomrauschen" -#: src/settings_translation_file.cpp -msgid "Bits per pixel (aka color depth) in fullscreen mode." -msgstr "Bits pro Pixel (Farbtiefe) im Vollbildmodus." - #: src/settings_translation_file.cpp msgid "Block send optimize distance" msgstr "Distanz für Sendeoptimierungen von Kartenblöcken" @@ -2527,6 +2652,11 @@ 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 +#, fuzzy +msgid "Chat command time message threshold" +msgstr "Chatnachrichten-Kick-Schwellwert" + #: src/settings_translation_file.cpp msgid "Chat font size" msgstr "Chat-Schriftgröße" @@ -2623,6 +2753,11 @@ msgstr "Wolken im Menü" msgid "Colored fog" msgstr "Gefärbter Nebel" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Colored shadows" +msgstr "Gefärbter Nebel" + #: src/settings_translation_file.cpp msgid "" "Comma-separated list of flags to hide in the content repository.\n" @@ -2852,11 +2987,10 @@ msgstr "Standardstapelgröße" #: src/settings_translation_file.cpp msgid "" -"Default timeout for cURL, stated in milliseconds.\n" -"Only has an effect if compiled with cURL." +"Define shadow filtering quality\n" +"This simulates the soft shadows effect by applying a PCF or poisson disk\n" +"but also uses more resources." msgstr "" -"Standardzeitlimit für cURL, in Millisekunden.\n" -"Hat nur eine Wirkung, wenn mit cURL kompiliert wurde." #: src/settings_translation_file.cpp msgid "Defines areas where trees have apples." @@ -3033,14 +3167,19 @@ msgstr "" "Lua-Modding-Unterstützung auf dem Client aktivieren.\n" "Diese Unterstützung ist experimentell und die API kann sich ändern." +#: src/settings_translation_file.cpp +msgid "" +"Enable colored shadows. \n" +"On true translucent nodes cast colored shadows. This is expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable console window" msgstr "Konsolenfenster aktivieren" #: src/settings_translation_file.cpp -#, fuzzy msgid "Enable creative mode for all players" -msgstr "Kreativmodus für neu erstellte Karten aktivieren." +msgstr "Kreativmodus für alle Spieler aktivieren" #: src/settings_translation_file.cpp msgid "Enable joysticks" @@ -3058,6 +3197,13 @@ msgstr "Modsicherheit aktivieren" msgid "Enable players getting damage and dying." msgstr "Spielerschaden und -tod aktivieren." +#: src/settings_translation_file.cpp +msgid "" +"Enable poisson disk filtering.\n" +"On true uses poisson disk to make \"soft shadows\". Otherwise uses PCF " +"filtering." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable random user input (only used for testing)." msgstr "Schaltet zufällige Steuerung ein (nur zum Testen verwendet)." @@ -3225,18 +3371,6 @@ msgstr "Kameraschütteln beim Sturz" msgid "Fallback font path" msgstr "Ersatzschriftpfad" -#: src/settings_translation_file.cpp -msgid "Fallback font shadow" -msgstr "Ersatzschriftschatten" - -#: src/settings_translation_file.cpp -msgid "Fallback font shadow alpha" -msgstr "Undurchsichtigkeit des Ersatzschriftschattens" - -#: src/settings_translation_file.cpp -msgid "Fallback font size" -msgstr "Ersatzschriftgröße" - #: src/settings_translation_file.cpp msgid "Fast key" msgstr "Schnelltaste" @@ -3254,8 +3388,9 @@ msgid "Fast movement" msgstr "Schnell bewegen" #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"Fast movement (via the \"special\" key).\n" +"Fast movement (via the \"Aux1\" key).\n" "This requires the \"fast\" privilege on the server." msgstr "" "Schnelle Bewegung (mit der „Spezial“-Taste).\n" @@ -3291,11 +3426,12 @@ msgid "Filmic tone mapping" msgstr "Filmische Dynamikkompression" #: 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" -"light edge to transparent textures. Apply this filter to clean that up\n" -"at texture load time." +"which PNG optimizers usually discard, often resulting in dark or\n" +"light edges to transparent textures. Apply a filter to clean that up\n" +"at texture load time. This is automatically enabled if mipmapping is enabled." msgstr "" "Gefilterte Texturen können RGB-Werte mit 100% transparenten Nachbarn,\n" "die PNG-Optimierer üblicherweise verwerfen, mischen. Manchmal\n" @@ -3397,10 +3533,6 @@ msgstr "Schriftgröße" 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 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)." @@ -3525,10 +3657,6 @@ msgstr "" msgid "Full screen" msgstr "Vollbild" -#: src/settings_translation_file.cpp -msgid "Full screen BPP" -msgstr "Vollbildfarbtiefe" - #: src/settings_translation_file.cpp msgid "Fullscreen mode." msgstr "Vollbildmodus." @@ -3643,7 +3771,9 @@ msgid "Heat noise" msgstr "Hitzenrauschen" #: src/settings_translation_file.cpp -msgid "Height component of the initial window size." +#, fuzzy +msgid "" +"Height component of the initial window size. Ignored in fullscreen mode." msgstr "Höhenkomponente der anfänglichen Fenstergröße." #: src/settings_translation_file.cpp @@ -3654,10 +3784,6 @@ msgstr "Höhenrauschen" msgid "Height select noise" msgstr "Höhenauswahlrauschen" -#: src/settings_translation_file.cpp -msgid "High-precision FPU" -msgstr "Hochpräzisions-FPU" - #: src/settings_translation_file.cpp msgid "Hill steepness" msgstr "Hügelsteilheilt" @@ -3903,9 +4029,9 @@ msgstr "" "unnötig zu belasten." #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"If disabled, \"special\" key is used to fly fast if both fly and fast mode " -"are\n" +"If disabled, \"Aux1\" key is used to fly fast if both fly and fast mode are\n" "enabled." msgstr "" "Falls deaktiviert, wird die „Spezial“-Taste benutzt, um schnell zu fliegen,\n" @@ -3937,9 +4063,10 @@ msgstr "" "Dafür wird das „noclip“-Privileg auf dem Server benötigt." #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"If enabled, \"special\" key instead of \"sneak\" key is used for climbing " -"down and\n" +"If enabled, \"Aux1\" key instead of \"Sneak\" key is used for climbing down " +"and\n" "descending." msgstr "" "Falls aktiviert, wird die „Spezial“-Taste statt der „Schleichen“-Taste zum\n" @@ -4002,6 +4129,12 @@ msgstr "" "Falls die CSM-Einschränkung für Blockreichweite aktiviert ist, werden\n" "get_node-Aufrufe auf diese Distanz vom Spieler zum Block begrenzt sein." +#: src/settings_translation_file.cpp +msgid "" +"If the execution of a chat command takes longer than this specified time in\n" +"seconds, add the time information to the chat command message" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "If the file size of debug.txt exceeds the number of megabytes specified in\n" @@ -5186,12 +5319,6 @@ msgstr "" "Nebel- und Himmelsfarben von der Tageszeit (Sonnenaufgang/Sonnenuntergang) " "und Blickrichtung abhängig machen." -#: src/settings_translation_file.cpp -msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." -msgstr "" -"DirectX mit LuaJIT zusammenarbeiten lassen. Deaktivieren Sie dies, falls es " -"Probleme verursacht." - #: src/settings_translation_file.cpp msgid "Makes all liquids opaque" msgstr "Macht alle Flüssigkeiten undurchsichtig" @@ -5284,6 +5411,11 @@ msgstr "Kartenerzeugungsgrenze" msgid "Map save interval" msgstr "Speicherintervall der Karte" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Map update time" +msgstr "Flüssigkeitsaktualisierungstakt" + #: src/settings_translation_file.cpp msgid "Mapblock limit" msgstr "Kartenblock-Grenze" @@ -5394,6 +5526,10 @@ msgstr "" "Maximale Bildwiederholrate, während das Fenster nicht fokussiert oder das " "Spiel pausiert ist." +#: src/settings_translation_file.cpp +msgid "Maximum distance to render shadows." +msgstr "" + #: src/settings_translation_file.cpp msgid "Maximum forceloaded blocks" msgstr "Maximal zwangsgeladene Kartenblöcke" @@ -5530,11 +5666,20 @@ msgstr "" "zu begrenzen." #: src/settings_translation_file.cpp -msgid "Maximum time in ms a file download (e.g. a mod download) may take." +#, fuzzy +msgid "" +"Maximum time a file download (e.g. a mod download) may take, stated in " +"milliseconds." msgstr "" "Maximale Zeit in ms, die das Herunterladen einer Datei (z.B. einer Mod) " "dauern darf." +#: src/settings_translation_file.cpp +msgid "" +"Maximum time an interactive request (e.g. server list fetch) may take, " +"stated in milliseconds." +msgstr "" + #: src/settings_translation_file.cpp msgid "Maximum users" msgstr "Maximale Benutzerzahl" @@ -5780,13 +5925,6 @@ 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 " @@ -5915,6 +6053,11 @@ msgstr "Spieler-Übertragungsdistanz" msgid "Player versus player" msgstr "Spielerkampf" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Poisson filtering" +msgstr "Bilinearer Filter" + #: src/settings_translation_file.cpp msgid "" "Port to connect to (UDP).\n" @@ -6313,6 +6456,43 @@ msgstr "" "Setzt die maximale Zeichenlänge einer Chatnachricht, die von einem Client " "gesendet wurde." +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow strength.\n" +"Lower value means lighter shadows, higher value means darker shadows." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow update time.\n" +"Lower value means shadows and map updates faster, but it consume more " +"resources.\n" +"Minimun value 0.001 seconds max value 0.2 seconds" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the soft shadow radius size.\n" +"Lower values mean sharper shadows bigger values softer.\n" +"Minimun value 1.0 and max value 10.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the tilt of Sun/Moon orbit in degrees\n" +"Value of 0 means no tilt / vertical orbit.\n" +"Minimun value 0.0 and max value 60.0" +msgstr "" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "" +"Set to true to enable Shadow Mapping.\n" +"Requires shaders to be enabled." +msgstr "" +"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 to enable waving leaves.\n" @@ -6337,6 +6517,13 @@ msgstr "" "Auf „wahr“ setzen, um wehende Pflanzen zu aktivieren.\n" "Dafür müssen Shader aktiviert sein." +#: src/settings_translation_file.cpp +msgid "" +"Sets shadow texture quality to 32 bits.\n" +"On false, 16 bits texture will be used.\n" +"This can cause much more artifacts in the shadow." +msgstr "" + #: src/settings_translation_file.cpp msgid "Shader path" msgstr "Shader-Pfad" @@ -6353,6 +6540,24 @@ msgstr "" "einigen Grafikkarten erhöhen.\n" "Das funktioniert nur mit dem OpenGL-Grafik-Backend." +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Shadow filter quality" +msgstr "Bildschirmfotoqualität" + +#: src/settings_translation_file.cpp +msgid "Shadow map max distance in nodes to render shadows" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture in 32 bits" +msgstr "" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Shadow map texture size" +msgstr "Minimale Texturengröße" + #: src/settings_translation_file.cpp msgid "" "Shadow offset (in pixels) of the default font. If 0, then shadow will not be " @@ -6362,12 +6567,8 @@ msgstr "" "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." +msgid "Shadow strength" 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." @@ -6390,9 +6591,8 @@ msgstr "" "Nach Änderung ist ein Neustart erforderlich." #: src/settings_translation_file.cpp -#, fuzzy msgid "Show nametag backgrounds by default" -msgstr "Schrift standardmäßig fett" +msgstr "Namensschildhintergründe standardmäßig anzeigen" #: src/settings_translation_file.cpp msgid "Shutdown message" @@ -6427,6 +6627,10 @@ msgstr "" "die vom Hauptthread kopiert werden, reduziert und somit das Stottern " "reduziert." +#: src/settings_translation_file.cpp +msgid "Sky Body Orbit Tilt" +msgstr "" + #: src/settings_translation_file.cpp msgid "Slice w" msgstr "w-Ausschnitt" @@ -6485,18 +6689,15 @@ msgstr "Schleichgeschwindigkeit" msgid "Sneaking speed, in nodes per second." msgstr "Schleichgeschwindigkeit, in Blöcken pro Sekunde." +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Soft shadow radius" +msgstr "Schriftschatten-Undurchsichtigkeit" + #: src/settings_translation_file.cpp msgid "Sound" msgstr "Ton" -#: src/settings_translation_file.cpp -msgid "Special key" -msgstr "Spezialtaste" - -#: src/settings_translation_file.cpp -msgid "Special key for climbing/descending" -msgstr "Spezialtaste zum Klettern/Sinken" - #: src/settings_translation_file.cpp msgid "" "Specifies URL from which client fetches media instead of using UDP.\n" @@ -6652,6 +6853,13 @@ msgstr "Geländepersistenzrauschen" msgid "Texture path" msgstr "Texturenpfad" +#: src/settings_translation_file.cpp +msgid "" +"Texture size to render the shadow map on.\n" +"This must be a power of two.\n" +"Bigger numbers create better shadowsbut it is also more expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Textures on a node may be aligned either to the node or to the world.\n" @@ -6753,8 +6961,9 @@ msgstr "" "konfiguriert werden." #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"The rendering back-end for Irrlicht.\n" +"The rendering back-end.\n" "A restart is required after changing this.\n" "Note: On Android, stick with OGLES1 if unsure! App may fail to start " "otherwise.\n" @@ -7115,7 +7324,8 @@ msgid "Viewing range" msgstr "Sichtweite" #: src/settings_translation_file.cpp -msgid "Virtual joystick triggers aux button" +#, fuzzy +msgid "Virtual joystick triggers Aux1 button" msgstr "Virtueller Joystick löst Aux-Taste aus" #: src/settings_translation_file.cpp @@ -7220,14 +7430,14 @@ msgstr "" "korrekt unterstützen." #: src/settings_translation_file.cpp +#, fuzzy msgid "" "When using bilinear/trilinear/anisotropic filters, low-resolution textures\n" "can be blurred, so automatically upscale them with nearest-neighbor\n" "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" +"memory. Powers of 2 are recommended. This setting is ONLY applies if\n" +"bilinear/trilinear/anisotropic filtering is enabled.\n" "This is also used as the base node texture size for world-aligned\n" "texture autoscaling." msgstr "" @@ -7260,6 +7470,8 @@ msgid "" "Whether nametag backgrounds should be shown by default.\n" "Mods may still set a background." msgstr "" +"Ob Namensschildhintergründe standardmäßig angezeigt werden sollen.\n" +"Mods können immer noch einen Hintergrund setzen." #: src/settings_translation_file.cpp msgid "Whether node texture animations should be desynchronized per mapblock." @@ -7314,7 +7526,8 @@ msgstr "" "Drücken von F5)." #: src/settings_translation_file.cpp -msgid "Width component of the initial window size." +#, fuzzy +msgid "Width component of the initial window size. Ignored in fullscreen mode." msgstr "Breiten-Komponente der anfänglichen Fenstergröße." #: src/settings_translation_file.cpp @@ -7454,12 +7667,13 @@ msgid "cURL file download timeout" msgstr "cURL-Dateidownload-Zeitüberschreitung" #: src/settings_translation_file.cpp -msgid "cURL parallel limit" -msgstr "cURL-Parallel-Begrenzung" +#, fuzzy +msgid "cURL interactive timeout" +msgstr "cURL-Zeitüberschreitung" #: src/settings_translation_file.cpp -msgid "cURL timeout" -msgstr "cURL-Zeitüberschreitung" +msgid "cURL parallel limit" +msgstr "cURL-Parallel-Begrenzung" #~ msgid "" #~ "0 = parallax occlusion with slope information (faster).\n" @@ -7468,6 +7682,9 @@ msgstr "cURL-Zeitüberschreitung" #~ "0 = Parallax-Mapping mit Stufeninformation (schneller).\n" #~ "1 = Relief-Mapping (langsamer, genauer)." +#~ msgid "Address / Port" +#~ msgstr "Adresse / Port" + #~ msgid "" #~ "Adjust the gamma encoding for the light tables. Higher numbers are " #~ "brighter.\n" @@ -7487,6 +7704,9 @@ msgstr "cURL-Zeitüberschreitung" #~ msgid "Back" #~ msgstr "Rücktaste" +#~ msgid "Bits per pixel (aka color depth) in fullscreen mode." +#~ msgstr "Bits pro Pixel (Farbtiefe) im Vollbildmodus." + #~ msgid "Bump Mapping" #~ msgstr "Bumpmapping" @@ -7529,12 +7749,25 @@ msgstr "cURL-Zeitüberschreitung" #~ "Legt die Breite von Tunneln fest; ein kleinerer Wert erzeugt breitere " #~ "Tunnel." +#~ msgid "Credits" +#~ msgstr "Mitwirkende" + #~ msgid "Crosshair color (R,G,B)." #~ msgstr "Fadenkreuzfarbe (R,G,B)." +#~ msgid "Damage enabled" +#~ msgstr "Schaden aktiviert" + #~ msgid "Darkness sharpness" #~ msgstr "Dunkelheits-Steilheit" +#~ msgid "" +#~ "Default timeout for cURL, stated in milliseconds.\n" +#~ "Only has an effect if compiled with cURL." +#~ msgstr "" +#~ "Standardzeitlimit für cURL, in Millisekunden.\n" +#~ "Hat nur eine Wirkung, wenn mit cURL kompiliert wurde." + #~ msgid "" #~ "Defines areas of floatland smooth terrain.\n" #~ "Smooth floatlands occur when noise > 0." @@ -7605,6 +7838,15 @@ msgstr "cURL-Zeitüberschreitung" #~ msgid "FPS in pause menu" #~ msgstr "Bildwiederholrate im Pausenmenü" +#~ msgid "Fallback font shadow" +#~ msgstr "Ersatzschriftschatten" + +#~ msgid "Fallback font shadow alpha" +#~ msgstr "Undurchsichtigkeit des Ersatzschriftschattens" + +#~ msgid "Fallback font size" +#~ msgstr "Ersatzschriftgröße" + #~ msgid "Floatland base height noise" #~ msgstr "Schwebeland-Basishöhenrauschen" @@ -7615,6 +7857,12 @@ msgstr "cURL-Zeitüberschreitung" #~ msgstr "" #~ "Undurchsichtigkeit des Schattens der Schrift (Wert zwischen 0 und 255)." +#~ msgid "Font size of the fallback font in point (pt)." +#~ msgstr "Schriftgröße der Ersatzschrift in Punkt (pt)." + +#~ msgid "Full screen BPP" +#~ msgstr "Vollbildfarbtiefe" + #~ msgid "Gamma" #~ msgstr "Gamma" @@ -7624,6 +7872,9 @@ msgstr "cURL-Zeitüberschreitung" #~ msgid "Generate normalmaps" #~ msgstr "Normalmaps generieren" +#~ msgid "High-precision FPU" +#~ msgstr "Hochpräzisions-FPU" + #~ msgid "IPv6 support." #~ msgstr "IPv6-Unterstützung." @@ -7642,6 +7893,11 @@ msgstr "cURL-Zeitüberschreitung" #~ msgid "Main menu style" #~ msgstr "Hauptmenü-Stil" +#~ msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." +#~ msgstr "" +#~ "DirectX mit LuaJIT zusammenarbeiten lassen. Deaktivieren Sie dies, falls " +#~ "es Probleme verursacht." + #~ msgid "Minimap in radar mode, Zoom x2" #~ msgstr "Übersichtskarte im Radarmodus, Zoom ×2" @@ -7654,6 +7910,9 @@ msgstr "cURL-Zeitüberschreitung" #~ msgid "Minimap in surface mode, Zoom x4" #~ msgstr "Übersichtskarte im Bodenmodus, Zoom ×4" +#~ msgid "Name / Password" +#~ msgstr "Name / Passwort" + #~ msgid "Name/Password" #~ msgstr "Name/Passwort" @@ -7672,6 +7931,13 @@ msgstr "cURL-Zeitüberschreitung" #~ msgid "Ok" #~ msgstr "OK" +#~ 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." + #~ msgid "Overall bias of parallax occlusion effect, usually scale/2." #~ msgstr "" #~ "Startwert des Parallax-Occlusion-Effektes, üblicherweise Skalierung " @@ -7710,6 +7976,9 @@ msgstr "cURL-Zeitüberschreitung" #~ msgid "Projecting dungeons" #~ msgstr "Herausragende Verliese" +#~ msgid "PvP enabled" +#~ msgstr "Spielerkampf aktiviert" + #~ msgid "Reset singleplayer world" #~ msgstr "Einzelspielerwelt zurücksetzen" @@ -7719,6 +7988,19 @@ msgstr "cURL-Zeitüberschreitung" #~ msgid "Shadow limit" #~ msgstr "Schattenbegrenzung" +#~ 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." + +#~ msgid "Special" +#~ msgstr "Spezial" + +#~ msgid "Special key" +#~ msgstr "Spezialtaste" + #~ msgid "Start Singleplayer" #~ msgstr "Einzelspieler starten" @@ -7770,3 +8052,6 @@ msgstr "cURL-Zeitüberschreitung" #~ msgid "Yes" #~ msgstr "Ja" + +#~ msgid "needs_fallback_font" +#~ msgstr "no" diff --git a/po/dv/minetest.po b/po/dv/minetest.po index 4c4b53954..ffddc1a13 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: 2021-02-23 19:03+0100\n" +"POT-Creation-Date: 2021-06-16 18:27+0200\n" "PO-Revision-Date: 2019-11-10 15:04+0000\n" "Last-Translator: Krock \n" "Language-Team: Dhivehi ' to get more information, or '.help all' to list everything." +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "[all | ]" +msgstr "" + #: builtin/fstk/dialog.lua builtin/fstk/ui.lua src/gui/modalMenu.cpp msgid "OK" msgstr "" @@ -539,7 +606,7 @@ msgstr "އަނބުރާ ސެޓިންގްސް ސަފުހާއަށް>" msgid "Browse" msgstr "ފުންކޮށް ހޯދާ" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_settings.lua msgid "Disabled" msgstr "އޮފްކޮށްފަ" @@ -583,7 +650,7 @@ msgstr "ޑިފޯލްޓައަށް ރައްދުކުރޭ" msgid "Scale" msgstr "" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua msgid "Search" msgstr "ހޯދާ" @@ -722,6 +789,41 @@ msgstr "" msgid "Try reenabling public serverlist and check your internet connection." msgstr "ޕަބްލިކް ސާވަރ ލިސްޓު އަލުން ޖައްސަވާ.އަދި އިންޓަނެޓް ކަނެކްޝަން ޗެކްކުރައްވާ." +#: builtin/mainmenu/tab_about.lua +msgid "About" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active Contributors" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active renderer:" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Core Developers" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +#, fuzzy +msgid "Open User Data Directory" +msgstr "މޮޑްގެ ފައިލް އިހްތިޔާރުކުރޭ:" + +#: builtin/mainmenu/tab_about.lua +msgid "" +"Opens the directory that contains user-provided worlds, games, mods,\n" +"and texture packs in a file manager / explorer." +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Contributors" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Core Developers" +msgstr "" + #: builtin/mainmenu/tab_content.lua msgid "Browse online content" msgstr "" @@ -766,37 +868,6 @@ msgstr "އިހްތިޔާރުކުރެވިފައިވާ މޮޑް ޑިލީޓްކުރ msgid "Use Texture Pack" msgstr "" -#: builtin/mainmenu/tab_credits.lua -msgid "Active Contributors" -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Core Developers" -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Credits" -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -#, fuzzy -msgid "Open User Data Directory" -msgstr "މޮޑްގެ ފައިލް އިހްތިޔާރުކުރޭ:" - -#: builtin/mainmenu/tab_credits.lua -msgid "" -"Opens the directory that contains user-provided worlds, games, mods,\n" -"and texture packs in a file manager / explorer." -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Contributors" -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Core Developers" -msgstr "" - #: builtin/mainmenu/tab_local.lua msgid "Announce Server" msgstr "ސާވަރ އިއުލާންކުރޭ" @@ -825,7 +896,7 @@ msgstr "ސާވަރއެއް ހޮސްޓްކުރޭ" msgid "Install games from ContentDB" msgstr "" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Name" msgstr "" @@ -837,7 +908,7 @@ msgstr "އައު" msgid "No world created or selected!" msgstr "އެއްވެސް ދުނިޔެއެއް އުފެދިފައެއް ނުވަތަ އިހްތިޔާރުވެފައެއް ނެޠް!" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua #, fuzzy msgid "Password" msgstr "ޕާސްވޯޑް / ނަން" @@ -846,7 +917,7 @@ msgstr "ޕާސްވޯޑް / ނަން" msgid "Play Game" msgstr "ގޭމް ކުޅޭ" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Port" msgstr "ޕޯޓް" @@ -869,9 +940,14 @@ msgid "Start Game" msgstr "ގޭމް ހޮސްޓްކުރޭ" #: builtin/mainmenu/tab_online.lua -msgid "Address / Port" +#, fuzzy +msgid "Address" msgstr "އެޑްރެސް / ޕޯޓް" +#: builtin/mainmenu/tab_online.lua src/client/keycode.cpp +msgid "Clear" +msgstr "" + #: builtin/mainmenu/tab_online.lua msgid "Connect" msgstr "ކަނެކްޓްކުރޭ" @@ -880,35 +956,46 @@ msgstr "ކަނެކްޓްކުރޭ" msgid "Creative mode" msgstr "ކްރިއޭޓިވް މޯޑް" +#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "Damage enabled" -msgstr "އަނިޔާވުން ޖައްސާފައި" +msgid "Damage / PvP" +msgstr "" #: builtin/mainmenu/tab_online.lua msgid "Del. Favorite" msgstr "އެންމެ ގަޔާނުވޭ" #: builtin/mainmenu/tab_online.lua -msgid "Favorite" +#, fuzzy +msgid "Favorites" msgstr "އެންމެ ގަޔާވޭ" +#: builtin/mainmenu/tab_online.lua +msgid "Incompatible Servers" +msgstr "" + #: builtin/mainmenu/tab_online.lua #, fuzzy msgid "Join Game" msgstr "ގޭމް ހޮސްޓްކުރޭ" -#: builtin/mainmenu/tab_online.lua -msgid "Name / Password" -msgstr "ޕާސްވޯޑް / ނަން" - #: builtin/mainmenu/tab_online.lua msgid "Ping" msgstr "" -#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "PvP enabled" -msgstr "ޕީ.ވީ.ޕީ ޖައްސާ" +#, fuzzy +msgid "Public Servers" +msgstr "ސާވަރ އިއުލާންކުރޭ" + +#: builtin/mainmenu/tab_online.lua +msgid "Refresh" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +#, fuzzy +msgid "Server Description" +msgstr "ސާވަރ ޕޯޓް" #: builtin/mainmenu/tab_settings.lua msgid "2x" @@ -950,10 +1037,30 @@ msgstr "" msgid "Connected Glass" msgstr "" +#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp +msgid "Dynamic shadows" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Dynamic shadows: " +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Fancy Leaves" msgstr "" +#: builtin/mainmenu/tab_settings.lua +msgid "High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Low" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Medium" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Mipmap" msgstr "" @@ -1042,6 +1149,14 @@ msgstr "" msgid "Trilinear Filter" msgstr "" +#: builtin/mainmenu/tab_settings.lua +msgid "Ultra High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Very Low" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Waving Leaves" msgstr "" @@ -1114,18 +1229,6 @@ 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" - #: src/client/game.cpp msgid "" "\n" @@ -1359,6 +1462,10 @@ msgstr "" msgid "Minimap currently disabled by game or mod" msgstr "" +#: src/client/game.cpp +msgid "Multiplayer" +msgstr "" + #: src/client/game.cpp msgid "Noclip mode disabled" msgstr "" @@ -1501,10 +1608,6 @@ msgstr "" msgid "Caps Lock" msgstr "" -#: src/client/keycode.cpp -msgid "Clear" -msgstr "" - #: src/client/keycode.cpp msgid "Control" msgstr "" @@ -1793,7 +1896,7 @@ msgid "Proceed" msgstr "" #: src/gui/guiKeyChangeMenu.cpp -msgid "\"Special\" = climb down" +msgid "\"Aux1\" = climb down" msgstr "" #: src/gui/guiKeyChangeMenu.cpp @@ -1804,10 +1907,18 @@ msgstr "" msgid "Automatic jumping" msgstr "" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Aux1" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Backward" msgstr "" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Block bounds" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp #, fuzzy msgid "Change camera" @@ -1897,10 +2008,6 @@ msgstr "" msgid "Sneak" msgstr "" -#: src/gui/guiKeyChangeMenu.cpp -msgid "Special" -msgstr "" - #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle HUD" msgstr "" @@ -1986,8 +2093,8 @@ 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 " +"(Android) Use virtual joystick to trigger \"Aux1\" button.\n" +"If enabled, virtual joystick will also tap \"Aux1\" button when out of main " "circle." msgstr "" @@ -2285,6 +2392,14 @@ msgstr "" msgid "Autoscaling mode" msgstr "" +#: src/settings_translation_file.cpp +msgid "Aux1 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Aux1 key for climbing/descending" +msgstr "" + #: src/settings_translation_file.cpp msgid "Backward key" msgstr "" @@ -2329,10 +2444,6 @@ msgstr "" msgid "Biome noise" msgstr "" -#: src/settings_translation_file.cpp -msgid "Bits per pixel (aka color depth) in fullscreen mode." -msgstr "" - #: src/settings_translation_file.cpp msgid "Block send optimize distance" msgstr "" @@ -2431,6 +2542,10 @@ msgid "" "Where 0.0 is minimum light level, 1.0 is maximum light level." msgstr "" +#: src/settings_translation_file.cpp +msgid "Chat command time message threshold" +msgstr "" + #: src/settings_translation_file.cpp msgid "Chat font size" msgstr "" @@ -2527,6 +2642,10 @@ msgstr "މެނޫގައި ވިލާތައް" msgid "Colored fog" msgstr "" +#: src/settings_translation_file.cpp +msgid "Colored shadows" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Comma-separated list of flags to hide in the content repository.\n" @@ -2725,8 +2844,9 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"Default timeout for cURL, stated in milliseconds.\n" -"Only has an effect if compiled with cURL." +"Define shadow filtering quality\n" +"This simulates the soft shadows effect by applying a PCF or poisson disk\n" +"but also uses more resources." msgstr "" #: src/settings_translation_file.cpp @@ -2887,6 +3007,12 @@ msgid "" "This support is experimental and API can change." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Enable colored shadows. \n" +"On true translucent nodes cast colored shadows. This is expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable console window" msgstr "" @@ -2911,6 +3037,13 @@ msgstr "" msgid "Enable players getting damage and dying." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Enable poisson disk filtering.\n" +"On true uses poisson disk to make \"soft shadows\". Otherwise uses PCF " +"filtering." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable random user input (only used for testing)." msgstr "" @@ -3033,18 +3166,6 @@ msgstr "" msgid "Fallback font path" msgstr "" -#: src/settings_translation_file.cpp -msgid "Fallback font shadow" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Fallback font shadow alpha" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Fallback font size" -msgstr "" - #: src/settings_translation_file.cpp msgid "Fast key" msgstr "" @@ -3063,7 +3184,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"Fast movement (via the \"special\" key).\n" +"Fast movement (via the \"Aux1\" key).\n" "This requires the \"fast\" privilege on the server." msgstr "" @@ -3097,9 +3218,9 @@ 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." +"which PNG optimizers usually discard, often resulting in dark or\n" +"light edges to transparent textures. Apply a filter to clean that up\n" +"at texture load time. This is automatically enabled if mipmapping is enabled." msgstr "" #: src/settings_translation_file.cpp @@ -3194,10 +3315,6 @@ msgstr "" msgid "Font size of the default font in point (pt)." msgstr "" -#: src/settings_translation_file.cpp -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 "" @@ -3295,10 +3412,6 @@ msgstr "" msgid "Full screen" msgstr "" -#: src/settings_translation_file.cpp -msgid "Full screen BPP" -msgstr "" - #: src/settings_translation_file.cpp msgid "Fullscreen mode." msgstr "" @@ -3392,7 +3505,8 @@ msgid "Heat noise" msgstr "" #: src/settings_translation_file.cpp -msgid "Height component of the initial window size." +msgid "" +"Height component of the initial window size. Ignored in fullscreen mode." msgstr "" #: src/settings_translation_file.cpp @@ -3403,10 +3517,6 @@ msgstr "" msgid "Height select noise" msgstr "" -#: src/settings_translation_file.cpp -msgid "High-precision FPU" -msgstr "" - #: src/settings_translation_file.cpp msgid "Hill steepness" msgstr "" @@ -3638,8 +3748,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"If disabled, \"special\" key is used to fly fast if both fly and fast mode " -"are\n" +"If disabled, \"Aux1\" key is used to fly fast if both fly and fast mode are\n" "enabled." msgstr "" @@ -3661,8 +3770,8 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"If enabled, \"special\" key instead of \"sneak\" key is used for climbing " -"down and\n" +"If enabled, \"Aux1\" key instead of \"Sneak\" key is used for climbing down " +"and\n" "descending." msgstr "" @@ -3706,6 +3815,12 @@ msgid "" "to this distance from the player to the node." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"If the execution of a chat command takes longer than this specified time in\n" +"seconds, add the time information to the chat command message" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "If the file size of debug.txt exceeds the number of megabytes specified in\n" @@ -4594,10 +4709,6 @@ msgid "" "Make fog and sky colors depend on daytime (dawn/sunset) and view direction." msgstr "" -#: src/settings_translation_file.cpp -msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." -msgstr "" - #: src/settings_translation_file.cpp msgid "Makes all liquids opaque" msgstr "" @@ -4669,6 +4780,10 @@ msgstr "" msgid "Map save interval" msgstr "" +#: src/settings_translation_file.cpp +msgid "Map update time" +msgstr "" + #: src/settings_translation_file.cpp msgid "Mapblock limit" msgstr "" @@ -4783,6 +4898,10 @@ msgstr "" msgid "Maximum FPS when the window is not focused, or when the game is paused." msgstr "" +#: src/settings_translation_file.cpp +msgid "Maximum distance to render shadows." +msgstr "" + #: src/settings_translation_file.cpp msgid "Maximum forceloaded blocks" msgstr "" @@ -4889,7 +5008,15 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "Maximum time in ms a file download (e.g. a mod download) may take." +msgid "" +"Maximum time a file download (e.g. a mod download) may take, stated in " +"milliseconds." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum time an interactive request (e.g. server list fetch) may take, " +"stated in milliseconds." msgstr "" #: src/settings_translation_file.cpp @@ -5105,11 +5232,6 @@ 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 " @@ -5208,6 +5330,10 @@ msgstr "" msgid "Player versus player" msgstr "" +#: src/settings_translation_file.cpp +msgid "Poisson filtering" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Port to connect to (UDP).\n" @@ -5542,6 +5668,40 @@ msgstr "" msgid "Set the maximum character length of a chat message sent by clients." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow strength.\n" +"Lower value means lighter shadows, higher value means darker shadows." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow update time.\n" +"Lower value means shadows and map updates faster, but it consume more " +"resources.\n" +"Minimun value 0.001 seconds max value 0.2 seconds" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the soft shadow radius size.\n" +"Lower values mean sharper shadows bigger values softer.\n" +"Minimun value 1.0 and max value 10.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the tilt of Sun/Moon orbit in degrees\n" +"Value of 0 means no tilt / vertical orbit.\n" +"Minimun value 0.0 and max value 60.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set to true to enable Shadow Mapping.\n" +"Requires shaders to be enabled." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Set to true to enable waving leaves.\n" @@ -5560,6 +5720,13 @@ msgid "" "Requires shaders to be enabled." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Sets shadow texture quality to 32 bits.\n" +"On false, 16 bits texture will be used.\n" +"This can cause much more artifacts in the shadow." +msgstr "" + #: src/settings_translation_file.cpp msgid "Shader path" msgstr "" @@ -5572,6 +5739,22 @@ msgid "" "This only works with the OpenGL video backend." msgstr "" +#: src/settings_translation_file.cpp +msgid "Shadow filter quality" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map max distance in nodes to render shadows" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture in 32 bits" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture size" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Shadow offset (in pixels) of the default font. If 0, then shadow will not be " @@ -5579,9 +5762,7 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "" -"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not " -"be drawn." +msgid "Shadow strength" msgstr "" #: src/settings_translation_file.cpp @@ -5627,6 +5808,10 @@ msgid "" "thread, thus reducing jitter." msgstr "" +#: src/settings_translation_file.cpp +msgid "Sky Body Orbit Tilt" +msgstr "" + #: src/settings_translation_file.cpp msgid "Slice w" msgstr "" @@ -5681,18 +5866,14 @@ msgstr "" msgid "Sneaking speed, in nodes per second." msgstr "" +#: src/settings_translation_file.cpp +msgid "Soft shadow radius" +msgstr "" + #: src/settings_translation_file.cpp msgid "Sound" msgstr "" -#: src/settings_translation_file.cpp -msgid "Special key" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Special key for climbing/descending" -msgstr "" - #: src/settings_translation_file.cpp msgid "" "Specifies URL from which client fetches media instead of using UDP.\n" @@ -5814,6 +5995,13 @@ msgstr "" msgid "Texture path" msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Texture size to render the shadow map on.\n" +"This must be a power of two.\n" +"Bigger numbers create better shadowsbut it is also more expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Textures on a node may be aligned either to the node or to the world.\n" @@ -5887,7 +6075,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"The rendering back-end for Irrlicht.\n" +"The rendering back-end.\n" "A restart is required after changing this.\n" "Note: On Android, stick with OGLES1 if unsure! App may fail to start " "otherwise.\n" @@ -6174,7 +6362,7 @@ msgid "Viewing range" msgstr "" #: src/settings_translation_file.cpp -msgid "Virtual joystick triggers aux button" +msgid "Virtual joystick triggers Aux1 button" msgstr "" #: src/settings_translation_file.cpp @@ -6265,9 +6453,8 @@ msgid "" "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" +"memory. Powers of 2 are recommended. This setting is ONLY applies if\n" +"bilinear/trilinear/anisotropic filtering is enabled.\n" "This is also used as the base node texture size for world-aligned\n" "texture autoscaling." msgstr "" @@ -6323,7 +6510,7 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "Width component of the initial window size." +msgid "Width component of the initial window size. Ignored in fullscreen mode." msgstr "" #: src/settings_translation_file.cpp @@ -6431,16 +6618,19 @@ msgid "cURL file download timeout" msgstr "" #: src/settings_translation_file.cpp -msgid "cURL parallel limit" +msgid "cURL interactive timeout" msgstr "" #: src/settings_translation_file.cpp -msgid "cURL timeout" +msgid "cURL parallel limit" msgstr "" #~ msgid "Configure" #~ msgstr "ބަދަލުގެނޭ" +#~ msgid "Damage enabled" +#~ msgstr "އަނިޔާވުން ޖައްސާފައި" + #~ msgid "Downloading and installing $1, please wait..." #~ msgstr "$1 ޑައުންލޯޑޮކޮށް އިންސްޓޯލްކުރަނީ، މަޑުކުރައްވާ..." @@ -6451,12 +6641,21 @@ msgstr "" #~ msgid "Main menu style" #~ msgstr "މެއިން މެނޫ ސްކްރިޕްޓް" +#~ msgid "Name / Password" +#~ msgstr "ޕާސްވޯޑް / ނަން" + #~ msgid "No" #~ msgstr "ނޫން" #~ msgid "Ok" #~ msgstr "emme rangalhu" +#~ msgid "PvP enabled" +#~ msgstr "ޕީ.ވީ.ޕީ ޖައްސާ" + #, fuzzy #~ msgid "Select Package File:" #~ msgstr "މޮޑްގެ ފައިލް އިހްތިޔާރުކުރޭ:" + +#~ msgid "needs_fallback_font" +#~ msgstr "yes" diff --git a/po/el/minetest.po b/po/el/minetest.po index b9b6182bf..e0a5d314d 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: 2021-02-23 19:03+0100\n" -"PO-Revision-Date: 2021-02-13 08:50+0000\n" -"Last-Translator: Michalis \n" +"POT-Creation-Date: 2021-06-16 18:27+0200\n" +"PO-Revision-Date: 2021-06-07 14:33+0000\n" +"Last-Translator: THANOS SIOURDAKIS \n" "Language-Team: Greek \n" "Language: el\n" @@ -12,7 +12,44 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.5-dev\n" +"X-Generator: Weblate 4.7-dev\n" + +#: builtin/client/chatcommands.lua +msgid "Clear the out chat queue" +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "Empty command." +msgstr "" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Exit to main menu" +msgstr "Έξοδος στο Μενού" + +#: builtin/client/chatcommands.lua +msgid "Invalid command: " +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "Issued command: " +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "List online players" +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "Online players: " +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "The out chat queue is now empty." +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "This command is disabled by server." +msgstr "" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -22,9 +59,39 @@ msgstr "" msgid "You died" msgstr "Πέθανες" +#: builtin/client/death_formspec.lua +#, fuzzy +msgid "You died." +msgstr "Πέθανες" + +#: builtin/common/chatcommands.lua +msgid "Available commands:" +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "Available commands: " +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "Command not available: " +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "Get help for commands" +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "" +"Use '.help ' to get more information, or '.help all' to list everything." +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "[all | ]" +msgstr "" + #: builtin/fstk/dialog.lua builtin/fstk/ui.lua src/gui/modalMenu.cpp msgid "OK" -msgstr "" +msgstr "Εντάξει" #: builtin/fstk/ui.lua msgid "An error occurred in a Lua script:" @@ -139,19 +206,19 @@ msgstr "" #: builtin/mainmenu/dlg_config_world.lua #: builtin/mainmenu/dlg_settings_advanced.lua src/gui/guiKeyChangeMenu.cpp msgid "Save" -msgstr "" +msgstr "Αποθήκευση" #: builtin/mainmenu/dlg_config_world.lua msgid "World:" -msgstr "" +msgstr "Κόσμος:" #: builtin/mainmenu/dlg_config_world.lua msgid "enabled" -msgstr "" +msgstr "ενεργοποιήθηκε" #: builtin/mainmenu/dlg_contentstore.lua msgid "\"$1\" already exists. Would you like to overwrite it?" -msgstr "" +msgstr "Το \"$1\" ήδη υπάρχει. Θέλετε να το αντικαταστήσετε;" #: builtin/mainmenu/dlg_contentstore.lua msgid "$1 and $2 dependencies will be installed." @@ -168,7 +235,6 @@ msgid "" msgstr "" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "$1 downloading..." msgstr "Λήψη ..." @@ -182,15 +248,15 @@ msgstr "" #: builtin/mainmenu/dlg_contentstore.lua msgid "All packages" -msgstr "" +msgstr "Όλα τα Πακέτα" #: builtin/mainmenu/dlg_contentstore.lua msgid "Already installed" -msgstr "" +msgstr "Ήδη εγκαταστημένο" #: builtin/mainmenu/dlg_contentstore.lua msgid "Back to Main Menu" -msgstr "" +msgstr "Πίσω στο Κύριο Μενού" #: builtin/mainmenu/dlg_contentstore.lua msgid "Base Game:" @@ -211,15 +277,15 @@ msgstr "" #: builtin/mainmenu/dlg_contentstore.lua #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Games" -msgstr "" +msgstr "Παιχνίδια" #: builtin/mainmenu/dlg_contentstore.lua msgid "Install" -msgstr "" +msgstr "Εγκατάσταση" #: builtin/mainmenu/dlg_contentstore.lua msgid "Install $1" -msgstr "" +msgstr "Εγκατάσταση $1" #: builtin/mainmenu/dlg_contentstore.lua msgid "Install missing dependencies" @@ -236,7 +302,7 @@ msgstr "" #: builtin/mainmenu/dlg_contentstore.lua msgid "No results" -msgstr "" +msgstr "Χωρίς αποτελέσματα" #: builtin/mainmenu/dlg_contentstore.lua msgid "No updates" @@ -244,7 +310,7 @@ msgstr "" #: builtin/mainmenu/dlg_contentstore.lua msgid "Not found" -msgstr "" +msgstr "Δε βρέθηκε" #: builtin/mainmenu/dlg_contentstore.lua msgid "Overwrite" @@ -264,15 +330,15 @@ msgstr "" #: builtin/mainmenu/dlg_contentstore.lua msgid "Uninstall" -msgstr "" +msgstr "Απεγκατάσταση" #: builtin/mainmenu/dlg_contentstore.lua msgid "Update" -msgstr "" +msgstr "Ενημέρωση" #: builtin/mainmenu/dlg_contentstore.lua msgid "Update All [$1]" -msgstr "" +msgstr "Ενημέρωση Όλων [$1]" #: builtin/mainmenu/dlg_contentstore.lua msgid "View more information in a web browser" @@ -312,7 +378,7 @@ msgstr "" #: builtin/mainmenu/dlg_create_world.lua msgid "Create" -msgstr "" +msgstr "Δημιουργία" #: builtin/mainmenu/dlg_create_world.lua msgid "Decorations" @@ -344,7 +410,7 @@ msgstr "" #: builtin/mainmenu/dlg_create_world.lua src/settings_translation_file.cpp msgid "Game" -msgstr "" +msgstr "Παιχνίδι" #: builtin/mainmenu/dlg_create_world.lua msgid "Generate non-fractal terrain: Oceans and underground" @@ -352,7 +418,7 @@ msgstr "" #: builtin/mainmenu/dlg_create_world.lua msgid "Hills" -msgstr "" +msgstr "Λόφοι" #: builtin/mainmenu/dlg_create_world.lua msgid "Humid rivers" @@ -364,7 +430,7 @@ msgstr "" #: builtin/mainmenu/dlg_create_world.lua msgid "Lakes" -msgstr "" +msgstr "Λίμνες" #: builtin/mainmenu/dlg_create_world.lua msgid "Low humidity and high heat causes shallow or dry rivers" @@ -384,7 +450,7 @@ msgstr "" #: builtin/mainmenu/dlg_create_world.lua msgid "Mountains" -msgstr "" +msgstr "Βουνά" #: builtin/mainmenu/dlg_create_world.lua msgid "Mud flow" @@ -396,7 +462,7 @@ msgstr "" #: builtin/mainmenu/dlg_create_world.lua msgid "No game selected" -msgstr "" +msgstr "Κανένα παιχνίδι επιλεγμένο" #: builtin/mainmenu/dlg_create_world.lua msgid "Reduces heat with altitude" @@ -408,7 +474,7 @@ msgstr "" #: builtin/mainmenu/dlg_create_world.lua msgid "Rivers" -msgstr "" +msgstr "Ποτάμια" #: builtin/mainmenu/dlg_create_world.lua msgid "Sea level rivers" @@ -417,7 +483,7 @@ msgstr "" #: builtin/mainmenu/dlg_create_world.lua #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Seed" -msgstr "" +msgstr "Σπόρος" #: builtin/mainmenu/dlg_create_world.lua msgid "Smooth transition between biomes" @@ -467,7 +533,7 @@ msgstr "" #: builtin/mainmenu/dlg_create_world.lua msgid "World name" -msgstr "" +msgstr "Όνομα κόσμου" #: builtin/mainmenu/dlg_create_world.lua msgid "You have no games installed." @@ -481,7 +547,7 @@ msgstr "" #: builtin/mainmenu/dlg_delete_world.lua builtin/mainmenu/tab_local.lua #: src/client/keycode.cpp msgid "Delete" -msgstr "" +msgstr "Διαγραφή" #: builtin/mainmenu/dlg_delete_content.lua msgid "pkgmgr: failed to delete \"$1\"" @@ -497,7 +563,7 @@ msgstr "" #: builtin/mainmenu/dlg_rename_modpack.lua msgid "Accept" -msgstr "" +msgstr "Αποδοχή" #: builtin/mainmenu/dlg_rename_modpack.lua msgid "Rename Modpack:" @@ -523,15 +589,15 @@ msgstr "" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Browse" -msgstr "" +msgstr "Περιήγηση" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_settings.lua msgid "Disabled" -msgstr "" +msgstr "Απενεργοποιημένο" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Edit" -msgstr "" +msgstr "Επεξεργασία" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Enabled" @@ -569,17 +635,17 @@ msgstr "" msgid "Scale" msgstr "" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua msgid "Search" -msgstr "" +msgstr "Αναζήτηση" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Select directory" -msgstr "" +msgstr "Επιλογή φακέλου" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Select file" -msgstr "" +msgstr "Επιλογή αρχείου" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Show technical names" @@ -595,7 +661,7 @@ msgstr "" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "X" -msgstr "" +msgstr "X" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "X spread" @@ -603,7 +669,7 @@ msgstr "" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Y" -msgstr "" +msgstr "Y" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Y spread" @@ -611,7 +677,7 @@ msgstr "" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Z" -msgstr "" +msgstr "Z" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Z spread" @@ -666,7 +732,7 @@ msgstr "" #: builtin/mainmenu/pkgmgr.lua msgid "Install: file: \"$1\"" -msgstr "" +msgstr "Εγκατάσταση: αρχείο: \"$1\"" #: builtin/mainmenu/pkgmgr.lua msgid "Unable to find a valid mod or modpack" @@ -702,13 +768,47 @@ msgstr "" "Δοκιμάστε να ενεργοποιήσετε ξανά τη δημόσια λίστα διακομιστών και ελέγξτε τη " "σύνδεσή σας στο διαδίκτυο." -#: builtin/mainmenu/tab_content.lua -msgid "Browse online content" +#: builtin/mainmenu/tab_about.lua +msgid "About" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active Contributors" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active renderer:" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Core Developers" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Open User Data Directory" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "" +"Opens the directory that contains user-provided worlds, games, mods,\n" +"and texture packs in a file manager / explorer." +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Contributors" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Core Developers" msgstr "" +#: builtin/mainmenu/tab_content.lua +msgid "Browse online content" +msgstr "Περιήγηση διαδικτυακού περιεχομένου" + #: builtin/mainmenu/tab_content.lua msgid "Content" -msgstr "" +msgstr "Περιεχόμενο" #: builtin/mainmenu/tab_content.lua msgid "Disable Texture Pack" @@ -716,11 +816,11 @@ msgstr "" #: builtin/mainmenu/tab_content.lua msgid "Information:" -msgstr "" +msgstr "Πληροφορίες:" #: builtin/mainmenu/tab_content.lua msgid "Installed Packages:" -msgstr "" +msgstr "Εγκαταστημένα Πακέτα:" #: builtin/mainmenu/tab_content.lua msgid "No dependencies." @@ -732,46 +832,16 @@ msgstr "" #: builtin/mainmenu/tab_content.lua msgid "Rename" -msgstr "" +msgstr "Μετονομασία" #: builtin/mainmenu/tab_content.lua msgid "Uninstall Package" -msgstr "" +msgstr "Απεγκατάσταση πακέτου" #: builtin/mainmenu/tab_content.lua msgid "Use Texture Pack" msgstr "" -#: builtin/mainmenu/tab_credits.lua -msgid "Active Contributors" -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Core Developers" -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Credits" -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Open User Data Directory" -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "" -"Opens the directory that contains user-provided worlds, games, mods,\n" -"and texture packs in a file manager / explorer." -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Contributors" -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Core Developers" -msgstr "" - #: builtin/mainmenu/tab_local.lua msgid "Announce Server" msgstr "" @@ -798,31 +868,31 @@ msgstr "" #: builtin/mainmenu/tab_local.lua msgid "Install games from ContentDB" -msgstr "" +msgstr "Εγκατάσταση παιχνιδιών από το ContentDB" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Name" -msgstr "" +msgstr "Όνομα" #: builtin/mainmenu/tab_local.lua msgid "New" -msgstr "" +msgstr "Νέο" #: builtin/mainmenu/tab_local.lua msgid "No world created or selected!" msgstr "" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Password" -msgstr "" +msgstr "Κωδικός" #: builtin/mainmenu/tab_local.lua msgid "Play Game" msgstr "" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Port" -msgstr "" +msgstr "Θήρα" #: builtin/mainmenu/tab_local.lua msgid "Select Mods" @@ -830,30 +900,36 @@ msgstr "" #: builtin/mainmenu/tab_local.lua msgid "Select World:" -msgstr "" +msgstr "Επιλογή Κόσμου:" #: builtin/mainmenu/tab_local.lua msgid "Server Port" -msgstr "" +msgstr "Θήρα Διακομιστή" #: builtin/mainmenu/tab_local.lua msgid "Start Game" -msgstr "" +msgstr "Εκκίνηση Παιχνιδιού" #: builtin/mainmenu/tab_online.lua -msgid "Address / Port" -msgstr "" +#, fuzzy +msgid "Address" +msgstr "- Διεύθυνση: " + +#: builtin/mainmenu/tab_online.lua src/client/keycode.cpp +msgid "Clear" +msgstr "Εκκαθάριση" #: builtin/mainmenu/tab_online.lua msgid "Connect" -msgstr "" +msgstr "Σύνδεση" #: builtin/mainmenu/tab_online.lua msgid "Creative mode" msgstr "" +#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "Damage enabled" +msgid "Damage / PvP" msgstr "" #: builtin/mainmenu/tab_online.lua @@ -861,45 +937,53 @@ msgid "Del. Favorite" msgstr "" #: builtin/mainmenu/tab_online.lua -msgid "Favorite" +msgid "Favorites" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +msgid "Incompatible Servers" msgstr "" #: builtin/mainmenu/tab_online.lua msgid "Join Game" msgstr "" -#: builtin/mainmenu/tab_online.lua -msgid "Name / Password" -msgstr "" - #: builtin/mainmenu/tab_online.lua msgid "Ping" msgstr "" -#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "PvP enabled" +msgid "Public Servers" msgstr "" +#: builtin/mainmenu/tab_online.lua +msgid "Refresh" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +#, fuzzy +msgid "Server Description" +msgstr "Περιγραφή διακομιστή" + #: builtin/mainmenu/tab_settings.lua msgid "2x" msgstr "" #: builtin/mainmenu/tab_settings.lua msgid "3D Clouds" -msgstr "" +msgstr "3D Σύννεφα" #: builtin/mainmenu/tab_settings.lua msgid "4x" -msgstr "" +msgstr "4x" #: builtin/mainmenu/tab_settings.lua msgid "8x" -msgstr "" +msgstr "8x" #: builtin/mainmenu/tab_settings.lua msgid "All Settings" -msgstr "" +msgstr "Όλες οι ρυθμίσεις" #: builtin/mainmenu/tab_settings.lua msgid "Antialiasing:" @@ -915,16 +999,36 @@ msgstr "" #: builtin/mainmenu/tab_settings.lua src/client/game.cpp msgid "Change Keys" -msgstr "" +msgstr "Αλλαγή πλήκτρων" #: builtin/mainmenu/tab_settings.lua msgid "Connected Glass" msgstr "" +#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp +msgid "Dynamic shadows" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Dynamic shadows: " +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Fancy Leaves" msgstr "" +#: builtin/mainmenu/tab_settings.lua +msgid "High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Low" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Medium" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Mipmap" msgstr "" @@ -951,7 +1055,7 @@ msgstr "" #: builtin/mainmenu/tab_settings.lua msgid "None" -msgstr "" +msgstr "Κανένα" #: builtin/mainmenu/tab_settings.lua msgid "Opaque Leaves" @@ -967,11 +1071,11 @@ msgstr "" #: builtin/mainmenu/tab_settings.lua msgid "Screen:" -msgstr "" +msgstr "Οθόνη:" #: builtin/mainmenu/tab_settings.lua msgid "Settings" -msgstr "" +msgstr "Ρυθμίσεις" #: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp msgid "Shaders" @@ -1013,6 +1117,14 @@ msgstr "" msgid "Trilinear Filter" msgstr "" +#: builtin/mainmenu/tab_settings.lua +msgid "Ultra High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Very Low" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Waving Leaves" msgstr "" @@ -1031,7 +1143,7 @@ msgstr "" #: src/client/client.cpp msgid "Done!" -msgstr "" +msgstr "Έτοιμο!" #: src/client/client.cpp msgid "Initializing nodes" @@ -1063,7 +1175,7 @@ msgstr "" #: src/client/clientlauncher.cpp msgid "Main Menu" -msgstr "" +msgstr "Κύριο μενού" #: src/client/clientlauncher.cpp msgid "No world selected and no address provided. Nothing to do." @@ -1075,7 +1187,7 @@ msgstr "" #: src/client/clientlauncher.cpp msgid "Please choose a name!" -msgstr "" +msgstr "Παρακαλώ επιλέξτε ένα όνομα!" #: src/client/clientlauncher.cpp msgid "Provided password file failed to open: " @@ -1085,18 +1197,6 @@ 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" - #: src/client/game.cpp msgid "" "\n" @@ -1105,7 +1205,7 @@ msgstr "" #: src/client/game.cpp msgid "- Address: " -msgstr "" +msgstr "- Διεύθυνση: " #: src/client/game.cpp msgid "- Creative Mode: " @@ -1121,11 +1221,11 @@ msgstr "" #: src/client/game.cpp msgid "- Port: " -msgstr "" +msgstr "- Θήρα: " #: src/client/game.cpp msgid "- Public: " -msgstr "" +msgstr "- Δημόσιο: " #. ~ PvP = Player versus Player #: src/client/game.cpp @@ -1134,7 +1234,7 @@ msgstr "" #: src/client/game.cpp msgid "- Server Name: " -msgstr "" +msgstr "- Όνομα Διακομιστή: " #: src/client/game.cpp msgid "Automatic forward disabled" @@ -1174,7 +1274,7 @@ msgstr "" #: src/client/game.cpp msgid "Continue" -msgstr "" +msgstr "Συνέχεια" #: src/client/game.cpp #, c-format @@ -1241,11 +1341,11 @@ msgstr "" #: src/client/game.cpp msgid "Exit to Menu" -msgstr "" +msgstr "Έξοδος στο Μενού" #: src/client/game.cpp msgid "Exit to OS" -msgstr "" +msgstr "Έξοδος στο ΛΣ" #: src/client/game.cpp msgid "Fast mode disabled" @@ -1281,7 +1381,7 @@ msgstr "" #: src/client/game.cpp msgid "Game info:" -msgstr "" +msgstr "Πληροφορίες Παιχνιδιού:" #: src/client/game.cpp msgid "Game paused" @@ -1311,6 +1411,10 @@ msgstr "" msgid "Minimap currently disabled by game or mod" msgstr "" +#: src/client/game.cpp +msgid "Multiplayer" +msgstr "" + #: src/client/game.cpp msgid "Noclip mode disabled" msgstr "" @@ -1365,11 +1469,11 @@ msgstr "" #: src/client/game.cpp msgid "Sound Volume" -msgstr "" +msgstr "Ένταση Ήχου" #: src/client/game.cpp msgid "Sound muted" -msgstr "" +msgstr "Σίγαση Ήχου" #: src/client/game.cpp msgid "Sound system is disabled" @@ -1442,7 +1546,7 @@ msgstr "" #: src/client/keycode.cpp msgid "Apps" -msgstr "" +msgstr "Εφαρμογές" #: src/client/keycode.cpp msgid "Backspace" @@ -1452,21 +1556,17 @@ msgstr "" msgid "Caps Lock" msgstr "" -#: src/client/keycode.cpp -msgid "Clear" -msgstr "" - #: src/client/keycode.cpp msgid "Control" msgstr "" #: src/client/keycode.cpp msgid "Down" -msgstr "" +msgstr "Κάτω" #: src/client/keycode.cpp msgid "End" -msgstr "" +msgstr "Τέλος" #: src/client/keycode.cpp msgid "Erase EOF" @@ -1478,7 +1578,7 @@ msgstr "" #: src/client/keycode.cpp msgid "Help" -msgstr "" +msgstr "Βοήθεια" #: src/client/keycode.cpp msgid "Home" @@ -1506,11 +1606,11 @@ msgstr "" #: src/client/keycode.cpp msgid "Insert" -msgstr "" +msgstr "Εισαγωγή" #: src/client/keycode.cpp src/gui/guiKeyChangeMenu.cpp msgid "Left" -msgstr "" +msgstr "Αριστερά" #: src/client/keycode.cpp msgid "Left Button" @@ -1535,7 +1635,7 @@ msgstr "" #. ~ Key name, common on Windows keyboards #: src/client/keycode.cpp msgid "Menu" -msgstr "" +msgstr "Μενού" #: src/client/keycode.cpp msgid "Middle Button" @@ -1547,63 +1647,63 @@ msgstr "" #: src/client/keycode.cpp msgid "Numpad *" -msgstr "" +msgstr "Numpad *" #: src/client/keycode.cpp msgid "Numpad +" -msgstr "" +msgstr "Numpad +" #: src/client/keycode.cpp msgid "Numpad -" -msgstr "" +msgstr "Numpad -" #: src/client/keycode.cpp msgid "Numpad ." -msgstr "" +msgstr "Numpad ." #: src/client/keycode.cpp msgid "Numpad /" -msgstr "" +msgstr "Numpad /" #: src/client/keycode.cpp msgid "Numpad 0" -msgstr "" +msgstr "Numpad 0" #: src/client/keycode.cpp msgid "Numpad 1" -msgstr "" +msgstr "Numpad 1" #: src/client/keycode.cpp msgid "Numpad 2" -msgstr "" +msgstr "Numpad 2" #: src/client/keycode.cpp msgid "Numpad 3" -msgstr "" +msgstr "Numpad 3" #: src/client/keycode.cpp msgid "Numpad 4" -msgstr "" +msgstr "Numpad 4" #: src/client/keycode.cpp msgid "Numpad 5" -msgstr "" +msgstr "Numpad 5" #: src/client/keycode.cpp msgid "Numpad 6" -msgstr "" +msgstr "Numpad 6" #: src/client/keycode.cpp msgid "Numpad 7" -msgstr "" +msgstr "Numpad 7" #: src/client/keycode.cpp msgid "Numpad 8" -msgstr "" +msgstr "Numpad 8" #: src/client/keycode.cpp msgid "Numpad 9" -msgstr "" +msgstr "Numpad 9" #: src/client/keycode.cpp msgid "OEM Clear" @@ -1619,24 +1719,24 @@ msgstr "" #: src/client/keycode.cpp msgid "Pause" -msgstr "" +msgstr "Παύση" #: src/client/keycode.cpp msgid "Play" -msgstr "" +msgstr "Αναπαραγωγή" #. ~ "Print screen" key #: src/client/keycode.cpp msgid "Print" -msgstr "" +msgstr "Εκτύπωση" #: src/client/keycode.cpp msgid "Return" -msgstr "" +msgstr "Επιστροφή" #: src/client/keycode.cpp src/gui/guiKeyChangeMenu.cpp msgid "Right" -msgstr "" +msgstr "Δεξιά" #: src/client/keycode.cpp msgid "Right Button" @@ -1665,7 +1765,7 @@ msgstr "" #. ~ Key name #: src/client/keycode.cpp msgid "Select" -msgstr "" +msgstr "Επιλογή" #: src/client/keycode.cpp msgid "Shift" @@ -1673,7 +1773,7 @@ msgstr "" #: src/client/keycode.cpp msgid "Sleep" -msgstr "" +msgstr "Ύπνος" #: src/client/keycode.cpp msgid "Snapshot" @@ -1689,7 +1789,7 @@ msgstr "" #: src/client/keycode.cpp msgid "Up" -msgstr "" +msgstr "Πάνω" #: src/client/keycode.cpp msgid "X Button 1" @@ -1701,7 +1801,7 @@ msgstr "" #: src/client/keycode.cpp src/gui/guiKeyChangeMenu.cpp msgid "Zoom" -msgstr "" +msgstr "Μεγέθυνση" #: src/client/minimap.cpp msgid "Minimap hidden" @@ -1744,7 +1844,7 @@ msgid "Proceed" msgstr "" #: src/gui/guiKeyChangeMenu.cpp -msgid "\"Special\" = climb down" +msgid "\"Aux1\" = climb down" msgstr "" #: src/gui/guiKeyChangeMenu.cpp @@ -1755,10 +1855,18 @@ msgstr "" msgid "Automatic jumping" msgstr "" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Aux1" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Backward" msgstr "" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Block bounds" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Change camera" msgstr "" @@ -1769,7 +1877,7 @@ msgstr "" #: src/gui/guiKeyChangeMenu.cpp msgid "Command" -msgstr "" +msgstr "Εντολή" #: src/gui/guiKeyChangeMenu.cpp msgid "Console" @@ -1813,7 +1921,7 @@ msgstr "" #: src/gui/guiKeyChangeMenu.cpp msgid "Key already in use" -msgstr "" +msgstr "Το πλήκτρο ήδη χρησιμοποιείται" #: src/gui/guiKeyChangeMenu.cpp msgid "Keybindings. (If this menu screws up, remove stuff from minetest.conf)" @@ -1825,11 +1933,11 @@ msgstr "" #: src/gui/guiKeyChangeMenu.cpp msgid "Mute" -msgstr "" +msgstr "Σίγαση" #: src/gui/guiKeyChangeMenu.cpp msgid "Next item" -msgstr "" +msgstr "Επόμενο αντικείμενο" #: src/gui/guiKeyChangeMenu.cpp msgid "Prev. item" @@ -1841,16 +1949,12 @@ msgstr "" #: src/gui/guiKeyChangeMenu.cpp src/settings_translation_file.cpp msgid "Screenshot" -msgstr "" +msgstr "Στιγμιότυπο οθόνης" #: src/gui/guiKeyChangeMenu.cpp msgid "Sneak" msgstr "" -#: src/gui/guiKeyChangeMenu.cpp -msgid "Special" -msgstr "" - #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle HUD" msgstr "" @@ -1889,31 +1993,31 @@ msgstr "" #: src/gui/guiPasswordChange.cpp msgid "Change" -msgstr "" +msgstr "Αλλαγή" #: src/gui/guiPasswordChange.cpp msgid "Confirm Password" -msgstr "" +msgstr "Επιβεβαίωση Κωδικού" #: src/gui/guiPasswordChange.cpp msgid "New Password" -msgstr "" +msgstr "Νέος Κωδικός" #: src/gui/guiPasswordChange.cpp msgid "Old Password" -msgstr "" +msgstr "Παλιός Κωδικός" #: src/gui/guiVolumeChange.cpp msgid "Exit" -msgstr "" +msgstr "Έξοδος" #: src/gui/guiVolumeChange.cpp msgid "Muted" -msgstr "" +msgstr "Σε σίγαση" #: src/gui/guiVolumeChange.cpp msgid "Sound Volume: " -msgstr "" +msgstr "Ένταση ήχου: " #. ~ Imperative, as in "Enter/type in text". #. Don't forget the space. @@ -1936,8 +2040,8 @@ 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 " +"(Android) Use virtual joystick to trigger \"Aux1\" button.\n" +"If enabled, virtual joystick will also tap \"Aux1\" button when out of main " "circle." msgstr "" @@ -1994,7 +2098,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "3D clouds" -msgstr "" +msgstr "3D σύννεφα" #: src/settings_translation_file.cpp msgid "3D mode" @@ -2131,7 +2235,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Advanced" -msgstr "" +msgstr "Για προχωρημένους" #: src/settings_translation_file.cpp msgid "" @@ -2231,6 +2335,14 @@ msgstr "" msgid "Autoscaling mode" msgstr "" +#: src/settings_translation_file.cpp +msgid "Aux1 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Aux1 key for climbing/descending" +msgstr "" + #: src/settings_translation_file.cpp msgid "Backward key" msgstr "" @@ -2245,7 +2357,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Basic" -msgstr "" +msgstr "Βασικό" #: src/settings_translation_file.cpp msgid "Basic privileges" @@ -2275,10 +2387,6 @@ msgstr "" msgid "Biome noise" msgstr "" -#: src/settings_translation_file.cpp -msgid "Bits per pixel (aka color depth) in fullscreen mode." -msgstr "" - #: src/settings_translation_file.cpp msgid "Block send optimize distance" msgstr "" @@ -2377,6 +2485,10 @@ msgid "" "Where 0.0 is minimum light level, 1.0 is maximum light level." msgstr "" +#: src/settings_translation_file.cpp +msgid "Chat command time message threshold" +msgstr "" + #: src/settings_translation_file.cpp msgid "Chat font size" msgstr "" @@ -2459,7 +2571,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Clouds" -msgstr "" +msgstr "Σύννεφα" #: src/settings_translation_file.cpp msgid "Clouds are a client side effect." @@ -2473,6 +2585,10 @@ msgstr "" msgid "Colored fog" msgstr "" +#: src/settings_translation_file.cpp +msgid "Colored shadows" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Comma-separated list of flags to hide in the content repository.\n" @@ -2668,8 +2784,9 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"Default timeout for cURL, stated in milliseconds.\n" -"Only has an effect if compiled with cURL." +"Define shadow filtering quality\n" +"This simulates the soft shadows effect by applying a PCF or poisson disk\n" +"but also uses more resources." msgstr "" #: src/settings_translation_file.cpp @@ -2830,6 +2947,12 @@ msgid "" "This support is experimental and API can change." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Enable colored shadows. \n" +"On true translucent nodes cast colored shadows. This is expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable console window" msgstr "" @@ -2854,6 +2977,13 @@ msgstr "" msgid "Enable players getting damage and dying." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Enable poisson disk filtering.\n" +"On true uses poisson disk to make \"soft shadows\". Otherwise uses PCF " +"filtering." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable random user input (only used for testing)." msgstr "" @@ -2976,18 +3106,6 @@ msgstr "" msgid "Fallback font path" msgstr "" -#: src/settings_translation_file.cpp -msgid "Fallback font shadow" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Fallback font shadow alpha" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Fallback font size" -msgstr "" - #: src/settings_translation_file.cpp msgid "Fast key" msgstr "" @@ -3006,7 +3124,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"Fast movement (via the \"special\" key).\n" +"Fast movement (via the \"Aux1\" key).\n" "This requires the \"fast\" privilege on the server." msgstr "" @@ -3040,9 +3158,9 @@ 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." +"which PNG optimizers usually discard, often resulting in dark or\n" +"light edges to transparent textures. Apply a filter to clean that up\n" +"at texture load time. This is automatically enabled if mipmapping is enabled." msgstr "" #: src/settings_translation_file.cpp @@ -3103,7 +3221,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Fog" -msgstr "" +msgstr "Ομίχλη" #: src/settings_translation_file.cpp msgid "Fog start" @@ -3131,16 +3249,12 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Font size" -msgstr "" +msgstr "Μέγεθος γραμματοσειράς" #: src/settings_translation_file.cpp msgid "Font size of the default font in point (pt)." msgstr "" -#: src/settings_translation_file.cpp -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 "" @@ -3236,11 +3350,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Full screen" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Full screen BPP" -msgstr "" +msgstr "Πλήρης οθόνη" #: src/settings_translation_file.cpp msgid "Fullscreen mode." @@ -3287,7 +3397,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Gravity" -msgstr "" +msgstr "Βαρύτητα" #: src/settings_translation_file.cpp msgid "Ground level" @@ -3335,7 +3445,8 @@ msgid "Heat noise" msgstr "" #: src/settings_translation_file.cpp -msgid "Height component of the initial window size." +msgid "" +"Height component of the initial window size. Ignored in fullscreen mode." msgstr "" #: src/settings_translation_file.cpp @@ -3346,10 +3457,6 @@ msgstr "" msgid "Height select noise" msgstr "" -#: src/settings_translation_file.cpp -msgid "High-precision FPU" -msgstr "" - #: src/settings_translation_file.cpp msgid "Hill steepness" msgstr "" @@ -3581,8 +3688,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"If disabled, \"special\" key is used to fly fast if both fly and fast mode " -"are\n" +"If disabled, \"Aux1\" key is used to fly fast if both fly and fast mode are\n" "enabled." msgstr "" @@ -3604,8 +3710,8 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"If enabled, \"special\" key instead of \"sneak\" key is used for climbing " -"down and\n" +"If enabled, \"Aux1\" key instead of \"Sneak\" key is used for climbing down " +"and\n" "descending." msgstr "" @@ -3649,6 +3755,12 @@ msgid "" "to this distance from the player to the node." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"If the execution of a chat command takes longer than this specified time in\n" +"seconds, add the time information to the chat command message" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "If the file size of debug.txt exceeds the number of megabytes specified in\n" @@ -4362,7 +4474,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Language" -msgstr "" +msgstr "Γλώσσα" #: src/settings_translation_file.cpp msgid "Large cave depth" @@ -4537,10 +4649,6 @@ msgid "" "Make fog and sky colors depend on daytime (dawn/sunset) and view direction." msgstr "" -#: src/settings_translation_file.cpp -msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." -msgstr "" - #: src/settings_translation_file.cpp msgid "Makes all liquids opaque" msgstr "" @@ -4612,6 +4720,10 @@ msgstr "" msgid "Map save interval" msgstr "" +#: src/settings_translation_file.cpp +msgid "Map update time" +msgstr "" + #: src/settings_translation_file.cpp msgid "Mapblock limit" msgstr "" @@ -4720,6 +4832,10 @@ msgstr "" msgid "Maximum FPS when the window is not focused, or when the game is paused." msgstr "" +#: src/settings_translation_file.cpp +msgid "Maximum distance to render shadows." +msgstr "" + #: src/settings_translation_file.cpp msgid "Maximum forceloaded blocks" msgstr "" @@ -4826,7 +4942,15 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "Maximum time in ms a file download (e.g. a mod download) may take." +msgid "" +"Maximum time a file download (e.g. a mod download) may take, stated in " +"milliseconds." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum time an interactive request (e.g. server list fetch) may take, " +"stated in milliseconds." msgstr "" #: src/settings_translation_file.cpp @@ -4941,7 +5065,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Mute sound" -msgstr "" +msgstr "Σίγαση ήχου" #: src/settings_translation_file.cpp msgid "" @@ -4969,7 +5093,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Network" -msgstr "" +msgstr "Δίκτυο" #: src/settings_translation_file.cpp msgid "" @@ -5039,11 +5163,6 @@ 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 " @@ -5132,7 +5251,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Player name" -msgstr "" +msgstr "Όνομα παίκτη" #: src/settings_translation_file.cpp msgid "Player transfer distance" @@ -5142,6 +5261,10 @@ msgstr "" msgid "Player versus player" msgstr "" +#: src/settings_translation_file.cpp +msgid "Poisson filtering" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Port to connect to (UDP).\n" @@ -5389,7 +5512,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Security" -msgstr "" +msgstr "Ασφάλεια" #: src/settings_translation_file.cpp msgid "See https://www.sqlite.org/pragma.html#pragma_synchronous" @@ -5436,23 +5559,23 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Server URL" -msgstr "" +msgstr "URL διακομιστή" #: src/settings_translation_file.cpp msgid "Server address" -msgstr "" +msgstr "Διεύθυνση διακομιστή" #: src/settings_translation_file.cpp msgid "Server description" -msgstr "" +msgstr "Περιγραφή διακομιστή" #: src/settings_translation_file.cpp msgid "Server name" -msgstr "" +msgstr "Όνομα διακομιστή" #: src/settings_translation_file.cpp msgid "Server port" -msgstr "" +msgstr "Θύρα διακομιστή" #: src/settings_translation_file.cpp msgid "Server side occlusion culling" @@ -5476,6 +5599,40 @@ msgstr "" msgid "Set the maximum character length of a chat message sent by clients." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow strength.\n" +"Lower value means lighter shadows, higher value means darker shadows." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow update time.\n" +"Lower value means shadows and map updates faster, but it consume more " +"resources.\n" +"Minimun value 0.001 seconds max value 0.2 seconds" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the soft shadow radius size.\n" +"Lower values mean sharper shadows bigger values softer.\n" +"Minimun value 1.0 and max value 10.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the tilt of Sun/Moon orbit in degrees\n" +"Value of 0 means no tilt / vertical orbit.\n" +"Minimun value 0.0 and max value 60.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set to true to enable Shadow Mapping.\n" +"Requires shaders to be enabled." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Set to true to enable waving leaves.\n" @@ -5494,6 +5651,13 @@ msgid "" "Requires shaders to be enabled." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Sets shadow texture quality to 32 bits.\n" +"On false, 16 bits texture will be used.\n" +"This can cause much more artifacts in the shadow." +msgstr "" + #: src/settings_translation_file.cpp msgid "Shader path" msgstr "" @@ -5506,6 +5670,22 @@ msgid "" "This only works with the OpenGL video backend." msgstr "" +#: src/settings_translation_file.cpp +msgid "Shadow filter quality" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map max distance in nodes to render shadows" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture in 32 bits" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture size" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Shadow offset (in pixels) of the default font. If 0, then shadow will not be " @@ -5513,9 +5693,7 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "" -"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not " -"be drawn." +msgid "Shadow strength" msgstr "" #: src/settings_translation_file.cpp @@ -5561,6 +5739,10 @@ msgid "" "thread, thus reducing jitter." msgstr "" +#: src/settings_translation_file.cpp +msgid "Sky Body Orbit Tilt" +msgstr "" + #: src/settings_translation_file.cpp msgid "Slice w" msgstr "" @@ -5615,17 +5797,13 @@ msgstr "" msgid "Sneaking speed, in nodes per second." msgstr "" +#: src/settings_translation_file.cpp +msgid "Soft shadow radius" +msgstr "" + #: src/settings_translation_file.cpp msgid "Sound" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Special key" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Special key for climbing/descending" -msgstr "" +msgstr "Ήχος" #: src/settings_translation_file.cpp msgid "" @@ -5748,6 +5926,13 @@ msgstr "" msgid "Texture path" msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Texture size to render the shadow map on.\n" +"This must be a power of two.\n" +"Bigger numbers create better shadowsbut it is also more expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Textures on a node may be aligned either to the node or to the world.\n" @@ -5821,7 +6006,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"The rendering back-end for Irrlicht.\n" +"The rendering back-end.\n" "A restart is required after changing this.\n" "Note: On Android, stick with OGLES1 if unsure! App may fail to start " "otherwise.\n" @@ -6108,12 +6293,12 @@ msgid "Viewing range" msgstr "" #: src/settings_translation_file.cpp -msgid "Virtual joystick triggers aux button" +msgid "Virtual joystick triggers Aux1 button" msgstr "" #: src/settings_translation_file.cpp msgid "Volume" -msgstr "" +msgstr "Ένταση" #: src/settings_translation_file.cpp msgid "" @@ -6199,9 +6384,8 @@ msgid "" "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" +"memory. Powers of 2 are recommended. This setting is ONLY applies if\n" +"bilinear/trilinear/anisotropic filtering is enabled.\n" "This is also used as the base node texture size for world-aligned\n" "texture autoscaling." msgstr "" @@ -6257,7 +6441,7 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "Width component of the initial window size." +msgid "Width component of the initial window size. Ignored in fullscreen mode." msgstr "" #: src/settings_translation_file.cpp @@ -6364,12 +6548,27 @@ msgid "cURL file download timeout" msgstr "" #: src/settings_translation_file.cpp -msgid "cURL parallel limit" +msgid "cURL interactive timeout" msgstr "" #: src/settings_translation_file.cpp -msgid "cURL timeout" +msgid "cURL parallel limit" msgstr "" +#~ msgid "Address / Port" +#~ msgstr "Διεύθυνση / Θήρα" + +#~ msgid "Credits" +#~ msgstr "Μνείες" + +#~ msgid "Name / Password" +#~ msgstr "Όνομα / Κωδικός" + #~ msgid "Ok" #~ msgstr "Οκ" + +#~ msgid "Special key" +#~ msgstr "Ειδικό πλήκτρο" + +#~ msgid "needs_fallback_font" +#~ msgstr "needs_fallback_font" diff --git a/po/eo/minetest.po b/po/eo/minetest.po index 64db5dd71..24cf6ebbc 100644 --- a/po/eo/minetest.po +++ b/po/eo/minetest.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: Esperanto (Minetest)\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-02-23 19:03+0100\n" -"PO-Revision-Date: 2020-07-17 08:41+0000\n" +"POT-Creation-Date: 2021-06-16 18:27+0200\n" +"PO-Revision-Date: 2021-05-31 21:42+0000\n" "Last-Translator: Tirifto \n" "Language-Team: Esperanto \n" @@ -12,7 +12,49 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.2-dev\n" +"X-Generator: Weblate 4.7-dev\n" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Clear the out chat queue" +msgstr "Maksimumo da atendantaj elaj mesaĝoj" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Empty command." +msgstr "Babilaj komandoj" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Exit to main menu" +msgstr "Eliri al menuo" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Invalid command: " +msgstr "Loka komando" + +#: builtin/client/chatcommands.lua +msgid "Issued command: " +msgstr "" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "List online players" +msgstr "Ludo por unu" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Online players: " +msgstr "Ludo por unu" + +#: builtin/client/chatcommands.lua +msgid "The out chat queue is now empty." +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "This command is disabled by server." +msgstr "" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -22,6 +64,38 @@ msgstr "Renaskiĝi" msgid "You died" msgstr "Vi mortis" +#: builtin/client/death_formspec.lua +#, fuzzy +msgid "You died." +msgstr "Vi mortis" + +#: builtin/common/chatcommands.lua +#, fuzzy +msgid "Available commands:" +msgstr "Loka komando" + +#: builtin/common/chatcommands.lua +#, fuzzy +msgid "Available commands: " +msgstr "Loka komando" + +#: builtin/common/chatcommands.lua +msgid "Command not available: " +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "Get help for commands" +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "" +"Use '.help ' to get more information, or '.help all' to list everything." +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "[all | ]" +msgstr "" + #: builtin/fstk/dialog.lua builtin/fstk/ui.lua src/gui/modalMenu.cpp msgid "OK" msgstr "Bone" @@ -128,7 +202,7 @@ msgstr "Sen dependaĵoj" #: builtin/mainmenu/dlg_config_world.lua msgid "No modpack description provided." -msgstr "Neniu priskrib ode modifaĵaro estas donita." +msgstr "Neniu priskribo de modifaĵaro estas donita." #: builtin/mainmenu/dlg_config_world.lua msgid "No optional dependencies" @@ -153,52 +227,51 @@ msgstr "ŝaltita" #: builtin/mainmenu/dlg_contentstore.lua msgid "\"$1\" already exists. Would you like to overwrite it?" -msgstr "" +msgstr "«$ 1» jam ekzistas. Ĉu superskribi ĝin?" #: builtin/mainmenu/dlg_contentstore.lua msgid "$1 and $2 dependencies will be installed." -msgstr "" +msgstr "Dependaĵoj $1 kaj $2 estos instalitaj." #: builtin/mainmenu/dlg_contentstore.lua msgid "$1 by $2" -msgstr "" +msgstr "$1 de $2" #: builtin/mainmenu/dlg_contentstore.lua msgid "" "$1 downloading,\n" "$2 queued" msgstr "" +"elŝutante $1,\n" +"atendante $2" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "$1 downloading..." -msgstr "Elŝutante…" +msgstr "Elŝutante $1…" #: builtin/mainmenu/dlg_contentstore.lua msgid "$1 required dependencies could not be found." -msgstr "" +msgstr "$1 nepraj dependaĵoj ne estis troveblaj." #: builtin/mainmenu/dlg_contentstore.lua msgid "$1 will be installed, and $2 dependencies will be skipped." -msgstr "" +msgstr "$ 1 estos instalita, ignorante $2 dependaĵojn." #: builtin/mainmenu/dlg_contentstore.lua msgid "All packages" msgstr "Ĉiuj pakaĵoj" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "Already installed" -msgstr "Klavo jam estas uzata" +msgstr "Jam instalita" #: builtin/mainmenu/dlg_contentstore.lua msgid "Back to Main Menu" -msgstr "Reeniri al ĉefmenuo" +msgstr "Reen al ĉefmenuo" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "Base Game:" -msgstr "Gastigi ludon" +msgstr "Baza Ludo:" #: builtin/mainmenu/dlg_contentstore.lua msgid "ContentDB is not available when Minetest was compiled without cURL" @@ -222,14 +295,12 @@ msgid "Install" msgstr "Instali" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "Install $1" -msgstr "Instali" +msgstr "Instali $1" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "Install missing dependencies" -msgstr "Malnepraj dependaĵoj:" +msgstr "Instali mankantajn dependaĵojn" #: builtin/mainmenu/dlg_contentstore.lua #: builtin/mainmenu/dlg_settings_advanced.lua @@ -245,26 +316,24 @@ msgid "No results" msgstr "Neniuj rezultoj" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "No updates" -msgstr "Ĝisdatigi" +msgstr "Neniuj ĝisdatigoj" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "Not found" -msgstr "Silentigi sonon" +msgstr "Ne trovita" #: builtin/mainmenu/dlg_contentstore.lua msgid "Overwrite" -msgstr "" +msgstr "Superskribi" #: builtin/mainmenu/dlg_contentstore.lua msgid "Please check that the base game is correct." -msgstr "" +msgstr "Bonvolu kontroli, ke la baza ludo estas ĝusta." #: builtin/mainmenu/dlg_contentstore.lua msgid "Queued" -msgstr "" +msgstr "Atendata" #: builtin/mainmenu/dlg_contentstore.lua msgid "Texture packs" @@ -280,11 +349,11 @@ msgstr "Ĝisdatigi" #: builtin/mainmenu/dlg_contentstore.lua msgid "Update All [$1]" -msgstr "" +msgstr "Ĝisdatigi Ĉiujn [$1]" #: builtin/mainmenu/dlg_contentstore.lua msgid "View more information in a web browser" -msgstr "" +msgstr "Vidi pli da informoj per TTT-legilo" #: builtin/mainmenu/dlg_create_world.lua msgid "A world named \"$1\" already exists" @@ -299,9 +368,8 @@ msgid "Altitude chill" msgstr "Alteca malvarmiĝo" #: builtin/mainmenu/dlg_create_world.lua -#, fuzzy msgid "Altitude dry" -msgstr "Alteca malvarmiĝo" +msgstr "Alteca sekeco" #: builtin/mainmenu/dlg_create_world.lua msgid "Biome blending" @@ -458,9 +526,8 @@ msgid "Temperate, Desert, Jungle, Tundra, Taiga" msgstr "Milda, Dezerto, Ĝangalo, Tundro, Tajgo" #: builtin/mainmenu/dlg_create_world.lua -#, fuzzy msgid "Terrain surface erosion" -msgstr "Bruo de terena bazo" +msgstr "Terensurfaca forfrotiĝo" #: builtin/mainmenu/dlg_create_world.lua msgid "Trees and jungle grass" @@ -540,7 +607,7 @@ msgstr "< Reiri al agorda paĝo" msgid "Browse" msgstr "Foliumi" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_settings.lua msgid "Disabled" msgstr "Malŝaltita" @@ -584,7 +651,7 @@ msgstr "Restarigi pravaloron" msgid "Scale" msgstr "Skalo" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua msgid "Search" msgstr "Serĉi" @@ -709,15 +776,51 @@ msgid "Loading..." msgstr "Enlegante…" #: builtin/mainmenu/serverlistmgr.lua -#, fuzzy msgid "Public server list is disabled" -msgstr "Klient-flanka skriptado malŝaltita" +msgstr "Listo de publikaj serviloj estas malŝaltita" #: builtin/mainmenu/serverlistmgr.lua msgid "Try reenabling public serverlist and check your internet connection." msgstr "" "Provu reŝalti la publikan liston de serviloj kaj kontroli vian retkonekton." +#: builtin/mainmenu/tab_about.lua +msgid "About" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active Contributors" +msgstr "Aktivaj kontribuantoj" + +#: builtin/mainmenu/tab_about.lua +#, fuzzy +msgid "Active renderer:" +msgstr "Aktiva senda amplekso de objektoj" + +#: builtin/mainmenu/tab_about.lua +msgid "Core Developers" +msgstr "Kernprogramistoj" + +#: builtin/mainmenu/tab_about.lua +msgid "Open User Data Directory" +msgstr "Malfermi dosierujon de datenoj de uzanto" + +#: builtin/mainmenu/tab_about.lua +msgid "" +"Opens the directory that contains user-provided worlds, games, mods,\n" +"and texture packs in a file manager / explorer." +msgstr "" +"Malfermi per dosieradministrilo la dosierujon, kiu enhavas la mondojn,\n" +"ludojn, modifaĵojn, kaj teksturojn provizitajn de la uzanto." + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Contributors" +msgstr "Eksaj kontribuistoj" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Core Developers" +msgstr "Eksaj kernprogramistoj" + #: builtin/mainmenu/tab_content.lua msgid "Browse online content" msgstr "Foliumi enretan enhavon" @@ -758,37 +861,6 @@ msgstr "Malinstali pakaĵon" msgid "Use Texture Pack" msgstr "Uzi teksturaron" -#: builtin/mainmenu/tab_credits.lua -msgid "Active Contributors" -msgstr "Aktivaj kontribuantoj" - -#: builtin/mainmenu/tab_credits.lua -msgid "Core Developers" -msgstr "Kernprogramistoj" - -#: builtin/mainmenu/tab_credits.lua -msgid "Credits" -msgstr "Kontribuantaro" - -#: builtin/mainmenu/tab_credits.lua -#, fuzzy -msgid "Open User Data Directory" -msgstr "Elekti dosierujon" - -#: builtin/mainmenu/tab_credits.lua -msgid "" -"Opens the directory that contains user-provided worlds, games, mods,\n" -"and texture packs in a file manager / explorer." -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Contributors" -msgstr "Eksaj kontribuistoj" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Core Developers" -msgstr "Eksaj kernprogramistoj" - #: builtin/mainmenu/tab_local.lua msgid "Announce Server" msgstr "Enlistigi servilon" @@ -817,9 +889,9 @@ msgstr "Gastigi servilon" msgid "Install games from ContentDB" msgstr "Instali ludojn de ContentDB" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Name" -msgstr "" +msgstr "Nomo" #: builtin/mainmenu/tab_local.lua msgid "New" @@ -829,23 +901,21 @@ msgstr "Nova" msgid "No world created or selected!" msgstr "Neniu mondo estas kreita aŭ elektita!" -#: builtin/mainmenu/tab_local.lua -#, fuzzy +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Password" -msgstr "Nova pasvorto" +msgstr "Pasvorto" #: builtin/mainmenu/tab_local.lua msgid "Play Game" msgstr "Ludi" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Port" msgstr "Pordo" #: builtin/mainmenu/tab_local.lua -#, fuzzy msgid "Select Mods" -msgstr "Elektu mondon:" +msgstr "Elektu Modifaĵojn" #: builtin/mainmenu/tab_local.lua msgid "Select World:" @@ -860,8 +930,13 @@ msgid "Start Game" msgstr "Ekigi ludon" #: builtin/mainmenu/tab_online.lua -msgid "Address / Port" -msgstr "Adreso / Pordo" +#, fuzzy +msgid "Address" +msgstr "– Adreso: " + +#: builtin/mainmenu/tab_online.lua src/client/keycode.cpp +msgid "Clear" +msgstr "Vakigo" #: builtin/mainmenu/tab_online.lua msgid "Connect" @@ -871,34 +946,46 @@ msgstr "Konekti" msgid "Creative mode" msgstr "Krea reĝimo" +#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "Damage enabled" -msgstr "Difektado estas ŝaltita" +#, fuzzy +msgid "Damage / PvP" +msgstr "Difekto" #: builtin/mainmenu/tab_online.lua msgid "Del. Favorite" msgstr "Forigi ŝataton" #: builtin/mainmenu/tab_online.lua -msgid "Favorite" +#, fuzzy +msgid "Favorites" msgstr "Ŝati" +#: builtin/mainmenu/tab_online.lua +msgid "Incompatible Servers" +msgstr "" + #: builtin/mainmenu/tab_online.lua msgid "Join Game" msgstr "Aliĝi al ludo" -#: builtin/mainmenu/tab_online.lua -msgid "Name / Password" -msgstr "Nomo / Pasvorto" - #: builtin/mainmenu/tab_online.lua msgid "Ping" msgstr "Retprokrasto" -#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "PvP enabled" -msgstr "Dueloj ŝaltitas" +#, fuzzy +msgid "Public Servers" +msgstr "Enlistigi servilon" + +#: builtin/mainmenu/tab_online.lua +msgid "Refresh" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +#, fuzzy +msgid "Server Description" +msgstr "Priskribo pri servilo" #: builtin/mainmenu/tab_settings.lua msgid "2x" @@ -940,10 +1027,31 @@ msgstr "Ŝanĝi klavojn" msgid "Connected Glass" msgstr "Ligata vitro" +#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp +#, fuzzy +msgid "Dynamic shadows" +msgstr "Tipara ombro" + +#: builtin/mainmenu/tab_settings.lua +msgid "Dynamic shadows: " +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Fancy Leaves" msgstr "Ŝikaj folioj" +#: builtin/mainmenu/tab_settings.lua +msgid "High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Low" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Medium" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Mipmap" msgstr "Etmapo" @@ -997,9 +1105,8 @@ msgid "Shaders" msgstr "Ombrigiloj" #: builtin/mainmenu/tab_settings.lua -#, fuzzy msgid "Shaders (experimental)" -msgstr "Fluginsuloj (eksperimentaj)" +msgstr "Ombrigiloj (eksperimentaj)" #: builtin/mainmenu/tab_settings.lua msgid "Shaders (unavailable)" @@ -1033,6 +1140,14 @@ msgstr "Tuŝa sojlo: (px)" msgid "Trilinear Filter" msgstr "Trilineara filtrilo" +#: builtin/mainmenu/tab_settings.lua +msgid "Ultra High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Very Low" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Waving Leaves" msgstr "Ondantaj foliaĵoj" @@ -1105,18 +1220,6 @@ 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 "no" - #: src/client/game.cpp msgid "" "\n" @@ -1199,7 +1302,7 @@ msgid "Continue" msgstr "Daŭrigi" #: src/client/game.cpp -#, fuzzy, c-format +#, c-format msgid "" "Controls:\n" "- %s: move forwards\n" @@ -1222,12 +1325,12 @@ msgstr "" "– %s: moviĝi maldekstren\n" "– %s: moviĝi dekstren\n" "– %s: salti/supreniri\n" +"- %s: fosi/bati\n" +"- %s: meti/uzi\n" "– %s: kaŝiri/malsupreniri\n" "– %s: demeti portaĵojn\n" "– %s: portaĵujo\n" "– Muso: turniĝi/rigardi\n" -"– Musklavo maldekstra: fosi/bati\n" -"– Musklavo dekstra: meti/uzi\n" "– Musrado: elekti portaĵon\n" "– %s: babili\n" @@ -1359,6 +1462,11 @@ msgstr "MiB/s" msgid "Minimap currently disabled by game or mod" msgstr "Mapeto nuntempe malŝaltita de ludo aŭ modifaĵo" +#: src/client/game.cpp +#, fuzzy +msgid "Multiplayer" +msgstr "Ludo por unu" + #: src/client/game.cpp msgid "Noclip mode disabled" msgstr "Trapasa reĝimo malŝaltita" @@ -1500,10 +1608,6 @@ msgstr "Reenklavo" msgid "Caps Lock" msgstr "Majuskla baskulo" -#: src/client/keycode.cpp -msgid "Clear" -msgstr "Vakigo" - #: src/client/keycode.cpp msgid "Control" msgstr "Stiro" @@ -1756,19 +1860,18 @@ msgid "Minimap hidden" msgstr "Mapeto kaŝita" #: src/client/minimap.cpp -#, fuzzy, c-format +#, c-format msgid "Minimap in radar mode, Zoom x%d" -msgstr "Mapeto en radara reĝimo, zomo ×1" +msgstr "Mapeto en radara reĝimo, zomo ×%d" #: src/client/minimap.cpp -#, fuzzy, c-format +#, c-format msgid "Minimap in surface mode, Zoom x%d" -msgstr "Mapeto en supraĵa reĝimo, zomo ×1" +msgstr "Mapeto en supraĵa reĝimo, zomo ×%d" #: src/client/minimap.cpp -#, fuzzy msgid "Minimap in texture mode" -msgstr "Minimuma grandeco de teksturoj" +msgstr "Mapeto en tekstura reĝimo" #: src/gui/guiConfirmRegistration.cpp src/gui/guiPasswordChange.cpp msgid "Passwords do not match!" @@ -1797,7 +1900,8 @@ msgid "Proceed" msgstr "Daŭrigi" #: src/gui/guiKeyChangeMenu.cpp -msgid "\"Special\" = climb down" +#, fuzzy +msgid "\"Aux1\" = climb down" msgstr "«Speciala» = malsupreniri" #: src/gui/guiKeyChangeMenu.cpp @@ -1808,10 +1912,18 @@ msgstr "Memirado" msgid "Automatic jumping" msgstr "Memaga saltado" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Aux1" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Backward" msgstr "Malantaŭen" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Block bounds" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Change camera" msgstr "Ŝanĝi vidpunkton" @@ -1901,10 +2013,6 @@ msgstr "Ekrankopio" msgid "Sneak" msgstr "Kaŝiri" -#: src/gui/guiKeyChangeMenu.cpp -msgid "Special" -msgstr "Speciala" - #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle HUD" msgstr "Baskuligi travidan fasadon" @@ -1991,9 +2099,10 @@ msgstr "" "Se malŝaltita, virtuala stirstango centriĝos je la unua tuŝo." #: 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 " +"(Android) Use virtual joystick to trigger \"Aux1\" button.\n" +"If enabled, virtual joystick will also tap \"Aux1\" button when out of main " "circle." msgstr "" "(Android) Uzi virtualan stirstangon por agigi la butonon «aux».\n" @@ -2167,7 +2276,7 @@ msgstr "Intertempo de ABM (aktiva modifilo de monderoj)" #: src/settings_translation_file.cpp msgid "ABM time budget" -msgstr "" +msgstr "Tempobuĝeto de ABM (aktiva modifilo de monderoj)" #: src/settings_translation_file.cpp msgid "Absolute limit of queued blocks to emerge" @@ -2351,6 +2460,16 @@ msgstr "Memori grandecon de ekrano" msgid "Autoscaling mode" msgstr "Reĝimo de memaga skalado" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Aux1 key" +msgstr "Salta klavo" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Aux1 key for climbing/descending" +msgstr "Speciala klavo por supreniri/malsupreniri" + #: src/settings_translation_file.cpp msgid "Backward key" msgstr "Malantaŭen" @@ -2395,10 +2514,6 @@ msgstr "Parametroj de varmeco kaj sekeco por Klimata API" msgid "Biome noise" msgstr "Klimata bruo" -#: src/settings_translation_file.cpp -msgid "Bits per pixel (aka color depth) in fullscreen mode." -msgstr "Bitoj bildere (aŭ kolornombro) en tutekrana reĝimo." - #: src/settings_translation_file.cpp msgid "Block send optimize distance" msgstr "Optimuma distanco de monder-sendado" @@ -2504,6 +2619,11 @@ 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 +#, fuzzy +msgid "Chat command time message threshold" +msgstr "Sojlo de babilaj mesaĝoj antaŭ forpelo" + #: src/settings_translation_file.cpp msgid "Chat font size" msgstr "Grandeco de babiluja tiparo" @@ -2600,6 +2720,11 @@ msgstr "Nuboj en ĉefmenuo" msgid "Colored fog" msgstr "Kolora nebulo" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Colored shadows" +msgstr "Kolora nebulo" + #: src/settings_translation_file.cpp msgid "" "Comma-separated list of flags to hide in the content repository.\n" @@ -2671,7 +2796,7 @@ msgstr "Malpermesitaj flagoj de ContentDB" #: src/settings_translation_file.cpp msgid "ContentDB Max Concurrent Downloads" -msgstr "" +msgstr "Maksimuma nombro de samtempaj elŝutoj de ContentDB" #: src/settings_translation_file.cpp msgid "ContentDB URL" @@ -2738,11 +2863,12 @@ msgid "Crosshair alpha" msgstr "Travidebleco de celilo" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Crosshair alpha (opaqueness, between 0 and 255).\n" "Also controls the object crosshair color" -msgstr "Travidebleco de celilo (maltravidebleco, inter 0 kaj 255)." +msgstr "" +"Travidebleco de celilo (maltravidebleco, inter 0 kaj 255).\n" +"Ankaŭ determinas la koloron de la celilo de objekto" #: src/settings_translation_file.cpp msgid "Crosshair color" @@ -2753,6 +2879,8 @@ msgid "" "Crosshair color (R,G,B).\n" "Also controls the object crosshair color" msgstr "" +"Koloro de celilo (Ruĝo, Verdo, Bluo).\n" +"Ankaŭ determinas la koloron de la celilo de objekto" #: src/settings_translation_file.cpp msgid "DPI" @@ -2820,11 +2948,10 @@ msgstr "Implicita grandeco de la kolumno" #: src/settings_translation_file.cpp msgid "" -"Default timeout for cURL, stated in milliseconds.\n" -"Only has an effect if compiled with cURL." +"Define shadow filtering quality\n" +"This simulates the soft shadows effect by applying a PCF or poisson disk\n" +"but also uses more resources." msgstr "" -"Implicita tempolimo por cURL, milisekunde.\n" -"Nur efektiviĝas programtradukite kun cURL." #: src/settings_translation_file.cpp msgid "Defines areas where trees have apples." @@ -2936,9 +3063,8 @@ msgid "Desynchronize block animation" msgstr "Malsamtempigi bildmovon de monderoj" #: src/settings_translation_file.cpp -#, fuzzy msgid "Dig key" -msgstr "Dekstren-klavo" +msgstr "Klavo por fosi" #: src/settings_translation_file.cpp msgid "Digging particles" @@ -3000,14 +3126,19 @@ msgstr "" "Ŝalti klient-flankajn Lua-modifojn.\n" "Tiu ĉi funkcio estas prova kaj la API eble ŝanĝontas." +#: src/settings_translation_file.cpp +msgid "" +"Enable colored shadows. \n" +"On true translucent nodes cast colored shadows. This is expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable console window" msgstr "Ŝalti konzolan fenestron" #: src/settings_translation_file.cpp -#, fuzzy msgid "Enable creative mode for all players" -msgstr "Ŝalti krean reĝimon por novaj mapoj." +msgstr "Ŝalti krean reĝimon por ĉiuj ludantoj" #: src/settings_translation_file.cpp msgid "Enable joysticks" @@ -3025,6 +3156,13 @@ msgstr "Ŝalti modifaĵan sekurecon" msgid "Enable players getting damage and dying." msgstr "Ŝalti difektadon kaj mortadon de ludantoj." +#: src/settings_translation_file.cpp +msgid "" +"Enable poisson disk filtering.\n" +"On true uses poisson disk to make \"soft shadows\". Otherwise uses PCF " +"filtering." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable random user input (only used for testing)." msgstr "Ŝalti hazardan uzulan enigon (nur por testado)." @@ -3161,9 +3299,8 @@ msgstr "" "pli plataj malaltejoj, taŭgaj por solida tavolo de fluginsulaĵo." #: src/settings_translation_file.cpp -#, fuzzy msgid "FPS when unfocused or paused" -msgstr "Maksimumaj KS paŭze." +msgstr "Maksimuma nombro de kadroj en sekundo dum paŭzo aŭ sen fokuso" #: src/settings_translation_file.cpp msgid "FSAA" @@ -3181,18 +3318,6 @@ msgstr "Koeficiento de balancado dum falo" msgid "Fallback font path" msgstr "Dosierindiko al reenpaŝa tiparo" -#: src/settings_translation_file.cpp -msgid "Fallback font shadow" -msgstr "Ombro de reenpaŝa tiparo" - -#: src/settings_translation_file.cpp -msgid "Fallback font shadow alpha" -msgstr "Travidebleco de ombro de la reenpaŝa tiparo" - -#: src/settings_translation_file.cpp -msgid "Fallback font size" -msgstr "Grando de reenpaŝa tiparo" - #: src/settings_translation_file.cpp msgid "Fast key" msgstr "Rapida klavo" @@ -3210,8 +3335,9 @@ msgid "Fast movement" msgstr "Rapida moviĝo" #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"Fast movement (via the \"special\" key).\n" +"Fast movement (via the \"Aux1\" key).\n" "This requires the \"fast\" privilege on the server." msgstr "" "Rapida moviĝo (per la klavo «speciala»).\n" @@ -3248,11 +3374,12 @@ msgid "Filmic tone mapping" msgstr "Filmeca mapado de tono" #: 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" -"light edge to transparent textures. Apply this filter to clean that up\n" -"at texture load time." +"which PNG optimizers usually discard, often resulting in dark or\n" +"light edges to transparent textures. Apply a filter to clean that up\n" +"at texture load time. This is automatically enabled if mipmapping is enabled." msgstr "" "Filtritaj teksturoj povas intermiksi RVB valorojn kun plene travideblaj\n" "apud-bilderoj, kiujn PNG bonigiloj kutime forigas, farante helan aŭ\n" @@ -3353,10 +3480,6 @@ msgstr "Tipara grandeco" 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 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)." @@ -3467,10 +3590,6 @@ msgstr "" msgid "Full screen" msgstr "Tutekrane" -#: src/settings_translation_file.cpp -msgid "Full screen BPP" -msgstr "Kolornombro tutekrane" - #: src/settings_translation_file.cpp msgid "Fullscreen mode." msgstr "Tutekrana reĝimo." @@ -3547,7 +3666,6 @@ msgid "HUD toggle key" msgstr "Baskula klavo por travida fasado" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Handling for deprecated Lua API calls:\n" "- none: Do not log deprecated calls\n" @@ -3555,10 +3673,9 @@ msgid "" "- error: abort on usage of deprecated call (suggested for mod developers)." msgstr "" "Traktado de evitindaj Lua-API-vokoj:\n" -"- hereda: (provi) imiti la malnovan konduton (norma por eldono).\n" -"- protokola: imiti kaj protokoli respuron de evitindaj vokoj (norma por " -"erarserĉado).\n" -"- erara: ĉesigi je evitinda voko (proponata al evoluigistoj de modifaĵoj)." +"- none: ne prokoli evitindajn vokojn\n" +"- log: imiti kaj protokoli respuron de evitindaj vokoj (implicita).\n" +"- error: ĉesigi je evitinda voko (proponata al evoluigistoj de modifaĵoj)." #: src/settings_translation_file.cpp msgid "" @@ -3582,7 +3699,9 @@ msgid "Heat noise" msgstr "Varmeca bruo" #: src/settings_translation_file.cpp -msgid "Height component of the initial window size." +#, fuzzy +msgid "" +"Height component of the initial window size. Ignored in fullscreen mode." msgstr "Alteco de la fenestro je ĝia komenca grando." #: src/settings_translation_file.cpp @@ -3593,10 +3712,6 @@ msgstr "Alteca bruo" msgid "Height select noise" msgstr "Bruo de elekto de alto" -#: src/settings_translation_file.cpp -msgid "High-precision FPU" -msgstr "Preciza glitkoma datentraktilo (FPU)" - #: src/settings_translation_file.cpp msgid "Hill steepness" msgstr "Kruteco de montetoj" @@ -3630,7 +3745,7 @@ msgid "" "Horizontal acceleration in air when jumping or falling,\n" "in nodes per second per second." msgstr "" -"Horizontala akcelo en aero dum saltado aŭ falado,\n" +"Horizontala akcelo en aero dum saltado aŭ falado, \n" "en monderoj sekunde sekunde." #: src/settings_translation_file.cpp @@ -3836,13 +3951,13 @@ msgid "" "If FPS would go higher than this, limit it by sleeping\n" "to not waste CPU power for no benefit." msgstr "" -"Se filmeroj sekunde superas ĉi tion, limigu ilin per dormo,\n" -"por ne malŝpari vane potencon de datentraktilo." +"Se la nombro de kadroj superas ĉi tion, limigu ilin per dormo,\n" +"por ne malŝpari vane potencon de procesoro." #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"If disabled, \"special\" key is used to fly fast if both fly and fast mode " -"are\n" +"If disabled, \"Aux1\" key is used to fly fast if both fly and fast mode are\n" "enabled." msgstr "" "Malŝaltite, postulas uzon de la «speciala» klavo se ambaŭ la fluga kaj\n" @@ -3871,9 +3986,10 @@ msgstr "" "Por tio necesas la rajto «noclip» servile." #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"If enabled, \"special\" key instead of \"sneak\" key is used for climbing " -"down and\n" +"If enabled, \"Aux1\" key instead of \"Sneak\" key is used for climbing down " +"and\n" "descending." msgstr "" "Ŝaltite, klavo «uzi» estas uzata anstataŭ klavo «kaŝiri» por malsupreniro." @@ -3929,6 +4045,12 @@ msgstr "" "vokoj\n" "al get_node limiĝas al ĉi tiu distanco inter la ludanto kaj la mondero." +#: src/settings_translation_file.cpp +msgid "" +"If the execution of a chat command takes longer than this specified time in\n" +"seconds, add the time information to the chat command message" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "If the file size of debug.txt exceeds the number of megabytes specified in\n" @@ -4004,6 +4126,7 @@ msgstr "" msgid "" "Instrument the action function of Loading Block Modifiers on registration." msgstr "" +"Ekzameni la agan funkcion de Ŝargaj Modifiloj de Monderoj je registriĝo." #: src/settings_translation_file.cpp msgid "Instrument the methods of entities on registration." @@ -4075,9 +4198,8 @@ msgid "Joystick button repetition interval" msgstr "Ripeta periodo de stirstangaj klavoj" #: src/settings_translation_file.cpp -#, fuzzy msgid "Joystick deadzone" -msgstr "Speco de stirstango" +msgstr "Nerespondema zono de stirstango" #: src/settings_translation_file.cpp msgid "Joystick frustum sensitivity" @@ -4182,13 +4304,12 @@ msgstr "" "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for digging.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Klavo por salti.\n" +"Klavo por fosi.\n" "Vidu http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" @@ -4335,13 +4456,12 @@ msgstr "" "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for placing.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Klavo por salti.\n" +"Klavo por meti.\n" "Vidu http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" @@ -5007,7 +5127,7 @@ msgstr "Alta transiro de luma kurbo" #: src/settings_translation_file.cpp msgid "Light curve low gradient" -msgstr "" +msgstr "Malalta transiro de luma kurbo" #: src/settings_translation_file.cpp msgid "" @@ -5077,7 +5197,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Loading Block Modifiers" -msgstr "Enlegante Modifilojn de Monderoj" +msgstr "Ŝargaj Modifiloj de Monderoj" #: src/settings_translation_file.cpp msgid "Lower Y limit of dungeons." @@ -5098,22 +5218,17 @@ msgstr "" "Dependigi kolorojn de nebulo kaj ĉielo de tagtempo (sunleviĝo/sunsubiro)\n" "kaj direkto de rigardo." -#: src/settings_translation_file.cpp -msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." -msgstr "" -"Funkciigas programaron «DirectX» kun «LuaJIT». Malŝaltu okaze de problemoj." - #: src/settings_translation_file.cpp msgid "Makes all liquids opaque" msgstr "Igas fluaĵojn netravideblaj" #: src/settings_translation_file.cpp msgid "Map Compression Level for Disk Storage" -msgstr "" +msgstr "Nivelo de densigo de mondopecoj por konservado sur disko" #: src/settings_translation_file.cpp msgid "Map Compression Level for Network Transfer" -msgstr "" +msgstr "Nivelo de densigo de mondopecoj por sendado tra reto" #: src/settings_translation_file.cpp msgid "Map directory" @@ -5193,17 +5308,22 @@ msgstr "Limo de mondestigo" msgid "Map save interval" msgstr "Intervaloj inter konservoj de mondo" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Map update time" +msgstr "Longeco de fluaĵa agociklo" + #: src/settings_translation_file.cpp msgid "Mapblock limit" msgstr "Mondopeca limo" #: src/settings_translation_file.cpp msgid "Mapblock mesh generation delay" -msgstr "" +msgstr "Prokrasto de estigo de maŝoj de mondopecoj" #: src/settings_translation_file.cpp msgid "Mapblock mesh generator's MapBlock cache size in MB" -msgstr "" +msgstr "Grando (en megabitokoj) de la kaŝmemoro de la estiganto de mondopecoj" #: src/settings_translation_file.cpp msgid "Mapblock unload timeout" @@ -5295,12 +5415,17 @@ msgstr "Maksimumaj paketoj iteracie" #: src/settings_translation_file.cpp msgid "Maximum FPS" -msgstr "Maksimumaj KS" +msgstr "Maksimuma nombro de kadroj en sekundo" #: src/settings_translation_file.cpp -#, fuzzy msgid "Maximum FPS when the window is not focused, or when the game is paused." -msgstr "Maksimumaj KS paŭze." +msgstr "" +"Maksimuma nombro de kadroj en sekundo, kiam la fokuso mankas al la fenestro, " +"aŭ dum paŭzo de la ludo." + +#: src/settings_translation_file.cpp +msgid "Maximum distance to render shadows." +msgstr "" #: src/settings_translation_file.cpp msgid "Maximum forceloaded blocks" @@ -5364,6 +5489,9 @@ msgid "" "be queued.\n" "This should be lower than curl_parallel_limit." msgstr "" +"Maksimuma nombro de samtempaj elŝutoj. Elŝutoj superantaj ĉi tiun limon " +"estos atendataj.\n" +"Tiu nombro devas esti malpli granda ol curl_parallel_limit." #: src/settings_translation_file.cpp msgid "Maximum number of forceloaded mapblocks." @@ -5429,10 +5557,19 @@ msgstr "" "0 malŝaltas envicigon, kaj -1 senlimigas ĝin." #: src/settings_translation_file.cpp -msgid "Maximum time in ms a file download (e.g. a mod download) may take." +#, fuzzy +msgid "" +"Maximum time a file download (e.g. a mod download) may take, stated in " +"milliseconds." msgstr "" "Maksimuma tempo (en milisekundoj) por elŝuto de dosiero (ekz. modifaĵo)." +#: src/settings_translation_file.cpp +msgid "" +"Maximum time an interactive request (e.g. server list fetch) may take, " +"stated in milliseconds." +msgstr "" + #: src/settings_translation_file.cpp msgid "Maximum users" msgstr "Maksimuma nombro da uzantoj" @@ -5622,7 +5759,6 @@ msgid "Number of emerge threads" msgstr "Nombro da mondestigaj fadenoj" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Number of emerge threads to use.\n" "Value 0:\n" @@ -5636,9 +5772,6 @@ msgid "" "'on_generated'. For many users the optimum setting may be '1'." msgstr "" "Nombro de uzotaj fadenoj enlegontaj.\n" -"AVERTO: Nun ekzistas pluraj eraroj, kiuj povus estigi kolapson kiam\n" -"«num_emerge_threads» pli grandas ol 1. Ĝis ĉi tiu averto foriĝos, ni\n" -"forte rekomendas ke ĉi tiu valoro restu je la norma «1».\n" "Valoro 0:\n" "- Memaga elekto. La nombro de fadenoj enlegontaj estos\n" "- 'nombro de datentraktiloj - 2', kun suba limo de 1.\n" @@ -5676,12 +5809,6 @@ msgid "" 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 " @@ -5759,12 +5886,11 @@ msgstr "Paŭzigi je perdita fokuso de la fenestro" #: src/settings_translation_file.cpp msgid "Per-player limit of queued blocks load from disk" -msgstr "" +msgstr "Limo de atendataj monderoj ŝargotaj el disko por unu ludanto" #: src/settings_translation_file.cpp -#, fuzzy msgid "Per-player limit of queued blocks to generate" -msgstr "Limo de viceroj estigotaj" +msgstr "Limo de viceroj estigotaj por unu ludanto" #: src/settings_translation_file.cpp msgid "Physics" @@ -5779,14 +5905,12 @@ msgid "Pitch move mode" msgstr "Celilsekva reĝimo" #: src/settings_translation_file.cpp -#, fuzzy msgid "Place key" -msgstr "Fluga klavo" +msgstr "Klavo por meti" #: src/settings_translation_file.cpp -#, fuzzy msgid "Place repetition interval" -msgstr "Periodo inter ripetoj de dekstra klako" +msgstr "Intertempo inter ripetaj metoj" #: src/settings_translation_file.cpp msgid "" @@ -5808,6 +5932,11 @@ msgstr "Distanco por transsendo de ludantoj" msgid "Player versus player" msgstr "Ludanto kontraŭ ludanto" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Poisson filtering" +msgstr "Dulineara filtrado" + #: src/settings_translation_file.cpp msgid "" "Port to connect to (UDP).\n" @@ -5856,7 +5985,7 @@ msgstr "Profilado" #: src/settings_translation_file.cpp msgid "Prometheus listener address" -msgstr "" +msgstr "Aŭskulta adreso de Prometheus" #: src/settings_translation_file.cpp msgid "" @@ -5865,6 +5994,10 @@ msgid "" "enable metrics listener for Prometheus on that address.\n" "Metrics can be fetch on http://127.0.0.1:30000/metrics" msgstr "" +"Aŭskulta adreso de Prometheus.\n" +"Se Minetest estas tradukita kun la elekteblo ENABLE_PROMETHEUS ŝaltita,\n" +"ŝaltiĝos aŭskultado de mezuriloj por Prometheus ĉe tiu adreso.\n" +"Mezuriloj disponeblos ĉe http://127.0.0.1:30000/metrics" #: src/settings_translation_file.cpp msgid "Proportion of large caves that contain liquid." @@ -6195,6 +6328,43 @@ msgid "Set the maximum character length of a chat message sent by clients." msgstr "" "Agordi maksimuman longon de babilaj mesaĝoj (en signoj) sendotaj de klientoj." +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow strength.\n" +"Lower value means lighter shadows, higher value means darker shadows." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow update time.\n" +"Lower value means shadows and map updates faster, but it consume more " +"resources.\n" +"Minimun value 0.001 seconds max value 0.2 seconds" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the soft shadow radius size.\n" +"Lower values mean sharper shadows bigger values softer.\n" +"Minimun value 1.0 and max value 10.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the tilt of Sun/Moon orbit in degrees\n" +"Value of 0 means no tilt / vertical orbit.\n" +"Minimun value 0.0 and max value 60.0" +msgstr "" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "" +"Set to true to enable Shadow Mapping.\n" +"Requires shaders to be enabled." +msgstr "" +"Ŝaltu por ebligi ondantajn foliojn.\n" +"Bezonas ombrigilojn." + #: src/settings_translation_file.cpp msgid "" "Set to true to enable waving leaves.\n" @@ -6219,6 +6389,13 @@ msgstr "" "Verigo ŝaltas ondantajn kreskaĵojn.\n" "Bezonas ŝalton de ombrigiloj." +#: src/settings_translation_file.cpp +msgid "" +"Sets shadow texture quality to 32 bits.\n" +"On false, 16 bits texture will be used.\n" +"This can cause much more artifacts in the shadow." +msgstr "" + #: src/settings_translation_file.cpp msgid "Shader path" msgstr "Indiko al ombrigiloj" @@ -6234,6 +6411,24 @@ msgstr "" "kelkaj vidkartoj.\n" "Ĉi tio funkcias nur kun la bildiga internaĵo de «OpenGL»." +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Shadow filter quality" +msgstr "Ekrankopia kvalito" + +#: src/settings_translation_file.cpp +msgid "Shadow map max distance in nodes to render shadows" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture in 32 bits" +msgstr "" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Shadow map texture size" +msgstr "Minimuma grandeco de teksturoj" + #: src/settings_translation_file.cpp msgid "" "Shadow offset (in pixels) of the default font. If 0, then shadow will not be " @@ -6242,11 +6437,8 @@ 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." +msgid "Shadow strength" 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." @@ -6261,18 +6453,16 @@ msgid "Show entity selection boxes" msgstr "Montri elektujojn de estoj" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Show entity selection boxes\n" "A restart is required after changing this." msgstr "" -"Agordi la lingvon. Lasu malplena por uzi la sisteman.\n" +"Montri elektujojn de estoj\n" "Rerulo necesas post la ŝanĝo." #: src/settings_translation_file.cpp -#, fuzzy msgid "Show nametag backgrounds by default" -msgstr "Implice grasa tiparo" +msgstr "Implicite montri fonojn de nometikedoj" #: src/settings_translation_file.cpp msgid "Shutdown message" @@ -6304,6 +6494,10 @@ msgstr "" "plialtigos la elcenton de kaŝmemoraj trafoj, kaj malpliigos la datenojn\n" "kopiatajn de la ĉefa fadeno, malhelpante skuadon." +#: src/settings_translation_file.cpp +msgid "Sky Body Orbit Tilt" +msgstr "" + #: src/settings_translation_file.cpp msgid "Slice w" msgstr "Tranĉo w" @@ -6322,7 +6516,7 @@ msgstr "Minimuma nombro de etaj kavernoj" #: src/settings_translation_file.cpp msgid "Small-scale humidity variation for blending biomes on borders." -msgstr "" +msgstr "Malgranda variado de malsekeco por kontinuigi klimatojn ĉe limoj." #: src/settings_translation_file.cpp msgid "Small-scale temperature variation for blending biomes on borders." @@ -6360,18 +6554,15 @@ msgstr "Rapido de kaŝiro" msgid "Sneaking speed, in nodes per second." msgstr "Rapido de kaŝirado, en monderoj sekunde." +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Soft shadow radius" +msgstr "Travidebleco de tipara ombro" + #: src/settings_translation_file.cpp msgid "Sound" msgstr "Sono" -#: src/settings_translation_file.cpp -msgid "Special key" -msgstr "Speciala klavo" - -#: src/settings_translation_file.cpp -msgid "Special key for climbing/descending" -msgstr "Speciala klavo por supreniri/malsupreniri" - #: src/settings_translation_file.cpp msgid "" "Specifies URL from which client fetches media instead of using UDP.\n" @@ -6390,6 +6581,9 @@ msgid "" "Note that mods or games may explicitly set a stack for certain (or all) " "items." msgstr "" +"Specifas la implicitajn kolumnograndojn de monderoj, portaĵoj kaj iloj.\n" +"Notu, ke modifaĵoj aŭ ludoj povas eksplicite agordi kolumnograndojn por iuj " +"(aŭ ĉiuj) portaĵoj." #: src/settings_translation_file.cpp msgid "" @@ -6418,9 +6612,8 @@ msgid "Step mountain spread noise" msgstr "Bruo de disvastiĝo de terasaj montoj" #: src/settings_translation_file.cpp -#, fuzzy msgid "Strength of 3D mode parallax." -msgstr "Potenco de paralakso." +msgstr "Potenco de paralakso en tridimensia reĝimo." #: src/settings_translation_file.cpp msgid "" @@ -6453,6 +6646,18 @@ msgid "" "server-intensive extreme water flow and to avoid vast flooding of the\n" "world surface below." msgstr "" +"Surfaca nivelo de ebla akvo sur solida fluginsula tavolo.\n" +"Tia akvo estas malŝaltita implicite kaj ĉeestos nur se ĉi tiu valoro estas\n" +"pli granda ol 'mgv7_floatland_ymax' - 'mgv7_floatland_taper' (la komenco de " +"la\n" +"supra maldikiĝo).\n" +"***AVERTO, EBLA DANĜERO AL MONDOJ KAJ SERVILA RENDIMENTO***:\n" +"Se vi ebligas akvon sur fluginsuloj, la fluginsuloj devas esti solidaj " +"tavoloj.\n" +"Por tio, la agordo 'mgv7_floatland_density' devas esti '2.0' (aŭ alia\n" +"postulata valoro depende de 'mgv7_np_floatland'). Tio evitos\n" +"servil-intensan ekstreman akvofluon kaj vastan inundadon de la\n" +"suba mondsurfaco." #: src/settings_translation_file.cpp msgid "Synchronous SQLite" @@ -6510,6 +6715,13 @@ msgstr "Bruo de persisteco de tereno" msgid "Texture path" msgstr "Indiko al teksturoj" +#: src/settings_translation_file.cpp +msgid "" +"Texture size to render the shadow map on.\n" +"This must be a power of two.\n" +"Bigger numbers create better shadowsbut it is also more expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Textures on a node may be aligned either to the node or to the world.\n" @@ -6531,9 +6743,8 @@ msgid "The URL for the content repository" msgstr "URL al la deponejo de enhavo" #: src/settings_translation_file.cpp -#, fuzzy msgid "The deadzone of the joystick" -msgstr "Identigilo de la uzota stirstango" +msgstr "La nerespondema zono de la stirstango" #: src/settings_translation_file.cpp msgid "" @@ -6598,11 +6809,19 @@ msgid "" "maintained.\n" "This should be configured together with active_object_send_range_blocks." msgstr "" +"La volumena radiuso, mezurita en mondopecoj (16 monderoj),\n" +"de monderoj ĉirkaŭ ĉiu ludanto submetataj al la trajtoj de aktivaj " +"monderoj. \n" +"En aktivaj monderoj, objektoj enlegiĝas kaj aktivaj modifiloj de monderoj " +"(ABM) ruliĝas.\n" +"Ĉi tio ankaŭ estas la minimuma vidodistanco, en kiu teniĝas aktivaj objektoj " +"(estuloj).\n" +"Ĉi tio devas esti agordita kune kun active_object_send_range_blocks." #: src/settings_translation_file.cpp #, fuzzy msgid "" -"The rendering back-end for Irrlicht.\n" +"The rendering back-end.\n" "A restart is required after changing this.\n" "Note: On Android, stick with OGLES1 if unsure! App may fail to start " "otherwise.\n" @@ -6613,9 +6832,9 @@ msgstr "" "Rerulo necesas post ĉi tiu ŝanĝo.\n" "Rimarko: Sur Androido, restu ĉe OGLES1, se vi ne certas! Aplikaĵo alie " "povus\n" -"malsukcesi ruliĝon. Sur aliaj sistemoj, OpenGL estas rekomendata, kaj " -"nuntempe\n" -"estas la sola pelilo subtenanta ombrigilojn." +"malsukcesi ruliĝon. Sur aliaj sistemoj, OpenGL estas rekomendata.\n" +"Ombrigiloj estas subtenataj de OpenGL (nur sur tablaj komputiloj) kaj OGLES2 " +"(eksperimente)" #: src/settings_translation_file.cpp msgid "" @@ -6652,6 +6871,8 @@ msgid "" "The time budget allowed for ABMs to execute on each step\n" "(as a fraction of the ABM Interval)" msgstr "" +"Tempobuĝeto por rulado de ABM (aktiva modifilo de monderoj) dum ĉiu paŝo\n" +"(kiel frakcio de la intertempo de ABM)" #: src/settings_translation_file.cpp msgid "" @@ -6662,12 +6883,12 @@ msgstr "" "de stirstangaj klavoj." #: src/settings_translation_file.cpp -#, fuzzy msgid "" "The time in seconds it takes between repeated node placements when holding\n" "the place button." msgstr "" -"Tempo (en sekundoj) inter ripetaj klakoj dum premo de la dekstra musbutono." +"Tempo (en sekundoj) inter ripetaj metoj de monderoj dum premado de\n" +"la butono por meti." #: src/settings_translation_file.cpp msgid "The type of joystick" @@ -6790,9 +7011,8 @@ msgid "Upper Y limit of dungeons." msgstr "Supra Y-limo de forgeskeloj." #: src/settings_translation_file.cpp -#, fuzzy msgid "Upper Y limit of floatlands." -msgstr "Supra Y-limo de forgeskeloj." +msgstr "Supra Y-limo de fluginsuloj." #: src/settings_translation_file.cpp msgid "Use 3D cloud look instead of flat." @@ -6830,6 +7050,14 @@ msgid "" "If set to 0, MSAA is disabled.\n" "A restart is required after changing this option." msgstr "" +"Uzi multspecimenan glatigon (MSAA) por glatigi randojn de monderoj.\n" +"Tiu algoritmo glatigas la tridimensian vidon, ne malklarigante la bildon.\n" +"Tamen, ĝi ne ŝanĝas la internon de teksturoj\n" +"(kio estas speciale rimarkebla pri travideblaj teksturoj).\n" +"Videblaj spacoj aperas inter monderoj, se ombrigiloj estas malŝaltitaj.\n" +"Se la valoro de ĉi tiu elekteblo estas 0, multspecimena glatigo estas " +"malŝaltita.\n" +"Vi devas relanĉi post ŝanĝo de ĉi tiu elekteblo." #: src/settings_translation_file.cpp msgid "Use trilinear filtering when scaling textures." @@ -6861,7 +7089,7 @@ msgstr "Deklivo de valoj" #: src/settings_translation_file.cpp msgid "Variation of biome filler depth." -msgstr "" +msgstr "Vario de profundoj de surfacoj de klimato." #: src/settings_translation_file.cpp msgid "Variation of maximum mountain height (in nodes)." @@ -6933,7 +7161,8 @@ msgid "Viewing range" msgstr "Vidodistanco" #: src/settings_translation_file.cpp -msgid "Virtual joystick triggers aux button" +#, fuzzy +msgid "Virtual joystick triggers Aux1 button" msgstr "Virtuala stirstango premas specialan klavon" #: src/settings_translation_file.cpp @@ -7034,14 +7263,14 @@ msgstr "" "bone elŝutadon de teksturoj de la aparataro." #: src/settings_translation_file.cpp +#, fuzzy msgid "" "When using bilinear/trilinear/anisotropic filters, low-resolution textures\n" "can be blurred, so automatically upscale them with nearest-neighbor\n" "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" +"memory. Powers of 2 are recommended. This setting is ONLY applies if\n" +"bilinear/trilinear/anisotropic filtering is enabled.\n" "This is also used as the base node texture size for world-aligned\n" "texture autoscaling." msgstr "" @@ -7069,6 +7298,8 @@ msgid "" "Whether nametag backgrounds should be shown by default.\n" "Mods may still set a background." msgstr "" +"Ĉu implicite montri fonojn de nometikedoj.\n" +"Modifaĵoj malgraŭ tio povas agordi fonojn." #: src/settings_translation_file.cpp msgid "Whether node texture animations should be desynchronized per mapblock." @@ -7117,7 +7348,8 @@ msgstr "" "Ĉu montri erarserĉajn informojn de la kliento (efikas samkiel premo de F5)." #: src/settings_translation_file.cpp -msgid "Width component of the initial window size." +#, fuzzy +msgid "Width component of the initial window size. Ignored in fullscreen mode." msgstr "Larĝeco de la fenestro je ĝia komenca grando." #: src/settings_translation_file.cpp @@ -7163,7 +7395,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "World-aligned textures mode" -msgstr "Reĝimo de monde laŭigitaj tekstruoj" +msgstr "Reĝimo de monde laŭigitaj teksturoj" #: src/settings_translation_file.cpp msgid "Y of flat ground." @@ -7192,6 +7424,10 @@ msgid "" "For a solid floatland layer, this controls the height of hills/mountains.\n" "Must be less than or equal to half the distance between the Y limits." msgstr "" +"Y-distanco, ekde kiu fluginsuloj maldikiĝas de plena denso al nenio.\n" +"Maldikiĝo komenciĝas ĉe ĉi tiu distanco de la Y-limo.\n" +"Sur solida fluginsula tavolo, tio regas la altojn de montetoj/montoj.\n" +"Devas esti ne pli ol duono de la distanco inter la Y-limoj." #: src/settings_translation_file.cpp msgid "Y-level of average terrain surface." @@ -7221,6 +7457,13 @@ msgid "" "9 - best compression, slowest\n" "(levels 1-3 use Zlib's \"fast\" method, 4-9 use the normal method)" msgstr "" +"Nivelo de desigo per ZLib uzota por densigi mondopecojn dum konservado sur " +"disko.\n" +"-1 - la implicita nivelo de densigo per Zlib\n" +"0 - neniu densigo, plej rapida\n" +"9 - plej bona densigo, plej malrapida\n" +"(niveloj 1-3 uzas la \"rapidan\" metodon de Zlib; 4-9 uzas la ordinaran " +"metodon)" #: src/settings_translation_file.cpp msgid "" @@ -7230,18 +7473,26 @@ msgid "" "9 - best compression, slowest\n" "(levels 1-3 use Zlib's \"fast\" method, 4-9 use the normal method)" msgstr "" +"Nivelo de desigo per ZLib uzota por densigi mondopecojn dum sendado al " +"kliento.\n" +"-1 - la implicita nivelo de densigo per Zlib\n" +"0 - neniu densigo, plej rapida\n" +"9 - plej bona densigo, plej malrapida\n" +"(niveloj 1-3 uzas la \"rapidan\" metodon de Zlib; 4-9 uzas la ordinaran " +"metodon)" #: src/settings_translation_file.cpp msgid "cURL file download timeout" msgstr "Tempolimo de dosiere elŝuto de cURL" #: src/settings_translation_file.cpp -msgid "cURL parallel limit" -msgstr "Samtempa limo de cURL" +#, fuzzy +msgid "cURL interactive timeout" +msgstr "cURL tempolimo" #: src/settings_translation_file.cpp -msgid "cURL timeout" -msgstr "cURL tempolimo" +msgid "cURL parallel limit" +msgstr "Samtempa limo de cURL" #~ msgid "" #~ "0 = parallax occlusion with slope information (faster).\n" @@ -7250,6 +7501,9 @@ msgstr "cURL tempolimo" #~ "0 = paralaksa ombrigo kun klinaj informoj (pli rapida).\n" #~ "1 = reliefa mapado (pli preciza)." +#~ msgid "Address / Port" +#~ msgstr "Adreso / Pordo" + #~ msgid "" #~ "Adjust the gamma encoding for the light tables. Higher numbers are " #~ "brighter.\n" @@ -7269,6 +7523,9 @@ msgstr "cURL tempolimo" #~ msgid "Back" #~ msgstr "Reeniri" +#~ msgid "Bits per pixel (aka color depth) in fullscreen mode." +#~ msgstr "Bitoj bildere (aŭ kolornombro) en tutekrana reĝimo." + #~ msgid "Bump Mapping" #~ msgstr "Tubera mapado" @@ -7308,12 +7565,25 @@ msgstr "cURL tempolimo" #~ "Regas larĝecon de tuneloj; pli malgranda valoro kreas pri larĝajn " #~ "tunelojn." +#~ msgid "Credits" +#~ msgstr "Kontribuantaro" + #~ msgid "Crosshair color (R,G,B)." #~ msgstr "Koloro de celilo (R,V,B)." +#~ msgid "Damage enabled" +#~ msgstr "Difektado estas ŝaltita" + #~ msgid "Darkness sharpness" #~ msgstr "Akreco de mallumo" +#~ msgid "" +#~ "Default timeout for cURL, stated in milliseconds.\n" +#~ "Only has an effect if compiled with cURL." +#~ msgstr "" +#~ "Implicita tempolimo por cURL, milisekunde.\n" +#~ "Nur efektiviĝas programtradukite kun cURL." + #~ msgid "" #~ "Defines areas of floatland smooth terrain.\n" #~ "Smooth floatlands occur when noise > 0." @@ -7378,6 +7648,15 @@ msgstr "cURL tempolimo" #~ msgid "FPS in pause menu" #~ msgstr "Kadroj sekunde en paŭza menuo" +#~ msgid "Fallback font shadow" +#~ msgstr "Ombro de reenpaŝa tiparo" + +#~ msgid "Fallback font shadow alpha" +#~ msgstr "Travidebleco de ombro de la reenpaŝa tiparo" + +#~ msgid "Fallback font size" +#~ msgstr "Grando de reenpaŝa tiparo" + #~ msgid "Floatland base height noise" #~ msgstr "Bruo de baza alteco de fluginsuloj" @@ -7387,6 +7666,12 @@ msgstr "cURL tempolimo" #~ msgid "Font shadow alpha (opaqueness, between 0 and 255)." #~ msgstr "Maltravidebleco de tipara ombro (inter 0 kaj 255)." +#~ msgid "Font size of the fallback font in point (pt)." +#~ msgstr "Grandeco de la reenpaŝa tiparo, punkte (pt)." + +#~ msgid "Full screen BPP" +#~ msgstr "Kolornombro tutekrane" + #~ msgid "Gamma" #~ msgstr "Helĝustigo" @@ -7396,6 +7681,9 @@ msgstr "cURL tempolimo" #~ msgid "Generate normalmaps" #~ msgstr "Estigi normalmapojn" +#~ msgid "High-precision FPU" +#~ msgstr "Preciza glitkoma datentraktilo (FPU)" + #~ msgid "IPv6 support." #~ msgstr "Subteno de IPv6." @@ -7414,6 +7702,11 @@ msgstr "cURL tempolimo" #~ msgid "Main menu style" #~ msgstr "Stilo de ĉefmenuo" +#~ msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." +#~ msgstr "" +#~ "Funkciigas programaron «DirectX» kun «LuaJIT». Malŝaltu okaze de " +#~ "problemoj." + #~ msgid "Minimap in radar mode, Zoom x2" #~ msgstr "Mapeto en radara reĝimo, zomo ×2" @@ -7426,6 +7719,9 @@ msgstr "cURL tempolimo" #~ msgid "Minimap in surface mode, Zoom x4" #~ msgstr "Mapeto en supraĵa reĝimo, zomo ×4" +#~ msgid "Name / Password" +#~ msgstr "Nomo / Pasvorto" + #~ msgid "Name/Password" #~ msgstr "Nomo/Pasvorto" @@ -7444,6 +7740,13 @@ msgstr "cURL tempolimo" #~ msgid "Ok" #~ msgstr "Bone" +#~ 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." + #~ msgid "Overall bias of parallax occlusion effect, usually scale/2." #~ msgstr "Entuta ekarto de la efiko de paralaksa ombrigo, kutime skalo/2." @@ -7480,6 +7783,9 @@ msgstr "cURL tempolimo" #~ msgid "Projecting dungeons" #~ msgstr "Planante forgeskelojn" +#~ msgid "PvP enabled" +#~ msgstr "Dueloj ŝaltitas" + #~ msgid "Reset singleplayer world" #~ msgstr "Rekomenci mondon por unu ludanto" @@ -7489,6 +7795,19 @@ msgstr "cURL tempolimo" #~ msgid "Shadow limit" #~ msgstr "Limo por ombroj" +#~ 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." + +#~ msgid "Special" +#~ msgstr "Speciala" + +#~ msgid "Special key" +#~ msgstr "Speciala klavo" + #~ msgid "Start Singleplayer" #~ msgstr "Komenci ludon por unu" @@ -7529,3 +7848,6 @@ msgstr "cURL tempolimo" #~ msgid "Yes" #~ msgstr "Jes" + +#~ msgid "needs_fallback_font" +#~ msgstr "no" diff --git a/po/es/minetest.po b/po/es/minetest.po index 4d26f2b5c..0551ef808 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: 2021-02-23 19:03+0100\n" -"PO-Revision-Date: 2021-02-05 09:40+0000\n" -"Last-Translator: j45 minetest \n" +"POT-Creation-Date: 2021-06-16 18:27+0200\n" +"PO-Revision-Date: 2021-06-01 18:49+0000\n" +"Last-Translator: David Leal \n" "Language-Team: Spanish \n" "Language: es\n" @@ -12,7 +12,49 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.5-dev\n" +"X-Generator: Weblate 4.7-dev\n" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Clear the out chat queue" +msgstr "Tamaño máximo de la cola de salida del chat" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Empty command." +msgstr "Comandos de Chat" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Exit to main menu" +msgstr "Salir al menú" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Invalid command: " +msgstr "Comando local" + +#: builtin/client/chatcommands.lua +msgid "Issued command: " +msgstr "" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "List online players" +msgstr "Un jugador" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Online players: " +msgstr "Un jugador" + +#: builtin/client/chatcommands.lua +msgid "The out chat queue is now empty." +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "This command is disabled by server." +msgstr "" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -22,6 +64,38 @@ msgstr "Reaparecer" msgid "You died" msgstr "Has muerto" +#: builtin/client/death_formspec.lua +#, fuzzy +msgid "You died." +msgstr "Has muerto" + +#: builtin/common/chatcommands.lua +#, fuzzy +msgid "Available commands:" +msgstr "Comando local" + +#: builtin/common/chatcommands.lua +#, fuzzy +msgid "Available commands: " +msgstr "Comando local" + +#: builtin/common/chatcommands.lua +msgid "Command not available: " +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "Get help for commands" +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "" +"Use '.help ' to get more information, or '.help all' to list everything." +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "[all | ]" +msgstr "" + #: builtin/fstk/dialog.lua builtin/fstk/ui.lua src/gui/modalMenu.cpp msgid "OK" msgstr "Aceptar" @@ -536,7 +610,7 @@ msgstr "< Volver a la página de configuración" msgid "Browse" msgstr "Explorar" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_settings.lua msgid "Disabled" msgstr "Desactivado" @@ -580,7 +654,7 @@ msgstr "Restablecer por defecto" msgid "Scale" msgstr "Escala" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua msgid "Search" msgstr "Buscar" @@ -706,9 +780,8 @@ msgid "Loading..." msgstr "Cargando..." #: builtin/mainmenu/serverlistmgr.lua -#, fuzzy msgid "Public server list is disabled" -msgstr "El Scripting en el lado del cliente está desactivado" +msgstr "La lista de servidores públicos está desactivada" #: builtin/mainmenu/serverlistmgr.lua msgid "Try reenabling public serverlist and check your internet connection." @@ -716,6 +789,43 @@ msgstr "" "Intente rehabilitar la lista de servidores públicos y verifique su conexión " "a Internet." +#: builtin/mainmenu/tab_about.lua +msgid "About" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active Contributors" +msgstr "Colaboradores activos" + +#: builtin/mainmenu/tab_about.lua +#, fuzzy +msgid "Active renderer:" +msgstr "Rango de envío en objetos activos" + +#: builtin/mainmenu/tab_about.lua +msgid "Core Developers" +msgstr "Desarrolladores principales" + +#: builtin/mainmenu/tab_about.lua +msgid "Open User Data Directory" +msgstr "Abrir Directorio de Datos de Usuario" + +#: builtin/mainmenu/tab_about.lua +msgid "" +"Opens the directory that contains user-provided worlds, games, mods,\n" +"and texture packs in a file manager / explorer." +msgstr "" +"Abre el directorio que contiene los mundos, juegos, mods, y paquetes de\n" +"textura, del usuario, en un gestor / explorador de archivos." + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Contributors" +msgstr "Antiguos colaboradores" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Core Developers" +msgstr "Antiguos desarrolladores principales" + #: builtin/mainmenu/tab_content.lua msgid "Browse online content" msgstr "Explorar contenido en línea" @@ -756,38 +866,6 @@ msgstr "Desinstalar el paquete" msgid "Use Texture Pack" msgstr "Usar el paqu. de texturas" -#: builtin/mainmenu/tab_credits.lua -msgid "Active Contributors" -msgstr "Colaboradores activos" - -#: builtin/mainmenu/tab_credits.lua -msgid "Core Developers" -msgstr "Desarrolladores principales" - -#: builtin/mainmenu/tab_credits.lua -msgid "Credits" -msgstr "Créditos" - -#: builtin/mainmenu/tab_credits.lua -msgid "Open User Data Directory" -msgstr "Abrir Directorio de Datos de Usuario" - -#: builtin/mainmenu/tab_credits.lua -msgid "" -"Opens the directory that contains user-provided worlds, games, mods,\n" -"and texture packs in a file manager / explorer." -msgstr "" -"Abre el directorio que contiene los mundos, juegos, mods, y paquetes de\n" -"textura, del usuario, en un gestor / explorador de archivos." - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Contributors" -msgstr "Antiguos colaboradores" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Core Developers" -msgstr "Antiguos desarrolladores principales" - #: builtin/mainmenu/tab_local.lua msgid "Announce Server" msgstr "Anunciar servidor" @@ -816,7 +894,7 @@ msgstr "Hospedar servidor" msgid "Install games from ContentDB" msgstr "Instalar juegos desde ContentDB" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Name" msgstr "Nombre" @@ -828,7 +906,7 @@ msgstr "Nuevo" msgid "No world created or selected!" msgstr "¡No se ha dado un nombre al mundo o no se ha seleccionado uno!" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Password" msgstr "Contraseña" @@ -836,7 +914,7 @@ msgstr "Contraseña" msgid "Play Game" msgstr "Jugar juego" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Port" msgstr "Puerto" @@ -857,8 +935,13 @@ msgid "Start Game" msgstr "Empezar juego" #: builtin/mainmenu/tab_online.lua -msgid "Address / Port" -msgstr "Dirección / puerto" +#, fuzzy +msgid "Address" +msgstr "- Dirección: " + +#: builtin/mainmenu/tab_online.lua src/client/keycode.cpp +msgid "Clear" +msgstr "Limpiar" #: builtin/mainmenu/tab_online.lua msgid "Connect" @@ -868,34 +951,46 @@ msgstr "Conectar" msgid "Creative mode" msgstr "Modo creativo" +#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "Damage enabled" -msgstr "Daño activado" +#, fuzzy +msgid "Damage / PvP" +msgstr "Daño" #: builtin/mainmenu/tab_online.lua msgid "Del. Favorite" msgstr "Borrar Fav." #: builtin/mainmenu/tab_online.lua -msgid "Favorite" +#, fuzzy +msgid "Favorites" msgstr "Favorito" +#: builtin/mainmenu/tab_online.lua +msgid "Incompatible Servers" +msgstr "" + #: builtin/mainmenu/tab_online.lua msgid "Join Game" msgstr "Unirse al juego" -#: builtin/mainmenu/tab_online.lua -msgid "Name / Password" -msgstr "Nombre / contraseña" - #: builtin/mainmenu/tab_online.lua msgid "Ping" msgstr "Ping" -#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "PvP enabled" -msgstr "PvP activado" +#, fuzzy +msgid "Public Servers" +msgstr "Anunciar servidor" + +#: builtin/mainmenu/tab_online.lua +msgid "Refresh" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +#, fuzzy +msgid "Server Description" +msgstr "Descripción del servidor" #: builtin/mainmenu/tab_settings.lua msgid "2x" @@ -937,10 +1032,31 @@ msgstr "Configurar teclas" msgid "Connected Glass" msgstr "Vidrio conectado" +#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp +#, fuzzy +msgid "Dynamic shadows" +msgstr "Sombra de la fuente" + +#: builtin/mainmenu/tab_settings.lua +msgid "Dynamic shadows: " +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Fancy Leaves" msgstr "Hojas elegantes" +#: builtin/mainmenu/tab_settings.lua +msgid "High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Low" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Medium" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Mipmap" msgstr "Mipmap" @@ -1029,6 +1145,14 @@ msgstr "Umbral táctil: (px)" msgid "Trilinear Filter" msgstr "Filtrado trilineal" +#: builtin/mainmenu/tab_settings.lua +msgid "Ultra High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Very Low" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Waving Leaves" msgstr "Movimiento de hojas" @@ -1103,18 +1227,6 @@ 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" - #: src/client/game.cpp msgid "" "\n" @@ -1357,6 +1469,11 @@ msgstr "MiB/s" msgid "Minimap currently disabled by game or mod" msgstr "El minimapa se encuentra actualmente desactivado por el juego o un mod" +#: src/client/game.cpp +#, fuzzy +msgid "Multiplayer" +msgstr "Un jugador" + #: src/client/game.cpp msgid "Noclip mode disabled" msgstr "Modo 'Noclip' desactivado" @@ -1451,7 +1568,7 @@ msgstr "Volumen cambiado a %d%%" #: src/client/game.cpp msgid "Wireframe shown" -msgstr "Líneas 3D mostradas" +msgstr "Lineas 3D mostradas" #: src/client/game.cpp msgid "Zoom currently disabled by game or mod" @@ -1498,10 +1615,6 @@ msgstr "Tecla de borrado" msgid "Caps Lock" msgstr "Bloq. Mayús" -#: src/client/keycode.cpp -msgid "Clear" -msgstr "Limpiar" - #: src/client/keycode.cpp msgid "Control" msgstr "Control" @@ -1540,7 +1653,7 @@ msgstr "Convertir IME" #: src/client/keycode.cpp msgid "IME Escape" -msgstr "Escapada de IME" +msgstr "Escape IME" #: src/client/keycode.cpp msgid "IME Mode Change" @@ -1795,7 +1908,8 @@ msgid "Proceed" msgstr "Continuar" #: src/gui/guiKeyChangeMenu.cpp -msgid "\"Special\" = climb down" +#, fuzzy +msgid "\"Aux1\" = climb down" msgstr "\"Especial\" = Descender" #: src/gui/guiKeyChangeMenu.cpp @@ -1806,10 +1920,18 @@ msgstr "Auto-avance" msgid "Automatic jumping" msgstr "Salto automático" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Aux1" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Backward" msgstr "Atrás" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Block bounds" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Change camera" msgstr "Cambiar cámara" @@ -1900,10 +2022,6 @@ msgstr "Captura de pantalla" msgid "Sneak" msgstr "Caminar" -#: src/gui/guiKeyChangeMenu.cpp -msgid "Special" -msgstr "Especial" - #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle HUD" msgstr "Alternar el HUD" @@ -1991,9 +2109,10 @@ msgstr "" "al tocar." #: 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 " +"(Android) Use virtual joystick to trigger \"Aux1\" button.\n" +"If enabled, virtual joystick will also tap \"Aux1\" button when out of main " "circle." msgstr "" "(Android) Usar palanca virtual para activar el botón \"aux\".\n" @@ -2368,6 +2487,15 @@ msgstr "Autoguardar el tamaño de la pantalla" msgid "Autoscaling mode" msgstr "Modo de autoescalado" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Aux1 key" +msgstr "Tecla Saltar" + +#: src/settings_translation_file.cpp +msgid "Aux1 key for climbing/descending" +msgstr "" + #: src/settings_translation_file.cpp msgid "Backward key" msgstr "Tecla retroceso" @@ -2412,12 +2540,6 @@ msgstr "Parámetros de ruido y humedad en la API de temperatura de biomas" msgid "Biome noise" msgstr "Ruido de bioma" -#: src/settings_translation_file.cpp -msgid "Bits per pixel (aka color depth) in fullscreen mode." -msgstr "" -"Bits por píxel (también conocido como profundidad de color) en modo de " -"pantalla completa." - #: src/settings_translation_file.cpp msgid "Block send optimize distance" msgstr "Optimizar la distancia del envío de bloques" @@ -2524,6 +2646,11 @@ 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 +#, fuzzy +msgid "Chat command time message threshold" +msgstr "Umbral de expulsión por mensajes" + #: src/settings_translation_file.cpp msgid "Chat font size" msgstr "Tamaño de la fuente del chat" @@ -2620,6 +2747,11 @@ msgstr "Nubes en el menú" msgid "Colored fog" msgstr "Niebla colorida" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Colored shadows" +msgstr "Niebla colorida" + #: src/settings_translation_file.cpp msgid "" "Comma-separated list of flags to hide in the content repository.\n" @@ -2687,7 +2819,7 @@ msgstr "Altura de consola" #: src/settings_translation_file.cpp msgid "ContentDB Flag Blacklist" -msgstr "Lista negra de banderas de ContentDB" +msgstr "Lista negra de Contenido de la Base de Datos" #: src/settings_translation_file.cpp msgid "ContentDB Max Concurrent Downloads" @@ -2766,7 +2898,7 @@ msgid "" "Also controls the object crosshair color" msgstr "" "Alfa del punto de mira (opacidad, entre 0 y 255).\n" -"También controla el color del objeto punto de mira." +"También controla el color del objeto punto de mira" #: src/settings_translation_file.cpp msgid "Crosshair color" @@ -2846,11 +2978,10 @@ msgstr "Tamaño por defecto del stack (Montón)" #: src/settings_translation_file.cpp msgid "" -"Default timeout for cURL, stated in milliseconds.\n" -"Only has an effect if compiled with cURL." +"Define shadow filtering quality\n" +"This simulates the soft shadows effect by applying a PCF or poisson disk\n" +"but also uses more resources." msgstr "" -"Tiempo de espera predeterminado para cURL, en milisegundos.\n" -"Sólo tiene efecto si está compilado con cURL." #: src/settings_translation_file.cpp msgid "Defines areas where trees have apples." @@ -3027,14 +3158,19 @@ msgstr "" "Habilitar el soporte de mods de Lua en el cliente.\n" "El soporte es experimental y la API puede cambiar." +#: src/settings_translation_file.cpp +msgid "" +"Enable colored shadows. \n" +"On true translucent nodes cast colored shadows. This is expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable console window" msgstr "Habilitar la ventana de la consola" #: src/settings_translation_file.cpp -#, fuzzy msgid "Enable creative mode for all players" -msgstr "Habilitar el modo creativo para los nuevos mapas creados." +msgstr "Activar el modo creativo para todos los jugadores" #: src/settings_translation_file.cpp msgid "Enable joysticks" @@ -3052,6 +3188,13 @@ msgstr "Activar seguridad de mods" msgid "Enable players getting damage and dying." msgstr "Habilitar daños y muerte de jugadores." +#: src/settings_translation_file.cpp +msgid "" +"Enable poisson disk filtering.\n" +"On true uses poisson disk to make \"soft shadows\". Otherwise uses PCF " +"filtering." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable random user input (only used for testing)." msgstr "Habilitar entrada aleatoria (solo usar para pruebas)." @@ -3181,11 +3324,19 @@ msgid "" "Values < 1.0 (for example 0.25) create a more defined surface level with\n" "flatter lowlands, suitable for a solid floatland layer." msgstr "" +"Exponente de la estrechez de tierra flotante. Altera el comportamiento de la " +"estrechez.\n" +"Valor = 1.0 crea una estrechez uniforme y lineal.\n" +"Valores > 1.0 crea una estrechez suave apropiada para las tierras flotantes " +"separadas\n" +"por defecto.\n" +"Valores < 1.0 (0.25, por ejemplo) crea un nivel de superficie más definida " +"con \n" +"tierras bajas más planas, apropiada para una capa de tierra flotante sólida." #: src/settings_translation_file.cpp -#, fuzzy msgid "FPS when unfocused or paused" -msgstr "FPS máximos cuando el juego está pausado." +msgstr "FPS cuando está en segundo plano o pausado" #: src/settings_translation_file.cpp msgid "FSAA" @@ -3203,18 +3354,6 @@ msgstr "Factor de balanceo en caída" msgid "Fallback font path" msgstr "Ruta de la fuente alternativa" -#: src/settings_translation_file.cpp -msgid "Fallback font shadow" -msgstr "Sombra de la fuente de reserva" - -#: src/settings_translation_file.cpp -msgid "Fallback font shadow alpha" -msgstr "Alfa de la sombra de la fuente de reserva" - -#: src/settings_translation_file.cpp -msgid "Fallback font size" -msgstr "Tamaño de la fuente de reserva" - #: src/settings_translation_file.cpp msgid "Fast key" msgstr "Tecla rápida" @@ -3232,8 +3371,9 @@ msgid "Fast movement" msgstr "Movimiento rápido" #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"Fast movement (via the \"special\" key).\n" +"Fast movement (via the \"Aux1\" key).\n" "This requires the \"fast\" privilege on the server." msgstr "" "Movimiento rápido (por medio de tecla de \"Uso\").\n" @@ -3270,11 +3410,12 @@ msgid "Filmic tone mapping" msgstr "Mapa de tonos fílmico" #: src/settings_translation_file.cpp +#, fuzzy msgid "" "Filtered textures can blend RGB values with fully-transparent neighbors,\n" -"which PNG optimizers usually discard, sometimes resulting in a dark or\n" -"light edge to transparent textures. Apply this filter to clean that up\n" -"at texture load time." +"which PNG optimizers usually discard, often resulting in dark or\n" +"light edges to transparent textures. Apply a filter to clean that up\n" +"at texture load time. This is automatically enabled if mipmapping is enabled." msgstr "" "Las texturas filtradas pueden mezclar valores RGB con sus vecinos " "completamente transparentes, \n" @@ -3304,39 +3445,32 @@ msgid "Fixed virtual joystick" msgstr "Joystick virtual fijo" #: src/settings_translation_file.cpp -#, fuzzy msgid "Floatland density" -msgstr "Densidad de las montañas en tierras flotantes" +msgstr "Densidad de las tierras flotantes" #: src/settings_translation_file.cpp -#, fuzzy msgid "Floatland maximum Y" -msgstr "Mazmorras, máx. Y" +msgstr "Máximo valor de Y de las tierras flotantes" #: src/settings_translation_file.cpp -#, fuzzy msgid "Floatland minimum Y" -msgstr "Mazmorras, mín. Y" +msgstr "Mínimo valor de Y de las tierras flotantes" #: src/settings_translation_file.cpp -#, fuzzy msgid "Floatland noise" -msgstr "Ruido base para tierra flotante" +msgstr "Ruido de la tierra flotante" #: src/settings_translation_file.cpp -#, fuzzy msgid "Floatland taper exponent" -msgstr "Exponente de las montañas en tierras flotantes" +msgstr "Exponente de la cónica de las tierras flotantes" #: src/settings_translation_file.cpp -#, fuzzy msgid "Floatland tapering distance" -msgstr "Ruido base para tierra flotante" +msgstr "Distancia de cónico de la tierra flotante" #: src/settings_translation_file.cpp -#, fuzzy msgid "Floatland water level" -msgstr "Nivel de tierra flotante" +msgstr "Nivel de agua de la tierra flotante" #: src/settings_translation_file.cpp msgid "Fly key" @@ -3382,10 +3516,6 @@ msgstr "Tamaño de la fuente" 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 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)." @@ -3501,10 +3631,6 @@ msgstr "" msgid "Full screen" msgstr "Pantalla completa" -#: src/settings_translation_file.cpp -msgid "Full screen BPP" -msgstr "Profundidad de color en pantalla completa" - #: src/settings_translation_file.cpp msgid "Fullscreen mode." msgstr "Modo de pantalla completa." @@ -3582,7 +3708,6 @@ msgid "HUD toggle key" msgstr "Tecla de cambio del HUD" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Handling for deprecated Lua API calls:\n" "- none: Do not log deprecated calls\n" @@ -3590,8 +3715,7 @@ msgid "" "- error: abort on usage of deprecated call (suggested for mod developers)." msgstr "" "Manejo de llamadas a la API de Lua en desuso:\n" -"- legacy: (intentar) imitar el comportamiento antiguo (por defecto para la " -"liberación).\n" +"- none: no registrar llamadas en desuso.\n" "- log: imitar y registrar la pista de seguimiento de la llamada en desuso " "(predeterminado para la depuración).\n" "- error: abortar el uso de la llamada en desuso (sugerido para " @@ -3620,7 +3744,9 @@ msgid "Heat noise" msgstr "Calor del ruido" #: src/settings_translation_file.cpp -msgid "Height component of the initial window size." +#, fuzzy +msgid "" +"Height component of the initial window size. Ignored in fullscreen mode." msgstr "Componente de altura del tamaño inicial de la ventana." #: src/settings_translation_file.cpp @@ -3631,10 +3757,6 @@ msgstr "Altura del ruido" msgid "Height select noise" msgstr "Altura del ruido seleccionado" -#: src/settings_translation_file.cpp -msgid "High-precision FPU" -msgstr "Alta-precisión FPU" - #: src/settings_translation_file.cpp msgid "Hill steepness" msgstr "Pendiente de la colina" @@ -3880,9 +4002,9 @@ msgstr "" "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" +"If disabled, \"Aux1\" key is used to fly fast if both fly and fast mode are\n" "enabled." msgstr "" "Si está desactivado, la tecla \"especial\" se utiliza para volar rápido si " @@ -3915,9 +4037,10 @@ msgstr "" "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" +"If enabled, \"Aux1\" key instead of \"Sneak\" key is used for climbing down " +"and\n" "descending." msgstr "" "Si está activada, la tecla \"especial\" en lugar de la tecla \"sneak\" se " @@ -3980,6 +4103,12 @@ msgstr "" "get_node están limitadas\n" "a esta distancia del jugador al nodo." +#: src/settings_translation_file.cpp +msgid "" +"If the execution of a chat command takes longer than this specified time in\n" +"seconds, add the time information to the chat command message" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "If the file size of debug.txt exceeds the number of megabytes specified in\n" @@ -4021,9 +4150,8 @@ msgstr "" "Altura de la consola de chat en el juego, entre 0.1 (10%) y 1.0 (100%)." #: src/settings_translation_file.cpp -#, fuzzy msgid "Inc. volume key" -msgstr "Tecla de la consola" +msgstr "Tecla para subir volumen" #: src/settings_translation_file.cpp msgid "Initial vertical speed when jumping, in nodes per second." @@ -4097,9 +4225,8 @@ msgid "Invert vertical mouse movement." msgstr "Invertir movimiento vertical del ratón." #: src/settings_translation_file.cpp -#, fuzzy msgid "Italic font path" -msgstr "Ruta de fuentes" +msgstr "Ruta de fuente cursiva" #: src/settings_translation_file.cpp msgid "Italic monospace font path" @@ -4134,9 +4261,8 @@ msgid "Joystick button repetition interval" msgstr "Intervalo de repetición del botón del Joystick" #: src/settings_translation_file.cpp -#, fuzzy msgid "Joystick deadzone" -msgstr "Tipo de Joystick" +msgstr "Zona muerta del joystick" #: src/settings_translation_file.cpp msgid "Joystick frustum sensitivity" @@ -4241,13 +4367,12 @@ msgstr "" "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for digging.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para saltar.\n" +"Tecla para cavar.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" @@ -4395,299 +4520,274 @@ msgstr "" "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for placing.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para saltar.\n" +"Tecla para colocar.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the 11th hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para seleccionar el siguiente elemento en la barra de acceso directo.\n" +"Tecla para seleccionar el elemento 11 en la barra de acceso directo.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the 12th hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para seleccionar el siguiente elemento en la barra de acceso directo.\n" +"Tecla para seleccionar el elemento 12 en la barra de acceso directo.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the 13th hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para seleccionar el siguiente elemento en la barra de acceso directo.\n" +"Tecla para seleccionar el elemento 13 en la barra de acceso directo.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the 14th hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para seleccionar el siguiente elemento en la barra de acceso directo.\n" +"Tecla para seleccionar el decimocuarto elemento en la barra de acceso " +"directo.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the 15th hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para seleccionar el siguiente elemento en la barra de acceso directo.\n" +"Tecla para seleccionar el decimoquinto elemento en la barra de acceso " +"directo.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the 16th hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para seleccionar el siguiente elemento en la barra de acceso directo.\n" +"Tecla para seleccionar el elemento 16 en la barra de acceso directo.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the 17th hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para seleccionar el siguiente elemento en la barra de acceso directo.\n" +"Tecla para seleccionar el elemento 17 en la barra de acceso directo.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the 18th hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para seleccionar el siguiente elemento en la barra de acceso directo.\n" +"Tecla para seleccionar el elemento 18 en la barra de acceso directo.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the 19th hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para seleccionar el siguiente elemento en la barra de acceso directo.\n" +"Tecla para seleccionar el elemento 19 en la barra de acceso directo.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the 20th hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para seleccionar el siguiente elemento en la barra de acceso directo.\n" +"Tecla para seleccionar el elemento 20 en la barra de acceso directo.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the 21st hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para seleccionar el siguiente elemento en la barra de acceso directo.\n" +"Tecla para seleccionar el elemento 21 en la barra de acceso directo.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the 22nd hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para seleccionar el siguiente elemento en la barra de acceso directo.\n" +"Tecla para seleccionar el elemento 22 en la barra de acceso directo.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the 23rd hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para seleccionar el siguiente elemento en la barra de acceso directo.\n" +"Tecla para seleccionar el elemento 23 en la barra de acceso directo.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the 24th hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para seleccionar el siguiente elemento en la barra de acceso directo.\n" +"Tecla para seleccionar el elemento 24 en la barra de acceso directo.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the 25th hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para seleccionar el siguiente elemento en la barra de acceso directo.\n" +"Tecla para seleccionar el elemento 25 en la barra de acceso directo.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the 26th hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para seleccionar el siguiente elemento en la barra de acceso directo.\n" +"Tecla para seleccionar el elemento 26 en la barra de acceso directo.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the 27th hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para seleccionar el siguiente elemento en la barra de acceso directo.\n" +"Tecla para seleccionar el elemento 27 en la barra de acceso directo.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the 28th hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para seleccionar el siguiente elemento en la barra de acceso directo.\n" +"Tecla para seleccionar el elemento 28 en la barra de acceso directo.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the 29th hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para seleccionar el siguiente elemento en la barra de acceso directo.\n" +"Tecla para seleccionar el elemento 29 en la barra de acceso directo.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the 30th hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para seleccionar el siguiente elemento en la barra de acceso directo.\n" +"Tecla para seleccionar el elemento 30 en la barra de acceso directo.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the 31st hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para seleccionar el siguiente elemento en la barra de acceso directo.\n" +"Tecla para seleccionar el elemento 31 en la barra de acceso directo.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the 32nd hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para seleccionar el siguiente elemento en la barra de acceso directo.\n" +"Tecla para seleccionar el elemento 32 en la barra de acceso directo.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the eighth hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para seleccionar el siguiente elemento en la barra de acceso directo.\n" +"Tecla para seleccionar el octavo elemento en la barra de acceso directo.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the fifth hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para seleccionar el siguiente elemento en la barra de acceso directo.\n" +"Tecla para seleccionar el quinto elemento en la barra de acceso directo.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the first hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para seleccionar el siguiente elemento en la barra de acceso directo.\n" +"Tecla para seleccionar el primer elemento en la barra de acceso directo.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the fourth hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para seleccionar el siguiente elemento en la barra de acceso directo.\n" +"Tecla para seleccionar el cuarto elemento en la barra de acceso directo.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" @@ -4702,13 +4802,12 @@ msgstr "" "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the ninth hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para seleccionar el siguiente elemento en la barra de acceso directo.\n" +"Tecla para seleccionar el noveno elemento en la barra de acceso directo.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" @@ -4723,57 +4822,52 @@ msgstr "" "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the second hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para seleccionar el siguiente elemento en la barra de acceso directo.\n" +"Tecla para seleccionar el segundo elemento en la barra de acceso directo.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the seventh hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para seleccionar el siguiente elemento en la barra de acceso directo.\n" +"Tecla para seleccionar el septimo elemento en la barra de acceso directo.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the sixth hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para seleccionar el siguiente elemento en la barra de acceso directo.\n" +"Tecla para seleccionar el sexto elemento en la barra de acceso directo.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the tenth hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para seleccionar el siguiente elemento en la barra de acceso directo.\n" +"Tecla para seleccionar el decimo elemento en la barra de acceso directo.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the third hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para seleccionar el siguiente elemento en la barra de acceso directo.\n" +"Tecla para seleccionar el tercer elemento en la barra de acceso directo.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" @@ -4812,13 +4906,12 @@ msgstr "" "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for toggling autoforward.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para mover el jugador hacia delante.\n" +"Tecla activar/desactivar el avance automatico.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" @@ -4873,13 +4966,12 @@ msgstr "" "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for toggling pitch move mode.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para silenciar el juego.\n" +"Tecla activar/desactivar el modo de inclinacion.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" @@ -4895,13 +4987,12 @@ msgstr "" "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for toggling the display of chat.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para desplazar el jugador hacia la izquierda.\n" +"Tecla para activar/desactivar el chat.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" @@ -4917,13 +5008,12 @@ msgstr "" "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for toggling the display of fog.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para desplazar el jugador hacia la izquierda.\n" +"Tecla para activar/desactivar visualización de niebla.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" @@ -5011,9 +5101,8 @@ msgid "Large cave proportion flooded" msgstr "Proporción de cuevas grandes inundadas" #: src/settings_translation_file.cpp -#, fuzzy msgid "Large chat console key" -msgstr "Tecla de la consola" +msgstr "Tecla de la consola del chat grande" #: src/settings_translation_file.cpp msgid "Leaves style" @@ -5092,26 +5181,25 @@ msgstr "Aumento medio del centro de la curva de luz" #: src/settings_translation_file.cpp msgid "Light curve boost center" -msgstr "" +msgstr "Centro de impulso de curva de luz" #: src/settings_translation_file.cpp msgid "Light curve boost spread" -msgstr "" +msgstr "Dispersión de impulso de curva de luz" #: src/settings_translation_file.cpp msgid "Light curve gamma" -msgstr "" +msgstr "Gamma de la curva de luz" #: src/settings_translation_file.cpp msgid "Light curve high gradient" -msgstr "" +msgstr "Curva de luz de alto gradiente" #: src/settings_translation_file.cpp msgid "Light curve low gradient" -msgstr "" +msgstr "Curva de luz de bajo gradiente" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Limit of map generation, in nodes, in all 6 directions from (0, 0, 0).\n" "Only mapchunks completely within the mapgen limit are generated.\n" @@ -5119,7 +5207,8 @@ msgid "" msgstr "" "Límite de la generación de mapa, en nodos, en todas las 6 direcciones desde " "(0, 0, 0).\n" -"Solo las porciones de terreno dentro de los límites son generadas.\n" +"Solo se generan fragmentos de mapa completamente dentro del límite de " +"generación de mapas.\n" "Los valores se guardan por mundo." #: src/settings_translation_file.cpp @@ -5130,6 +5219,11 @@ msgid "" "- Downloads performed by main menu (e.g. mod manager).\n" "Only has an effect if compiled with cURL." msgstr "" +"Limita el número de solicitudes HTTP paralelas. Afecta:\n" +"- Recuperación de medios si el servidor utiliza remote_media setting.\n" +"- Descarga de la lista de servidores y anuncio del servidor.\n" +"- Descargas realizadas por el menú principal (por ejemplo, gestor de mods).\n" +"Sólo tiene un efecto si se compila con cURL." #: src/settings_translation_file.cpp msgid "Liquid fluidity" @@ -5141,28 +5235,27 @@ msgstr "Suavizado de la fluidez líquida" #: src/settings_translation_file.cpp msgid "Liquid loop max" -msgstr "" +msgstr "Bucle de máximo líquido" #: src/settings_translation_file.cpp msgid "Liquid queue purge time" -msgstr "" +msgstr "Tiempo de purga de colas de líquidos" #: src/settings_translation_file.cpp -#, fuzzy msgid "Liquid sinking" -msgstr "Velocidad de descenso" +msgstr "Hundimiento del líquido" #: src/settings_translation_file.cpp msgid "Liquid update interval in seconds." -msgstr "" +msgstr "Intervalo de actualización del líquido en segundos." #: src/settings_translation_file.cpp msgid "Liquid update tick" -msgstr "" +msgstr "Tick de actualización de los líquidos" #: src/settings_translation_file.cpp msgid "Load the game profiler" -msgstr "" +msgstr "Cargar el generador de perfiles del juego" #: src/settings_translation_file.cpp msgid "" @@ -5170,11 +5263,14 @@ msgid "" "Provides a /profiler command to access the compiled profile.\n" "Useful for mod developers and server operators." msgstr "" +"Cargue el generador de perfiles de juego para recopilar datos de generación " +"de perfiles de juegos.\n" +"Proporciona un comando /profiler para tener acceso al perfil compilado.\n" +"Útil para desarrolladores de mods y operadores de servidores." #: src/settings_translation_file.cpp -#, fuzzy msgid "Loading Block Modifiers" -msgstr "Intervalo de modificador de bloques activos" +msgstr "Carga de modificadores de bloque" #: src/settings_translation_file.cpp msgid "Lower Y limit of dungeons." @@ -5195,22 +5291,17 @@ msgstr "" "Hace que la niebla y los colores del cielo dependan de la hora del día " "(amanecer / atardecer) y la dirección de vista." -#: src/settings_translation_file.cpp -msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." -msgstr "" -"Hace que DirectX funcione con LuaJIT. Desactivar si ocasiona problemas." - #: src/settings_translation_file.cpp msgid "Makes all liquids opaque" msgstr "Vuelve opacos a todos los líquidos" #: src/settings_translation_file.cpp msgid "Map Compression Level for Disk Storage" -msgstr "" +msgstr "Nivel de comprensión del mapa para almacenamiento de disco" #: src/settings_translation_file.cpp msgid "Map Compression Level for Network Transfer" -msgstr "" +msgstr "Nivel de comprensión del mapa para transferencias por la red" #: src/settings_translation_file.cpp msgid "Map directory" @@ -5218,7 +5309,7 @@ msgstr "Directorio de mapas" #: src/settings_translation_file.cpp msgid "Map generation attributes specific to Mapgen Carpathian." -msgstr "" +msgstr "Atributos de generación de mapas específicos de Mapgen Carpathian." #: src/settings_translation_file.cpp msgid "" @@ -5234,6 +5325,9 @@ msgid "" "'terrain' enables the generation of non-fractal terrain:\n" "ocean, islands and underground." msgstr "" +"Atributos de generación de mapas específicos de Mapgen Fractal.\n" +"'terreno' permite la generación de terrenos no fractales:\n" +"océanos, islas y subterráneo." #: src/settings_translation_file.cpp msgid "" @@ -5244,10 +5338,17 @@ msgid "" "to become shallower and occasionally dry.\n" "'altitude_dry': Reduces humidity with altitude." msgstr "" +"Atributos de generación de mapas específicos del generador de mapas " +"Valleys.\n" +"'altitude_chill': Reduce el calor con la altitud.\n" +"'humid_rivers': Aumenta la humedad alrededor de ríos.\n" +"'vary_river_depth': Si está activo, la baja humedad y alto calor causan que " +"los ríos sean poco profundos y ocasionalmente secos.\n" +"'altitude_dry': Reduce la humedad con la altitud." #: src/settings_translation_file.cpp msgid "Map generation attributes specific to Mapgen v5." -msgstr "" +msgstr "Atributos de generación de mapas específicos al generador de mapas v5." #: src/settings_translation_file.cpp #, fuzzy @@ -5293,21 +5394,27 @@ msgstr "Límite de generación de mapa" msgid "Map save interval" msgstr "Intervalo de guardado de mapa" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Map update time" +msgstr "Tick de actualización de los líquidos" + #: src/settings_translation_file.cpp msgid "Mapblock limit" -msgstr "" +msgstr "Limite del Mapblock" #: src/settings_translation_file.cpp msgid "Mapblock mesh generation delay" -msgstr "" +msgstr "Retraso de generación de la malla del Mapblock" #: src/settings_translation_file.cpp msgid "Mapblock mesh generator's MapBlock cache size in MB" msgstr "" +"Tamaño de cache en MB del Mapblock del generador de la malla del Mapblock" #: src/settings_translation_file.cpp msgid "Mapblock unload timeout" -msgstr "" +msgstr "Expirado de descarga de Mapblock" #: src/settings_translation_file.cpp msgid "Mapgen Carpathian" @@ -5389,11 +5496,11 @@ msgstr "Líquidos máximos procesados por paso." #: src/settings_translation_file.cpp msgid "Max. clearobjects extra blocks" -msgstr "" +msgstr "Bloques extra máximos de clearobjects" #: src/settings_translation_file.cpp msgid "Max. packets per iteration" -msgstr "" +msgstr "Máximos paquetes por iteración" #: src/settings_translation_file.cpp msgid "Maximum FPS" @@ -5404,26 +5511,34 @@ msgid "Maximum FPS when the window is not focused, or when the game is paused." msgstr "FPS máximo cuando el juego está pausado." #: src/settings_translation_file.cpp -msgid "Maximum forceloaded blocks" +msgid "Maximum distance to render shadows." msgstr "" +#: src/settings_translation_file.cpp +msgid "Maximum forceloaded blocks" +msgstr "Máximos bloques cargados a la fuerza" + #: src/settings_translation_file.cpp msgid "Maximum hotbar width" -msgstr "" +msgstr "Anchura máxima de la barra de acceso rápido" #: src/settings_translation_file.cpp msgid "Maximum limit of random number of large caves per mapchunk." -msgstr "" +msgstr "Límite máximo de grandes cuevas aleatorias por chunk." #: src/settings_translation_file.cpp msgid "Maximum limit of random number of small caves per mapchunk." msgstr "" +"Límite máximo de número aleatorio de cavernas pequeñas por pedazo de mapa." #: src/settings_translation_file.cpp msgid "" "Maximum liquid resistance. Controls deceleration when entering liquid at\n" "high speed." msgstr "" +"Resistencia de líquidos máxima. Controla la deceleración al entrar en un " +"líquido a:\n" +"alta velocidad." #: src/settings_translation_file.cpp msgid "" @@ -5438,18 +5553,24 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Maximum number of blocks that can be queued for loading." msgstr "" +"Número máximo de bloques que pueden ser añadidos a la cola para cargarse." #: src/settings_translation_file.cpp msgid "" "Maximum number of blocks to be queued that are to be generated.\n" "This limit is enforced per player." msgstr "" +"Número máximo de bloques para ser añadidos a la cola para ser generados.\n" +"Este límite se cumple por jugador." #: src/settings_translation_file.cpp msgid "" "Maximum number of blocks to be queued that are to be loaded from file.\n" "This limit is enforced per player." msgstr "" +"Número máximo de bloques para ser añadidos a a cola para cargarse desde un " +"archivo.\n" +"Este límite se cumple por jugador." #: src/settings_translation_file.cpp msgid "" @@ -5457,16 +5578,22 @@ msgid "" "be queued.\n" "This should be lower than curl_parallel_limit." msgstr "" +"Número máximo de descargas simultáneas. Las descargas que sobrepasen este " +"límite se añadirán a la cola.\n" +"Esto debería ser menor que curl_parallel_limit." #: src/settings_translation_file.cpp msgid "Maximum number of forceloaded mapblocks." -msgstr "" +msgstr "Número máximo de bloques de mapa cargados forzosamente." #: src/settings_translation_file.cpp msgid "" "Maximum number of mapblocks for client to be kept in memory.\n" "Set to -1 for unlimited amount." msgstr "" +"Número máximo de bloques de mapa para el cliente para ser mantenidos en la " +"memoria.\n" +"Establecer a -1 para cantidad ilimitada." #: src/settings_translation_file.cpp msgid "" @@ -5474,6 +5601,9 @@ msgid "" "try reducing it, but don't reduce it to a number below double of targeted\n" "client number." msgstr "" +"Número máximo de paquetes enviados por paso de envío. Si tiene una conexión " +"lenta, intente reducirlo, pero no lo reduzca a un número menor al doble del " +"número de cliente objetivo." #: src/settings_translation_file.cpp #, fuzzy @@ -5482,42 +5612,58 @@ msgstr "Cantidad de bloques que flotan simultáneamente por cliente." #: src/settings_translation_file.cpp msgid "Maximum number of recent chat messages to show" -msgstr "" +msgstr "Número máximo de mensajes del chat recientes a mostrar." #: src/settings_translation_file.cpp msgid "Maximum number of statically stored objects in a block." -msgstr "" +msgstr "Número máximo de objetos almacenados estáticamente en un bloque." #: src/settings_translation_file.cpp msgid "Maximum objects per block" -msgstr "" +msgstr "Objetos máximos por bloque." #: 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 "" +"Proporción máxima de la ventana actual a ser usada para la barra de acceso " +"rápido.\n" +"Útil si hay algo para ser mostrado a la derecha o a la izquierda de la barra " +"de acceso rápido." #: src/settings_translation_file.cpp msgid "Maximum simultaneous block sends per client" -msgstr "" +msgstr "Envíos de bloque simultáneos máximos por cliente" #: src/settings_translation_file.cpp msgid "Maximum size of the out chat queue" -msgstr "" +msgstr "Tamaño máximo de la cola de salida del chat" #: src/settings_translation_file.cpp msgid "" "Maximum size of the out chat queue.\n" "0 to disable queueing and -1 to make the queue size unlimited." msgstr "" +"Tamaño máximo de la cola del chat externo.\n" +"0 para desactivar el añadido a la cola y -1 para hacer el tamaño de la cola " +"ilimitado." #: src/settings_translation_file.cpp -msgid "Maximum time in ms a file download (e.g. a mod download) may take." +#, fuzzy +msgid "" +"Maximum time a file download (e.g. a mod download) may take, stated in " +"milliseconds." msgstr "" "Tiempo máximo en ms que puede demorar una descarga (por ejemplo, la descarga " "de un mod)." +#: src/settings_translation_file.cpp +msgid "" +"Maximum time an interactive request (e.g. server list fetch) may take, " +"stated in milliseconds." +msgstr "" + #: src/settings_translation_file.cpp msgid "Maximum users" msgstr "Usuarios máximos" @@ -5734,11 +5880,6 @@ 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 " @@ -5841,6 +5982,11 @@ msgstr "Distancia de transferencia del jugador" msgid "Player versus player" msgstr "Jugador contra jugador" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Poisson filtering" +msgstr "Filtrado bilineal" + #: src/settings_translation_file.cpp msgid "" "Port to connect to (UDP).\n" @@ -6202,6 +6348,43 @@ msgstr "" msgid "Set the maximum character length of a chat message sent by clients." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow strength.\n" +"Lower value means lighter shadows, higher value means darker shadows." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow update time.\n" +"Lower value means shadows and map updates faster, but it consume more " +"resources.\n" +"Minimun value 0.001 seconds max value 0.2 seconds" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the soft shadow radius size.\n" +"Lower values mean sharper shadows bigger values softer.\n" +"Minimun value 1.0 and max value 10.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the tilt of Sun/Moon orbit in degrees\n" +"Value of 0 means no tilt / vertical orbit.\n" +"Minimun value 0.0 and max value 60.0" +msgstr "" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "" +"Set to true to enable Shadow Mapping.\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 "" @@ -6229,6 +6412,13 @@ msgstr "" "Habilita mapeado de oclusión de paralaje.\n" "Requiere habilitar sombreadores." +#: src/settings_translation_file.cpp +msgid "" +"Sets shadow texture quality to 32 bits.\n" +"On false, 16 bits texture will be used.\n" +"This can cause much more artifacts in the shadow." +msgstr "" + #: src/settings_translation_file.cpp msgid "Shader path" msgstr "Ruta de sombreador" @@ -6241,6 +6431,23 @@ msgid "" "This only works with the OpenGL video backend." msgstr "" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Shadow filter quality" +msgstr "Calidad de captura de pantalla" + +#: src/settings_translation_file.cpp +msgid "Shadow map max distance in nodes to render shadows" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture in 32 bits" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture size" +msgstr "" + #: src/settings_translation_file.cpp #, fuzzy msgid "" @@ -6249,11 +6456,8 @@ msgid "" 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." +msgid "Shadow strength" +msgstr "" #: src/settings_translation_file.cpp msgid "Shape of the minimap. Enabled = round, disabled = square." @@ -6299,6 +6503,10 @@ msgid "" "thread, thus reducing jitter." msgstr "" +#: src/settings_translation_file.cpp +msgid "Sky Body Orbit Tilt" +msgstr "" + #: src/settings_translation_file.cpp msgid "Slice w" msgstr "" @@ -6354,18 +6562,15 @@ msgstr "Velocidad del caminar" msgid "Sneaking speed, in nodes per second." msgstr "" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Soft shadow radius" +msgstr "Alfa de sombra de la fuente" + #: src/settings_translation_file.cpp msgid "Sound" msgstr "Sonido" -#: src/settings_translation_file.cpp -msgid "Special key" -msgstr "Tecla especial" - -#: src/settings_translation_file.cpp -msgid "Special key for climbing/descending" -msgstr "" - #: src/settings_translation_file.cpp msgid "" "Specifies URL from which client fetches media instead of using UDP.\n" @@ -6488,6 +6693,13 @@ msgstr "" msgid "Texture path" msgstr "Ruta de la textura" +#: src/settings_translation_file.cpp +msgid "" +"Texture size to render the shadow map on.\n" +"This must be a power of two.\n" +"Bigger numbers create better shadowsbut it is also more expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Textures on a node may be aligned either to the node or to the world.\n" @@ -6561,7 +6773,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"The rendering back-end for Irrlicht.\n" +"The rendering back-end.\n" "A restart is required after changing this.\n" "Note: On Android, stick with OGLES1 if unsure! App may fail to start " "otherwise.\n" @@ -6851,7 +7063,7 @@ msgid "Viewing range" msgstr "" #: src/settings_translation_file.cpp -msgid "Virtual joystick triggers aux button" +msgid "Virtual joystick triggers Aux1 button" msgstr "" #: src/settings_translation_file.cpp @@ -6949,9 +7161,8 @@ msgid "" "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" +"memory. Powers of 2 are recommended. This setting is ONLY applies if\n" +"bilinear/trilinear/anisotropic filtering is enabled.\n" "This is also used as the base node texture size for world-aligned\n" "texture autoscaling." msgstr "" @@ -7007,8 +7218,9 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "Width component of the initial window size." -msgstr "" +#, fuzzy +msgid "Width component of the initial window size. Ignored in fullscreen mode." +msgstr "Componente de altura del tamaño inicial de la ventana." #: src/settings_translation_file.cpp msgid "Width of the selection box lines around nodes." @@ -7114,12 +7326,13 @@ msgid "cURL file download timeout" msgstr "Tiempo de espera de descarga por cURL" #: src/settings_translation_file.cpp -msgid "cURL parallel limit" -msgstr "" +#, fuzzy +msgid "cURL interactive timeout" +msgstr "Tiempo de espera de cURL" #: src/settings_translation_file.cpp -msgid "cURL timeout" -msgstr "Tiempo de espera de cURL" +msgid "cURL parallel limit" +msgstr "Límite de cURL en paralelo" #~ msgid "" #~ "0 = parallax occlusion with slope information (faster).\n" @@ -7128,6 +7341,9 @@ msgstr "Tiempo de espera de cURL" #~ "0 = oclusión de paralaje con información de inclinación (más rápido).\n" #~ "1 = mapa de relieve (más lento, más preciso)." +#~ msgid "Address / Port" +#~ msgstr "Dirección / puerto" + #~ msgid "" #~ "Adjust the gamma encoding for the light tables. Higher numbers are " #~ "brighter.\n" @@ -7148,6 +7364,11 @@ msgstr "Tiempo de espera de cURL" #~ msgid "Back" #~ msgstr "Atrás" +#~ msgid "Bits per pixel (aka color depth) in fullscreen mode." +#~ msgstr "" +#~ "Bits por píxel (también conocido como profundidad de color) en modo de " +#~ "pantalla completa." + #~ msgid "Bump Mapping" #~ msgstr "Mapeado de relieve" @@ -7184,13 +7405,26 @@ msgstr "Tiempo de espera de cURL" #~ msgstr "" #~ "Controla el ancho de los túneles, un valor menor crea túneles más anchos." +#~ msgid "Credits" +#~ msgstr "Créditos" + #~ msgid "Crosshair color (R,G,B)." #~ msgstr "Color de la cruz (R,G,B)." +#~ msgid "Damage enabled" +#~ msgstr "Daño activado" + #, fuzzy #~ msgid "Darkness sharpness" #~ msgstr "Agudeza de la obscuridad" +#~ msgid "" +#~ "Default timeout for cURL, stated in milliseconds.\n" +#~ "Only has an effect if compiled with cURL." +#~ msgstr "" +#~ "Tiempo de espera predeterminado para cURL, en milisegundos.\n" +#~ "Sólo tiene efecto si está compilado con cURL." + #~ msgid "" #~ "Defines areas of floatland smooth terrain.\n" #~ "Smooth floatlands occur when noise > 0." @@ -7251,6 +7485,15 @@ msgstr "Tiempo de espera de cURL" #~ msgid "FPS in pause menu" #~ msgstr "FPS (cuadros/s) en el menú de pausa" +#~ msgid "Fallback font shadow" +#~ msgstr "Sombra de la fuente de reserva" + +#~ msgid "Fallback font shadow alpha" +#~ msgstr "Alfa de la sombra de la fuente de reserva" + +#~ msgid "Fallback font size" +#~ msgstr "Tamaño de la fuente de reserva" + #~ msgid "Floatland base height noise" #~ msgstr "Ruido de altura base para tierra flotante" @@ -7260,6 +7503,12 @@ msgstr "Tiempo de espera de cURL" #~ msgid "Font shadow alpha (opaqueness, between 0 and 255)." #~ msgstr "Alfa de sombra de fuentes (opacidad, entre 0 y 255)." +#~ msgid "Font size of the fallback font in point (pt)." +#~ msgstr "Tamaño de la fuente de reserva en punto (pt)." + +#~ msgid "Full screen BPP" +#~ msgstr "Profundidad de color en pantalla completa" + #~ msgid "Gamma" #~ msgstr "Gamma" @@ -7269,6 +7518,9 @@ msgstr "Tiempo de espera de cURL" #~ msgid "Generate normalmaps" #~ msgstr "Generar mapas normales" +#~ msgid "High-precision FPU" +#~ msgstr "Alta-precisión FPU" + #~ msgid "IPv6 support." #~ msgstr "soporte IPv6." @@ -7282,6 +7534,10 @@ msgstr "Tiempo de espera de cURL" #~ msgid "Main menu style" #~ msgstr "Estilo del menú principal" +#~ msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." +#~ msgstr "" +#~ "Hace que DirectX funcione con LuaJIT. Desactivar si ocasiona problemas." + #~ msgid "Minimap in radar mode, Zoom x2" #~ msgstr "Minimapa en modo radar, Zoom x2" @@ -7294,6 +7550,9 @@ msgstr "Tiempo de espera de cURL" #~ msgid "Minimap in surface mode, Zoom x4" #~ msgstr "Minimapa en modo superficie, Zoom x4" +#~ msgid "Name / Password" +#~ msgstr "Nombre / contraseña" + #~ msgid "Name/Password" #~ msgstr "Nombre / contraseña" @@ -7329,12 +7588,27 @@ msgstr "Tiempo de espera de cURL" #~ msgid "Path to save screenshots at." #~ msgstr "Ruta para guardar las capturas de pantalla." +#~ msgid "PvP enabled" +#~ msgstr "PvP activado" + #~ msgid "Reset singleplayer world" #~ msgstr "Reiniciar mundo de un jugador" #~ msgid "Select Package File:" #~ msgstr "Seleccionar el archivo del paquete:" +#, 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." + +#~ msgid "Special" +#~ msgstr "Especial" + +#~ msgid "Special key" +#~ msgstr "Tecla especial" + #~ msgid "Start Singleplayer" #~ msgstr "Comenzar un jugador" @@ -7355,3 +7629,6 @@ msgstr "Tiempo de espera de cURL" #~ msgid "Yes" #~ msgstr "Sí" + +#~ msgid "needs_fallback_font" +#~ msgstr "no" diff --git a/po/et/minetest.po b/po/et/minetest.po index 5feb9be60..90801e319 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: 2021-02-23 19:03+0100\n" -"PO-Revision-Date: 2020-12-05 15:29+0000\n" -"Last-Translator: Janar Leas \n" +"POT-Creation-Date: 2021-06-16 18:27+0200\n" +"PO-Revision-Date: 2021-03-02 15:50+0000\n" +"Last-Translator: Ayes \n" "Language-Team: Estonian \n" "Language: et\n" @@ -12,7 +12,48 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.4-dev\n" +"X-Generator: Weblate 4.5\n" + +#: builtin/client/chatcommands.lua +msgid "Clear the out chat queue" +msgstr "" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Empty command." +msgstr "Käsklused" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Exit to main menu" +msgstr "Välju menüüsse" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Invalid command: " +msgstr "Kohalik käsk" + +#: builtin/client/chatcommands.lua +msgid "Issued command: " +msgstr "" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "List online players" +msgstr "Üksikmäng" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Online players: " +msgstr "Üksikmäng" + +#: builtin/client/chatcommands.lua +msgid "The out chat queue is now empty." +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "This command is disabled by server." +msgstr "" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -22,6 +63,38 @@ msgstr "Ärka ellu" msgid "You died" msgstr "Said surma" +#: builtin/client/death_formspec.lua +#, fuzzy +msgid "You died." +msgstr "Said surma" + +#: builtin/common/chatcommands.lua +#, fuzzy +msgid "Available commands:" +msgstr "Kohalik käsk" + +#: builtin/common/chatcommands.lua +#, fuzzy +msgid "Available commands: " +msgstr "Kohalik käsk" + +#: builtin/common/chatcommands.lua +msgid "Command not available: " +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "Get help for commands" +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "" +"Use '.help ' to get more information, or '.help all' to list everything." +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "[all | ]" +msgstr "" + #: builtin/fstk/dialog.lua builtin/fstk/ui.lua src/gui/modalMenu.cpp msgid "OK" msgstr "Valmis" @@ -153,7 +226,7 @@ msgstr "Sisse lülitatud" #: builtin/mainmenu/dlg_contentstore.lua msgid "\"$1\" already exists. Would you like to overwrite it?" -msgstr "" +msgstr "\"$1\" on juba olemas. Kas sa tahad seda üle kirjutada?" #: builtin/mainmenu/dlg_contentstore.lua msgid "$1 and $2 dependencies will be installed." @@ -170,9 +243,8 @@ msgid "" msgstr "" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "$1 downloading..." -msgstr "Allalaadimine..." +msgstr "$1 allalaadimine..." #: builtin/mainmenu/dlg_contentstore.lua msgid "$1 required dependencies could not be found." @@ -180,29 +252,27 @@ msgstr "" #: builtin/mainmenu/dlg_contentstore.lua msgid "$1 will be installed, and $2 dependencies will be skipped." -msgstr "" +msgstr "Installitakse $1 ja $2 sõltuvus jäetakse vahele." #: builtin/mainmenu/dlg_contentstore.lua msgid "All packages" msgstr "Kõik pakid" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "Already installed" -msgstr "Nupp juba kasutuses" +msgstr "Juba installeeritud" #: builtin/mainmenu/dlg_contentstore.lua msgid "Back to Main Menu" msgstr "Tagasi peamenüüsse" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "Base Game:" -msgstr "Võõrusta" +msgstr "Põhi Mäng:" #: builtin/mainmenu/dlg_contentstore.lua msgid "ContentDB is not available when Minetest was compiled without cURL" -msgstr "" +msgstr "ContentDB ei ole olemas kui Minetest on kompileeritud ilma cURL'ita" #: builtin/mainmenu/dlg_contentstore.lua msgid "Downloading..." @@ -222,14 +292,13 @@ msgid "Install" msgstr "Paigalda" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "Install $1" -msgstr "Paigalda" +msgstr "Paigalda $1" #: builtin/mainmenu/dlg_contentstore.lua #, fuzzy msgid "Install missing dependencies" -msgstr "Valikulised sõltuvused:" +msgstr "Paigalda valikulised sõltuvused" #: builtin/mainmenu/dlg_contentstore.lua #: builtin/mainmenu/dlg_settings_advanced.lua @@ -245,21 +314,21 @@ msgid "No results" msgstr "Tulemused puuduvad" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "No updates" -msgstr "Uuenda" +msgstr "Värskendusi pole" #: builtin/mainmenu/dlg_contentstore.lua +#, fuzzy msgid "Not found" -msgstr "" +msgstr "Ei leitud" #: builtin/mainmenu/dlg_contentstore.lua msgid "Overwrite" -msgstr "" +msgstr "Ümber kirjuta" #: builtin/mainmenu/dlg_contentstore.lua msgid "Please check that the base game is correct." -msgstr "" +msgstr "Palun tee kindlaks et põhi mäng on õige." #: builtin/mainmenu/dlg_contentstore.lua msgid "Queued" @@ -279,11 +348,11 @@ msgstr "Uuenda" #: builtin/mainmenu/dlg_contentstore.lua msgid "Update All [$1]" -msgstr "" +msgstr "Uuenda kõiki [$1]" #: builtin/mainmenu/dlg_contentstore.lua msgid "View more information in a web browser" -msgstr "" +msgstr "Vaata rohkem infot veebibrauseris" #: builtin/mainmenu/dlg_create_world.lua msgid "A world named \"$1\" already exists" @@ -536,7 +605,7 @@ msgstr "< Tagasi lehele „Seaded“" msgid "Browse" msgstr "Sirvi" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_settings.lua msgid "Disabled" msgstr "Keelatud" @@ -580,7 +649,7 @@ msgstr "Taasta vaikeväärtus" msgid "Scale" msgstr "Ulatus" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua msgid "Search" msgstr "Otsi" @@ -705,9 +774,8 @@ msgid "Loading..." msgstr "Laadimine..." #: builtin/mainmenu/serverlistmgr.lua -#, fuzzy msgid "Public server list is disabled" -msgstr "Kliendipoolne skriptimine on keelatud" +msgstr "Avalike serverite loend on keelatud" #: builtin/mainmenu/serverlistmgr.lua msgid "Try reenabling public serverlist and check your internet connection." @@ -715,6 +783,40 @@ msgstr "" "Proovi lubada uuesti avalike serverite loend ja kontrolli oma Interneti " "ühendust." +#: builtin/mainmenu/tab_about.lua +msgid "About" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active Contributors" +msgstr "Tegevad panustajad" + +#: builtin/mainmenu/tab_about.lua +msgid "Active renderer:" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Core Developers" +msgstr "Põhi arendajad" + +#: builtin/mainmenu/tab_about.lua +msgid "Open User Data Directory" +msgstr "Avalik Kasutaja Andmete Kaust" + +#: builtin/mainmenu/tab_about.lua +msgid "" +"Opens the directory that contains user-provided worlds, games, mods,\n" +"and texture packs in a file manager / explorer." +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Contributors" +msgstr "Eelnevad panustajad" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Core Developers" +msgstr "Eelnevad põhi-arendajad" + #: builtin/mainmenu/tab_content.lua msgid "Browse online content" msgstr "Sirvi veebist sisu" @@ -755,37 +857,6 @@ msgstr "Eemalda pakett" msgid "Use Texture Pack" msgstr "Vali tekstuurikomplekt" -#: builtin/mainmenu/tab_credits.lua -msgid "Active Contributors" -msgstr "Tegevad panustajad" - -#: builtin/mainmenu/tab_credits.lua -msgid "Core Developers" -msgstr "Põhi arendajad" - -#: builtin/mainmenu/tab_credits.lua -msgid "Credits" -msgstr "Tegijad" - -#: builtin/mainmenu/tab_credits.lua -#, fuzzy -msgid "Open User Data Directory" -msgstr "Vali kataloog" - -#: builtin/mainmenu/tab_credits.lua -msgid "" -"Opens the directory that contains user-provided worlds, games, mods,\n" -"and texture packs in a file manager / explorer." -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Contributors" -msgstr "Eelnevad panustajad" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Core Developers" -msgstr "Eelnevad põhi-arendajad" - #: builtin/mainmenu/tab_local.lua msgid "Announce Server" msgstr "Võõrustamise kuulutamine" @@ -814,9 +885,9 @@ msgstr "Majuta külastajatele" msgid "Install games from ContentDB" msgstr "Lisa mänge sisuvaramust" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Name" -msgstr "" +msgstr "Nimi" #: builtin/mainmenu/tab_local.lua msgid "New" @@ -826,7 +897,7 @@ msgstr "Uus" msgid "No world created or selected!" msgstr "Pole valitud ega loodud ühtegi maailma!" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua #, fuzzy msgid "Password" msgstr "Uus parool" @@ -835,14 +906,13 @@ msgstr "Uus parool" msgid "Play Game" msgstr "Mängi" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Port" msgstr "Port" #: builtin/mainmenu/tab_local.lua -#, fuzzy msgid "Select Mods" -msgstr "Vali maailm:" +msgstr "Vali mod" #: builtin/mainmenu/tab_local.lua msgid "Select World:" @@ -857,8 +927,13 @@ msgid "Start Game" msgstr "Alusta mängu" #: builtin/mainmenu/tab_online.lua -msgid "Address / Port" -msgstr "Aadress / kanal" +#, fuzzy +msgid "Address" +msgstr "- Aadress: " + +#: builtin/mainmenu/tab_online.lua src/client/keycode.cpp +msgid "Clear" +msgstr "Tühjenda" #: builtin/mainmenu/tab_online.lua msgid "Connect" @@ -868,34 +943,46 @@ msgstr "Ühine" msgid "Creative mode" msgstr "Looja" +#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "Damage enabled" -msgstr "Ellujääja" +#, fuzzy +msgid "Damage / PvP" +msgstr "Vigastused" #: builtin/mainmenu/tab_online.lua msgid "Del. Favorite" msgstr "Pole lemmik" #: builtin/mainmenu/tab_online.lua -msgid "Favorite" +#, fuzzy +msgid "Favorites" msgstr "On lemmik" +#: builtin/mainmenu/tab_online.lua +msgid "Incompatible Servers" +msgstr "" + #: builtin/mainmenu/tab_online.lua msgid "Join Game" msgstr "Ühine" -#: builtin/mainmenu/tab_online.lua -msgid "Name / Password" -msgstr "Nimi / salasõna" - #: builtin/mainmenu/tab_online.lua msgid "Ping" msgstr "Viivitus" -#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "PvP enabled" -msgstr "Vaenulikus lubatud" +#, fuzzy +msgid "Public Servers" +msgstr "Võõrustamise kuulutamine" + +#: builtin/mainmenu/tab_online.lua +msgid "Refresh" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +#, fuzzy +msgid "Server Description" +msgstr "Võõrustaja kanal" #: builtin/mainmenu/tab_settings.lua msgid "2x" @@ -937,10 +1024,30 @@ msgstr "Vaheta klahve" msgid "Connected Glass" msgstr "Ühendatud klaas" +#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp +msgid "Dynamic shadows" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Dynamic shadows: " +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Fancy Leaves" msgstr "Uhked lehed" +#: builtin/mainmenu/tab_settings.lua +msgid "High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Low" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Medium" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Mipmap" msgstr "KaugVaatEsemeKaart" @@ -996,7 +1103,7 @@ msgstr "Varjutajad" #: builtin/mainmenu/tab_settings.lua #, fuzzy msgid "Shaders (experimental)" -msgstr "Lendsaared (katseline)" +msgstr "Shaderid (eksperimentaalsed)" #: builtin/mainmenu/tab_settings.lua msgid "Shaders (unavailable)" @@ -1030,6 +1137,14 @@ msgstr "Puutelävi: (px)" msgid "Trilinear Filter" msgstr "Tri-lineaar filtreerimine" +#: builtin/mainmenu/tab_settings.lua +msgid "Ultra High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Very Low" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Waving Leaves" msgstr "Lehvivad lehed" @@ -1102,18 +1217,6 @@ msgstr "Salasõnafaili avamine ebaõnnestus: " msgid "Provided world path doesn't exist: " 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" - #: src/client/game.cpp msgid "" "\n" @@ -1196,7 +1299,7 @@ msgid "Continue" msgstr "Jätka" #: src/client/game.cpp -#, fuzzy, c-format +#, c-format msgid "" "Controls:\n" "- %s: move forwards\n" @@ -1219,12 +1322,12 @@ msgstr "" "- %s: liigu vasakule\n" "- %s: liigu paremale\n" "- %s: hüppa/roni\n" +"- %s: kaeva/viruta\n" +"- %s: paigalda/kasuta\n" "- %s: hiili/mine alla\n" "- %s: viska ese\n" "- %s: seljakott\n" "- Hiir: keera/vaata\n" -"- Hiire vasakklõps: kaeva/viruta\n" -"- Hiire paremklõps: paigalda/kasuta\n" "- Hiireratas: vali ese\n" "- %s: vestlus\n" @@ -1341,21 +1444,28 @@ msgid "Item definitions..." msgstr "Esemete määratlused..." #: src/client/game.cpp +#, fuzzy msgid "KiB/s" -msgstr "" +msgstr "KiB/s" #: src/client/game.cpp msgid "Media..." msgstr "Meedia..." #: src/client/game.cpp +#, fuzzy msgid "MiB/s" -msgstr "" +msgstr "MiB/s" #: src/client/game.cpp msgid "Minimap currently disabled by game or mod" msgstr "Pisikaardi keelab hetkel mäng või MOD" +#: src/client/game.cpp +#, fuzzy +msgid "Multiplayer" +msgstr "Üksikmäng" + #: src/client/game.cpp msgid "Noclip mode disabled" msgstr "Haakumatus keelatud" @@ -1444,9 +1554,9 @@ msgid "Viewing range is at minimum: %d" msgstr "Vaate kaugus on vähim võimalik: %d" #: src/client/game.cpp -#, c-format +#, fuzzy, c-format msgid "Volume changed to %d%%" -msgstr "" +msgstr "helitugevus muutetud %d%%-ks" #: src/client/game.cpp msgid "Wireframe shown" @@ -1454,11 +1564,11 @@ msgstr "" #: src/client/game.cpp msgid "Zoom currently disabled by game or mod" -msgstr "" +msgstr "Suumimine on praegu mängu või modi tõttu keelatud" #: src/client/game.cpp msgid "ok" -msgstr "" +msgstr "sobib" #: src/client/gameui.cpp msgid "Chat hidden" @@ -1495,11 +1605,7 @@ msgstr "Tagasinihe" #: src/client/keycode.cpp msgid "Caps Lock" -msgstr "" - -#: src/client/keycode.cpp -msgid "Clear" -msgstr "Tühjenda" +msgstr "Suurtähelukk" #: src/client/keycode.cpp msgid "Control" @@ -1753,14 +1859,14 @@ msgid "Minimap hidden" msgstr "Pisikaart peidetud" #: src/client/minimap.cpp -#, fuzzy, c-format +#, c-format msgid "Minimap in radar mode, Zoom x%d" -msgstr "Radarkaart, Suurendus ×1" +msgstr "Radarkaart, Suurendus ×%d" #: src/client/minimap.cpp -#, fuzzy, c-format +#, c-format msgid "Minimap in surface mode, Zoom x%d" -msgstr "Pinnakaart, Suurendus ×1" +msgstr "Pinnakaart, Suurendus ×%d" #: src/client/minimap.cpp #, fuzzy @@ -1773,7 +1879,7 @@ msgstr "Paroolid ei ole samad!" #: src/gui/guiConfirmRegistration.cpp msgid "Register and Join" -msgstr "" +msgstr "Registreeru ja liitu" #: src/gui/guiConfirmRegistration.cpp #, c-format @@ -1790,7 +1896,8 @@ msgid "Proceed" msgstr "Jätka" #: src/gui/guiKeyChangeMenu.cpp -msgid "\"Special\" = climb down" +#, fuzzy +msgid "\"Aux1\" = climb down" msgstr "\"Eriline\" = roni alla" #: src/gui/guiKeyChangeMenu.cpp @@ -1799,12 +1906,20 @@ msgstr "Iseastuja" #: src/gui/guiKeyChangeMenu.cpp src/settings_translation_file.cpp msgid "Automatic jumping" +msgstr "Automaatne hüppamine" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Aux1" msgstr "" #: src/gui/guiKeyChangeMenu.cpp msgid "Backward" msgstr "Tagasi" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Block bounds" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Change camera" msgstr "Muuda kaamerat" @@ -1872,16 +1987,18 @@ msgid "Local command" msgstr "Kohalik käsk" #: src/gui/guiKeyChangeMenu.cpp +#, fuzzy msgid "Mute" -msgstr "" +msgstr "Summuta" #: src/gui/guiKeyChangeMenu.cpp msgid "Next item" msgstr "Järgmine üksus" #: src/gui/guiKeyChangeMenu.cpp +#, fuzzy msgid "Prev. item" -msgstr "" +msgstr "Eelmine asi" #: src/gui/guiKeyChangeMenu.cpp msgid "Range select" @@ -1895,10 +2012,6 @@ msgstr "Kuvatõmmis" msgid "Sneak" msgstr "Hiilimine" -#: src/gui/guiKeyChangeMenu.cpp -msgid "Special" -msgstr "" - #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle HUD" msgstr "Lülita HUD sisse/välja" @@ -1966,8 +2079,9 @@ msgstr "Hääle Volüüm: " #. ~ Imperative, as in "Enter/type in text". #. Don't forget the space. #: src/gui/modalMenu.cpp +#, fuzzy msgid "Enter " -msgstr "" +msgstr "Sisesta " #. ~ DO NOT TRANSLATE THIS LITERALLY! #. This is a special string which needs to contain the translation's @@ -1984,8 +2098,8 @@ 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 " +"(Android) Use virtual joystick to trigger \"Aux1\" button.\n" +"If enabled, virtual joystick will also tap \"Aux1\" button when out of main " "circle." msgstr "" @@ -2046,7 +2160,7 @@ msgstr "3D pilved" #: src/settings_translation_file.cpp msgid "3D mode" -msgstr "" +msgstr "3D-režiim" #: src/settings_translation_file.cpp msgid "3D mode parallax strength" @@ -2279,6 +2393,15 @@ msgstr "" msgid "Autoscaling mode" msgstr "" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Aux1 key" +msgstr "Hüppa" + +#: src/settings_translation_file.cpp +msgid "Aux1 key for climbing/descending" +msgstr "" + #: src/settings_translation_file.cpp msgid "Backward key" msgstr "Tagasi liikumise klahv" @@ -2323,10 +2446,6 @@ msgstr "" msgid "Biome noise" msgstr "" -#: src/settings_translation_file.cpp -msgid "Bits per pixel (aka color depth) in fullscreen mode." -msgstr "" - #: src/settings_translation_file.cpp msgid "Block send optimize distance" msgstr "" @@ -2425,6 +2544,11 @@ msgid "" "Where 0.0 is minimum light level, 1.0 is maximum light level." msgstr "" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Chat command time message threshold" +msgstr "Vestlus sõnumi väljaviskamis lävi" + #: src/settings_translation_file.cpp msgid "Chat font size" msgstr "" @@ -2521,6 +2645,10 @@ msgstr "Pilved menüüs" msgid "Colored fog" msgstr "" +#: src/settings_translation_file.cpp +msgid "Colored shadows" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Comma-separated list of flags to hide in the content repository.\n" @@ -2716,8 +2844,9 @@ msgstr "Vaike lasu hulk" #: src/settings_translation_file.cpp msgid "" -"Default timeout for cURL, stated in milliseconds.\n" -"Only has an effect if compiled with cURL." +"Define shadow filtering quality\n" +"This simulates the soft shadows effect by applying a PCF or poisson disk\n" +"but also uses more resources." msgstr "" #: src/settings_translation_file.cpp @@ -2881,6 +3010,12 @@ msgid "" "This support is experimental and API can change." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Enable colored shadows. \n" +"On true translucent nodes cast colored shadows. This is expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable console window" msgstr "" @@ -2905,6 +3040,13 @@ msgstr "" msgid "Enable players getting damage and dying." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Enable poisson disk filtering.\n" +"On true uses poisson disk to make \"soft shadows\". Otherwise uses PCF " +"filtering." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable random user input (only used for testing)." msgstr "" @@ -3027,18 +3169,6 @@ msgstr "" msgid "Fallback font path" msgstr "" -#: src/settings_translation_file.cpp -msgid "Fallback font shadow" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Fallback font shadow alpha" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Fallback font size" -msgstr "" - #: src/settings_translation_file.cpp msgid "Fast key" msgstr "" @@ -3057,7 +3187,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"Fast movement (via the \"special\" key).\n" +"Fast movement (via the \"Aux1\" key).\n" "This requires the \"fast\" privilege on the server." msgstr "" @@ -3091,9 +3221,9 @@ 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." +"which PNG optimizers usually discard, often resulting in dark or\n" +"light edges to transparent textures. Apply a filter to clean that up\n" +"at texture load time. This is automatically enabled if mipmapping is enabled." msgstr "" #: src/settings_translation_file.cpp @@ -3188,10 +3318,6 @@ msgstr "" msgid "Font size of the default font in point (pt)." msgstr "" -#: src/settings_translation_file.cpp -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 "" @@ -3289,10 +3415,6 @@ msgstr "" msgid "Full screen" msgstr "" -#: src/settings_translation_file.cpp -msgid "Full screen BPP" -msgstr "" - #: src/settings_translation_file.cpp msgid "Fullscreen mode." msgstr "" @@ -3390,7 +3512,8 @@ msgid "Heat noise" msgstr "" #: src/settings_translation_file.cpp -msgid "Height component of the initial window size." +msgid "" +"Height component of the initial window size. Ignored in fullscreen mode." msgstr "" #: src/settings_translation_file.cpp @@ -3401,10 +3524,6 @@ msgstr "Müra kõrgusele" msgid "Height select noise" msgstr "" -#: src/settings_translation_file.cpp -msgid "High-precision FPU" -msgstr "" - #: src/settings_translation_file.cpp msgid "Hill steepness" msgstr "Küngaste järskus" @@ -3636,8 +3755,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"If disabled, \"special\" key is used to fly fast if both fly and fast mode " -"are\n" +"If disabled, \"Aux1\" key is used to fly fast if both fly and fast mode are\n" "enabled." msgstr "" @@ -3659,8 +3777,8 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"If enabled, \"special\" key instead of \"sneak\" key is used for climbing " -"down and\n" +"If enabled, \"Aux1\" key instead of \"Sneak\" key is used for climbing down " +"and\n" "descending." msgstr "" @@ -3704,6 +3822,12 @@ msgid "" "to this distance from the player to the node." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"If the execution of a chat command takes longer than this specified time in\n" +"seconds, add the time information to the chat command message" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "If the file size of debug.txt exceeds the number of megabytes specified in\n" @@ -4592,10 +4716,6 @@ msgid "" "Make fog and sky colors depend on daytime (dawn/sunset) and view direction." msgstr "" -#: src/settings_translation_file.cpp -msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." -msgstr "" - #: src/settings_translation_file.cpp msgid "Makes all liquids opaque" msgstr "" @@ -4672,6 +4792,10 @@ msgstr "" msgid "Map save interval" msgstr "" +#: src/settings_translation_file.cpp +msgid "Map update time" +msgstr "" + #: src/settings_translation_file.cpp msgid "Mapblock limit" msgstr "" @@ -4780,6 +4904,10 @@ msgstr "" msgid "Maximum FPS when the window is not focused, or when the game is paused." msgstr "" +#: src/settings_translation_file.cpp +msgid "Maximum distance to render shadows." +msgstr "" + #: src/settings_translation_file.cpp msgid "Maximum forceloaded blocks" msgstr "" @@ -4886,7 +5014,15 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "Maximum time in ms a file download (e.g. a mod download) may take." +msgid "" +"Maximum time a file download (e.g. a mod download) may take, stated in " +"milliseconds." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum time an interactive request (e.g. server list fetch) may take, " +"stated in milliseconds." msgstr "" #: src/settings_translation_file.cpp @@ -5099,11 +5235,6 @@ 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 " @@ -5203,6 +5334,11 @@ msgstr "" msgid "Player versus player" msgstr "" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Poisson filtering" +msgstr "Bilineaarne filtreerimine" + #: src/settings_translation_file.cpp msgid "" "Port to connect to (UDP).\n" @@ -5537,6 +5673,40 @@ msgstr "" msgid "Set the maximum character length of a chat message sent by clients." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow strength.\n" +"Lower value means lighter shadows, higher value means darker shadows." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow update time.\n" +"Lower value means shadows and map updates faster, but it consume more " +"resources.\n" +"Minimun value 0.001 seconds max value 0.2 seconds" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the soft shadow radius size.\n" +"Lower values mean sharper shadows bigger values softer.\n" +"Minimun value 1.0 and max value 10.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the tilt of Sun/Moon orbit in degrees\n" +"Value of 0 means no tilt / vertical orbit.\n" +"Minimun value 0.0 and max value 60.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set to true to enable Shadow Mapping.\n" +"Requires shaders to be enabled." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Set to true to enable waving leaves.\n" @@ -5555,6 +5725,13 @@ msgid "" "Requires shaders to be enabled." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Sets shadow texture quality to 32 bits.\n" +"On false, 16 bits texture will be used.\n" +"This can cause much more artifacts in the shadow." +msgstr "" + #: src/settings_translation_file.cpp msgid "Shader path" msgstr "Varjutaja asukoht" @@ -5567,6 +5744,23 @@ msgid "" "This only works with the OpenGL video backend." msgstr "" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Shadow filter quality" +msgstr "Kuvapildi tase" + +#: src/settings_translation_file.cpp +msgid "Shadow map max distance in nodes to render shadows" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture in 32 bits" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture size" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Shadow offset (in pixels) of the default font. If 0, then shadow will not be " @@ -5574,9 +5768,7 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "" -"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not " -"be drawn." +msgid "Shadow strength" msgstr "" #: src/settings_translation_file.cpp @@ -5622,6 +5814,10 @@ msgid "" "thread, thus reducing jitter." msgstr "" +#: src/settings_translation_file.cpp +msgid "Sky Body Orbit Tilt" +msgstr "" + #: src/settings_translation_file.cpp msgid "Slice w" msgstr "" @@ -5677,15 +5873,11 @@ msgid "Sneaking speed, in nodes per second." msgstr "" #: src/settings_translation_file.cpp -msgid "Sound" +msgid "Soft shadow radius" msgstr "" #: src/settings_translation_file.cpp -msgid "Special key" -msgstr "Eri klahv" - -#: src/settings_translation_file.cpp -msgid "Special key for climbing/descending" +msgid "Sound" msgstr "" #: src/settings_translation_file.cpp @@ -5809,6 +6001,13 @@ msgstr "" msgid "Texture path" msgstr "Tapeedi kaust" +#: src/settings_translation_file.cpp +msgid "" +"Texture size to render the shadow map on.\n" +"This must be a power of two.\n" +"Bigger numbers create better shadowsbut it is also more expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Textures on a node may be aligned either to the node or to the world.\n" @@ -5882,7 +6081,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"The rendering back-end for Irrlicht.\n" +"The rendering back-end.\n" "A restart is required after changing this.\n" "Note: On Android, stick with OGLES1 if unsure! App may fail to start " "otherwise.\n" @@ -6169,7 +6368,7 @@ msgid "Viewing range" msgstr "" #: src/settings_translation_file.cpp -msgid "Virtual joystick triggers aux button" +msgid "Virtual joystick triggers Aux1 button" msgstr "" #: src/settings_translation_file.cpp @@ -6260,9 +6459,8 @@ msgid "" "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" +"memory. Powers of 2 are recommended. This setting is ONLY applies if\n" +"bilinear/trilinear/anisotropic filtering is enabled.\n" "This is also used as the base node texture size for world-aligned\n" "texture autoscaling." msgstr "" @@ -6318,7 +6516,7 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "Width component of the initial window size." +msgid "Width component of the initial window size. Ignored in fullscreen mode." msgstr "" #: src/settings_translation_file.cpp @@ -6424,13 +6622,17 @@ msgstr "" msgid "cURL file download timeout" msgstr "cURL faili allalaadimine aegus" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "cURL interactive timeout" +msgstr "cURL aegus" + #: src/settings_translation_file.cpp msgid "cURL parallel limit" msgstr "" -#: src/settings_translation_file.cpp -msgid "cURL timeout" -msgstr "cURL aegus" +#~ msgid "Address / Port" +#~ msgstr "Aadress / kanal" #~ msgid "Are you sure to reset your singleplayer world?" #~ msgstr "Kindlasti lähtestad oma üksikmängija maailma algseks?" @@ -6450,6 +6652,12 @@ msgstr "cURL aegus" #~ msgid "Configure" #~ msgstr "Kohanda" +#~ msgid "Credits" +#~ msgstr "Tegijad" + +#~ msgid "Damage enabled" +#~ msgstr "Ellujääja" + #~ msgid "Darkness sharpness" #~ msgstr "Pimeduse teravus" @@ -6484,6 +6692,9 @@ msgstr "cURL aegus" #~ msgid "Minimap in surface mode, Zoom x4" #~ msgstr "Pinnakaart, Suurendus ×4" +#~ msgid "Name / Password" +#~ msgstr "Nimi / salasõna" + #~ msgid "Name/Password" #~ msgstr "Nimi/Salasõna" @@ -6493,6 +6704,9 @@ msgstr "cURL aegus" #~ msgid "Ok" #~ msgstr "Olgu." +#~ msgid "PvP enabled" +#~ msgstr "Vaenulikus lubatud" + #~ msgid "Reset singleplayer world" #~ msgstr "Lähtesta üksikmängija maailm" @@ -6500,6 +6714,9 @@ msgstr "cURL aegus" #~ msgid "Select Package File:" #~ msgstr "Vali modifikatsiooni fail:" +#~ msgid "Special key" +#~ msgstr "Eri klahv" + #~ msgid "Start Singleplayer" #~ msgstr "Alusta üksikmängu" @@ -6512,3 +6729,6 @@ msgstr "cURL aegus" #~ msgid "Yes" #~ msgstr "Jah" + +#~ msgid "needs_fallback_font" +#~ msgstr "no" diff --git a/po/eu/minetest.po b/po/eu/minetest.po index d639a79ed..a2f5ed31f 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: 2021-02-23 19:03+0100\n" +"POT-Creation-Date: 2021-06-16 18:27+0200\n" "PO-Revision-Date: 2021-02-23 15:50+0000\n" "Last-Translator: Osoitz \n" "Language-Team: Basque ' to get more information, or '.help all' to list everything." +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "[all | ]" +msgstr "" + #: builtin/fstk/dialog.lua builtin/fstk/ui.lua src/gui/modalMenu.cpp msgid "OK" msgstr "Ados" @@ -540,7 +610,7 @@ msgstr "< Itzuli ezarpenen orrira" msgid "Browse" msgstr "Arakatu" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_settings.lua msgid "Disabled" msgstr "Desgaituta" @@ -584,7 +654,7 @@ msgstr "Berrezarri lehenespena" msgid "Scale" msgstr "Eskala" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua msgid "Search" msgstr "Bilatu" @@ -720,6 +790,42 @@ msgstr "" "Saia zaitez zerbitzari publikoen zerrenda birgaitzen eta egiazta ezazu zure " "internet konexioa." +#: builtin/mainmenu/tab_about.lua +msgid "About" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active Contributors" +msgstr "Laguntzaile aktiboak" + +#: builtin/mainmenu/tab_about.lua +#, fuzzy +msgid "Active renderer:" +msgstr "Objektu aktiboak bidaltzeko barrutia" + +#: builtin/mainmenu/tab_about.lua +msgid "Core Developers" +msgstr "Garatzaile nagusiak" + +#: builtin/mainmenu/tab_about.lua +#, fuzzy +msgid "Open User Data Directory" +msgstr "Hautatu direktorioa" + +#: builtin/mainmenu/tab_about.lua +msgid "" +"Opens the directory that contains user-provided worlds, games, mods,\n" +"and texture packs in a file manager / explorer." +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Contributors" +msgstr "Lehenagoko laguntzaileak" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Core Developers" +msgstr "Lehenagoko garatzaile nagusiak" + #: builtin/mainmenu/tab_content.lua msgid "Browse online content" msgstr "Lineako edukiak esploratu" @@ -760,37 +866,6 @@ msgstr "Paketea desinstalatu" msgid "Use Texture Pack" msgstr "Testura paketea erabili" -#: builtin/mainmenu/tab_credits.lua -msgid "Active Contributors" -msgstr "Laguntzaile aktiboak" - -#: builtin/mainmenu/tab_credits.lua -msgid "Core Developers" -msgstr "Garatzaile nagusiak" - -#: builtin/mainmenu/tab_credits.lua -msgid "Credits" -msgstr "Kredituak" - -#: builtin/mainmenu/tab_credits.lua -#, fuzzy -msgid "Open User Data Directory" -msgstr "Hautatu direktorioa" - -#: builtin/mainmenu/tab_credits.lua -msgid "" -"Opens the directory that contains user-provided worlds, games, mods,\n" -"and texture packs in a file manager / explorer." -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Contributors" -msgstr "Lehenagoko laguntzaileak" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Core Developers" -msgstr "Lehenagoko garatzaile nagusiak" - #: builtin/mainmenu/tab_local.lua msgid "Announce Server" msgstr "Zerbitzaria iragarri" @@ -819,7 +894,7 @@ msgstr "Zerbitzari ostalaria" msgid "Install games from ContentDB" msgstr "Instalatu ContentDB-ko jolasak" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Name" msgstr "" @@ -831,7 +906,7 @@ msgstr "" msgid "No world created or selected!" msgstr "" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Password" msgstr "" @@ -839,7 +914,7 @@ msgstr "" msgid "Play Game" msgstr "" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Port" msgstr "" @@ -861,7 +936,12 @@ msgid "Start Game" msgstr "Hasi partida" #: builtin/mainmenu/tab_online.lua -msgid "Address / Port" +#, fuzzy +msgid "Address" +msgstr "Helbidea lotu" + +#: builtin/mainmenu/tab_online.lua src/client/keycode.cpp +msgid "Clear" msgstr "" #: builtin/mainmenu/tab_online.lua @@ -872,33 +952,43 @@ msgstr "" msgid "Creative mode" msgstr "Sormen modua" +#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "Damage enabled" -msgstr "" +#, fuzzy +msgid "Damage / PvP" +msgstr "Kaltea" #: builtin/mainmenu/tab_online.lua msgid "Del. Favorite" msgstr "" #: builtin/mainmenu/tab_online.lua -msgid "Favorite" +msgid "Favorites" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +msgid "Incompatible Servers" msgstr "" #: builtin/mainmenu/tab_online.lua msgid "Join Game" msgstr "Elkartu partidara" -#: builtin/mainmenu/tab_online.lua -msgid "Name / Password" -msgstr "" - #: builtin/mainmenu/tab_online.lua msgid "Ping" msgstr "" -#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "PvP enabled" +#, fuzzy +msgid "Public Servers" +msgstr "Zerbitzaria iragarri" + +#: builtin/mainmenu/tab_online.lua +msgid "Refresh" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +msgid "Server Description" msgstr "" #: builtin/mainmenu/tab_settings.lua @@ -941,10 +1031,30 @@ msgstr "" msgid "Connected Glass" msgstr "" +#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp +msgid "Dynamic shadows" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Dynamic shadows: " +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Fancy Leaves" msgstr "" +#: builtin/mainmenu/tab_settings.lua +msgid "High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Low" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Medium" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Mipmap" msgstr "" @@ -1033,6 +1143,14 @@ msgstr "" msgid "Trilinear Filter" msgstr "" +#: builtin/mainmenu/tab_settings.lua +msgid "Ultra High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Very Low" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Waving Leaves" msgstr "" @@ -1105,18 +1223,6 @@ 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" - #: src/client/game.cpp msgid "" "\n" @@ -1331,6 +1437,10 @@ msgstr "" msgid "Minimap currently disabled by game or mod" msgstr "" +#: src/client/game.cpp +msgid "Multiplayer" +msgstr "" + #: src/client/game.cpp msgid "Noclip mode disabled" msgstr "" @@ -1472,10 +1582,6 @@ msgstr "" msgid "Caps Lock" msgstr "" -#: src/client/keycode.cpp -msgid "Clear" -msgstr "" - #: src/client/keycode.cpp msgid "Control" msgstr "Ctrl" @@ -1764,7 +1870,7 @@ msgid "Proceed" msgstr "Jarraitu" #: src/gui/guiKeyChangeMenu.cpp -msgid "\"Special\" = climb down" +msgid "\"Aux1\" = climb down" msgstr "" #: src/gui/guiKeyChangeMenu.cpp @@ -1775,10 +1881,18 @@ msgstr "Aurrera automatikoki" msgid "Automatic jumping" msgstr "" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Aux1" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Backward" msgstr "Atzera" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Block bounds" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Change camera" msgstr "Aldatu kamera" @@ -1867,10 +1981,6 @@ msgstr "Pantaila-argazkia" msgid "Sneak" msgstr "isilean mugitu" -#: src/gui/guiKeyChangeMenu.cpp -msgid "Special" -msgstr "Berezia" - #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle HUD" msgstr "" @@ -1956,8 +2066,8 @@ 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 " +"(Android) Use virtual joystick to trigger \"Aux1\" button.\n" +"If enabled, virtual joystick will also tap \"Aux1\" button when out of main " "circle." msgstr "" @@ -2251,6 +2361,15 @@ msgstr "" msgid "Autoscaling mode" msgstr "" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Aux1 key" +msgstr "Jauzi tekla" + +#: src/settings_translation_file.cpp +msgid "Aux1 key for climbing/descending" +msgstr "" + #: src/settings_translation_file.cpp msgid "Backward key" msgstr "Atzera tekla" @@ -2295,10 +2414,6 @@ msgstr "" msgid "Biome noise" msgstr "" -#: src/settings_translation_file.cpp -msgid "Bits per pixel (aka color depth) in fullscreen mode." -msgstr "" - #: src/settings_translation_file.cpp msgid "Block send optimize distance" msgstr "" @@ -2397,6 +2512,10 @@ msgid "" "Where 0.0 is minimum light level, 1.0 is maximum light level." msgstr "" +#: src/settings_translation_file.cpp +msgid "Chat command time message threshold" +msgstr "" + #: src/settings_translation_file.cpp msgid "Chat font size" msgstr "" @@ -2493,6 +2612,10 @@ msgstr "" msgid "Colored fog" msgstr "" +#: src/settings_translation_file.cpp +msgid "Colored shadows" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Comma-separated list of flags to hide in the content repository.\n" @@ -2688,8 +2811,9 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"Default timeout for cURL, stated in milliseconds.\n" -"Only has an effect if compiled with cURL." +"Define shadow filtering quality\n" +"This simulates the soft shadows effect by applying a PCF or poisson disk\n" +"but also uses more resources." msgstr "" #: src/settings_translation_file.cpp @@ -2853,6 +2977,12 @@ msgid "" "This support is experimental and API can change." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Enable colored shadows. \n" +"On true translucent nodes cast colored shadows. This is expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable console window" msgstr "" @@ -2878,6 +3008,13 @@ msgstr "" msgid "Enable players getting damage and dying." msgstr "Ahalbidetu jokalariek kaltea jasotzea eta hiltzea." +#: src/settings_translation_file.cpp +msgid "" +"Enable poisson disk filtering.\n" +"On true uses poisson disk to make \"soft shadows\". Otherwise uses PCF " +"filtering." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable random user input (only used for testing)." msgstr "" @@ -3004,18 +3141,6 @@ msgstr "" msgid "Fallback font path" msgstr "" -#: src/settings_translation_file.cpp -msgid "Fallback font shadow" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Fallback font shadow alpha" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Fallback font size" -msgstr "" - #: src/settings_translation_file.cpp msgid "Fast key" msgstr "Azkar tekla" @@ -3034,7 +3159,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"Fast movement (via the \"special\" key).\n" +"Fast movement (via the \"Aux1\" key).\n" "This requires the \"fast\" privilege on the server." msgstr "" @@ -3068,9 +3193,9 @@ 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." +"which PNG optimizers usually discard, often resulting in dark or\n" +"light edges to transparent textures. Apply a filter to clean that up\n" +"at texture load time. This is automatically enabled if mipmapping is enabled." msgstr "" #: src/settings_translation_file.cpp @@ -3166,10 +3291,6 @@ msgstr "" msgid "Font size of the default font in point (pt)." msgstr "" -#: src/settings_translation_file.cpp -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 "" @@ -3273,10 +3394,6 @@ msgstr "" msgid "Full screen" msgstr "" -#: src/settings_translation_file.cpp -msgid "Full screen BPP" -msgstr "" - #: src/settings_translation_file.cpp msgid "Fullscreen mode." msgstr "" @@ -3370,7 +3487,8 @@ msgid "Heat noise" msgstr "" #: src/settings_translation_file.cpp -msgid "Height component of the initial window size." +msgid "" +"Height component of the initial window size. Ignored in fullscreen mode." msgstr "" #: src/settings_translation_file.cpp @@ -3381,10 +3499,6 @@ msgstr "" msgid "Height select noise" msgstr "" -#: src/settings_translation_file.cpp -msgid "High-precision FPU" -msgstr "" - #: src/settings_translation_file.cpp msgid "Hill steepness" msgstr "" @@ -3616,8 +3730,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"If disabled, \"special\" key is used to fly fast if both fly and fast mode " -"are\n" +"If disabled, \"Aux1\" key is used to fly fast if both fly and fast mode are\n" "enabled." msgstr "" @@ -3639,8 +3752,8 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"If enabled, \"special\" key instead of \"sneak\" key is used for climbing " -"down and\n" +"If enabled, \"Aux1\" key instead of \"Sneak\" key is used for climbing down " +"and\n" "descending." msgstr "" @@ -3684,6 +3797,12 @@ msgid "" "to this distance from the player to the node." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"If the execution of a chat command takes longer than this specified time in\n" +"seconds, add the time information to the chat command message" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "If the file size of debug.txt exceeds the number of megabytes specified in\n" @@ -4605,10 +4724,6 @@ msgid "" "Make fog and sky colors depend on daytime (dawn/sunset) and view direction." msgstr "" -#: src/settings_translation_file.cpp -msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." -msgstr "" - #: src/settings_translation_file.cpp msgid "Makes all liquids opaque" msgstr "" @@ -4680,6 +4795,10 @@ msgstr "" msgid "Map save interval" msgstr "" +#: src/settings_translation_file.cpp +msgid "Map update time" +msgstr "" + #: src/settings_translation_file.cpp msgid "Mapblock limit" msgstr "" @@ -4788,6 +4907,10 @@ msgstr "" msgid "Maximum FPS when the window is not focused, or when the game is paused." msgstr "" +#: src/settings_translation_file.cpp +msgid "Maximum distance to render shadows." +msgstr "" + #: src/settings_translation_file.cpp msgid "Maximum forceloaded blocks" msgstr "" @@ -4894,7 +5017,15 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "Maximum time in ms a file download (e.g. a mod download) may take." +msgid "" +"Maximum time a file download (e.g. a mod download) may take, stated in " +"milliseconds." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum time an interactive request (e.g. server list fetch) may take, " +"stated in milliseconds." msgstr "" #: src/settings_translation_file.cpp @@ -5107,11 +5238,6 @@ 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 " @@ -5211,6 +5337,10 @@ msgstr "Jokalariaren transferentzia distantzia" msgid "Player versus player" msgstr "" +#: src/settings_translation_file.cpp +msgid "Poisson filtering" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Port to connect to (UDP).\n" @@ -5545,6 +5675,40 @@ msgstr "" msgid "Set the maximum character length of a chat message sent by clients." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow strength.\n" +"Lower value means lighter shadows, higher value means darker shadows." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow update time.\n" +"Lower value means shadows and map updates faster, but it consume more " +"resources.\n" +"Minimun value 0.001 seconds max value 0.2 seconds" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the soft shadow radius size.\n" +"Lower values mean sharper shadows bigger values softer.\n" +"Minimun value 1.0 and max value 10.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the tilt of Sun/Moon orbit in degrees\n" +"Value of 0 means no tilt / vertical orbit.\n" +"Minimun value 0.0 and max value 60.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set to true to enable Shadow Mapping.\n" +"Requires shaders to be enabled." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Set to true to enable waving leaves.\n" @@ -5563,6 +5727,13 @@ msgid "" "Requires shaders to be enabled." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Sets shadow texture quality to 32 bits.\n" +"On false, 16 bits texture will be used.\n" +"This can cause much more artifacts in the shadow." +msgstr "" + #: src/settings_translation_file.cpp msgid "Shader path" msgstr "" @@ -5575,6 +5746,22 @@ msgid "" "This only works with the OpenGL video backend." msgstr "" +#: src/settings_translation_file.cpp +msgid "Shadow filter quality" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map max distance in nodes to render shadows" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture in 32 bits" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture size" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Shadow offset (in pixels) of the default font. If 0, then shadow will not be " @@ -5582,9 +5769,7 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "" -"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not " -"be drawn." +msgid "Shadow strength" msgstr "" #: src/settings_translation_file.cpp @@ -5630,6 +5815,10 @@ msgid "" "thread, thus reducing jitter." msgstr "" +#: src/settings_translation_file.cpp +msgid "Sky Body Orbit Tilt" +msgstr "" + #: src/settings_translation_file.cpp msgid "Slice w" msgstr "" @@ -5685,15 +5874,11 @@ msgid "Sneaking speed, in nodes per second." msgstr "" #: src/settings_translation_file.cpp -msgid "Sound" +msgid "Soft shadow radius" msgstr "" #: src/settings_translation_file.cpp -msgid "Special key" -msgstr "Berezia tekla" - -#: src/settings_translation_file.cpp -msgid "Special key for climbing/descending" +msgid "Sound" msgstr "" #: src/settings_translation_file.cpp @@ -5817,6 +6002,13 @@ msgstr "" msgid "Texture path" msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Texture size to render the shadow map on.\n" +"This must be a power of two.\n" +"Bigger numbers create better shadowsbut it is also more expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Textures on a node may be aligned either to the node or to the world.\n" @@ -5893,7 +6085,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"The rendering back-end for Irrlicht.\n" +"The rendering back-end.\n" "A restart is required after changing this.\n" "Note: On Android, stick with OGLES1 if unsure! App may fail to start " "otherwise.\n" @@ -6183,7 +6375,7 @@ msgid "Viewing range" msgstr "Ikusmen barrutia" #: src/settings_translation_file.cpp -msgid "Virtual joystick triggers aux button" +msgid "Virtual joystick triggers Aux1 button" msgstr "" #: src/settings_translation_file.cpp @@ -6274,9 +6466,8 @@ msgid "" "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" +"memory. Powers of 2 are recommended. This setting is ONLY applies if\n" +"bilinear/trilinear/anisotropic filtering is enabled.\n" "This is also used as the base node texture size for world-aligned\n" "texture autoscaling." msgstr "" @@ -6334,7 +6525,7 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "Width component of the initial window size." +msgid "Width component of the initial window size. Ignored in fullscreen mode." msgstr "" #: src/settings_translation_file.cpp @@ -6441,12 +6632,13 @@ msgid "cURL file download timeout" msgstr "" #: src/settings_translation_file.cpp -msgid "cURL parallel limit" -msgstr "" +#, fuzzy +msgid "cURL interactive timeout" +msgstr "cURL-en denbora muga" #: src/settings_translation_file.cpp -msgid "cURL timeout" -msgstr "cURL-en denbora muga" +msgid "cURL parallel limit" +msgstr "" #~ msgid "Back" #~ msgstr "Atzera" @@ -6454,8 +6646,20 @@ msgstr "cURL-en denbora muga" #~ msgid "Configure" #~ msgstr "Konfiguratu" +#~ msgid "Credits" +#~ msgstr "Kredituak" + #~ msgid "Downloading and installing $1, please wait..." #~ msgstr "$1 deskargatu eta instalatzen, itxaron mesedez..." #~ msgid "Ok" #~ msgstr "Ados" + +#~ msgid "Special" +#~ msgstr "Berezia" + +#~ msgid "Special key" +#~ msgstr "Berezia tekla" + +#~ msgid "needs_fallback_font" +#~ msgstr "no" diff --git a/po/fi/minetest.po b/po/fi/minetest.po index 57682ebba..e12580417 100644 --- a/po/fi/minetest.po +++ b/po/fi/minetest.po @@ -7,9 +7,9 @@ msgid "" msgstr "" "Project-Id-Version: minetest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-02-23 19:03+0100\n" -"PO-Revision-Date: 2021-02-01 05:52+0000\n" -"Last-Translator: Tviljan \n" +"POT-Creation-Date: 2021-06-16 18:27+0200\n" +"PO-Revision-Date: 2021-04-10 15:49+0000\n" +"Last-Translator: Markus Mikkonen \n" "Language-Team: Finnish \n" "Language: fi\n" @@ -17,7 +17,44 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.5-dev\n" +"X-Generator: Weblate 4.6-dev\n" + +#: builtin/client/chatcommands.lua +msgid "Clear the out chat queue" +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "Empty command." +msgstr "" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Exit to main menu" +msgstr "Takaisin päävalikkoon" + +#: builtin/client/chatcommands.lua +msgid "Invalid command: " +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "Issued command: " +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "List online players" +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "Online players: " +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "The out chat queue is now empty." +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "This command is disabled by server." +msgstr "" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -27,13 +64,43 @@ msgstr "Synny uudelleen" msgid "You died" msgstr "Kuolit" +#: builtin/client/death_formspec.lua +#, fuzzy +msgid "You died." +msgstr "Kuolit" + +#: builtin/common/chatcommands.lua +msgid "Available commands:" +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "Available commands: " +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "Command not available: " +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "Get help for commands" +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "" +"Use '.help ' to get more information, or '.help all' to list everything." +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "[all | ]" +msgstr "" + #: builtin/fstk/dialog.lua builtin/fstk/ui.lua src/gui/modalMenu.cpp msgid "OK" msgstr "OK" #: builtin/fstk/ui.lua msgid "An error occurred in a Lua script:" -msgstr "" +msgstr "Lua-skriptissä tapahtui virhe:" #: builtin/fstk/ui.lua msgid "An error occurred:" @@ -41,7 +108,7 @@ msgstr "Tapahtui virhe:" #: builtin/fstk/ui.lua msgid "Main menu" -msgstr "" +msgstr "Päävalikko" #: builtin/fstk/ui.lua msgid "Reconnect" @@ -49,27 +116,27 @@ msgstr "Yhdistä uudelleen" #: builtin/fstk/ui.lua msgid "The server has requested a reconnect:" -msgstr "" +msgstr "Palvelin pyysi yhteyden muodostamista uudelleen:" #: builtin/mainmenu/common.lua msgid "Protocol version mismatch. " -msgstr "" +msgstr "Protokollaversiot epäyhteensopivat. " #: builtin/mainmenu/common.lua msgid "Server enforces protocol version $1. " -msgstr "" +msgstr "Palvelin vaatii protokollaversion $1. " #: builtin/mainmenu/common.lua msgid "Server supports protocol versions between $1 and $2. " -msgstr "" +msgstr "Palvelin tukee protokollaversioita välillä $1 ja $2. " #: builtin/mainmenu/common.lua msgid "We only support protocol version $1." -msgstr "" +msgstr "Tuemme vain protokollaversiota $1." #: builtin/mainmenu/common.lua msgid "We support protocol versions between version $1 and $2." -msgstr "" +msgstr "Tuemme protokollaversioita välillä $1 ja $2." #: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/dlg_contentstore.lua #: builtin/mainmenu/dlg_create_world.lua @@ -80,50 +147,52 @@ msgstr "" #: src/gui/guiConfirmRegistration.cpp src/gui/guiKeyChangeMenu.cpp #: src/gui/guiPasswordChange.cpp msgid "Cancel" -msgstr "" +msgstr "Peruuta" #: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/dlg_contentstore.lua #: builtin/mainmenu/tab_content.lua msgid "Dependencies:" -msgstr "" +msgstr "Riippuvuudet:" #: builtin/mainmenu/dlg_config_world.lua msgid "Disable all" -msgstr "" +msgstr "Poista kaikki käytöstä" #: builtin/mainmenu/dlg_config_world.lua msgid "Disable modpack" -msgstr "" +msgstr "Poista modipaketti käytöstä" #: builtin/mainmenu/dlg_config_world.lua msgid "Enable all" -msgstr "" +msgstr "Ota kaikki käyttöön" #: builtin/mainmenu/dlg_config_world.lua msgid "Enable modpack" -msgstr "" +msgstr "Ota modipaketti käyttöön" #: builtin/mainmenu/dlg_config_world.lua msgid "" "Failed to enable mod \"$1\" as it contains disallowed characters. Only " "characters [a-z0-9_] are allowed." msgstr "" +"Modin \"$1\" käyttöönotto epäonnistui, koska se sisälsi sallimattomia " +"merkkejä. Vain merkit [a-z0-9_] ovat sallittuja." #: builtin/mainmenu/dlg_config_world.lua msgid "Find More Mods" -msgstr "" +msgstr "Löydä lisää modeja" #: builtin/mainmenu/dlg_config_world.lua msgid "Mod:" -msgstr "" +msgstr "Modi:" #: builtin/mainmenu/dlg_config_world.lua msgid "No (optional) dependencies" -msgstr "" +msgstr "Ei (valinnaisia) riippuvuuksia" #: builtin/mainmenu/dlg_config_world.lua msgid "No game description provided." -msgstr "" +msgstr "Pelin kuvausta ei ole annettu." #: builtin/mainmenu/dlg_config_world.lua msgid "No hard dependencies" @@ -131,15 +200,15 @@ msgstr "" #: builtin/mainmenu/dlg_config_world.lua msgid "No modpack description provided." -msgstr "" +msgstr "Modipaketin kuvausta ei annettu." #: builtin/mainmenu/dlg_config_world.lua msgid "No optional dependencies" -msgstr "" +msgstr "Ei valinnaisia riippuvuuksia" #: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua msgid "Optional dependencies:" -msgstr "" +msgstr "Valinnaiset riippuvuudet:" #: builtin/mainmenu/dlg_config_world.lua #: builtin/mainmenu/dlg_settings_advanced.lua src/gui/guiKeyChangeMenu.cpp @@ -152,7 +221,7 @@ msgstr "Maailma:" #: builtin/mainmenu/dlg_config_world.lua msgid "enabled" -msgstr "" +msgstr "käytössä" #: builtin/mainmenu/dlg_contentstore.lua msgid "\"$1\" already exists. Would you like to overwrite it?" @@ -173,9 +242,8 @@ msgid "" msgstr "" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "$1 downloading..." -msgstr "Ladataan..." +msgstr "$1 latautuu..." #: builtin/mainmenu/dlg_contentstore.lua msgid "$1 required dependencies could not be found." @@ -187,15 +255,15 @@ msgstr "" #: builtin/mainmenu/dlg_contentstore.lua msgid "All packages" -msgstr "" +msgstr "Kaikki paketit" #: builtin/mainmenu/dlg_contentstore.lua msgid "Already installed" -msgstr "" +msgstr "Asennettu jo" #: builtin/mainmenu/dlg_contentstore.lua msgid "Back to Main Menu" -msgstr "" +msgstr "Takaisin päävalikkoon" #: builtin/mainmenu/dlg_contentstore.lua msgid "Base Game:" @@ -203,37 +271,37 @@ msgstr "" #: builtin/mainmenu/dlg_contentstore.lua msgid "ContentDB is not available when Minetest was compiled without cURL" -msgstr "" +msgstr "ContentDB ei ole saatavilla, jos Minetest on koottu ilman cURLia" #: builtin/mainmenu/dlg_contentstore.lua msgid "Downloading..." -msgstr "" +msgstr "Ladataan..." #: builtin/mainmenu/dlg_contentstore.lua msgid "Failed to download $1" -msgstr "" +msgstr "Epäonnistui ladata $1" #: builtin/mainmenu/dlg_contentstore.lua #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Games" -msgstr "" +msgstr "Pelit" #: builtin/mainmenu/dlg_contentstore.lua msgid "Install" -msgstr "" +msgstr "Asenna" #: builtin/mainmenu/dlg_contentstore.lua msgid "Install $1" -msgstr "" +msgstr "Asenna $1" #: builtin/mainmenu/dlg_contentstore.lua msgid "Install missing dependencies" -msgstr "" +msgstr "Asenna puuttuvat riippuvuudet" #: builtin/mainmenu/dlg_contentstore.lua #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Mods" -msgstr "" +msgstr "Modit" #: builtin/mainmenu/dlg_contentstore.lua msgid "No packages could be retrieved" @@ -241,11 +309,11 @@ msgstr "" #: builtin/mainmenu/dlg_contentstore.lua msgid "No results" -msgstr "" +msgstr "Ei tuloksia" #: builtin/mainmenu/dlg_contentstore.lua msgid "No updates" -msgstr "" +msgstr "Ei päivityksiä" #: builtin/mainmenu/dlg_contentstore.lua msgid "Not found" @@ -253,7 +321,7 @@ msgstr "" #: builtin/mainmenu/dlg_contentstore.lua msgid "Overwrite" -msgstr "" +msgstr "Ylikirjoita" #: builtin/mainmenu/dlg_contentstore.lua msgid "Please check that the base game is correct." @@ -265,19 +333,19 @@ msgstr "" #: builtin/mainmenu/dlg_contentstore.lua msgid "Texture packs" -msgstr "" +msgstr "Tekstuuripaketit" #: builtin/mainmenu/dlg_contentstore.lua msgid "Uninstall" -msgstr "" +msgstr "Poista" #: builtin/mainmenu/dlg_contentstore.lua msgid "Update" -msgstr "" +msgstr "Päivitä" #: builtin/mainmenu/dlg_contentstore.lua msgid "Update All [$1]" -msgstr "" +msgstr "Päivitä kaikki [$1]" #: builtin/mainmenu/dlg_contentstore.lua msgid "View more information in a web browser" @@ -285,7 +353,7 @@ msgstr "" #: builtin/mainmenu/dlg_create_world.lua msgid "A world named \"$1\" already exists" -msgstr "" +msgstr "Maailma nimellä \"$1\" on jo olemassa" #: builtin/mainmenu/dlg_create_world.lua msgid "Additional terrain" @@ -305,7 +373,7 @@ msgstr "" #: builtin/mainmenu/dlg_create_world.lua msgid "Biomes" -msgstr "" +msgstr "Biomit" #: builtin/mainmenu/dlg_create_world.lua msgid "Caverns" @@ -313,11 +381,11 @@ msgstr "" #: builtin/mainmenu/dlg_create_world.lua msgid "Caves" -msgstr "" +msgstr "Luolat" #: builtin/mainmenu/dlg_create_world.lua msgid "Create" -msgstr "" +msgstr "Luo" #: builtin/mainmenu/dlg_create_world.lua msgid "Decorations" @@ -325,11 +393,11 @@ msgstr "" #: builtin/mainmenu/dlg_create_world.lua msgid "Download a game, such as Minetest Game, from minetest.net" -msgstr "" +msgstr "Lataa peli, kuten Minetest Game, minetest.netistä" #: builtin/mainmenu/dlg_create_world.lua msgid "Download one from minetest.net" -msgstr "" +msgstr "Lataa yksi minetest.netistä" #: builtin/mainmenu/dlg_create_world.lua msgid "Dungeons" @@ -337,7 +405,7 @@ msgstr "" #: builtin/mainmenu/dlg_create_world.lua msgid "Flat terrain" -msgstr "" +msgstr "Tasainen maasto" #: builtin/mainmenu/dlg_create_world.lua msgid "Floating landmasses in the sky" @@ -349,7 +417,7 @@ msgstr "" #: builtin/mainmenu/dlg_create_world.lua src/settings_translation_file.cpp msgid "Game" -msgstr "" +msgstr "Peli" #: builtin/mainmenu/dlg_create_world.lua msgid "Generate non-fractal terrain: Oceans and underground" @@ -357,7 +425,7 @@ msgstr "" #: builtin/mainmenu/dlg_create_world.lua msgid "Hills" -msgstr "" +msgstr "Mäet" #: builtin/mainmenu/dlg_create_world.lua msgid "Humid rivers" @@ -389,7 +457,7 @@ msgstr "" #: builtin/mainmenu/dlg_create_world.lua msgid "Mountains" -msgstr "" +msgstr "Vuoret" #: builtin/mainmenu/dlg_create_world.lua msgid "Mud flow" @@ -401,7 +469,7 @@ msgstr "" #: builtin/mainmenu/dlg_create_world.lua msgid "No game selected" -msgstr "" +msgstr "Ei peliä valittu" #: builtin/mainmenu/dlg_create_world.lua msgid "Reduces heat with altitude" @@ -422,7 +490,7 @@ msgstr "" #: builtin/mainmenu/dlg_create_world.lua #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Seed" -msgstr "" +msgstr "Siemen" #: builtin/mainmenu/dlg_create_world.lua msgid "Smooth transition between biomes" @@ -472,21 +540,21 @@ msgstr "" #: builtin/mainmenu/dlg_create_world.lua msgid "World name" -msgstr "" +msgstr "Maailman nimi" #: builtin/mainmenu/dlg_create_world.lua msgid "You have no games installed." -msgstr "" +msgstr "Sinulla ei ole pelejä asennettuna." #: builtin/mainmenu/dlg_delete_content.lua msgid "Are you sure you want to delete \"$1\"?" -msgstr "" +msgstr "Oletko varma että haluat poistaa \"$1\":n?" #: builtin/mainmenu/dlg_delete_content.lua #: builtin/mainmenu/dlg_delete_world.lua builtin/mainmenu/tab_local.lua #: src/client/keycode.cpp msgid "Delete" -msgstr "" +msgstr "Poista" #: builtin/mainmenu/dlg_delete_content.lua msgid "pkgmgr: failed to delete \"$1\"" @@ -498,11 +566,11 @@ msgstr "" #: builtin/mainmenu/dlg_delete_world.lua msgid "Delete World \"$1\"?" -msgstr "" +msgstr "Poista maailma \"$1\"?" #: builtin/mainmenu/dlg_rename_modpack.lua msgid "Accept" -msgstr "" +msgstr "Hyväksy" #: builtin/mainmenu/dlg_rename_modpack.lua msgid "Rename Modpack:" @@ -524,23 +592,23 @@ msgstr "" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "< Back to Settings page" -msgstr "" +msgstr "< Takaisin asetussivulle" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Browse" -msgstr "" +msgstr "Selaa" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_settings.lua msgid "Disabled" -msgstr "" +msgstr "Poistettu käytöstä" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Edit" -msgstr "" +msgstr "Muokkaa" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Enabled" -msgstr "" +msgstr "Otettu käyttöön" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Lacunarity" @@ -574,21 +642,21 @@ msgstr "" msgid "Scale" msgstr "" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua msgid "Search" -msgstr "" +msgstr "Etsi" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Select directory" -msgstr "" +msgstr "Valitse hakemisto" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Select file" -msgstr "" +msgstr "Valitse tiedosto" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Show technical names" -msgstr "" +msgstr "Näytä tekniset nimet" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "The value must be at least $1." @@ -600,7 +668,7 @@ msgstr "" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "X" -msgstr "" +msgstr "X" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "X spread" @@ -608,7 +676,7 @@ msgstr "" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Y" -msgstr "" +msgstr "Y" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Y spread" @@ -616,7 +684,7 @@ msgstr "" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Z" -msgstr "" +msgstr "Z" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Z spread" @@ -647,7 +715,7 @@ msgstr "" #: builtin/mainmenu/pkgmgr.lua msgid "$1 (Enabled)" -msgstr "" +msgstr "$1 (Käytössä)" #: builtin/mainmenu/pkgmgr.lua msgid "$1 mods" @@ -704,6 +772,42 @@ msgstr "" #: builtin/mainmenu/serverlistmgr.lua msgid "Try reenabling public serverlist and check your internet connection." msgstr "" +"Kokeile ottaa julkinen palvelinlista uudelleen käyttöön ja tarkista " +"internetyhteytesi." + +#: builtin/mainmenu/tab_about.lua +msgid "About" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active Contributors" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active renderer:" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Core Developers" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Open User Data Directory" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "" +"Opens the directory that contains user-provided worlds, games, mods,\n" +"and texture packs in a file manager / explorer." +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Contributors" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Core Developers" +msgstr "" #: builtin/mainmenu/tab_content.lua msgid "Browse online content" @@ -715,7 +819,7 @@ msgstr "" #: builtin/mainmenu/tab_content.lua msgid "Disable Texture Pack" -msgstr "" +msgstr "Poista tekstuuripaketti käytöstä" #: builtin/mainmenu/tab_content.lua msgid "Information:" @@ -723,57 +827,27 @@ msgstr "" #: builtin/mainmenu/tab_content.lua msgid "Installed Packages:" -msgstr "" +msgstr "Asennetut paketit:" #: builtin/mainmenu/tab_content.lua msgid "No dependencies." -msgstr "" +msgstr "Ei riippuvuuksia." #: builtin/mainmenu/tab_content.lua msgid "No package description available" -msgstr "" +msgstr "Ei paketin kuvausta saatavilla" #: builtin/mainmenu/tab_content.lua msgid "Rename" -msgstr "" +msgstr "Nimeä uudelleen" #: builtin/mainmenu/tab_content.lua msgid "Uninstall Package" -msgstr "" +msgstr "Poista paketti" #: builtin/mainmenu/tab_content.lua msgid "Use Texture Pack" -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Active Contributors" -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Core Developers" -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Credits" -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Open User Data Directory" -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "" -"Opens the directory that contains user-provided worlds, games, mods,\n" -"and texture packs in a file manager / explorer." -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Contributors" -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Core Developers" -msgstr "" +msgstr "Käytä tekstuuripakettia" #: builtin/mainmenu/tab_local.lua msgid "Announce Server" @@ -785,7 +859,7 @@ msgstr "" #: builtin/mainmenu/tab_local.lua msgid "Creative Mode" -msgstr "" +msgstr "Luova tila" #: builtin/mainmenu/tab_local.lua msgid "Enable Damage" @@ -803,29 +877,29 @@ msgstr "" msgid "Install games from ContentDB" msgstr "" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Name" msgstr "" #: builtin/mainmenu/tab_local.lua msgid "New" -msgstr "" +msgstr "Uusi" #: builtin/mainmenu/tab_local.lua msgid "No world created or selected!" msgstr "" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Password" msgstr "" #: builtin/mainmenu/tab_local.lua msgid "Play Game" -msgstr "" +msgstr "Pelaa peliä" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Port" -msgstr "" +msgstr "Portti" #: builtin/mainmenu/tab_local.lua msgid "Select Mods" @@ -833,7 +907,7 @@ msgstr "" #: builtin/mainmenu/tab_local.lua msgid "Select World:" -msgstr "" +msgstr "Valitse maailma:" #: builtin/mainmenu/tab_local.lua msgid "Server Port" @@ -844,19 +918,25 @@ msgid "Start Game" msgstr "" #: builtin/mainmenu/tab_online.lua -msgid "Address / Port" +#, fuzzy +msgid "Address" +msgstr "Osoite / Portti" + +#: builtin/mainmenu/tab_online.lua src/client/keycode.cpp +msgid "Clear" msgstr "" #: builtin/mainmenu/tab_online.lua msgid "Connect" -msgstr "" +msgstr "Yhdistä" #: builtin/mainmenu/tab_online.lua msgid "Creative mode" -msgstr "" +msgstr "Luova tila" +#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "Damage enabled" +msgid "Damage / PvP" msgstr "" #: builtin/mainmenu/tab_online.lua @@ -864,29 +944,37 @@ msgid "Del. Favorite" msgstr "" #: builtin/mainmenu/tab_online.lua -msgid "Favorite" +#, fuzzy +msgid "Favorites" +msgstr "Suosikki" + +#: builtin/mainmenu/tab_online.lua +msgid "Incompatible Servers" msgstr "" #: builtin/mainmenu/tab_online.lua msgid "Join Game" -msgstr "" - -#: builtin/mainmenu/tab_online.lua -msgid "Name / Password" -msgstr "" +msgstr "Liity peliin" #: builtin/mainmenu/tab_online.lua msgid "Ping" +msgstr "Viive" + +#: builtin/mainmenu/tab_online.lua +msgid "Public Servers" msgstr "" -#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "PvP enabled" +msgid "Refresh" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +msgid "Server Description" msgstr "" #: builtin/mainmenu/tab_settings.lua msgid "2x" -msgstr "" +msgstr "2x" #: builtin/mainmenu/tab_settings.lua msgid "3D Clouds" @@ -894,15 +982,15 @@ msgstr "" #: builtin/mainmenu/tab_settings.lua msgid "4x" -msgstr "" +msgstr "4x" #: builtin/mainmenu/tab_settings.lua msgid "8x" -msgstr "" +msgstr "8x" #: builtin/mainmenu/tab_settings.lua msgid "All Settings" -msgstr "" +msgstr "Kaikki asetukset" #: builtin/mainmenu/tab_settings.lua msgid "Antialiasing:" @@ -924,8 +1012,28 @@ msgstr "" msgid "Connected Glass" msgstr "" +#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp +msgid "Dynamic shadows" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Dynamic shadows: " +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Fancy Leaves" +msgstr "Hienot lehdet" + +#: builtin/mainmenu/tab_settings.lua +msgid "High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Low" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Medium" msgstr "" #: builtin/mainmenu/tab_settings.lua @@ -966,7 +1074,7 @@ msgstr "" #: builtin/mainmenu/tab_settings.lua msgid "Particles" -msgstr "" +msgstr "Partikkelit" #: builtin/mainmenu/tab_settings.lua msgid "Screen:" @@ -974,7 +1082,7 @@ msgstr "" #: builtin/mainmenu/tab_settings.lua msgid "Settings" -msgstr "" +msgstr "Asetukset" #: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp msgid "Shaders" @@ -1016,6 +1124,14 @@ msgstr "" msgid "Trilinear Filter" msgstr "" +#: builtin/mainmenu/tab_settings.lua +msgid "Ultra High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Very Low" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Waving Leaves" msgstr "" @@ -1046,7 +1162,7 @@ msgstr "" #: src/client/client.cpp msgid "Loading textures..." -msgstr "" +msgstr "Ladataan tekstuureja..." #: src/client/client.cpp msgid "Rebuilding shaders..." @@ -1088,18 +1204,6 @@ 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" - #: src/client/game.cpp msgid "" "\n" @@ -1314,6 +1418,10 @@ msgstr "" msgid "Minimap currently disabled by game or mod" msgstr "" +#: src/client/game.cpp +msgid "Multiplayer" +msgstr "" + #: src/client/game.cpp msgid "Noclip mode disabled" msgstr "" @@ -1455,10 +1563,6 @@ msgstr "" msgid "Caps Lock" msgstr "" -#: src/client/keycode.cpp -msgid "Clear" -msgstr "" - #: src/client/keycode.cpp msgid "Control" msgstr "" @@ -1747,7 +1851,7 @@ msgid "Proceed" msgstr "" #: src/gui/guiKeyChangeMenu.cpp -msgid "\"Special\" = climb down" +msgid "\"Aux1\" = climb down" msgstr "" #: src/gui/guiKeyChangeMenu.cpp @@ -1758,10 +1862,18 @@ msgstr "" msgid "Automatic jumping" msgstr "" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Aux1" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Backward" msgstr "" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Block bounds" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Change camera" msgstr "" @@ -1850,10 +1962,6 @@ msgstr "" msgid "Sneak" msgstr "" -#: src/gui/guiKeyChangeMenu.cpp -msgid "Special" -msgstr "" - #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle HUD" msgstr "" @@ -1939,8 +2047,8 @@ 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 " +"(Android) Use virtual joystick to trigger \"Aux1\" button.\n" +"If enabled, virtual joystick will also tap \"Aux1\" button when out of main " "circle." msgstr "" @@ -2234,6 +2342,14 @@ msgstr "" msgid "Autoscaling mode" msgstr "" +#: src/settings_translation_file.cpp +msgid "Aux1 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Aux1 key for climbing/descending" +msgstr "" + #: src/settings_translation_file.cpp msgid "Backward key" msgstr "" @@ -2278,10 +2394,6 @@ msgstr "" msgid "Biome noise" msgstr "" -#: src/settings_translation_file.cpp -msgid "Bits per pixel (aka color depth) in fullscreen mode." -msgstr "" - #: src/settings_translation_file.cpp msgid "Block send optimize distance" msgstr "" @@ -2380,6 +2492,10 @@ msgid "" "Where 0.0 is minimum light level, 1.0 is maximum light level." msgstr "" +#: src/settings_translation_file.cpp +msgid "Chat command time message threshold" +msgstr "" + #: src/settings_translation_file.cpp msgid "Chat font size" msgstr "" @@ -2476,6 +2592,10 @@ msgstr "" msgid "Colored fog" msgstr "" +#: src/settings_translation_file.cpp +msgid "Colored shadows" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Comma-separated list of flags to hide in the content repository.\n" @@ -2671,8 +2791,9 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"Default timeout for cURL, stated in milliseconds.\n" -"Only has an effect if compiled with cURL." +"Define shadow filtering quality\n" +"This simulates the soft shadows effect by applying a PCF or poisson disk\n" +"but also uses more resources." msgstr "" #: src/settings_translation_file.cpp @@ -2833,6 +2954,12 @@ msgid "" "This support is experimental and API can change." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Enable colored shadows. \n" +"On true translucent nodes cast colored shadows. This is expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable console window" msgstr "" @@ -2857,6 +2984,13 @@ msgstr "" msgid "Enable players getting damage and dying." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Enable poisson disk filtering.\n" +"On true uses poisson disk to make \"soft shadows\". Otherwise uses PCF " +"filtering." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable random user input (only used for testing)." msgstr "" @@ -2979,18 +3113,6 @@ msgstr "" msgid "Fallback font path" msgstr "" -#: src/settings_translation_file.cpp -msgid "Fallback font shadow" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Fallback font shadow alpha" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Fallback font size" -msgstr "" - #: src/settings_translation_file.cpp msgid "Fast key" msgstr "" @@ -3009,7 +3131,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"Fast movement (via the \"special\" key).\n" +"Fast movement (via the \"Aux1\" key).\n" "This requires the \"fast\" privilege on the server." msgstr "" @@ -3043,9 +3165,9 @@ 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." +"which PNG optimizers usually discard, often resulting in dark or\n" +"light edges to transparent textures. Apply a filter to clean that up\n" +"at texture load time. This is automatically enabled if mipmapping is enabled." msgstr "" #: src/settings_translation_file.cpp @@ -3140,10 +3262,6 @@ msgstr "" msgid "Font size of the default font in point (pt)." msgstr "" -#: src/settings_translation_file.cpp -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 "" @@ -3241,10 +3359,6 @@ msgstr "" msgid "Full screen" msgstr "" -#: src/settings_translation_file.cpp -msgid "Full screen BPP" -msgstr "" - #: src/settings_translation_file.cpp msgid "Fullscreen mode." msgstr "" @@ -3338,7 +3452,8 @@ msgid "Heat noise" msgstr "" #: src/settings_translation_file.cpp -msgid "Height component of the initial window size." +msgid "" +"Height component of the initial window size. Ignored in fullscreen mode." msgstr "" #: src/settings_translation_file.cpp @@ -3349,10 +3464,6 @@ msgstr "" msgid "Height select noise" msgstr "" -#: src/settings_translation_file.cpp -msgid "High-precision FPU" -msgstr "" - #: src/settings_translation_file.cpp msgid "Hill steepness" msgstr "" @@ -3584,8 +3695,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"If disabled, \"special\" key is used to fly fast if both fly and fast mode " -"are\n" +"If disabled, \"Aux1\" key is used to fly fast if both fly and fast mode are\n" "enabled." msgstr "" @@ -3607,8 +3717,8 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"If enabled, \"special\" key instead of \"sneak\" key is used for climbing " -"down and\n" +"If enabled, \"Aux1\" key instead of \"Sneak\" key is used for climbing down " +"and\n" "descending." msgstr "" @@ -3652,6 +3762,12 @@ msgid "" "to this distance from the player to the node." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"If the execution of a chat command takes longer than this specified time in\n" +"seconds, add the time information to the chat command message" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "If the file size of debug.txt exceeds the number of megabytes specified in\n" @@ -4540,10 +4656,6 @@ msgid "" "Make fog and sky colors depend on daytime (dawn/sunset) and view direction." msgstr "" -#: src/settings_translation_file.cpp -msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." -msgstr "" - #: src/settings_translation_file.cpp msgid "Makes all liquids opaque" msgstr "" @@ -4615,6 +4727,10 @@ msgstr "" msgid "Map save interval" msgstr "" +#: src/settings_translation_file.cpp +msgid "Map update time" +msgstr "" + #: src/settings_translation_file.cpp msgid "Mapblock limit" msgstr "" @@ -4723,6 +4839,10 @@ msgstr "" msgid "Maximum FPS when the window is not focused, or when the game is paused." msgstr "" +#: src/settings_translation_file.cpp +msgid "Maximum distance to render shadows." +msgstr "" + #: src/settings_translation_file.cpp msgid "Maximum forceloaded blocks" msgstr "" @@ -4829,7 +4949,15 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "Maximum time in ms a file download (e.g. a mod download) may take." +msgid "" +"Maximum time a file download (e.g. a mod download) may take, stated in " +"milliseconds." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum time an interactive request (e.g. server list fetch) may take, " +"stated in milliseconds." msgstr "" #: src/settings_translation_file.cpp @@ -5042,11 +5170,6 @@ 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 " @@ -5145,6 +5268,10 @@ msgstr "" msgid "Player versus player" msgstr "" +#: src/settings_translation_file.cpp +msgid "Poisson filtering" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Port to connect to (UDP).\n" @@ -5479,6 +5606,40 @@ msgstr "" msgid "Set the maximum character length of a chat message sent by clients." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow strength.\n" +"Lower value means lighter shadows, higher value means darker shadows." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow update time.\n" +"Lower value means shadows and map updates faster, but it consume more " +"resources.\n" +"Minimun value 0.001 seconds max value 0.2 seconds" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the soft shadow radius size.\n" +"Lower values mean sharper shadows bigger values softer.\n" +"Minimun value 1.0 and max value 10.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the tilt of Sun/Moon orbit in degrees\n" +"Value of 0 means no tilt / vertical orbit.\n" +"Minimun value 0.0 and max value 60.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set to true to enable Shadow Mapping.\n" +"Requires shaders to be enabled." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Set to true to enable waving leaves.\n" @@ -5497,6 +5658,13 @@ msgid "" "Requires shaders to be enabled." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Sets shadow texture quality to 32 bits.\n" +"On false, 16 bits texture will be used.\n" +"This can cause much more artifacts in the shadow." +msgstr "" + #: src/settings_translation_file.cpp msgid "Shader path" msgstr "" @@ -5509,6 +5677,22 @@ msgid "" "This only works with the OpenGL video backend." msgstr "" +#: src/settings_translation_file.cpp +msgid "Shadow filter quality" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map max distance in nodes to render shadows" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture in 32 bits" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture size" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Shadow offset (in pixels) of the default font. If 0, then shadow will not be " @@ -5516,9 +5700,7 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "" -"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not " -"be drawn." +msgid "Shadow strength" msgstr "" #: src/settings_translation_file.cpp @@ -5564,6 +5746,10 @@ msgid "" "thread, thus reducing jitter." msgstr "" +#: src/settings_translation_file.cpp +msgid "Sky Body Orbit Tilt" +msgstr "" + #: src/settings_translation_file.cpp msgid "Slice w" msgstr "" @@ -5618,18 +5804,14 @@ msgstr "" msgid "Sneaking speed, in nodes per second." msgstr "" +#: src/settings_translation_file.cpp +msgid "Soft shadow radius" +msgstr "" + #: src/settings_translation_file.cpp msgid "Sound" msgstr "" -#: src/settings_translation_file.cpp -msgid "Special key" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Special key for climbing/descending" -msgstr "" - #: src/settings_translation_file.cpp msgid "" "Specifies URL from which client fetches media instead of using UDP.\n" @@ -5751,6 +5933,13 @@ msgstr "" msgid "Texture path" msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Texture size to render the shadow map on.\n" +"This must be a power of two.\n" +"Bigger numbers create better shadowsbut it is also more expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Textures on a node may be aligned either to the node or to the world.\n" @@ -5824,7 +6013,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"The rendering back-end for Irrlicht.\n" +"The rendering back-end.\n" "A restart is required after changing this.\n" "Note: On Android, stick with OGLES1 if unsure! App may fail to start " "otherwise.\n" @@ -6111,7 +6300,7 @@ msgid "Viewing range" msgstr "" #: src/settings_translation_file.cpp -msgid "Virtual joystick triggers aux button" +msgid "Virtual joystick triggers Aux1 button" msgstr "" #: src/settings_translation_file.cpp @@ -6202,9 +6391,8 @@ msgid "" "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" +"memory. Powers of 2 are recommended. This setting is ONLY applies if\n" +"bilinear/trilinear/anisotropic filtering is enabled.\n" "This is also used as the base node texture size for world-aligned\n" "texture autoscaling." msgstr "" @@ -6260,7 +6448,7 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "Width component of the initial window size." +msgid "Width component of the initial window size. Ignored in fullscreen mode." msgstr "" #: src/settings_translation_file.cpp @@ -6367,9 +6555,15 @@ msgid "cURL file download timeout" msgstr "" #: src/settings_translation_file.cpp -msgid "cURL parallel limit" +msgid "cURL interactive timeout" msgstr "" #: src/settings_translation_file.cpp -msgid "cURL timeout" +msgid "cURL parallel limit" msgstr "" + +#~ msgid "Name / Password" +#~ msgstr "Nimi / Salasana" + +#~ msgid "needs_fallback_font" +#~ msgstr "no" diff --git a/po/fil/minetest.po b/po/fil/minetest.po new file mode 100644 index 000000000..785c161a5 --- /dev/null +++ b/po/fil/minetest.po @@ -0,0 +1,6552 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the minetest package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: minetest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-06-16 18:27+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: fil\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: builtin/client/chatcommands.lua +msgid "Clear the out chat queue" +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "Empty command." +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "Exit to main menu" +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "Invalid command: " +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "Issued command: " +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "List online players" +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "Online players: " +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "The out chat queue is now empty." +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "This command is disabled by server." +msgstr "" + +#: 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/client/death_formspec.lua +msgid "You died." +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "Available commands:" +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "Available commands: " +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "Command not available: " +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "Get help for commands" +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "" +"Use '.help ' to get more information, or '.help all' to list everything." +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "[all | ]" +msgstr "" + +#: builtin/fstk/dialog.lua builtin/fstk/ui.lua src/gui/modalMenu.cpp +msgid "OK" +msgstr "" + +#: builtin/fstk/ui.lua +msgid "An error occurred in a Lua script:" +msgstr "" + +#: builtin/fstk/ui.lua +msgid "An error occurred:" +msgstr "" + +#: builtin/fstk/ui.lua +msgid "Main menu" +msgstr "" + +#: builtin/fstk/ui.lua +msgid "Reconnect" +msgstr "" + +#: builtin/fstk/ui.lua +msgid "The server has requested a reconnect:" +msgstr "" + +#: builtin/mainmenu/common.lua +msgid "Protocol version mismatch. " +msgstr "" + +#: builtin/mainmenu/common.lua +msgid "Server enforces protocol version $1. " +msgstr "" + +#: builtin/mainmenu/common.lua +msgid "Server supports protocol versions between $1 and $2. " +msgstr "" + +#: builtin/mainmenu/common.lua +msgid "We only support protocol version $1." +msgstr "" + +#: builtin/mainmenu/common.lua +msgid "We support protocol versions between version $1 and $2." +msgstr "" + +#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/dlg_contentstore.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/dlg_contentstore.lua +#: builtin/mainmenu/tab_content.lua +msgid "Dependencies:" +msgstr "" + +#: builtin/mainmenu/dlg_config_world.lua +msgid "Disable all" +msgstr "" + +#: builtin/mainmenu/dlg_config_world.lua +msgid "Disable modpack" +msgstr "" + +#: builtin/mainmenu/dlg_config_world.lua +msgid "Enable all" +msgstr "" + +#: builtin/mainmenu/dlg_config_world.lua +msgid "Enable modpack" +msgstr "" + +#: builtin/mainmenu/dlg_config_world.lua +msgid "" +"Failed to enable mod \"$1\" as it contains disallowed characters. Only " +"characters [a-z0-9_] are allowed." +msgstr "" + +#: builtin/mainmenu/dlg_config_world.lua +msgid "Find More Mods" +msgstr "" + +#: builtin/mainmenu/dlg_config_world.lua +msgid "Mod:" +msgstr "" + +#: builtin/mainmenu/dlg_config_world.lua +msgid "No (optional) dependencies" +msgstr "" + +#: builtin/mainmenu/dlg_config_world.lua +msgid "No game description provided." +msgstr "" + +#: builtin/mainmenu/dlg_config_world.lua +msgid "No hard dependencies" +msgstr "" + +#: builtin/mainmenu/dlg_config_world.lua +msgid "No modpack description provided." +msgstr "" + +#: builtin/mainmenu/dlg_config_world.lua +msgid "No optional dependencies" +msgstr "" + +#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua +msgid "Optional dependencies:" +msgstr "" + +#: builtin/mainmenu/dlg_config_world.lua +#: builtin/mainmenu/dlg_settings_advanced.lua src/gui/guiKeyChangeMenu.cpp +msgid "Save" +msgstr "" + +#: builtin/mainmenu/dlg_config_world.lua +msgid "World:" +msgstr "" + +#: builtin/mainmenu/dlg_config_world.lua +msgid "enabled" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "\"$1\" already exists. Would you like to overwrite it?" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "$1 and $2 dependencies will be installed." +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "$1 by $2" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "" +"$1 downloading,\n" +"$2 queued" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "$1 downloading..." +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "$1 required dependencies could not be found." +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "$1 will be installed, and $2 dependencies will be skipped." +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "All packages" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "Already installed" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "Back to Main Menu" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "Base Game:" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "ContentDB is not available when Minetest was compiled without cURL" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "Downloading..." +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "Failed to download $1" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Games" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "Install" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "Install $1" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "Install missing dependencies" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Mods" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "No packages could be retrieved" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "No results" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "No updates" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "Not found" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "Overwrite" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "Please check that the base game is correct." +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "Queued" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "Texture packs" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "Uninstall" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "Update" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "Update All [$1]" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "View more information in a web browser" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "A world named \"$1\" already exists" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Additional terrain" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua src/settings_translation_file.cpp +msgid "Altitude chill" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Altitude dry" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Biome blending" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Biomes" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Caverns" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Caves" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Create" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Decorations" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Download a game, such as Minetest Game, from minetest.net" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Download one from minetest.net" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Dungeons" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Flat terrain" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Floating landmasses in the sky" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Floatlands (experimental)" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua src/settings_translation_file.cpp +msgid "Game" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Generate non-fractal terrain: Oceans and underground" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Hills" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Humid rivers" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Increases humidity around rivers" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Lakes" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Low humidity and high heat causes shallow or dry rivers" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua src/settings_translation_file.cpp +msgid "Mapgen" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua src/settings_translation_file.cpp +msgid "Mapgen flags" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Mapgen-specific flags" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Mountains" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Mud flow" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Network of tunnels and caves" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "No game selected" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Reduces heat with altitude" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Reduces humidity with altitude" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Rivers" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Sea level rivers" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Seed" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Smooth transition between biomes" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "" +"Structures appearing on the terrain (no effect on trees and jungle grass " +"created by v6)" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Structures appearing on the terrain, typically trees and plants" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Temperate, Desert" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Temperate, Desert, Jungle" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Temperate, Desert, Jungle, Tundra, Taiga" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Terrain surface erosion" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Trees and jungle grass" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Vary river depth" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Very large caverns deep in the underground" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Warning: The Development Test is meant for developers." +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "World name" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "You have no games installed." +msgstr "" + +#: builtin/mainmenu/dlg_delete_content.lua +msgid "Are you sure you want to delete \"$1\"?" +msgstr "" + +#: builtin/mainmenu/dlg_delete_content.lua +#: builtin/mainmenu/dlg_delete_world.lua builtin/mainmenu/tab_local.lua +#: src/client/keycode.cpp +msgid "Delete" +msgstr "" + +#: builtin/mainmenu/dlg_delete_content.lua +msgid "pkgmgr: failed to delete \"$1\"" +msgstr "" + +#: builtin/mainmenu/dlg_delete_content.lua +msgid "pkgmgr: invalid path \"$1\"" +msgstr "" + +#: builtin/mainmenu/dlg_delete_world.lua +msgid "Delete World \"$1\"?" +msgstr "" + +#: builtin/mainmenu/dlg_rename_modpack.lua +msgid "Accept" +msgstr "" + +#: builtin/mainmenu/dlg_rename_modpack.lua +msgid "Rename Modpack:" +msgstr "" + +#: builtin/mainmenu/dlg_rename_modpack.lua +msgid "" +"This modpack has an explicit name given in its modpack.conf which will " +"override any renaming here." +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "(No description of setting given)" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "2D Noise" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "< Back to Settings page" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Browse" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_settings.lua +msgid "Disabled" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Edit" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Enabled" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Lacunarity" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Octaves" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp +msgid "Offset" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Persistance" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Please enter a valid integer." +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Please enter a valid number." +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Restore Default" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp +msgid "Scale" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua +msgid "Search" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Select directory" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Select file" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Show technical names" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "The value must be at least $1." +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "The value must not be larger than $1." +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "X" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "X spread" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Y" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Y spread" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Z" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Z spread" +msgstr "" + +#. ~ "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 "" + +#: builtin/mainmenu/pkgmgr.lua +msgid "$1 mods" +msgstr "" + +#: builtin/mainmenu/pkgmgr.lua +msgid "Failed to install $1 to $2" +msgstr "" + +#: builtin/mainmenu/pkgmgr.lua +msgid "Install Mod: Unable to find real mod name for: $1" +msgstr "" + +#: builtin/mainmenu/pkgmgr.lua +msgid "Install Mod: Unable to find suitable folder name for modpack $1" +msgstr "" + +#: builtin/mainmenu/pkgmgr.lua +msgid "Install: Unsupported file type \"$1\" or broken archive" +msgstr "" + +#: builtin/mainmenu/pkgmgr.lua +msgid "Install: file: \"$1\"" +msgstr "" + +#: builtin/mainmenu/pkgmgr.lua +msgid "Unable to find a valid mod or modpack" +msgstr "" + +#: builtin/mainmenu/pkgmgr.lua +msgid "Unable to install a $1 as a texture pack" +msgstr "" + +#: builtin/mainmenu/pkgmgr.lua +msgid "Unable to install a game as a $1" +msgstr "" + +#: builtin/mainmenu/pkgmgr.lua +msgid "Unable to install a mod as a $1" +msgstr "" + +#: builtin/mainmenu/pkgmgr.lua +msgid "Unable to install a modpack as a $1" +msgstr "" + +#: builtin/mainmenu/serverlistmgr.lua src/client/game.cpp +msgid "Loading..." +msgstr "" + +#: builtin/mainmenu/serverlistmgr.lua +msgid "Public server list is disabled" +msgstr "" + +#: builtin/mainmenu/serverlistmgr.lua +msgid "Try reenabling public serverlist and check your internet connection." +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "About" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active Contributors" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active renderer:" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Core Developers" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Open User Data Directory" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "" +"Opens the directory that contains user-provided worlds, games, mods,\n" +"and texture packs in a file manager / explorer." +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Contributors" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Core Developers" +msgstr "" + +#: builtin/mainmenu/tab_content.lua +msgid "Browse online content" +msgstr "" + +#: builtin/mainmenu/tab_content.lua +msgid "Content" +msgstr "" + +#: builtin/mainmenu/tab_content.lua +msgid "Disable Texture Pack" +msgstr "" + +#: builtin/mainmenu/tab_content.lua +msgid "Information:" +msgstr "" + +#: builtin/mainmenu/tab_content.lua +msgid "Installed Packages:" +msgstr "" + +#: builtin/mainmenu/tab_content.lua +msgid "No dependencies." +msgstr "" + +#: builtin/mainmenu/tab_content.lua +msgid "No package description available" +msgstr "" + +#: builtin/mainmenu/tab_content.lua +msgid "Rename" +msgstr "" + +#: builtin/mainmenu/tab_content.lua +msgid "Uninstall Package" +msgstr "" + +#: builtin/mainmenu/tab_content.lua +msgid "Use Texture Pack" +msgstr "" + +#: builtin/mainmenu/tab_local.lua +msgid "Announce Server" +msgstr "" + +#: builtin/mainmenu/tab_local.lua +msgid "Bind Address" +msgstr "" + +#: builtin/mainmenu/tab_local.lua +msgid "Creative Mode" +msgstr "" + +#: builtin/mainmenu/tab_local.lua +msgid "Enable Damage" +msgstr "" + +#: builtin/mainmenu/tab_local.lua +msgid "Host Game" +msgstr "" + +#: builtin/mainmenu/tab_local.lua +msgid "Host Server" +msgstr "" + +#: builtin/mainmenu/tab_local.lua +msgid "Install games from ContentDB" +msgstr "" + +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua +msgid "Name" +msgstr "" + +#: builtin/mainmenu/tab_local.lua +msgid "New" +msgstr "" + +#: builtin/mainmenu/tab_local.lua +msgid "No world created or selected!" +msgstr "" + +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua +msgid "Password" +msgstr "" + +#: builtin/mainmenu/tab_local.lua +msgid "Play Game" +msgstr "" + +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua +msgid "Port" +msgstr "" + +#: builtin/mainmenu/tab_local.lua +msgid "Select Mods" +msgstr "" + +#: builtin/mainmenu/tab_local.lua +msgid "Select World:" +msgstr "" + +#: builtin/mainmenu/tab_local.lua +msgid "Server Port" +msgstr "" + +#: builtin/mainmenu/tab_local.lua +msgid "Start Game" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +msgid "Address" +msgstr "" + +#: builtin/mainmenu/tab_online.lua src/client/keycode.cpp +msgid "Clear" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +msgid "Connect" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +msgid "Creative mode" +msgstr "" + +#. ~ PvP = Player versus Player +#: builtin/mainmenu/tab_online.lua +msgid "Damage / PvP" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +msgid "Del. Favorite" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +msgid "Favorites" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +msgid "Incompatible Servers" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +msgid "Join Game" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +msgid "Ping" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +msgid "Public Servers" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +msgid "Refresh" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +msgid "Server Description" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "2x" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "3D Clouds" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "4x" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "8x" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "All Settings" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Antialiasing:" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Autosave Screen Size" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Bilinear Filter" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua src/client/game.cpp +msgid "Change Keys" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Connected Glass" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp +msgid "Dynamic shadows" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Dynamic shadows: " +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Fancy Leaves" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Low" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Medium" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Mipmap" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Mipmap + Aniso. Filter" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "No Filter" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "No Mipmap" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Node Highlighting" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Node Outlining" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "None" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Opaque Leaves" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Opaque Water" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Particles" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Screen:" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Settings" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp +msgid "Shaders" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Shaders (experimental)" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Shaders (unavailable)" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Simple Leaves" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Smooth Lighting" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Texturing:" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "To enable shaders the OpenGL driver needs to be used." +msgstr "" + +#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp +msgid "Tone Mapping" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Touchthreshold: (px)" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Trilinear Filter" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Ultra High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Very Low" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Waving Leaves" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Waving Liquids" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Waving Plants" +msgstr "" + +#: src/client/client.cpp +msgid "Connection timed out." +msgstr "" + +#: src/client/client.cpp +msgid "Done!" +msgstr "" + +#: src/client/client.cpp +msgid "Initializing nodes" +msgstr "" + +#: src/client/client.cpp +msgid "Initializing nodes..." +msgstr "" + +#: src/client/client.cpp +msgid "Loading textures..." +msgstr "" + +#: src/client/client.cpp +msgid "Rebuilding shaders..." +msgstr "" + +#: src/client/clientlauncher.cpp +msgid "Connection error (timed out?)" +msgstr "" + +#: src/client/clientlauncher.cpp +msgid "Could not find or load game \"" +msgstr "" + +#: src/client/clientlauncher.cpp +msgid "Invalid gamespec." +msgstr "" + +#: src/client/clientlauncher.cpp +msgid "Main Menu" +msgstr "" + +#: src/client/clientlauncher.cpp +msgid "No world selected and no address provided. Nothing to do." +msgstr "" + +#: src/client/clientlauncher.cpp +msgid "Player name too long." +msgstr "" + +#: src/client/clientlauncher.cpp +msgid "Please choose a name!" +msgstr "" + +#: src/client/clientlauncher.cpp +msgid "Provided password file failed to open: " +msgstr "" + +#: src/client/clientlauncher.cpp +msgid "Provided world path doesn't exist: " +msgstr "" + +#: src/client/game.cpp +msgid "" +"\n" +"Check debug.txt for details." +msgstr "" + +#: src/client/game.cpp +msgid "- Address: " +msgstr "" + +#: src/client/game.cpp +msgid "- Creative Mode: " +msgstr "" + +#: src/client/game.cpp +msgid "- Damage: " +msgstr "" + +#: src/client/game.cpp +msgid "- Mode: " +msgstr "" + +#: src/client/game.cpp +msgid "- Port: " +msgstr "" + +#: src/client/game.cpp +msgid "- Public: " +msgstr "" + +#. ~ PvP = Player versus Player +#: src/client/game.cpp +msgid "- PvP: " +msgstr "" + +#: src/client/game.cpp +msgid "- Server Name: " +msgstr "" + +#: src/client/game.cpp +msgid "Automatic forward disabled" +msgstr "" + +#: src/client/game.cpp +msgid "Automatic forward enabled" +msgstr "" + +#: src/client/game.cpp +msgid "Camera update disabled" +msgstr "" + +#: src/client/game.cpp +msgid "Camera update enabled" +msgstr "" + +#: src/client/game.cpp +msgid "Change Password" +msgstr "" + +#: src/client/game.cpp +msgid "Cinematic mode disabled" +msgstr "" + +#: src/client/game.cpp +msgid "Cinematic mode enabled" +msgstr "" + +#: src/client/game.cpp +msgid "Client side scripting is disabled" +msgstr "" + +#: src/client/game.cpp +msgid "Connecting to server..." +msgstr "" + +#: src/client/game.cpp +msgid "Continue" +msgstr "" + +#: src/client/game.cpp +#, c-format +msgid "" +"Controls:\n" +"- %s: move forwards\n" +"- %s: move backwards\n" +"- %s: move left\n" +"- %s: move right\n" +"- %s: jump/climb up\n" +"- %s: dig/punch\n" +"- %s: place/use\n" +"- %s: sneak/climb down\n" +"- %s: drop item\n" +"- %s: inventory\n" +"- Mouse: turn/look\n" +"- Mouse wheel: select item\n" +"- %s: chat\n" +msgstr "" + +#: src/client/game.cpp +msgid "Creating client..." +msgstr "" + +#: src/client/game.cpp +msgid "Creating server..." +msgstr "" + +#: src/client/game.cpp +msgid "Debug info and profiler graph hidden" +msgstr "" + +#: src/client/game.cpp +msgid "Debug info shown" +msgstr "" + +#: src/client/game.cpp +msgid "Debug info, profiler graph, and wireframe hidden" +msgstr "" + +#: src/client/game.cpp +msgid "" +"Default Controls:\n" +"No menu visible:\n" +"- single tap: button activate\n" +"- double tap: place/use\n" +"- slide finger: look around\n" +"Menu/Inventory visible:\n" +"- double tap (outside):\n" +" -->close\n" +"- touch stack, touch slot:\n" +" --> move stack\n" +"- touch&drag, tap 2nd finger\n" +" --> place single item to slot\n" +msgstr "" + +#: src/client/game.cpp +msgid "Disabled unlimited viewing range" +msgstr "" + +#: src/client/game.cpp +msgid "Enabled unlimited viewing range" +msgstr "" + +#: src/client/game.cpp +msgid "Exit to Menu" +msgstr "" + +#: src/client/game.cpp +msgid "Exit to OS" +msgstr "" + +#: src/client/game.cpp +msgid "Fast mode disabled" +msgstr "" + +#: src/client/game.cpp +msgid "Fast mode enabled" +msgstr "" + +#: src/client/game.cpp +msgid "Fast mode enabled (note: no 'fast' privilege)" +msgstr "" + +#: src/client/game.cpp +msgid "Fly mode disabled" +msgstr "" + +#: src/client/game.cpp +msgid "Fly mode enabled" +msgstr "" + +#: src/client/game.cpp +msgid "Fly mode enabled (note: no 'fly' privilege)" +msgstr "" + +#: src/client/game.cpp +msgid "Fog disabled" +msgstr "" + +#: src/client/game.cpp +msgid "Fog enabled" +msgstr "" + +#: src/client/game.cpp +msgid "Game info:" +msgstr "" + +#: src/client/game.cpp +msgid "Game paused" +msgstr "" + +#: src/client/game.cpp +msgid "Hosting server" +msgstr "" + +#: src/client/game.cpp +msgid "Item definitions..." +msgstr "" + +#: src/client/game.cpp +msgid "KiB/s" +msgstr "" + +#: src/client/game.cpp +msgid "Media..." +msgstr "" + +#: src/client/game.cpp +msgid "MiB/s" +msgstr "" + +#: src/client/game.cpp +msgid "Minimap currently disabled by game or mod" +msgstr "" + +#: src/client/game.cpp +msgid "Multiplayer" +msgstr "" + +#: src/client/game.cpp +msgid "Noclip mode disabled" +msgstr "" + +#: src/client/game.cpp +msgid "Noclip mode enabled" +msgstr "" + +#: src/client/game.cpp +msgid "Noclip mode enabled (note: no 'noclip' privilege)" +msgstr "" + +#: src/client/game.cpp +msgid "Node definitions..." +msgstr "" + +#: src/client/game.cpp +msgid "Off" +msgstr "" + +#: src/client/game.cpp +msgid "On" +msgstr "" + +#: src/client/game.cpp +msgid "Pitch move mode disabled" +msgstr "" + +#: src/client/game.cpp +msgid "Pitch move mode enabled" +msgstr "" + +#: src/client/game.cpp +msgid "Profiler graph shown" +msgstr "" + +#: src/client/game.cpp +msgid "Remote server" +msgstr "" + +#: src/client/game.cpp +msgid "Resolving address..." +msgstr "" + +#: src/client/game.cpp +msgid "Shutting down..." +msgstr "" + +#: src/client/game.cpp +msgid "Singleplayer" +msgstr "" + +#: src/client/game.cpp +msgid "Sound Volume" +msgstr "" + +#: src/client/game.cpp +msgid "Sound muted" +msgstr "" + +#: src/client/game.cpp +msgid "Sound system is disabled" +msgstr "" + +#: src/client/game.cpp +msgid "Sound system is not supported on this build" +msgstr "" + +#: src/client/game.cpp +msgid "Sound unmuted" +msgstr "" + +#: src/client/game.cpp +#, c-format +msgid "Viewing range changed to %d" +msgstr "" + +#: src/client/game.cpp +#, c-format +msgid "Viewing range is at maximum: %d" +msgstr "" + +#: src/client/game.cpp +#, c-format +msgid "Viewing range is at minimum: %d" +msgstr "" + +#: src/client/game.cpp +#, c-format +msgid "Volume changed to %d%%" +msgstr "" + +#: src/client/game.cpp +msgid "Wireframe shown" +msgstr "" + +#: src/client/game.cpp +msgid "Zoom currently disabled by game or mod" +msgstr "" + +#: src/client/game.cpp +msgid "ok" +msgstr "" + +#: src/client/gameui.cpp +msgid "Chat hidden" +msgstr "" + +#: src/client/gameui.cpp +msgid "Chat shown" +msgstr "" + +#: src/client/gameui.cpp +msgid "HUD hidden" +msgstr "" + +#: src/client/gameui.cpp +msgid "HUD shown" +msgstr "" + +#: src/client/gameui.cpp +msgid "Profiler hidden" +msgstr "" + +#: src/client/gameui.cpp +#, c-format +msgid "Profiler shown (page %d of %d)" +msgstr "" + +#: src/client/keycode.cpp +msgid "Apps" +msgstr "" + +#: src/client/keycode.cpp +msgid "Backspace" +msgstr "" + +#: src/client/keycode.cpp +msgid "Caps Lock" +msgstr "" + +#: src/client/keycode.cpp +msgid "Control" +msgstr "" + +#: src/client/keycode.cpp +msgid "Down" +msgstr "" + +#: src/client/keycode.cpp +msgid "End" +msgstr "" + +#: src/client/keycode.cpp +msgid "Erase EOF" +msgstr "" + +#: src/client/keycode.cpp +msgid "Execute" +msgstr "" + +#: src/client/keycode.cpp +msgid "Help" +msgstr "" + +#: src/client/keycode.cpp +msgid "Home" +msgstr "" + +#: src/client/keycode.cpp +msgid "IME Accept" +msgstr "" + +#: src/client/keycode.cpp +msgid "IME Convert" +msgstr "" + +#: src/client/keycode.cpp +msgid "IME Escape" +msgstr "" + +#: src/client/keycode.cpp +msgid "IME Mode Change" +msgstr "" + +#: src/client/keycode.cpp +msgid "IME Nonconvert" +msgstr "" + +#: src/client/keycode.cpp +msgid "Insert" +msgstr "" + +#: src/client/keycode.cpp src/gui/guiKeyChangeMenu.cpp +msgid "Left" +msgstr "" + +#: src/client/keycode.cpp +msgid "Left Button" +msgstr "" + +#: src/client/keycode.cpp +msgid "Left Control" +msgstr "" + +#: src/client/keycode.cpp +msgid "Left Menu" +msgstr "" + +#: src/client/keycode.cpp +msgid "Left Shift" +msgstr "" + +#: src/client/keycode.cpp +msgid "Left Windows" +msgstr "" + +#. ~ Key name, common on Windows keyboards +#: src/client/keycode.cpp +msgid "Menu" +msgstr "" + +#: src/client/keycode.cpp +msgid "Middle Button" +msgstr "" + +#: src/client/keycode.cpp +msgid "Num Lock" +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad *" +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad +" +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad -" +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad ." +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad /" +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad 0" +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad 1" +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad 2" +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad 3" +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad 4" +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad 5" +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad 6" +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad 7" +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad 8" +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad 9" +msgstr "" + +#: src/client/keycode.cpp +msgid "OEM Clear" +msgstr "" + +#: src/client/keycode.cpp +msgid "Page down" +msgstr "" + +#: src/client/keycode.cpp +msgid "Page up" +msgstr "" + +#: src/client/keycode.cpp +msgid "Pause" +msgstr "" + +#: src/client/keycode.cpp +msgid "Play" +msgstr "" + +#. ~ "Print screen" key +#: src/client/keycode.cpp +msgid "Print" +msgstr "" + +#: src/client/keycode.cpp +msgid "Return" +msgstr "" + +#: src/client/keycode.cpp src/gui/guiKeyChangeMenu.cpp +msgid "Right" +msgstr "" + +#: src/client/keycode.cpp +msgid "Right Button" +msgstr "" + +#: src/client/keycode.cpp +msgid "Right Control" +msgstr "" + +#: src/client/keycode.cpp +msgid "Right Menu" +msgstr "" + +#: src/client/keycode.cpp +msgid "Right Shift" +msgstr "" + +#: src/client/keycode.cpp +msgid "Right Windows" +msgstr "" + +#: src/client/keycode.cpp +msgid "Scroll Lock" +msgstr "" + +#. ~ Key name +#: src/client/keycode.cpp +msgid "Select" +msgstr "" + +#: src/client/keycode.cpp +msgid "Shift" +msgstr "" + +#: src/client/keycode.cpp +msgid "Sleep" +msgstr "" + +#: src/client/keycode.cpp +msgid "Snapshot" +msgstr "" + +#: src/client/keycode.cpp +msgid "Space" +msgstr "" + +#: src/client/keycode.cpp +msgid "Tab" +msgstr "" + +#: src/client/keycode.cpp +msgid "Up" +msgstr "" + +#: src/client/keycode.cpp +msgid "X Button 1" +msgstr "" + +#: src/client/keycode.cpp +msgid "X Button 2" +msgstr "" + +#: src/client/keycode.cpp src/gui/guiKeyChangeMenu.cpp +msgid "Zoom" +msgstr "" + +#: src/client/minimap.cpp +msgid "Minimap hidden" +msgstr "" + +#: src/client/minimap.cpp +#, c-format +msgid "Minimap in radar mode, Zoom x%d" +msgstr "" + +#: src/client/minimap.cpp +#, c-format +msgid "Minimap in surface mode, Zoom x%d" +msgstr "" + +#: src/client/minimap.cpp +msgid "Minimap in texture mode" +msgstr "" + +#: src/gui/guiConfirmRegistration.cpp src/gui/guiPasswordChange.cpp +msgid "Passwords do not match!" +msgstr "" + +#: src/gui/guiConfirmRegistration.cpp +msgid "Register and Join" +msgstr "" + +#: src/gui/guiConfirmRegistration.cpp +#, c-format +msgid "" +"You are about to join this server with the name \"%s\" for the first time.\n" +"If you proceed, a new account using your credentials will be created on this " +"server.\n" +"Please retype your password and click 'Register and Join' to confirm account " +"creation, or click 'Cancel' to abort." +msgstr "" + +#: src/gui/guiFormSpecMenu.cpp +msgid "Proceed" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "\"Aux1\" = climb down" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Autoforward" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp src/settings_translation_file.cpp +msgid "Automatic jumping" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Aux1" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Backward" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Block bounds" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Change camera" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Chat" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Command" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Console" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Dec. range" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Dec. volume" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Double tap \"jump\" to toggle fly" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Drop" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Forward" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Inc. range" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Inc. volume" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Inventory" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Jump" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Key already in use" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Keybindings. (If this menu screws up, remove stuff from minetest.conf)" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Local command" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Mute" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Next item" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Prev. item" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Range select" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp src/settings_translation_file.cpp +msgid "Screenshot" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Sneak" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Toggle HUD" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Toggle chat log" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Toggle fast" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Toggle fly" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Toggle fog" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Toggle minimap" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Toggle noclip" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Toggle pitchmove" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "press key" +msgstr "" + +#: src/gui/guiPasswordChange.cpp +msgid "Change" +msgstr "" + +#: src/gui/guiPasswordChange.cpp +msgid "Confirm Password" +msgstr "" + +#: src/gui/guiPasswordChange.cpp +msgid "New Password" +msgstr "" + +#: src/gui/guiPasswordChange.cpp +msgid "Old Password" +msgstr "" + +#: src/gui/guiVolumeChange.cpp +msgid "Exit" +msgstr "" + +#: src/gui/guiVolumeChange.cpp +msgid "Muted" +msgstr "" + +#: src/gui/guiVolumeChange.cpp +msgid "Sound Volume: " +msgstr "" + +#. ~ Imperative, as in "Enter/type in text". +#. Don't forget the space. +#: src/gui/modalMenu.cpp +msgid "Enter " +msgstr "" + +#. ~ 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 "" + +#: src/settings_translation_file.cpp +msgid "" +"(Android) Fixes the position of virtual joystick.\n" +"If disabled, virtual joystick will center to first-touch's position." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"(Android) Use virtual joystick to trigger \"Aux1\" button.\n" +"If enabled, virtual joystick will also tap \"Aux1\" button when out of main " +"circle." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"(X,Y,Z) offset of fractal from world center in units of 'scale'.\n" +"Can be used to move a desired point to (0, 0) to create a\n" +"suitable spawn point, or to allow 'zooming in' on a desired\n" +"point by increasing 'scale'.\n" +"The default is tuned for a suitable spawn point for Mandelbrot\n" +"sets with default parameters, it may need altering in other\n" +"situations.\n" +"Range roughly -2 to 2. Multiply by 'scale' for offset in nodes." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"(X,Y,Z) scale of fractal in nodes.\n" +"Actual fractal size will be 2 to 3 times larger.\n" +"These numbers can be made very large, the fractal does\n" +"not have to fit inside the world.\n" +"Increase these to 'zoom' into the detail of the fractal.\n" +"Default is for a vertically-squashed shape suitable for\n" +"an island, set all 3 numbers equal for the raw shape." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "2D noise that controls the shape/size of ridged mountains." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "2D noise that controls the shape/size of rolling hills." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "2D noise that controls the shape/size of step mountains." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "2D noise that controls the size/occurrence of ridged mountain ranges." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "2D noise that controls the size/occurrence of rolling hills." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "2D noise that controls the size/occurrence of step mountain ranges." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "2D noise that locates the river valleys and channels." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "3D clouds" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "3D mode" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "3D mode parallax strength" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "3D noise defining giant caverns." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"3D noise defining mountain structure and height.\n" +"Also defines structure of floatland mountain terrain." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"3D noise defining structure of floatlands.\n" +"If altered from the default, the noise 'scale' (0.7 by default) may need\n" +"to be adjusted, as floatland tapering functions best when this noise has\n" +"a value range of approximately -2.0 to 2.0." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "3D noise defining structure of river canyon walls." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "3D noise defining terrain." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "3D noise for mountain overhangs, cliffs, etc. Usually small variations." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "3D noise that determines number of dungeons per mapchunk." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"3D support.\n" +"Currently supported:\n" +"- none: no 3d output.\n" +"- anaglyph: cyan/magenta color 3d.\n" +"- interlaced: odd/even line based polarisation screen support.\n" +"- topbottom: split screen top/bottom.\n" +"- sidebyside: split screen side by side.\n" +"- crossview: Cross-eyed 3d\n" +"- pageflip: quadbuffer based 3d.\n" +"Note that the interlaced mode requires shaders to be enabled." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"A chosen map seed for a new map, leave empty for random.\n" +"Will be overridden when creating a new world in the main menu." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "A message to be displayed to all clients when the server crashes." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "A message to be displayed to all clients when the server shuts down." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "ABM interval" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "ABM time budget" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Absolute limit of queued blocks to emerge" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Acceleration in air" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Acceleration of gravity, in nodes per second per second." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Active Block Modifiers" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Active block management interval" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Active block range" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Active object send range" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Address to connect to.\n" +"Leave this blank to start a local server.\n" +"Note that the address field in the main menu overrides this setting." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Adds particles when digging a node." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Adjust dpi configuration to your screen (non X11/Android only) e.g. for 4k " +"screens." +msgstr "" + +#: src/settings_translation_file.cpp +#, c-format +msgid "" +"Adjusts the density of the floatland layer.\n" +"Increase value to increase density. Can be positive or negative.\n" +"Value = 0.0: 50% of volume is floatland.\n" +"Value = 2.0 (can be higher depending on 'mgv7_np_floatland', always test\n" +"to be sure) creates a solid floatland layer." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Advanced" +msgstr "" + +#: src/settings_translation_file.cpp +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 "Always fly and fast" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Ambient occlusion gamma" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Amount of messages a player may send per 10 seconds." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Amplifies the valleys." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Anisotropic filtering" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Announce server" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Announce to this serverlist." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Append item name" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Append item name to tooltip." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Apple trees noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Arm inertia" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Arm inertia, gives a more realistic movement of\n" +"the arm when the camera moves." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Ask to reconnect after crash" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"At this distance the server will aggressively optimize which blocks are sent " +"to\n" +"clients.\n" +"Small values potentially improve performance a lot, at the expense of " +"visible\n" +"rendering glitches (some blocks will not be rendered under water and in " +"caves,\n" +"as well as sometimes on land).\n" +"Setting this to a value greater than max_block_send_distance disables this\n" +"optimization.\n" +"Stated in mapblocks (16 nodes)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Automatic forward key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Automatically jump up single-node obstacles." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Automatically report to the serverlist." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Autosave screen size" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Autoscaling mode" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Aux1 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Aux1 key for climbing/descending" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Backward key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Base ground level" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Base terrain height." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Basic" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Basic privileges" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Beach noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Beach noise threshold" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Bilinear filtering" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Bind address" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Biome API temperature and humidity noise parameters" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Biome noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "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 "" + +#: src/settings_translation_file.cpp +msgid "Builtin" +msgstr "" + +#: src/settings_translation_file.cpp +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 "Camera smoothing" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Camera smoothing in cinematic mode" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Camera update toggle key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Cave noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Cave noise #1" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Cave noise #2" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Cave width" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Cave1 noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Cave2 noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Cavern limit" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Cavern noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Cavern taper" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Cavern threshold" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Cavern upper limit" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Center of light curve boost range.\n" +"Where 0.0 is minimum light level, 1.0 is maximum light level." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Chat command time message threshold" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Chat font size" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Chat key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Chat log level" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Chat message count limit" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Chat message format" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Chat message kick threshold" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Chat message max length" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Chat toggle key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Chatcommands" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Chunk size" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Cinematic mode" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Cinematic mode key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Clean transparent textures" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Client" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Client and Server" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Client modding" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Client side modding restrictions" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Client side node lookup range restriction" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Climbing speed" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Cloud radius" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Clouds" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Clouds are a client side effect." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Clouds in menu" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Colored fog" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Colored shadows" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Comma-separated list of flags to hide in the content repository.\n" +"\"nonfree\" can be used to hide packages which do not qualify as 'free " +"software',\n" +"as defined by the Free Software Foundation.\n" +"You can also specify content ratings.\n" +"These flags are independent from Minetest versions,\n" +"so see a full list at https://content.minetest.net/help/content_flags/" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Comma-separated list of mods that are allowed to access HTTP APIs, which\n" +"allow them to upload and download data to/from the internet." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Comma-separated list of trusted mods that are allowed to access insecure\n" +"functions even when mod security is on (via request_insecure_environment())." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Command key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Connect glass" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Connect to external media server" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Connects glass if supported by node." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Console alpha" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Console color" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Console height" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "ContentDB Flag Blacklist" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "ContentDB Max Concurrent Downloads" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "ContentDB URL" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Continuous forward" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Continuous forward movement, toggled by autoforward key.\n" +"Press the autoforward key again or the backwards movement to disable." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Controls" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Controls length of day/night cycle.\n" +"Examples:\n" +"72 = 20min, 360 = 4min, 1 = 24hour, 0 = day/night/whatever stays unchanged." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Controls sinking speed in liquid." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Controls steepness/depth of lake depressions." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Controls steepness/height of hills." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Controls 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" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Creative" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Crosshair alpha" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Crosshair alpha (opaqueness, between 0 and 255).\n" +"Also controls the object crosshair color" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Crosshair color" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Crosshair color (R,G,B).\n" +"Also controls the object crosshair color" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "DPI" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Damage" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Debug info toggle key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Debug log file size threshold" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Debug log level" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Dec. volume key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Decrease this to increase liquid resistance to movement." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Dedicated server step" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Default acceleration" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Default game" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Default game when creating a new world.\n" +"This will be overridden when creating a world from the main menu." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Default password" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Default privileges" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Default report format" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Default stack size" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Define shadow filtering quality\n" +"This simulates the soft shadows effect by applying a PCF or poisson disk\n" +"but also uses more resources." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Defines areas where trees have apples." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Defines areas with sandy beaches." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Defines distribution of higher terrain and steepness of cliffs." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Defines distribution of higher terrain." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Defines full size of caverns, smaller values create larger caverns." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Defines large-scale river channel structure." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Defines location and terrain of optional hills and lakes." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Defines the base ground level." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Defines the depth of the river channel." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Defines the maximal player transfer distance in blocks (0 = unlimited)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Defines the width of the river channel." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Defines the width of the river valley." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Defines tree areas and tree density." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Delay between mesh updates on the client in ms. Increasing this will slow\n" +"down the rate of mesh updates, thus reducing jitter on slower clients." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Delay in sending blocks after building" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Delay showing tooltips, stated in milliseconds." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Deprecated Lua API handling" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Depth below which you'll find giant caverns." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Depth below which you'll find large caves." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Description of server, to be displayed when players join and in the " +"serverlist." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Desert noise threshold" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Deserts occur when np_biome exceeds this value.\n" +"When the 'snowbiomes' flag is enabled, this is ignored." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Desynchronize block animation" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Dig key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Digging particles" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Disable anticheat" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Disallow empty passwords" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Domain name of server, to be displayed in the serverlist." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Double tap jump for fly" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Double-tapping the jump key toggles fly mode." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Drop item key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Dump the mapgen debug information." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Dungeon maximum Y" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Dungeon minimum Y" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Dungeon noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Enable 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 "" + +#: src/settings_translation_file.cpp +msgid "" +"Enable colored shadows. \n" +"On true translucent nodes cast colored shadows. This is expensive." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Enable console window" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Enable creative mode for all players" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Enable joysticks" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Enable mod channels support." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Enable mod security" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Enable players getting damage and dying." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Enable poisson disk filtering.\n" +"On true uses poisson disk to make \"soft shadows\". Otherwise uses PCF " +"filtering." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Enable random user input (only used for testing)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Enable register confirmation" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Enable register confirmation when connecting to server.\n" +"If disabled, new account will be registered automatically." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Enable smooth lighting with simple ambient occlusion.\n" +"Disable for speed or for different looks." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Enable to disallow old clients from connecting.\n" +"Older clients are compatible in the sense that they will not crash when " +"connecting\n" +"to new servers, but they may not support all new features that you are " +"expecting." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Enable usage of remote media server (if provided by server).\n" +"Remote servers offer a significantly faster way to download media (e.g. " +"textures)\n" +"when connecting to the server." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Enable 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 "" + +#: src/settings_translation_file.cpp +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 "" +"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 "" + +#: src/settings_translation_file.cpp +msgid "Enables caching of facedir rotated meshes." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Enables minimap." +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 "" + +#: src/settings_translation_file.cpp +msgid "Entity methods" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Exponent of the floatland tapering. Alters the tapering behaviour.\n" +"Value = 1.0 creates a uniform, linear tapering.\n" +"Values > 1.0 create a smooth tapering suitable for the default separated\n" +"floatlands.\n" +"Values < 1.0 (for example 0.25) create a more defined surface level with\n" +"flatter lowlands, suitable for a solid floatland layer." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "FPS when unfocused or paused" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "FSAA" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Factor noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fall bobbing factor" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fallback font path" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fast key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fast mode acceleration" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fast mode speed" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fast movement" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Fast movement (via the \"Aux1\" key).\n" +"This requires the \"fast\" privilege on the server." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Field of view" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Field of view in degrees." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"File in client/serverlist/ that contains your favorite servers displayed in " +"the\n" +"Multiplayer Tab." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Filler depth" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Filler depth noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Filmic tone mapping" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Filtered textures can blend RGB values with fully-transparent neighbors,\n" +"which PNG optimizers usually discard, often resulting in dark or\n" +"light edges to transparent textures. Apply a filter to clean that up\n" +"at texture load time. This is automatically enabled if mipmapping is enabled." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Filtering" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "First of 4 2D noises that together define hill/mountain range height." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "First of two 3D noises that together define tunnels." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fixed map seed" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fixed virtual joystick" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Floatland density" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Floatland maximum Y" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Floatland minimum Y" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Floatland noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Floatland taper exponent" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Floatland tapering distance" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Floatland water level" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fly key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Flying" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fog" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fog start" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fog toggle key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Font 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 "Font shadow alpha" +msgstr "" + +#: src/settings_translation_file.cpp +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 size of the monospace font in point (pt)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Font size of the recent chat text and chat prompt in point (pt).\n" +"Value 0 will use the default font size." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Format of player chat messages. The following strings are valid " +"placeholders:\n" +"@name, @message, @timestamp (optional)" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Format of screenshots." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Formspec Default Background Color" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Formspec Default Background Opacity" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Formspec Full-Screen Background Color" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Formspec Full-Screen Background Opacity" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Formspec default background color (R,G,B)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Formspec default background opacity (between 0 and 255)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Formspec full-screen background color (R,G,B)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Formspec full-screen background opacity (between 0 and 255)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Forward key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fourth of 4 2D noises that together define hill/mountain range height." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fractal type" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fraction of the visible distance at which fog starts to be rendered" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "FreeType fonts" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"From how far blocks are generated for clients, stated in mapblocks (16 " +"nodes)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"From how far blocks are sent to clients, stated in mapblocks (16 nodes)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"From how far clients know about objects, stated in mapblocks (16 nodes).\n" +"\n" +"Setting this larger than active_block_range will also cause the server\n" +"to maintain active objects up to this distance in the direction the\n" +"player is looking. (This can avoid mobs suddenly disappearing from view)" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Full screen" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fullscreen mode." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "GUI scaling" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "GUI scaling filter" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "GUI scaling filter txr2img" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Global callbacks" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Global map generation attributes.\n" +"In Mapgen v6 the 'decorations' flag controls all decorations except trees\n" +"and junglegrass, in all other mapgens this flag controls all decorations." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Gradient of light curve at maximum light level.\n" +"Controls the contrast of the highest light levels." +msgstr "" + +#: src/settings_translation_file.cpp +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 "Graphics" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Gravity" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Ground level" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Ground noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "HTTP mods" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "HUD scale factor" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "HUD toggle key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Handling for deprecated Lua API calls:\n" +"- none: Do not log deprecated calls\n" +"- log: mimic and log backtrace of deprecated call (default).\n" +"- error: abort on usage of deprecated call (suggested for mod developers)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Have the profiler instrument itself:\n" +"* Instrument an empty function.\n" +"This estimates the overhead, that instrumentation is adding (+1 function " +"call).\n" +"* Instrument the sampler being used to update the statistics." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Heat blend noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Heat noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Height component of the initial window size. Ignored in fullscreen mode." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Height noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Height select noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hill steepness" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hill threshold" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hilliness1 noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hilliness2 noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hilliness3 noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hilliness4 noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Homepage of server, to be displayed in the serverlist." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Horizontal acceleration in air when jumping or falling,\n" +"in nodes per second per second." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Horizontal and vertical acceleration in fast mode,\n" +"in nodes per second per second." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Horizontal and vertical acceleration on ground or when climbing,\n" +"in nodes per second per second." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar next key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar previous key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 1 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 10 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 11 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 12 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 13 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 14 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 15 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 16 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 17 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 18 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 19 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 2 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 20 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 21 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 22 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 23 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 24 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 25 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 26 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 27 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 28 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 29 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 3 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 30 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 31 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 32 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 4 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 5 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 6 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 7 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 8 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 9 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "How deep to make rivers." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"How 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 "" + +#: src/settings_translation_file.cpp +msgid "How wide to make rivers." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Humidity blend noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Humidity noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Humidity variation for biomes." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "IPv6" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "IPv6 server" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"If FPS would go higher than this, limit it by sleeping\n" +"to not waste CPU power for no benefit." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"If disabled, \"Aux1\" key is used to fly fast if both fly and fast mode are\n" +"enabled." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"If enabled the server will perform map block occlusion culling based on\n" +"on the eye position of the player. This can reduce the number of blocks\n" +"sent to the client 50-80%. The client will not longer receive most " +"invisible\n" +"so that the utility of noclip mode is reduced." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"If enabled together with fly mode, player is able to fly through solid " +"nodes.\n" +"This requires the \"noclip\" privilege on the server." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"If enabled, \"Aux1\" key instead of \"Sneak\" key is used for climbing down " +"and\n" +"descending." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"If enabled, actions are recorded for rollback.\n" +"This option is only read when server starts." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "If enabled, disable cheat prevention in multiplayer." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"If enabled, invalid world data won't cause the server to shut down.\n" +"Only enable this if you know what you are doing." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"If enabled, makes move directions relative to the player's pitch when flying " +"or swimming." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "If enabled, new players cannot join with an empty password." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"If enabled, you can place blocks at the position (feet + eye level) where " +"you stand.\n" +"This is helpful when working with nodeboxes in small areas." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"If the CSM restriction for node range is enabled, get_node calls are " +"limited\n" +"to this distance from the player to the node." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"If the execution of a chat command takes longer than this specified time in\n" +"seconds, add the time information to the chat command message" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"If the file size of debug.txt exceeds the number of megabytes specified in\n" +"this setting when it is opened, the file is moved to debug.txt.1,\n" +"deleting an older debug.txt.1 if it exists.\n" +"debug.txt is only moved if this setting is positive." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "If this is set, players will always (re)spawn at the given position." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Ignore world errors" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "In-Game" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "In-game chat console background alpha (opaqueness, between 0 and 255)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "In-game chat console background color (R,G,B)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "In-game chat console height, between 0.1 (10%) and 1.0 (100%)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Inc. volume key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Initial vertical speed when jumping, in nodes per second." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Instrument builtin.\n" +"This is usually only needed by core/builtin contributors" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Instrument chatcommands on registration." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Instrument global callback functions on registration.\n" +"(anything you pass to a minetest.register_*() function)" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Instrument the action function of Active Block Modifiers on registration." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Instrument the action function of Loading Block Modifiers on registration." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Instrument the methods of entities on registration." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Instrumentation" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Interval of saving important changes in the world, stated in seconds." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Interval of sending time of day to clients." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Inventory items animations" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Inventory key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Invert mouse" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Invert vertical mouse movement." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "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 "" + +#: src/settings_translation_file.cpp +msgid "Iterations" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Iterations of the recursive function.\n" +"Increasing this increases the amount of fine detail, but also\n" +"increases processing load.\n" +"At iterations = 20 this mapgen has a similar load to mapgen V7." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Joystick ID" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Joystick button repetition interval" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Joystick deadzone" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Joystick frustum sensitivity" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Joystick type" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Julia set only.\n" +"W component of hypercomplex constant.\n" +"Alters the shape of the fractal.\n" +"Has no effect on 3D fractals.\n" +"Range roughly -2 to 2." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Julia set only.\n" +"X component of hypercomplex constant.\n" +"Alters the shape of the fractal.\n" +"Range roughly -2 to 2." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Julia set only.\n" +"Y component of hypercomplex constant.\n" +"Alters the shape of the fractal.\n" +"Range roughly -2 to 2." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Julia set only.\n" +"Z component of hypercomplex constant.\n" +"Alters the shape of the fractal.\n" +"Range roughly -2 to 2." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Julia w" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Julia x" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Julia y" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Julia z" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Jump key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Jumping speed" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for decreasing the viewing range.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for decreasing the volume.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for digging.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for dropping the currently selected item.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for increasing the viewing range.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for increasing the volume.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for jumping.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for moving fast in fast mode.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for moving the player backward.\n" +"Will also disable autoforward, when active.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for moving the player forward.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for moving the player left.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for moving the player right.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for muting the game.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for opening the chat window to type commands.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for opening the chat window to type local commands.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for opening the chat window.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for opening the inventory.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for placing.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 11th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 12th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 13th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 14th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 15th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 16th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 17th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 18th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 19th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 20th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 21st hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 22nd hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 23rd hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 24th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 25th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 26th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 27th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 28th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 29th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 30th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 31st hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 32nd hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the eighth hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the fifth hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the first hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the fourth hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the next item in the hotbar.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the ninth hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the previous item in the hotbar.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the second hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the seventh hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the sixth hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the tenth hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the third hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for sneaking.\n" +"Also used for climbing down and descending in water if aux1_descends is " +"disabled.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for switching between first- and third-person camera.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for taking screenshots.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling autoforward.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling cinematic mode.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling display of minimap.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling fast mode.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling flying.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling noclip mode.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling pitch move mode.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling the camera update. Only used for development\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling the display of chat.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling the display of debug info.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling the display of fog.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling the display of the HUD.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling the display of the large chat console.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling the display of the profiler. Used for development.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling unlimited view range.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key to use view zoom when possible.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Kick players who sent more than X messages per 10 seconds." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Lake steepness" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Lake threshold" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Language" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Large cave depth" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Large 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 "Large chat console key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Leaves style" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Leaves style:\n" +"- Fancy: all faces visible\n" +"- Simple: only outer faces, if defined special_tiles are used\n" +"- Opaque: disable transparency" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Left key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Length of a server tick and the interval at which objects are generally " +"updated over\n" +"network." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Length of 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 "" + +#: src/settings_translation_file.cpp +msgid "Length of time between NodeTimer execution cycles" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Length of time between active block management cycles" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Level of logging to be written to debug.txt:\n" +"- (no logging)\n" +"- none (messages with no level)\n" +"- error\n" +"- warning\n" +"- action\n" +"- info\n" +"- verbose" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Light curve 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 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 map generation, in nodes, in all 6 directions from (0, 0, 0).\n" +"Only mapchunks completely within the mapgen limit are generated.\n" +"Value is stored per-world." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Limits number of parallel HTTP requests. Affects:\n" +"- Media fetch if server uses remote_media setting.\n" +"- Serverlist download and server announcement.\n" +"- Downloads performed by main menu (e.g. mod manager).\n" +"Only has an effect if compiled with cURL." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Liquid fluidity" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Liquid fluidity smoothing" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Liquid loop max" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Liquid queue purge time" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Liquid sinking" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Liquid update interval in seconds." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Liquid update tick" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Load the game profiler" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Load the game profiler to collect game profiling data.\n" +"Provides a /profiler command to access the compiled profile.\n" +"Useful for mod developers and server operators." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Loading Block Modifiers" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Lower Y limit of dungeons." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Lower Y limit of floatlands." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Main menu script" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Make fog and sky colors depend on daytime (dawn/sunset) and view direction." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Makes all liquids opaque" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Map Compression Level for Disk Storage" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Map Compression Level for Network Transfer" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Map directory" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Map generation attributes specific to Mapgen Carpathian." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Map generation attributes specific to Mapgen 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 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 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 "" + +#: src/settings_translation_file.cpp +msgid "" +"Map generation attributes specific to Mapgen v6.\n" +"The 'snowbiomes' flag enables the new 5 biome system.\n" +"When the 'snowbiomes' flag is enabled jungles are automatically enabled and\n" +"the 'jungles' flag is ignored." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Map generation attributes specific to Mapgen v7.\n" +"'ridges': Rivers.\n" +"'floatlands': Floating land masses in the atmosphere.\n" +"'caverns': Giant caves deep underground." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Map generation limit" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Map save interval" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Map update time" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapblock limit" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapblock mesh generation delay" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapblock mesh generator's MapBlock cache size in MB" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapblock unload timeout" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen Carpathian" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen Carpathian specific flags" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen Flat" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen Flat specific flags" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen Fractal" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen Fractal specific flags" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen V5" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen V5 specific flags" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen V6" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen V6 specific flags" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen V7" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen V7 specific flags" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen Valleys" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen Valleys specific flags" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen debug" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen name" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Max block generate distance" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Max block send distance" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Max liquids processed per step." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Max. clearobjects extra blocks" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Max. packets per iteration" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum FPS" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum FPS when the window is not focused, or when the game is paused." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum distance to render shadows." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum forceloaded blocks" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum hotbar width" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum 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 resistance. Controls deceleration when entering liquid at\n" +"high speed." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum number of blocks that are simultaneously sent per client.\n" +"The maximum total count is calculated dynamically:\n" +"max_total = ceil((#clients + max_users) * per_client / 4)" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum number of blocks that can be queued for loading." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum number of blocks to be queued that are to be generated.\n" +"This limit is enforced per player." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum number of blocks to be queued that are to be loaded from file.\n" +"This limit is enforced per player." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum number of concurrent downloads. Downloads exceeding this limit will " +"be queued.\n" +"This should be lower than curl_parallel_limit." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum number of forceloaded mapblocks." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum number of mapblocks for client to be kept in memory.\n" +"Set to -1 for unlimited amount." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum number of packets sent per send step, if you have a slow connection\n" +"try reducing it, but don't reduce it to a number below double of targeted\n" +"client number." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum number of players that can be connected simultaneously." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum number of recent chat messages to show" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum number of statically stored objects in a block." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum objects per block" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum proportion of current window to be used for hotbar.\n" +"Useful if there's something to be displayed right or left of hotbar." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum simultaneous block sends per client" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum size of the out chat queue" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum size of the out chat queue.\n" +"0 to disable queueing and -1 to make the queue size unlimited." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum time a file download (e.g. a mod download) may take, stated in " +"milliseconds." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum time an interactive request (e.g. server list fetch) may take, " +"stated in milliseconds." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum users" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Menus" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mesh cache" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Message of the day" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Message of the day displayed to players connecting." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Method used to highlight selected object." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Minimal level of logging to be written to chat." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Minimap" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Minimap key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Minimap scan height" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Minimum 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 "" + +#: src/settings_translation_file.cpp +msgid "Mipmapping" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mod channels" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Modifies the size of the hudbar elements." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Monospace font path" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Monospace font size" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mountain height noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mountain noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mountain variation noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mountain zero level" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mouse sensitivity" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mouse sensitivity multiplier." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mud noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Multiplier for fall bobbing.\n" +"For example: 0 for no view bobbing; 1.0 for normal; 2.0 for double." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mute key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mute sound" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Name of map generator to be used when creating a new world.\n" +"Creating a world in the main menu will override this.\n" +"Current mapgens in a highly unstable state:\n" +"- The optional floatlands of v7 (disabled by default)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Name of the player.\n" +"When running a server, clients connecting with this name are admins.\n" +"When starting from the main menu, this is overridden." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Name of the server, to be displayed when players join and in the serverlist." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Near plane" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Network" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Network port to listen (UDP).\n" +"This value will be overridden when starting from the main menu." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "New users need to input this password." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Noclip" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Noclip key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Node highlighting" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "NodeTimer interval" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Noises" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Number of emerge threads" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Number of emerge threads to use.\n" +"Value 0:\n" +"- Automatic selection. The number of emerge threads will be\n" +"- 'number of processors - 2', with a lower limit of 1.\n" +"Any other value:\n" +"- Specifies the number of emerge threads, with a lower limit of 1.\n" +"WARNING: Increasing the number of emerge threads increases engine mapgen\n" +"speed, but this may harm game performance by interfering with other\n" +"processes, especially in singleplayer and/or when running Lua code in\n" +"'on_generated'. For many users the optimum setting may be '1'." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Number of extra blocks that can be loaded by /clearobjects at once.\n" +"This is a trade-off between sqlite transaction overhead and\n" +"memory consumption (4096=100MB, as a rule of thumb)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Online Content Repository" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Opaque liquids" +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 "" +"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 "" +"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. Can be an absolute or relative path.\n" +"The folder will be created if it doesn't already exist." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Path to shader directory. If no path is defined, default location will be " +"used." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Path to texture directory. All textures are first searched from here." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"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 "Per-player limit of queued blocks load from disk" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Per-player limit of queued blocks to generate" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Physics" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Pitch move key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Pitch move mode" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Place key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Place repetition interval" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Player is able to fly without being affected by gravity.\n" +"This requires the \"fly\" privilege on the server." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Player name" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Player transfer distance" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Player versus player" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Poisson filtering" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Port to connect to (UDP).\n" +"Note that the port field in the main menu overrides this setting." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Prevent digging and placing from repeating when holding the mouse buttons.\n" +"Enable this when you dig or place too often by accident." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Prevent mods from doing insecure things like running shell commands." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Print the engine's profiling data in regular intervals (in seconds).\n" +"0 = disable. Useful for developers." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Privileges that players with basic_privs can grant" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Profiler" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Profiler toggle key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Profiling" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Prometheus listener address" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Prometheus listener address.\n" +"If minetest is compiled with ENABLE_PROMETHEUS option enabled,\n" +"enable metrics listener for Prometheus on that address.\n" +"Metrics can be fetch on http://127.0.0.1:30000/metrics" +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 " +"corners." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Raises terrain to make valleys around the rivers." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Random input" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Range select key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Recent Chat Messages" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Regular font path" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Remote media" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Remote port" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Remove color codes from incoming chat messages\n" +"Use this to stop players from being able to use color in their messages" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Replaces the default main menu with a custom one." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Report path" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Restricts the access of certain client-side functions on servers.\n" +"Combine the byteflags below to restrict client-side features, or set to 0\n" +"for no restrictions:\n" +"LOAD_CLIENT_MODS: 1 (disable loading client-provided mods)\n" +"CHAT_MESSAGES: 2 (disable send_chat_message call client-side)\n" +"READ_ITEMDEFS: 4 (disable get_item_def call client-side)\n" +"READ_NODEDEFS: 8 (disable get_node_def call client-side)\n" +"LOOKUP_NODES_LIMIT: 16 (limits get_node call client-side to\n" +"csm_restriction_noderange)\n" +"READ_PLAYERINFO: 32 (disable get_player_names call client-side)" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Ridge mountain spread noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Ridge noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Ridge underwater noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Ridged mountain size noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Right key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "River channel depth" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "River channel width" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "River depth" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "River noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "River size" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "River valley width" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Rollback recording" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Rolling hill size noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Rolling hills spread noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Round minimap" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Safe digging and placing" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Sandy beaches occur when np_beach exceeds this value." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Save the map received by the client on disk." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Save window size automatically when modified." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Saving map received from server" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Scale GUI by a user specified value.\n" +"Use a nearest-neighbor-anti-alias filter to scale the GUI.\n" +"This will smooth over some of the rough edges, and blend\n" +"pixels when scaling down, at the cost of blurring some\n" +"edge pixels when images are scaled by non-integer sizes." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Screen height" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Screen width" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Screenshot folder" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Screenshot format" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Screenshot quality" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Screenshot quality. Only used for JPEG format.\n" +"1 means worst quality; 100 means best quality.\n" +"Use 0 for default quality." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Seabed noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Second of 4 2D noises that together define hill/mountain range height." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Second of two 3D noises that together define tunnels." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Security" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "See https://www.sqlite.org/pragma.html#pragma_synchronous" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Selection box border color (R,G,B)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Selection box color" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Selection box width" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Selects one of 18 fractal types.\n" +"1 = 4D \"Roundy\" Mandelbrot set.\n" +"2 = 4D \"Roundy\" Julia set.\n" +"3 = 4D \"Squarry\" Mandelbrot set.\n" +"4 = 4D \"Squarry\" Julia set.\n" +"5 = 4D \"Mandy Cousin\" Mandelbrot set.\n" +"6 = 4D \"Mandy Cousin\" Julia set.\n" +"7 = 4D \"Variation\" Mandelbrot set.\n" +"8 = 4D \"Variation\" Julia set.\n" +"9 = 3D \"Mandelbrot/Mandelbar\" Mandelbrot set.\n" +"10 = 3D \"Mandelbrot/Mandelbar\" Julia set.\n" +"11 = 3D \"Christmas Tree\" Mandelbrot set.\n" +"12 = 3D \"Christmas Tree\" Julia set.\n" +"13 = 3D \"Mandelbulb\" Mandelbrot set.\n" +"14 = 3D \"Mandelbulb\" Julia set.\n" +"15 = 3D \"Cosine Mandelbulb\" Mandelbrot set.\n" +"16 = 3D \"Cosine Mandelbulb\" Julia set.\n" +"17 = 4D \"Mandelbulb\" Mandelbrot set.\n" +"18 = 4D \"Mandelbulb\" Julia set." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Server / Singleplayer" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Server URL" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Server address" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Server description" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Server name" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Server port" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Server side occlusion culling" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Serverlist URL" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Serverlist file" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the language. Leave empty to use the system language.\n" +"A restart is required after changing this." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Set the maximum character length of a chat message sent by clients." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow strength.\n" +"Lower value means lighter shadows, higher value means darker shadows." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow update time.\n" +"Lower value means shadows and map updates faster, but it consume more " +"resources.\n" +"Minimun value 0.001 seconds max value 0.2 seconds" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the soft shadow radius size.\n" +"Lower values mean sharper shadows bigger values softer.\n" +"Minimun value 1.0 and max value 10.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the tilt of Sun/Moon orbit in degrees\n" +"Value of 0 means no tilt / vertical orbit.\n" +"Minimun value 0.0 and max value 60.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set to true to enable Shadow Mapping.\n" +"Requires shaders to be enabled." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set to true to enable waving leaves.\n" +"Requires shaders to be enabled." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"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 to enable waving plants.\n" +"Requires shaders to be enabled." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Sets shadow texture quality to 32 bits.\n" +"On false, 16 bits texture will be used.\n" +"This can cause much more artifacts in the shadow." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shader path" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Shaders allow advanced visual effects and may increase performance on some " +"video\n" +"cards.\n" +"This only works with the OpenGL video backend." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow filter quality" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map max distance in nodes to render shadows" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture in 32 bits" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture size" +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 "Shadow strength" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shape of the minimap. Enabled = round, disabled = square." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Show debug info" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Show entity selection boxes" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Show entity selection boxes\n" +"A restart is required after changing this." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Show nametag backgrounds by default" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shutdown message" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Size of mapchunks generated by mapgen, stated in mapblocks (16 nodes).\n" +"WARNING!: There is no benefit, and there are several dangers, in\n" +"increasing this value above 5.\n" +"Reducing this value increases cave and dungeon density.\n" +"Altering this value is for special usage, leaving it unchanged is\n" +"recommended." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Size of the MapBlock cache of the mesh generator. Increasing this will\n" +"increase the cache hit %, reducing the data being copied from the main\n" +"thread, thus reducing jitter." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Sky Body Orbit Tilt" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Slice w" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Slope and fill work together to modify the heights." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Small 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 "" + +#: src/settings_translation_file.cpp +msgid "Small-scale temperature variation for blending biomes on borders." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Smooth lighting" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Smooths camera when looking around. Also called look or mouse smoothing.\n" +"Useful for recording videos." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Smooths rotation of camera in cinematic mode. 0 to disable." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Smooths rotation of camera. 0 to disable." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Sneak key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Sneaking speed" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Sneaking speed, in nodes per second." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Soft shadow radius" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Sound" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Specifies URL from which client fetches media instead of using UDP.\n" +"$filename should be accessible from $remote_media$filename via cURL\n" +"(obviously, remote_media should end with a slash).\n" +"Files that are not present will be fetched the usual way." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Specifies the default stack size of nodes, items and tools.\n" +"Note that mods or games may explicitly set a stack for certain (or all) " +"items." +msgstr "" + +#: src/settings_translation_file.cpp +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 "Static spawnpoint" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Steepness noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Step mountain size noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Step mountain spread noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Strength of 3D mode parallax." +msgstr "" + +#: src/settings_translation_file.cpp +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 "Strict protocol checking" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Strip color codes" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Surface level of optional water placed on a solid floatland layer.\n" +"Water is disabled by default and will only be placed if this value is set\n" +"to above 'mgv7_floatland_ymax' - 'mgv7_floatland_taper' (the start of the\n" +"upper tapering).\n" +"***WARNING, POTENTIAL DANGER TO WORLDS AND SERVER PERFORMANCE***:\n" +"When enabling water placement the floatlands must be configured and tested\n" +"to be a solid layer by setting 'mgv7_floatland_density' to 2.0 (or other\n" +"required value depending on 'mgv7_np_floatland'), to avoid\n" +"server-intensive extreme water flow and to avoid vast flooding of the\n" +"world surface below." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Synchronous SQLite" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Temperature variation for biomes." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Terrain alternative noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Terrain base noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Terrain height" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Terrain higher noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Terrain noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Terrain noise threshold for hills.\n" +"Controls proportion of world area covered by hills.\n" +"Adjust towards 0.0 for a larger proportion." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Terrain noise threshold for lakes.\n" +"Controls proportion of world area covered by lakes.\n" +"Adjust towards 0.0 for a larger proportion." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Terrain persistence noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Texture path" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Texture size to render the shadow map on.\n" +"This must be a power of two.\n" +"Bigger numbers create better shadowsbut it is also more expensive." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Textures on a node may be aligned either to the node or to the world.\n" +"The former mode suits better things like machines, furniture, etc., while\n" +"the latter makes stairs and microblocks fit surroundings better.\n" +"However, as this possibility is new, thus may not be used by older servers,\n" +"this option allows enforcing it for certain node types. Note though that\n" +"that is considered EXPERIMENTAL and may not work properly." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "The URL for the content repository" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "The deadzone of the joystick" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"The default format in which profiles are being saved,\n" +"when calling `/profiler save [format]` without format." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "The depth of dirt or other biome filler node." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"The file path relative to your worldpath in which profiles will be saved to." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "The identifier of the joystick to use" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "The length in pixels it takes for touch screen interaction to start." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"The 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 "" + +#: src/settings_translation_file.cpp +msgid "" +"The privileges that new users automatically get.\n" +"See /privs in game for a full list on your server and mod configuration." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"The radius of the volume of blocks around every player that is subject to " +"the\n" +"active block stuff, stated in mapblocks (16 nodes).\n" +"In active blocks objects are loaded and ABMs run.\n" +"This is also the minimum range in which active objects (mobs) are " +"maintained.\n" +"This should be configured together with active_object_send_range_blocks." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"The rendering back-end.\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.\n" +"Shaders are supported by OpenGL (desktop only) and OGLES2 (experimental)" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"The sensitivity of the joystick axes for moving the\n" +"ingame view frustum around." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"The strength (darkness) of node ambient-occlusion shading.\n" +"Lower is darker, Higher is lighter. The valid range of values for this\n" +"setting is 0.25 to 4.0 inclusive. If the value is out of range it will be\n" +"set to the nearest valid value." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"The time (in seconds) that the liquids queue may grow beyond processing\n" +"capacity until an attempt is made to decrease its size by dumping old queue\n" +"items. A value of 0 disables the functionality." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"The time budget allowed for ABMs to execute on each step\n" +"(as a fraction of the ABM Interval)" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"The time in seconds it takes between repeated events\n" +"when holding down a joystick button combination." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"The time in seconds it takes between repeated node placements when holding\n" +"the place button." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "The type of joystick" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"The vertical distance over which heat drops by 20 if 'altitude_chill' is\n" +"enabled. Also the vertical distance over which humidity drops by 10 if\n" +"'altitude_dry' is enabled." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Third of 4 2D noises that together define hill/mountain range height." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Time in seconds for item entity (dropped items) to live.\n" +"Setting it to -1 disables the feature." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Time of day when a new world is started, in millihours (0-23999)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Time send interval" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Time speed" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Timeout for client to remove unused map data from memory." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"To reduce lag, block transfers are slowed down when a player is building " +"something.\n" +"This determines how long they are slowed down after placing or removing a " +"node." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Toggle camera mode key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Tooltip delay" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Touch screen threshold" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Trees noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Trilinear filtering" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"True = 256\n" +"False = 128\n" +"Usable to make minimap smoother on slower machines." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Trusted mods" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "URL to the server list displayed in the Multiplayer Tab." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Undersampling" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Undersampling is similar to using a lower screen resolution, but it applies\n" +"to the game world only, keeping the GUI intact.\n" +"It should give a significant performance boost at the cost of less detailed " +"image.\n" +"Higher values result in a less detailed image." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Unlimited player transfer distance" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Unload unused server data" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Upper Y limit of dungeons." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Upper Y limit of floatlands." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Use 3D cloud look instead of flat." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Use a cloud animation for the main menu background." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Use anisotropic filtering when viewing at textures from an angle." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Use bilinear filtering when scaling textures." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Use mip mapping to scale textures. May slightly increase performance,\n" +"especially when using a high resolution texture pack.\n" +"Gamma correct downscaling is not supported." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Use multi-sample antialiasing (MSAA) to smooth out block edges.\n" +"This algorithm smooths out the 3D viewport while keeping the image sharp,\n" +"but it doesn't affect the insides of textures\n" +"(which is especially noticeable with transparent textures).\n" +"Visible spaces appear between nodes when shaders are disabled.\n" +"If set to 0, MSAA is disabled.\n" +"A restart is required after changing this option." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Use trilinear filtering when scaling textures." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "VBO" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "VSync" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Valley depth" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Valley fill" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Valley profile" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Valley slope" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Variation of biome filler depth." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Variation of maximum mountain height (in nodes)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Variation of number of caves." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Variation of terrain vertical scale.\n" +"When noise is < -0.55 terrain is near-flat." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Varies depth of biome surface nodes." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Varies roughness of terrain.\n" +"Defines the 'persistence' value for terrain_base and terrain_alt noises." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Varies steepness of cliffs." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Vertical climbing speed, in nodes per second." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Vertical screen synchronization." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Video driver" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "View bobbing factor" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "View distance in nodes." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "View range decrease key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "View range increase key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "View zoom key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Viewing range" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Virtual joystick triggers Aux1 button" +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 "" +"W coordinate of the generated 3D slice of a 4D fractal.\n" +"Determines which 3D slice of the 4D shape is generated.\n" +"Alters the shape of the fractal.\n" +"Has no effect on 3D fractals.\n" +"Range roughly -2 to 2." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Walking and flying speed, in nodes per second." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Walking speed" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Walking, flying and climbing speed in fast mode, in nodes per second." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Water level" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Water surface level of the world." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Waving Nodes" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Waving leaves" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Waving liquids" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Waving liquids wave height" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Waving liquids wave speed" +msgstr "" + +#: src/settings_translation_file.cpp +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" +"to hardware (e.g. render-to-texture for nodes in inventory)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"When gui_scaling_filter_txr2img is true, copy those images\n" +"from hardware to software for scaling. When false, fall back\n" +"to the old scaling method, for video drivers that don't\n" +"properly support downloading textures back from hardware." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"When using bilinear/trilinear/anisotropic filters, low-resolution textures\n" +"can be blurred, so automatically upscale them with nearest-neighbor\n" +"interpolation to preserve crisp pixels. This sets the minimum texture size\n" +"for the upscaled textures; higher values look sharper, but require more\n" +"memory. Powers of 2 are recommended. This setting is ONLY applies if\n" +"bilinear/trilinear/anisotropic filtering is enabled.\n" +"This is also used as the base node texture size for world-aligned\n" +"texture autoscaling." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Whether FreeType fonts are used, requires FreeType support to be compiled " +"in.\n" +"If disabled, bitmap and XML vectors fonts are used instead." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Whether nametag backgrounds should be shown by default.\n" +"Mods may still set a background." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Whether node texture animations should be desynchronized per mapblock." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Whether players are shown to clients without any range limit.\n" +"Deprecated, use the setting player_transfer_distance instead." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Whether to allow players to damage and kill each other." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Whether to ask clients to reconnect after a (Lua) crash.\n" +"Set this to true if your server is set up to restart automatically." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Whether to fog out the end of the visible area." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Whether to 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 "" + +#: src/settings_translation_file.cpp +msgid "Width component of the initial window size. Ignored in fullscreen mode." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Width of the selection box lines around nodes." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Windows systems only: Start Minetest with the command line window in the " +"background.\n" +"Contains the same information as the file debug.txt (default name)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"World directory (everything in the world is stored here).\n" +"Not needed if starting from the main menu." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "World start time" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"World-aligned textures may be scaled to span several nodes. However,\n" +"the server may not send the scale you want, especially if you use\n" +"a specially-designed texture pack; with this option, the client tries\n" +"to determine the scale automatically basing on the texture size.\n" +"See also texture_min_size.\n" +"Warning: This option is EXPERIMENTAL!" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "World-aligned textures mode" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Y of flat ground." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Y of mountain density gradient zero level. Used to shift mountains " +"vertically." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Y of upper limit of large caves." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Y-distance over which caverns expand to full size." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Y-distance over which floatlands taper from full density to nothing.\n" +"Tapering starts at this distance from the Y limit.\n" +"For a solid floatland layer, this controls the height of hills/mountains.\n" +"Must be less than or equal to half the distance between the Y limits." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Y-level of average terrain surface." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Y-level of cavern upper limit." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Y-level of 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 "" +"ZLib compression level to use when saving mapblocks to disk.\n" +"-1 - Zlib's default compression level\n" +"0 - no compresson, fastest\n" +"9 - best compression, slowest\n" +"(levels 1-3 use Zlib's \"fast\" method, 4-9 use the normal method)" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"ZLib compression level to use when sending mapblocks to the client.\n" +"-1 - Zlib's default compression level\n" +"0 - no compresson, fastest\n" +"9 - best compression, slowest\n" +"(levels 1-3 use Zlib's \"fast\" method, 4-9 use the normal method)" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "cURL file download timeout" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "cURL interactive timeout" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "cURL parallel limit" +msgstr "" diff --git a/po/fr/minetest.po b/po/fr/minetest.po index 98478e035..aa0ffd158 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: 2021-02-23 19:03+0100\n" -"PO-Revision-Date: 2021-02-01 05:52+0000\n" -"Last-Translator: cafou \n" +"POT-Creation-Date: 2021-06-16 18:27+0200\n" +"PO-Revision-Date: 2021-06-02 19:33+0000\n" +"Last-Translator: waxtatect \n" "Language-Team: French \n" "Language: fr\n" @@ -12,7 +12,49 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Generator: Weblate 4.5-dev\n" +"X-Generator: Weblate 4.7-dev\n" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Clear the out chat queue" +msgstr "Taille maximale de la file de sortie de message du tchat" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Empty command." +msgstr "Commandes de tchat" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Exit to main menu" +msgstr "Menu principal" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Invalid command: " +msgstr "Commande locale" + +#: builtin/client/chatcommands.lua +msgid "Issued command: " +msgstr "" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "List online players" +msgstr "Solo" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Online players: " +msgstr "Solo" + +#: builtin/client/chatcommands.lua +msgid "The out chat queue is now empty." +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "This command is disabled by server." +msgstr "" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -22,6 +64,38 @@ msgstr "Réapparaître" msgid "You died" msgstr "Vous êtes mort" +#: builtin/client/death_formspec.lua +#, fuzzy +msgid "You died." +msgstr "Vous êtes mort" + +#: builtin/common/chatcommands.lua +#, fuzzy +msgid "Available commands:" +msgstr "Commande locale" + +#: builtin/common/chatcommands.lua +#, fuzzy +msgid "Available commands: " +msgstr "Commande locale" + +#: builtin/common/chatcommands.lua +msgid "Command not available: " +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "Get help for commands" +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "" +"Use '.help ' to get more information, or '.help all' to list everything." +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "[all | ]" +msgstr "" + #: builtin/fstk/dialog.lua builtin/fstk/ui.lua src/gui/modalMenu.cpp msgid "OK" msgstr "OK" @@ -44,7 +118,7 @@ msgstr "Se reconnecter" #: builtin/fstk/ui.lua msgid "The server has requested a reconnect:" -msgstr "Le serveur souhaite rétablir une connexion :" +msgstr "Le serveur souhaite rétablir une connexion :" #: builtin/mainmenu/common.lua msgid "Protocol version mismatch. " @@ -80,7 +154,7 @@ msgstr "Annuler" #: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/dlg_contentstore.lua #: builtin/mainmenu/tab_content.lua msgid "Dependencies:" -msgstr "Dépend de :" +msgstr "Dépend de :" #: builtin/mainmenu/dlg_config_world.lua msgid "Disable all" @@ -103,9 +177,9 @@ msgid "" "Failed to enable mod \"$1\" as it contains disallowed characters. Only " "characters [a-z0-9_] are allowed." msgstr "" -"Échec du chargement du mod « $1 » car il contient des caractères non " +"Échec du chargement du mod « $1 » car il contient des caractères non " "autorisés.\n" -"Seuls les caractères alphanumériques [a-z0-9_] sont autorisés." +"Seuls les caractères alphanumériques [a–z0–9_] sont autorisés." #: builtin/mainmenu/dlg_config_world.lua msgid "Find More Mods" @@ -113,7 +187,7 @@ msgstr "Rechercher des mods" #: builtin/mainmenu/dlg_config_world.lua msgid "Mod:" -msgstr "Mod :" +msgstr "Mod :" #: builtin/mainmenu/dlg_config_world.lua msgid "No (optional) dependencies" @@ -137,7 +211,7 @@ msgstr "Pas de dépendances facultatives" #: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua msgid "Optional dependencies:" -msgstr "Dépendances optionnelles :" +msgstr "Dépendances optionnelles :" #: builtin/mainmenu/dlg_config_world.lua #: builtin/mainmenu/dlg_settings_advanced.lua src/gui/guiKeyChangeMenu.cpp @@ -146,7 +220,7 @@ msgstr "Enregistrer" #: builtin/mainmenu/dlg_config_world.lua msgid "World:" -msgstr "Sélectionner un monde :" +msgstr "Monde :" #: builtin/mainmenu/dlg_config_world.lua msgid "enabled" @@ -154,30 +228,31 @@ msgstr "activé" #: builtin/mainmenu/dlg_contentstore.lua msgid "\"$1\" already exists. Would you like to overwrite it?" -msgstr "" +msgstr "« $1 » existe déjà. Voulez-vous l'écraser ?" #: builtin/mainmenu/dlg_contentstore.lua msgid "$1 and $2 dependencies will be installed." -msgstr "" +msgstr "Les dépendances $1 et $2 vont être installées." #: builtin/mainmenu/dlg_contentstore.lua msgid "$1 by $2" -msgstr "" +msgstr "$1 par $2" #: builtin/mainmenu/dlg_contentstore.lua msgid "" "$1 downloading,\n" "$2 queued" msgstr "" +"$1 en téléchargement,\n" +"$2 mis en attente" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "$1 downloading..." -msgstr "Chargement..." +msgstr "Téléchargement de $1…" #: builtin/mainmenu/dlg_contentstore.lua msgid "$1 required dependencies could not be found." -msgstr "Les dépendances nécessaires à 1 $ n'ont pas pu être trouvées." +msgstr "Les dépendances nécessaires à $1 n'ont pas pu être trouvées." #: builtin/mainmenu/dlg_contentstore.lua msgid "$1 will be installed, and $2 dependencies will be skipped." @@ -188,18 +263,16 @@ msgid "All packages" msgstr "Tous les paquets" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "Already installed" -msgstr "Touche déjà utilisée" +msgstr "Déjà installé" #: builtin/mainmenu/dlg_contentstore.lua msgid "Back to Main Menu" msgstr "Retour au menu principal" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "Base Game:" -msgstr "Héberger une partie" +msgstr "Jeu de base :" #: builtin/mainmenu/dlg_contentstore.lua msgid "ContentDB is not available when Minetest was compiled without cURL" @@ -207,7 +280,7 @@ msgstr "ContentDB n'est pas disponible quand Minetest est compilé sans cURL" #: builtin/mainmenu/dlg_contentstore.lua msgid "Downloading..." -msgstr "Chargement..." +msgstr "Téléchargement…" #: builtin/mainmenu/dlg_contentstore.lua msgid "Failed to download $1" @@ -223,14 +296,12 @@ msgid "Install" msgstr "Installer" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "Install $1" -msgstr "Installer" +msgstr "Installer $1" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "Install missing dependencies" -msgstr "Dépendances optionnelles :" +msgstr "Installer les dépendances manquantes" #: builtin/mainmenu/dlg_contentstore.lua #: builtin/mainmenu/dlg_settings_advanced.lua @@ -246,14 +317,12 @@ msgid "No results" msgstr "Aucun résultat" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "No updates" -msgstr "Mise à jour" +msgstr "Aucune mise à jour" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "Not found" -msgstr "Couper le son" +msgstr "Non trouvé" #: builtin/mainmenu/dlg_contentstore.lua msgid "Overwrite" @@ -261,7 +330,7 @@ msgstr "Écraser" #: builtin/mainmenu/dlg_contentstore.lua msgid "Please check that the base game is correct." -msgstr "" +msgstr "Veuillez vérifier que le jeu de base est correct." #: builtin/mainmenu/dlg_contentstore.lua msgid "Queued" @@ -281,7 +350,7 @@ msgstr "Mise à jour" #: builtin/mainmenu/dlg_contentstore.lua msgid "Update All [$1]" -msgstr "" +msgstr "Tout mettre à jour [$1]" #: builtin/mainmenu/dlg_contentstore.lua msgid "View more information in a web browser" @@ -289,7 +358,7 @@ msgstr "Voir plus d'informations dans un navigateur web" #: builtin/mainmenu/dlg_create_world.lua msgid "A world named \"$1\" already exists" -msgstr "Le monde \"$1\" existe déjà" +msgstr "Le monde « $1 » existe déjà" #: builtin/mainmenu/dlg_create_world.lua msgid "Additional terrain" @@ -357,7 +426,7 @@ msgstr "Jeu" #: builtin/mainmenu/dlg_create_world.lua msgid "Generate non-fractal terrain: Oceans and underground" -msgstr "Générer un terrain non fractal : océans et sous-sol" +msgstr "Générer un terrain non fractal : océans et souterrain" #: builtin/mainmenu/dlg_create_world.lua msgid "Hills" @@ -389,7 +458,7 @@ msgstr "Drapeaux de génération de terrain" #: builtin/mainmenu/dlg_create_world.lua msgid "Mapgen-specific flags" -msgstr "Drapeaux indicateurs du générateur de carte" +msgstr "Drapeaux spécifiques au générateur de terrain" #: builtin/mainmenu/dlg_create_world.lua msgid "Mountains" @@ -476,7 +545,7 @@ msgstr "Très grande cavernes profondes" #: builtin/mainmenu/dlg_create_world.lua msgid "Warning: The Development Test is meant for developers." -msgstr "Avertissement : le jeu minimal est fait pour les développeurs." +msgstr "Avertissement : le jeu minimal est fait pour les développeurs." #: builtin/mainmenu/dlg_create_world.lua msgid "World name" @@ -488,7 +557,7 @@ msgstr "Vous n'avez pas de jeu installé." #: builtin/mainmenu/dlg_delete_content.lua msgid "Are you sure you want to delete \"$1\"?" -msgstr "Êtes-vous sûr de vouloir supprimer \"$1\" ?" +msgstr "Êtes-vous sûr de vouloir supprimer « $1 » ?" #: builtin/mainmenu/dlg_delete_content.lua #: builtin/mainmenu/dlg_delete_world.lua builtin/mainmenu/tab_local.lua @@ -498,15 +567,15 @@ msgstr "Supprimer" #: builtin/mainmenu/dlg_delete_content.lua msgid "pkgmgr: failed to delete \"$1\"" -msgstr "Le gestionnaire de mods n'a pas pu supprimer \"$1\"" +msgstr "Le gestionnaire de mods n'a pas pu supprimer « $1 »" #: builtin/mainmenu/dlg_delete_content.lua msgid "pkgmgr: invalid path \"$1\"" -msgstr "Gestionnaire de mods : chemin de mod invalide \"$1\"" +msgstr "Gestionnaire de mods : chemin de mod invalide « $1 »" #: builtin/mainmenu/dlg_delete_world.lua msgid "Delete World \"$1\"?" -msgstr "Supprimer le monde \"$1\" ?" +msgstr "Supprimer le monde « $1 » ?" #: builtin/mainmenu/dlg_rename_modpack.lua msgid "Accept" @@ -514,14 +583,14 @@ msgstr "Accepter" #: builtin/mainmenu/dlg_rename_modpack.lua msgid "Rename Modpack:" -msgstr "Renommer le pack de mods :" +msgstr "Renommer le pack de mods :" #: 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 "" -"Ce pack de mods a un nom explicitement donné dans son fichier modpack.conf ; " +"Ce pack de mods a un nom explicitement donné dans son fichier modpack.conf ; " "il écrasera tout renommage effectué ici." #: builtin/mainmenu/dlg_settings_advanced.lua @@ -540,7 +609,7 @@ msgstr "< Revenir aux paramètres" msgid "Browse" msgstr "Parcourir" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_settings.lua msgid "Disabled" msgstr "Désactivé" @@ -584,7 +653,7 @@ msgstr "Réinitialiser" msgid "Scale" msgstr "Echelle" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua msgid "Search" msgstr "Rechercher" @@ -602,11 +671,11 @@ msgstr "Montrer les noms techniques" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "The value must be at least $1." -msgstr "La valeur doit être supérieure à $1." +msgstr "La valeur doit être au moins $1." #: builtin/mainmenu/dlg_settings_advanced.lua msgid "The value must not be larger than $1." -msgstr "La valeur doit être inférieure à $1." +msgstr "La valeur ne doit pas être supérieure à $1." #: builtin/mainmenu/dlg_settings_advanced.lua msgid "X" @@ -670,23 +739,23 @@ msgstr "Échec de l'installation de $1 vers $2" #: builtin/mainmenu/pkgmgr.lua msgid "Install Mod: Unable to find real mod name for: $1" msgstr "" -"Installation d'un mod : impossible de trouver le vrai nom du mod pour : $1" +"Installation d'un mod : impossible de trouver le vrai nom du mod pour : $1" #: builtin/mainmenu/pkgmgr.lua msgid "Install Mod: Unable to find suitable folder name for modpack $1" msgstr "" -"Installation un mod : impossible de trouver un nom de dossier valide pour le " +"Installation un mod : impossible de trouver un nom de dossier valide pour le " "pack de mods $1" #: builtin/mainmenu/pkgmgr.lua msgid "Install: Unsupported file type \"$1\" or broken archive" msgstr "" -"Installation d'un mod : type de fichier non supporté \"$1\" ou archive " +"Installation d'un mod : type de fichier non supporté « $1 » ou archive " "endommagée" #: builtin/mainmenu/pkgmgr.lua msgid "Install: file: \"$1\"" -msgstr "Installation : fichier : \"$1\"" +msgstr "Installation : fichier : « $1 »" #: builtin/mainmenu/pkgmgr.lua msgid "Unable to find a valid mod or modpack" @@ -710,12 +779,11 @@ msgstr "Impossible d'installer un pack de mods comme un $1" #: builtin/mainmenu/serverlistmgr.lua src/client/game.cpp msgid "Loading..." -msgstr "Chargement..." +msgstr "Chargement…" #: builtin/mainmenu/serverlistmgr.lua -#, fuzzy msgid "Public server list is disabled" -msgstr "Les scripts côté client sont désactivés" +msgstr "La liste des serveurs publics est désactivée" #: builtin/mainmenu/serverlistmgr.lua msgid "Try reenabling public serverlist and check your internet connection." @@ -723,6 +791,44 @@ msgstr "" "Essayez de rechargez la liste des serveurs publics et vérifiez votre " "connexion Internet." +#: builtin/mainmenu/tab_about.lua +msgid "About" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active Contributors" +msgstr "Contributeurs actifs" + +#: builtin/mainmenu/tab_about.lua +#, fuzzy +msgid "Active renderer:" +msgstr "Portée des objets actifs envoyés" + +#: builtin/mainmenu/tab_about.lua +msgid "Core Developers" +msgstr "Développeurs principaux" + +#: builtin/mainmenu/tab_about.lua +msgid "Open User Data Directory" +msgstr "Répertoire de données utilisateur" + +#: builtin/mainmenu/tab_about.lua +msgid "" +"Opens the directory that contains user-provided worlds, games, mods,\n" +"and texture packs in a file manager / explorer." +msgstr "" +"Ouvre le répertoire qui contient les mondes fournis par les utilisateurs, " +"les jeux, les mods,\n" +"et des paquets de textures dans un gestionnaire de fichiers." + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Contributors" +msgstr "Anciens contributeurs" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Core Developers" +msgstr "Anciens développeurs principaux" + #: builtin/mainmenu/tab_content.lua msgid "Browse online content" msgstr "Parcourir le contenu en ligne" @@ -737,11 +843,11 @@ msgstr "Désactiver le pack de textures" #: builtin/mainmenu/tab_content.lua msgid "Information:" -msgstr "Informations :" +msgstr "Informations :" #: builtin/mainmenu/tab_content.lua msgid "Installed Packages:" -msgstr "Paquets installés :" +msgstr "Paquets installés :" #: builtin/mainmenu/tab_content.lua msgid "No dependencies." @@ -763,40 +869,6 @@ msgstr "Désinstaller le paquet" msgid "Use Texture Pack" msgstr "Utiliser un pack de texture" -#: builtin/mainmenu/tab_credits.lua -msgid "Active Contributors" -msgstr "Contributeurs actifs" - -#: builtin/mainmenu/tab_credits.lua -msgid "Core Developers" -msgstr "Développeurs principaux" - -#: builtin/mainmenu/tab_credits.lua -msgid "Credits" -msgstr "Crédits" - -#: builtin/mainmenu/tab_credits.lua -#, fuzzy -msgid "Open User Data Directory" -msgstr "Choisissez un répertoire" - -#: builtin/mainmenu/tab_credits.lua -msgid "" -"Opens the directory that contains user-provided worlds, games, mods,\n" -"and texture packs in a file manager / explorer." -msgstr "" -"Ouvre le répertoire qui contient les mondes fournis par les utilisateurs, " -"les jeux, les mods,\n" -"et des paquets de textures dans un gestionnaire de fichiers." - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Contributors" -msgstr "Anciens contributeurs" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Core Developers" -msgstr "Anciens développeurs principaux" - #: builtin/mainmenu/tab_local.lua msgid "Announce Server" msgstr "Annoncer le serveur" @@ -825,7 +897,7 @@ msgstr "Héberger un serveur" msgid "Install games from ContentDB" msgstr "Installer à partir de ContentDB" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Name" msgstr "Nom" @@ -835,29 +907,27 @@ msgstr "Nouveau" #: builtin/mainmenu/tab_local.lua msgid "No world created or selected!" -msgstr "Aucun monde créé ou sélectionné !" +msgstr "Aucun monde créé ou sélectionné !" -#: builtin/mainmenu/tab_local.lua -#, fuzzy +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Password" -msgstr "Nouveau mot de passe" +msgstr "Mot de passe" #: builtin/mainmenu/tab_local.lua msgid "Play Game" msgstr "Jouer" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Port" msgstr "Port" #: builtin/mainmenu/tab_local.lua -#, fuzzy msgid "Select Mods" -msgstr "Sélectionner un monde :" +msgstr "Sélectionner les mods" #: builtin/mainmenu/tab_local.lua msgid "Select World:" -msgstr "Sélectionner un monde :" +msgstr "Sélectionner un monde :" #: builtin/mainmenu/tab_local.lua msgid "Server Port" @@ -868,8 +938,13 @@ msgid "Start Game" msgstr "Démarrer" #: builtin/mainmenu/tab_online.lua -msgid "Address / Port" -msgstr "Adresse / Port" +#, fuzzy +msgid "Address" +msgstr "- Adresse : " + +#: builtin/mainmenu/tab_online.lua src/client/keycode.cpp +msgid "Clear" +msgstr "Effacer" #: builtin/mainmenu/tab_online.lua msgid "Connect" @@ -879,38 +954,50 @@ msgstr "Rejoindre" msgid "Creative mode" msgstr "Mode créatif" +#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "Damage enabled" -msgstr "Dégâts activés" +#, fuzzy +msgid "Damage / PvP" +msgstr "Dégâts" #: builtin/mainmenu/tab_online.lua msgid "Del. Favorite" msgstr "Supprimer favori" #: builtin/mainmenu/tab_online.lua -msgid "Favorite" +#, fuzzy +msgid "Favorites" msgstr "Favori" +#: builtin/mainmenu/tab_online.lua +msgid "Incompatible Servers" +msgstr "" + #: builtin/mainmenu/tab_online.lua msgid "Join Game" msgstr "Rejoindre une partie" -#: builtin/mainmenu/tab_online.lua -msgid "Name / Password" -msgstr "Nom / Mot de passe" - #: builtin/mainmenu/tab_online.lua msgid "Ping" msgstr "Ping" -#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "PvP enabled" -msgstr "JcJ activé" +#, fuzzy +msgid "Public Servers" +msgstr "Annoncer le serveur" + +#: builtin/mainmenu/tab_online.lua +msgid "Refresh" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +#, fuzzy +msgid "Server Description" +msgstr "Description du serveur" #: builtin/mainmenu/tab_settings.lua msgid "2x" -msgstr "2x" +msgstr "2×" #: builtin/mainmenu/tab_settings.lua msgid "3D Clouds" @@ -918,11 +1005,11 @@ msgstr "Nuages en 3D" #: builtin/mainmenu/tab_settings.lua msgid "4x" -msgstr "4x" +msgstr "4×" #: builtin/mainmenu/tab_settings.lua msgid "8x" -msgstr "8x" +msgstr "8×" #: builtin/mainmenu/tab_settings.lua msgid "All Settings" @@ -930,11 +1017,11 @@ msgstr "Tous les paramètres" #: builtin/mainmenu/tab_settings.lua msgid "Antialiasing:" -msgstr "Anti-crénelage :" +msgstr "Anti-crénelage :" #: builtin/mainmenu/tab_settings.lua msgid "Autosave Screen Size" -msgstr "Sauvegarder automatiquement la taille d'écran" +msgstr "Sauv. autom. de la taille d'écran" #: builtin/mainmenu/tab_settings.lua msgid "Bilinear Filter" @@ -948,9 +1035,30 @@ msgstr "Changer les touches" msgid "Connected Glass" msgstr "Verre unifié" +#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp +#, fuzzy +msgid "Dynamic shadows" +msgstr "Ombre de la police" + +#: builtin/mainmenu/tab_settings.lua +msgid "Dynamic shadows: " +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Fancy Leaves" -msgstr "Arbres détaillés" +msgstr "Feuilles détaillées" + +#: builtin/mainmenu/tab_settings.lua +msgid "High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Low" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Medium" +msgstr "" #: builtin/mainmenu/tab_settings.lua msgid "Mipmap" @@ -982,7 +1090,7 @@ msgstr "Aucun" #: builtin/mainmenu/tab_settings.lua msgid "Opaque Leaves" -msgstr "Arbres minimaux" +msgstr "Feuilles opaques" #: builtin/mainmenu/tab_settings.lua msgid "Opaque Water" @@ -994,7 +1102,7 @@ msgstr "Activer les particules" #: builtin/mainmenu/tab_settings.lua msgid "Screen:" -msgstr "Écran :" +msgstr "Écran :" #: builtin/mainmenu/tab_settings.lua msgid "Settings" @@ -1005,9 +1113,8 @@ msgid "Shaders" msgstr "Shaders" #: builtin/mainmenu/tab_settings.lua -#, fuzzy msgid "Shaders (experimental)" -msgstr "Îles volantes (expérimental)" +msgstr "Shaders (expérimental)" #: builtin/mainmenu/tab_settings.lua msgid "Shaders (unavailable)" @@ -1015,7 +1122,7 @@ msgstr "Shaders (indisponible)" #: builtin/mainmenu/tab_settings.lua msgid "Simple Leaves" -msgstr "Arbres simples" +msgstr "Feuilles simples" #: builtin/mainmenu/tab_settings.lua msgid "Smooth Lighting" @@ -1023,7 +1130,7 @@ msgstr "Lumière douce" #: builtin/mainmenu/tab_settings.lua msgid "Texturing:" -msgstr "Texturisation :" +msgstr "Texturisation :" #: builtin/mainmenu/tab_settings.lua msgid "To enable shaders the OpenGL driver needs to be used." @@ -1032,7 +1139,7 @@ msgstr "" #: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp msgid "Tone Mapping" -msgstr "mappage tonal" +msgstr "Mappage tonal" #: builtin/mainmenu/tab_settings.lua msgid "Touchthreshold: (px)" @@ -1042,6 +1149,14 @@ msgstr "Sensibilité du toucher (px)" msgid "Trilinear Filter" msgstr "Filtrage trilinéaire" +#: builtin/mainmenu/tab_settings.lua +msgid "Ultra High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Very Low" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Waving Leaves" msgstr "Feuilles ondulantes" @@ -1060,7 +1175,7 @@ msgstr "Connexion perdue." #: src/client/client.cpp msgid "Done!" -msgstr "Terminé !" +msgstr "Terminé !" #: src/client/client.cpp msgid "Initializing nodes" @@ -1068,19 +1183,19 @@ msgstr "Initialisation des blocs" #: src/client/client.cpp msgid "Initializing nodes..." -msgstr "Initialisation des blocs..." +msgstr "Initialisation des blocs…" #: src/client/client.cpp msgid "Loading textures..." -msgstr "Chargement des textures..." +msgstr "Chargement des textures…" #: src/client/client.cpp msgid "Rebuilding shaders..." -msgstr "Reconstruction des textures nuancées..." +msgstr "Reconstruction des textures nuancées…" #: src/client/clientlauncher.cpp msgid "Connection error (timed out?)" -msgstr "Erreur de connexion (perte de connexion ?)" +msgstr "Erreur de connexion (perte de connexion ?)" #: src/client/clientlauncher.cpp msgid "Could not find or load game \"" @@ -1104,27 +1219,15 @@ msgstr "Nom du joueur trop long." #: src/client/clientlauncher.cpp msgid "Please choose a name!" -msgstr "Veuillez choisir un nom !" +msgstr "Veuillez choisir un nom !" #: src/client/clientlauncher.cpp msgid "Provided password file failed to open: " -msgstr "Le fichier de mot de passe fourni n'a pas pu être ouvert : " +msgstr "Le fichier de mot de passe fourni n'a pas pu être ouvert : " #: src/client/clientlauncher.cpp 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" +msgstr "Le chemin du monde spécifié n'existe pas : " #: src/client/game.cpp msgid "" @@ -1136,36 +1239,36 @@ msgstr "" #: src/client/game.cpp msgid "- Address: " -msgstr "- Adresse : " +msgstr "- Adresse : " #: src/client/game.cpp msgid "- Creative Mode: " -msgstr "- Mode créatif : " +msgstr "- Mode créatif : " #: src/client/game.cpp msgid "- Damage: " -msgstr "- Dégâts : " +msgstr "- Dégâts : " #: src/client/game.cpp msgid "- Mode: " -msgstr "- Mode : " +msgstr "- Mode : " #: src/client/game.cpp msgid "- Port: " -msgstr "- Port : " +msgstr "- Port : " #: src/client/game.cpp msgid "- Public: " -msgstr "- Public : " +msgstr "- Public : " #. ~ PvP = Player versus Player #: src/client/game.cpp msgid "- PvP: " -msgstr "- JcJ : " +msgstr "- JcJ : " #: src/client/game.cpp msgid "- Server Name: " -msgstr "- Nom du serveur : " +msgstr "- Nom du serveur : " #: src/client/game.cpp msgid "Automatic forward disabled" @@ -1185,7 +1288,7 @@ msgstr "Mise à jour de la caméra activée" #: src/client/game.cpp msgid "Change Password" -msgstr "Changer votre mot de passe" +msgstr "Changer de mot de passe" #: src/client/game.cpp msgid "Cinematic mode disabled" @@ -1201,14 +1304,14 @@ msgstr "Les scripts côté client sont désactivés" #: src/client/game.cpp msgid "Connecting to server..." -msgstr "Connexion au serveur..." +msgstr "Connexion au serveur…" #: src/client/game.cpp msgid "Continue" msgstr "Continuer" #: src/client/game.cpp -#, fuzzy, c-format +#, c-format msgid "" "Controls:\n" "- %s: move forwards\n" @@ -1225,28 +1328,28 @@ msgid "" "- Mouse wheel: select item\n" "- %s: chat\n" msgstr "" -"Contrôles :\n" -"- %s : avancer\n" -"- %s : reculer\n" -"- %s : à gauche\n" -"- %s : à droite\n" -"- %s : sauter/grimper\n" -"- %s : marcher lentement/descendre\n" -"- %s : lâcher l'objet en main\n" -"- %s : inventaire\n" -"- Souris : tourner/regarder\n" -"- Souris gauche : creuser/attaquer\n" -"- Souris droite : placer/utiliser\n" -"- Molette souris : sélectionner objet\n" -"- %s : discuter\n" +"Contrôles : \n" +"– %s : avancer\n" +"– %s : reculer\n" +"– %s : à gauche\n" +"– %s : à droite\n" +"– %s : sauter/grimper\n" +"– %s : creuser/actionner\n" +"– %s : placer/utiliser\n" +"– %s : marcher lentement/descendre\n" +"– %s : lâcher un objet\n" +"– %s : inventaire\n" +"– Souris : tourner/regarder\n" +"– Molette souris : sélectionner un objet\n" +"– %s : tchat\n" #: src/client/game.cpp msgid "Creating client..." -msgstr "Création du client..." +msgstr "Création du client…" #: src/client/game.cpp msgid "Creating server..." -msgstr "Création du serveur..." +msgstr "Création du serveur…" #: src/client/game.cpp msgid "Debug info and profiler graph hidden" @@ -1275,15 +1378,15 @@ msgid "" "- touch&drag, tap 2nd finger\n" " --> place single item to slot\n" msgstr "" -"Touches par défaut :\n" -"Sans menu visible :\n" -"- un seul appui : touche d'activation\n" -"- double-appui : placement / utilisation\n" -"- Glissement du doigt : regarder autour\n" -"Menu / Inventaire visible :\n" -"- double-appui (en dehors) : fermeture\n" -"- objet(s) dans l'inventaire : déplacement\n" -"- appui, glissement et appui : pose d'un seul item par emplacement\n" +"Touches par défaut : \n" +"Sans menu visible : \n" +"– un seul appui : touche d'activation\n" +"– double-appui : placement / utilisation\n" +"– Glissement du doigt : regarder autour\n" +"Menu / Inventaire visible : \n" +"– double-appui (en dehors) : fermeture\n" +"– objet(s) dans l'inventaire : déplacement\n" +"– appui, glissement et appui : pose d'un seul item par emplacement\n" #: src/client/game.cpp msgid "Disabled unlimited viewing range" @@ -1295,7 +1398,7 @@ msgstr "La limite de vue a été désactivée" #: src/client/game.cpp msgid "Exit to Menu" -msgstr "Menu Principal" +msgstr "Menu principal" #: src/client/game.cpp msgid "Exit to OS" @@ -1311,7 +1414,7 @@ msgstr "Vitesse en mode rapide activée" #: src/client/game.cpp msgid "Fast mode enabled (note: no 'fast' privilege)" -msgstr "Vitesse en mode rapide activée (note : pas de privilège 'fast')" +msgstr "Vitesse en mode rapide activée (note : pas de privilège « fast »)" #: src/client/game.cpp msgid "Fly mode disabled" @@ -1323,7 +1426,7 @@ msgstr "Mode vol activé" #: src/client/game.cpp msgid "Fly mode enabled (note: no 'fly' privilege)" -msgstr "Mode vol activé (note : pas de privilège 'fly')" +msgstr "Mode vol activé (note : pas de privilège « fly »)" #: src/client/game.cpp msgid "Fog disabled" @@ -1335,7 +1438,7 @@ msgstr "Brouillard activé" #: src/client/game.cpp msgid "Game info:" -msgstr "Infos de jeu :" +msgstr "Infos de jeu :" #: src/client/game.cpp msgid "Game paused" @@ -1347,7 +1450,7 @@ msgstr "Héberger un serveur" #: src/client/game.cpp msgid "Item definitions..." -msgstr "Définitions des items..." +msgstr "Définitions des objets…" #: src/client/game.cpp msgid "KiB/s" @@ -1355,7 +1458,7 @@ msgstr "Kio/s" #: src/client/game.cpp msgid "Media..." -msgstr "Média..." +msgstr "Média…" #: src/client/game.cpp msgid "MiB/s" @@ -1363,7 +1466,12 @@ msgstr "Mio/s" #: src/client/game.cpp msgid "Minimap currently disabled by game or mod" -msgstr "La minimap est actuellement désactivée par un jeu ou un mod" +msgstr "Mini-carte actuellement désactivée par un jeu ou un mod" + +#: src/client/game.cpp +#, fuzzy +msgid "Multiplayer" +msgstr "Solo" #: src/client/game.cpp msgid "Noclip mode disabled" @@ -1375,11 +1483,11 @@ msgstr "Collisions désactivées" #: src/client/game.cpp msgid "Noclip mode enabled (note: no 'noclip' privilege)" -msgstr "Collisions activées (note : pas de privilège 'noclip')" +msgstr "Collisions activées (note : pas de privilège « noclip »)" #: src/client/game.cpp msgid "Node definitions..." -msgstr "Définitions des blocs..." +msgstr "Définitions des blocs…" #: src/client/game.cpp msgid "Off" @@ -1407,11 +1515,11 @@ msgstr "Serveur distant" #: src/client/game.cpp msgid "Resolving address..." -msgstr "Résolution de l'adresse..." +msgstr "Résolution de l'adresse…" #: src/client/game.cpp msgid "Shutting down..." -msgstr "Fermeture du jeu..." +msgstr "Fermeture du jeu…" #: src/client/game.cpp msgid "Singleplayer" @@ -1445,17 +1553,17 @@ msgstr "Distance de vue réglée sur %d" #: src/client/game.cpp #, c-format msgid "Viewing range is at maximum: %d" -msgstr "Distance de vue maximale : %d" +msgstr "Distance de vue maximale : %d" #: src/client/game.cpp #, c-format msgid "Viewing range is at minimum: %d" -msgstr "Distance de vue minimale : %d" +msgstr "Distance de vue minimale : %d" #: src/client/game.cpp #, c-format msgid "Volume changed to %d%%" -msgstr "Volume réglé sur %d%%" +msgstr "Volume réglé sur %d %%" #: src/client/game.cpp msgid "Wireframe shown" @@ -1463,7 +1571,7 @@ msgstr "Fils de fer affichés" #: src/client/game.cpp msgid "Zoom currently disabled by game or mod" -msgstr "Le zoom est actuellement désactivé par un jeu ou un mod" +msgstr "Zoom actuellement désactivé par un jeu ou un mod" #: src/client/game.cpp msgid "ok" @@ -1506,10 +1614,6 @@ msgstr "Retour" msgid "Caps Lock" msgstr "Verr. Maj" -#: src/client/keycode.cpp -msgid "Clear" -msgstr "Vider" - #: src/client/keycode.cpp msgid "Control" msgstr "Contrôle" @@ -1755,30 +1859,29 @@ msgstr "Bouton X 2" #: src/client/keycode.cpp src/gui/guiKeyChangeMenu.cpp msgid "Zoom" -msgstr "Zoomer" +msgstr "Zoom" #: src/client/minimap.cpp msgid "Minimap hidden" msgstr "Mini-carte cachée" #: src/client/minimap.cpp -#, fuzzy, c-format +#, c-format msgid "Minimap in radar mode, Zoom x%d" -msgstr "Mini-carte en mode radar, zoom x1" +msgstr "Mini-carte en mode radar, zoom ×%d" #: src/client/minimap.cpp -#, fuzzy, c-format +#, c-format msgid "Minimap in surface mode, Zoom x%d" -msgstr "Mini-carte en mode surface, zoom x1" +msgstr "Mini-carte en mode surface, zoom ×%d" #: src/client/minimap.cpp -#, fuzzy msgid "Minimap in texture mode" -msgstr "Taille minimum des textures" +msgstr "Mini-carte en mode texture" #: src/gui/guiConfirmRegistration.cpp src/gui/guiPasswordChange.cpp msgid "Passwords do not match!" -msgstr "Les mots de passe ne correspondent pas !" +msgstr "Les mots de passe ne correspondent pas !" #: src/gui/guiConfirmRegistration.cpp msgid "Register and Join" @@ -1793,34 +1896,43 @@ msgid "" "Please retype your password and click 'Register and Join' to confirm account " "creation, or click 'Cancel' to abort." msgstr "" -"Vous êtes sur le point de rejoindre ce serveur avec le nom « %s » pour la " +"Vous êtes sur le point de rejoindre ce serveur avec le nom « %s » pour la " "première fois.\n" "Si vous continuez, un nouveau compte utilisant vos identifiants sera créé " "sur ce serveur.\n" -"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 »." +"Veuillez retaper votre mot de passe et cliquer sur « S'enregistrer et " +"rejoindre » pour confirmer la création de votre compte, ou cliquez sur " +"« Annuler »." #: src/gui/guiFormSpecMenu.cpp msgid "Proceed" msgstr "Procéder" #: src/gui/guiKeyChangeMenu.cpp -msgid "\"Special\" = climb down" -msgstr "\"Spécial\" = descendre" +#, fuzzy +msgid "\"Aux1\" = climb down" +msgstr "« Spécial » = descendre" #: src/gui/guiKeyChangeMenu.cpp msgid "Autoforward" -msgstr "Avancer automatiquement" +msgstr "Avancer autom." #: src/gui/guiKeyChangeMenu.cpp src/settings_translation_file.cpp msgid "Automatic jumping" msgstr "Sauts automatiques" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Aux1" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Backward" msgstr "Reculer" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Block bounds" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Change camera" msgstr "Changer la caméra" @@ -1839,15 +1951,15 @@ msgstr "Console" #: src/gui/guiKeyChangeMenu.cpp msgid "Dec. range" -msgstr "Reduire champ vision" +msgstr "Réd. la distance" #: src/gui/guiKeyChangeMenu.cpp msgid "Dec. volume" -msgstr "Réduire le volume" +msgstr "Réd. le volume" #: src/gui/guiKeyChangeMenu.cpp msgid "Double tap \"jump\" to toggle fly" -msgstr "Double-appui sur « saut » pour voler" +msgstr "Double-appui sur « saut » pour voler" #: src/gui/guiKeyChangeMenu.cpp msgid "Drop" @@ -1859,11 +1971,11 @@ msgstr "Avancer" #: src/gui/guiKeyChangeMenu.cpp msgid "Inc. range" -msgstr "Augmenter la distance" +msgstr "Augm. la distance" #: src/gui/guiKeyChangeMenu.cpp msgid "Inc. volume" -msgstr "Augmenter le volume" +msgstr "Augm. le volume" #: src/gui/guiKeyChangeMenu.cpp msgid "Inventory" @@ -1879,7 +1991,7 @@ msgstr "Touche déjà utilisée" #: src/gui/guiKeyChangeMenu.cpp msgid "Keybindings. (If this menu screws up, remove stuff from minetest.conf)" -msgstr "Raccourcis" +msgstr "Raccourcis clavier" #: src/gui/guiKeyChangeMenu.cpp msgid "Local command" @@ -1909,17 +2021,13 @@ msgstr "Capture d'écran" msgid "Sneak" msgstr "Marcher lentement" -#: src/gui/guiKeyChangeMenu.cpp -msgid "Special" -msgstr "Spécial" - #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle HUD" -msgstr "Afficher/retirer l'interface" +msgstr "Interface" #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle chat log" -msgstr "Afficher/retirer le canal de discussion" +msgstr "Afficher le tchat" #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle fast" @@ -1931,11 +2039,11 @@ msgstr "Voler" #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle fog" -msgstr "Afficher/retirer le brouillard" +msgstr "Brouillard" #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle minimap" -msgstr "Afficher/retirer la mini-carte" +msgstr "Mini-carte" #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle noclip" @@ -1943,7 +2051,7 @@ msgstr "Mode sans collision" #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle pitchmove" -msgstr "Activer/désactiver vol vertical" +msgstr "Mouvement vertical" #: src/gui/guiKeyChangeMenu.cpp msgid "press key" @@ -1975,7 +2083,7 @@ msgstr "Muet" #: src/gui/guiVolumeChange.cpp msgid "Sound Volume: " -msgstr "Volume du son : " +msgstr "Volume du son : " #. ~ Imperative, as in "Enter/type in text". #. Don't forget the space. @@ -1995,18 +2103,19 @@ msgid "" "(Android) Fixes the position of virtual joystick.\n" "If disabled, virtual joystick will center to first-touch's position." msgstr "" -"(Android) Fixe la position du joystick virtuel.\n" -"Si désactivé, le joystick virtuel sera centré sur la position du doigt " +"(Android) Fixe la position de la manette virtuel.\n" +"Si désactivé, la manette virtuelle sera centrée sur la position du doigt " "principal." #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"(Android) Use virtual joystick to trigger \"aux\" button.\n" -"If enabled, virtual joystick will also tap \"aux\" button when out of main " +"(Android) Use virtual joystick to trigger \"Aux1\" button.\n" +"If enabled, virtual joystick will also tap \"Aux1\" button when out of main " "circle." msgstr "" -"(Android) Utiliser le joystick vrituel pour déclencher le bouton « aux ».\n" -"Si activé, le joystick virtuel va également appuyer sur le bouton « aux » " +"(Android) Utiliser la manette virtuelle pour déclencher le bouton « aux ».\n" +"Si activé, la manette virtuelle va également appuyer sur le bouton « aux » " "lorsqu'en dehors du cercle principal." #: src/settings_translation_file.cpp @@ -2021,16 +2130,14 @@ msgid "" "Range roughly -2 to 2. Multiply by 'scale' for offset in nodes." msgstr "" "(X,Y,Z) de décalage du fractal à partir du centre du monde en unités " -"« échelle ».\n" -"Peut être utilisé pour déplacer un point désiré à (0, 0) pour créer une\n" -"zone d'apparition convenable, ou pour autoriser à « zoomer » sur un\n" -"point désiré en augmentant l'« échelle ».\n" +"« échelle ».\n" +"Peut être utilisé pour déplacer un point désiré à (0, 0) pour créer une zone " +"d'apparition convenable, ou pour autoriser à « zoomer » sur un point désiré " +"en augmentant l'« échelle ».\n" "La valeur par défaut est adaptée pour créer une zone d'apparition convenable " -"pour les ensembles\n" -"de Mandelbrot crées avec des paramètres par défaut. Elle peut nécessiter une " -"modification dans\n" -"d'autres situations.\n" -"La gamme est d'environ -2 à 2. Multiplier par « échelle » pour le décalage " +"pour les ensembles de Mandelbrot crées avec des paramètres par défaut. Elle " +"peut nécessiter une modification dans d'autres situations.\n" +"La gamme est d'environ -2 à 2. Multiplier par « échelle » pour le décalage " "en nœuds." #: src/settings_translation_file.cpp @@ -2047,7 +2154,7 @@ msgstr "" "La taille des fractales sera 2 à 3 fais plus grande en réalité.\n" "Ces nombres peuvent être très grands, les fractales de devant\n" "pas être impérativement contenues dans le monde.\n" -"Augmentez-les pour « zoomer » dans les détails de la fractale.\n" +"Augmentez-les pour « zoomer » dans les détails de la fractale.\n" "Le réglage par défaut correspond à un forme écrasée verticalement, " "appropriée pour\n" "un île, rendez les 3 nombres égaux pour la forme de base." @@ -2112,9 +2219,8 @@ msgid "" "a value range of approximately -2.0 to 2.0." msgstr "" "Bruit 3D pour la structures des îles volantes.\n" -"Si la valeur par défaut est changée, le bruit « d'échelle » (0,7 par " -"défaut)\n" -"doit peut-être être ajustée, parce que l'effilage des îles volantes\n" +"Si la valeur par défaut est changée, le bruit « d'échelle » (0,7 par défaut) " +"doit peut-être être ajustée, parce que l'effilage des îles volantes " "fonctionne le mieux quand ce bruit est environ entre -2 et 2." #: src/settings_translation_file.cpp @@ -2148,14 +2254,14 @@ msgid "" "Note that the interlaced mode requires shaders to be enabled." msgstr "" "Support 3D.\n" -"Actuellement supporté :\n" -"- aucun : pas de sortie 3D.\n" -"- anaglyphe : couleur 3D bleu turquoise/violet.\n" -"- entrelacé : polarisation basée sur des lignes avec support de l'écran.\n" -"- horizontal : partage haut/bas de l'écran.\n" -"- vertical : séparation côte à côte de l'écran.\n" -"- vue mixte : 3D binoculaire.\n" -"- pageflip : 3D basé sur quadbuffer.\n" +"Actuellement supporté : \n" +"– aucun : pas de sortie 3D.\n" +"– anaglyphe : couleur 3D bleu turquoise/violet.\n" +"– entrelacé : polarisation basée sur des lignes avec support de l'écran.\n" +"– horizontal : partage haut/bas de l'écran.\n" +"– vertical : séparation côte à côte de l'écran.\n" +"– vue mixte : 3D binoculaire.\n" +"– pageflip : 3D basé sur quadbuffer.\n" "Notez que le mode entrelacé nécessite que les shaders soient activés." #: src/settings_translation_file.cpp @@ -2179,11 +2285,11 @@ msgstr "" #: src/settings_translation_file.cpp msgid "ABM interval" -msgstr "Intervalle des ABM" +msgstr "Intervalle « ABM »" #: src/settings_translation_file.cpp msgid "ABM time budget" -msgstr "" +msgstr "Budget de temps « ABM »" #: src/settings_translation_file.cpp msgid "Absolute limit of queued blocks to emerge" @@ -2245,12 +2351,12 @@ msgid "" "Value = 2.0 (can be higher depending on 'mgv7_np_floatland', always test\n" "to be sure) creates a solid floatland layer." msgstr "" -"Règle la densité de la couche de massifs volants.\n" -"La densité augmente avec cette valeur. Peut être positive ou négative.\n" -"Valeur égale à 0,0 implique 50 % du volume est du massif volant.\n" -"Valeur égale à 2,0 implique une couche de massifs volants solide\n" -"(peut dépendre de « mgv7_np_floatland », toujours vérifier pour\n" -"être sûr)." +"Règle la densité de la couche des îles volantes.\n" +"Augmenter la valeur pour augmenter la densité. Peut être positive ou " +"négative.\n" +"Valeur = 0,0 : 50 % du volume est île volante.\n" +"Valeur = 2,0 (peut être plus élevée selon « mgv7_np_floatland », toujours " +"vérifier pour être sûr) crée une couche d'île volante solide." #: src/settings_translation_file.cpp msgid "Advanced" @@ -2264,10 +2370,10 @@ msgid "" "This only has significant effect on daylight and artificial\n" "light, it has very little effect on natural night light." msgstr "" -"Il modifie la courbe de lumière en lui appliquant une \"correction gamma\".\n" +"Il modifie la courbe de lumière en lui appliquant une « correction gamma ».\n" "Des valeurs plus élevées rendent les niveaux de lumière moyens et inférieurs " "plus lumineux.\n" -"La valeur \"1.0\" laisse la courbe de lumière intacte.\n" +"La valeur « 1,0 » laisse la courbe de lumière intacte.\n" "Cela n'a d'effet significatif que sur la lumière du jour et les\n" "la lumière, et elle a très peu d'effet sur la lumière naturelle de la nuit." @@ -2320,8 +2426,8 @@ msgid "" "Arm inertia, gives a more realistic movement of\n" "the arm when the camera moves." msgstr "" -"Inertie du bras, donne un mouvement plus réaliste\n" -"du bras lors des mouvements de caméra." +"Inertie du bras, donne un mouvement plus réaliste du bras lors des " +"mouvements de caméra." #: src/settings_translation_file.cpp msgid "Ask to reconnect after crash" @@ -2341,15 +2447,13 @@ msgid "" "optimization.\n" "Stated in mapblocks (16 nodes)." msgstr "" -"À cette distance, le serveur va aggressivement optimiser quels blocs seront " -"envoyés aux\n" -"clients.\n" -"Des petites valeurs peuvent augmenter fortement la performance du serveur, " -"mais peut\n" -"provoquer l'apparition de problèmes de rendu visibles. (Certains blocs ne " -"seront pas affichés\n" -"sous l'eau ou dans les cavernes, ou parfois sur terre.)\n" -"Rendre cette valeur supérieure à max_block_send_distance désactive cette\n" +"À cette distance, le serveur va agressivement optimiser quels blocs seront " +"envoyés aux clients.\n" +"Des valeurs faibles peuvent augmenter fortement la performance du serveur, " +"mais peut provoquer l'apparition de problèmes de rendu visibles (certains " +"blocs ne seront pas affichés sous l'eau ou dans les cavernes, ou parfois sur " +"terre).\n" +"Une valeur supérieure à max_block_send_distance désactive cette " "optimisation.\n" "Définie en mapblocks (16 nœuds)." @@ -2367,12 +2471,22 @@ msgstr "Déclarer automatiquement le serveur à la liste des serveurs publics." #: src/settings_translation_file.cpp msgid "Autosave screen size" -msgstr "Sauver auto. la taile d'écran" +msgstr "Sauvegarde automatique de la taille d'écran" #: src/settings_translation_file.cpp msgid "Autoscaling mode" msgstr "Mode d'agrandissement automatique" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Aux1 key" +msgstr "Sauter" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Aux1 key for climbing/descending" +msgstr "Touche spéciale pour monter/descendre" + #: src/settings_translation_file.cpp msgid "Backward key" msgstr "Reculer" @@ -2391,7 +2505,7 @@ msgstr "Principal" #: src/settings_translation_file.cpp msgid "Basic privileges" -msgstr "Privilèges par défaut" +msgstr "Privilèges de base" #: src/settings_translation_file.cpp msgid "Beach noise" @@ -2417,10 +2531,6 @@ msgstr "Paramètres de bruit de température et d'humidité de l'API des biomes" msgid "Biome noise" msgstr "Bruit des biomes" -#: src/settings_translation_file.cpp -msgid "Bits per pixel (aka color depth) in fullscreen mode." -msgstr "Bits par pixel (profondeur de couleur) en mode plein-écran." - #: src/settings_translation_file.cpp msgid "Block send optimize distance" msgstr "Distance d'optimisation d'envoi des blocs" @@ -2456,13 +2566,12 @@ msgid "" "Increasing can reduce artifacting on weaker GPUs.\n" "0.1 = Default, 0.25 = Good value for weaker tablets." msgstr "" -"Distance en nœuds du plan de coupure rapproché de la caméra, entre 0 et " -"0,25.\n" -"Ne fonctionne uniquement que sur les plateformes GLES.\n" -"La plupart des utilisateurs n’auront pas besoin de changer cela.\n" -"L’augmentation peut réduire les anomalies sur des cartes graphique plus " -"faibles.\n" -"0,1 par défaut, 0,25 est une bonne valeur pour des composants faibles." +"Distance de la caméra 'près du plan de coupure' dans les nœuds, entre 0 et " +"0,25\n" +"Ne fonctionne que sur les plateformes GLES. La plupart des utilisateurs " +"n’auront pas besoin de changer cela.\n" +"L’augmentation peut réduire les artefacts sur des GPUs plus faibles.\n" +"0,1 = Défaut, 0,25 = Bonne valeur pour les tablettes plus faibles." #: src/settings_translation_file.cpp msgid "Camera smoothing" @@ -2482,11 +2591,11 @@ msgstr "Bruit des caves" #: src/settings_translation_file.cpp msgid "Cave noise #1" -msgstr "Bruit de cave nº 1" +msgstr "Bruit de cave nº 1" #: src/settings_translation_file.cpp msgid "Cave noise #2" -msgstr "Bruit de grotte nº 2" +msgstr "Bruit de grotte nº 2" #: src/settings_translation_file.cpp msgid "Cave width" @@ -2494,11 +2603,11 @@ msgstr "Largeur de la grotte" #: src/settings_translation_file.cpp msgid "Cave1 noise" -msgstr "Bruit des cave nº 1" +msgstr "Bruit des cave nº 1" #: src/settings_translation_file.cpp msgid "Cave2 noise" -msgstr "Bruit des caves nº 2" +msgstr "Bruit des caves nº 2" #: src/settings_translation_file.cpp msgid "Cavern limit" @@ -2525,13 +2634,18 @@ msgid "" "Center of light curve boost range.\n" "Where 0.0 is minimum light level, 1.0 is maximum light level." msgstr "" -"Gamme de poussée de courbe de centre de lumière.\n" -"Lorsque 0,0 est le niveau de lumière minimum, et 1,0 est le niveau de " -"lumière maximum." +"Centre de la plage d'amplification de la courbe de lumière.\n" +"Où 0,0 est le niveau de lumière minimale, et 1,0 est le niveau de lumière " +"maximale." + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Chat command time message threshold" +msgstr "Seuil de messages de discussion avant déconnexion forcée" #: src/settings_translation_file.cpp msgid "Chat font size" -msgstr "Taille de police du chat" +msgstr "Taille de police du tchat" #: src/settings_translation_file.cpp msgid "Chat key" @@ -2539,7 +2653,7 @@ msgstr "Tchatter" #: src/settings_translation_file.cpp msgid "Chat log level" -msgstr "Verbosité logicielle" +msgstr "Niveau du journal du tchat" #: src/settings_translation_file.cpp msgid "Chat message count limit" @@ -2547,7 +2661,7 @@ msgstr "Limite du nombre de message de discussion" #: src/settings_translation_file.cpp msgid "Chat message format" -msgstr "Format du message de chat" +msgstr "Format du message de tchat" #: src/settings_translation_file.cpp msgid "Chat message kick threshold" @@ -2555,11 +2669,11 @@ msgstr "Seuil de messages de discussion avant déconnexion forcée" #: src/settings_translation_file.cpp msgid "Chat message max length" -msgstr "Longueur maximum d'un message de chat" +msgstr "Longueur maximale d'un message de tchat" #: src/settings_translation_file.cpp msgid "Chat toggle key" -msgstr "Afficher le chat" +msgstr "Afficher le tchat" #: src/settings_translation_file.cpp msgid "Chatcommands" @@ -2623,7 +2737,12 @@ msgstr "Nuages dans le menu" #: src/settings_translation_file.cpp msgid "Colored fog" -msgstr "Brume colorée" +msgstr "Brouillard coloré" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Colored shadows" +msgstr "Brouillard coloré" #: src/settings_translation_file.cpp msgid "" @@ -2636,12 +2755,11 @@ msgid "" "so see a full list at https://content.minetest.net/help/content_flags/" msgstr "" "Liste des drapeaux à cacher du dépôt des contenus.\n" -"\"nonfree\" peut être utilisé pour cacher les paquets non libres,\n" -"comme défini par la Free Software Foundation.\n" +"« nonfree » peut être utilisé pour cacher les paquets non libres, comme " +"défini par la Free Software Foundation.\n" "Vous pouvez aussi spécifier des classifications de contenu.\n" -"Ces drapeaux sont indépendants des versions de Minetest,\n" -"consultez la liste complète à l'adresse https://content.minetest.net/help/" -"content_flags/" +"Ces drapeaux sont indépendants des versions de Minetest, consultez la liste " +"complète à l'adresse https://content.minetest.net/help/content_flags/" #: src/settings_translation_file.cpp msgid "" @@ -2659,9 +2777,8 @@ msgid "" "functions even when mod security is on (via request_insecure_environment())." msgstr "" "Liste séparée par des virgules des mods de confiance qui sont autorisés à " -"accéder aux fonctions non\n" -"sécurisées même lorsque l'option de sécurisation des mods est activée (via " -"request_insecure_environment())." +"accéder aux fonctions non sécurisées même lorsque l'option de sécurisation " +"des mods est activée (via request_insecure_environment())." #: src/settings_translation_file.cpp msgid "Command key" @@ -2681,11 +2798,11 @@ msgstr "Unifier le verre si le bloc le permet." #: src/settings_translation_file.cpp msgid "Console alpha" -msgstr "Opacité du fond de la console de jeu" +msgstr "Opacité de la console" #: src/settings_translation_file.cpp msgid "Console color" -msgstr "Couleur de la console de jeu" +msgstr "Couleur de la console" #: src/settings_translation_file.cpp msgid "Console height" @@ -2718,7 +2835,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Controls" -msgstr "Touches de contrôle" +msgstr "Contrôles" #: src/settings_translation_file.cpp msgid "" @@ -2727,7 +2844,7 @@ msgid "" "72 = 20min, 360 = 4min, 1 = 24hour, 0 = day/night/whatever stays unchanged." msgstr "" "Contrôle la durée complet du cycle jour/nuit.\n" -"Exemples :\n" +"Exemples : \n" "72 = 20 minutes, 360 = 4 minutes, 1 = 24 heures, 0 = jour/nuit/n'importe " "quoi éternellement." @@ -2767,11 +2884,12 @@ msgid "Crosshair alpha" msgstr "Opacité du réticule" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Crosshair alpha (opaqueness, between 0 and 255).\n" "Also controls the object crosshair color" -msgstr "Opacité du réticule (entre 0 et 255)." +msgstr "" +"Opacité du réticule (entre 0 et 255).\n" +"Contrôle également la couleur du réticule de l'objet" #: src/settings_translation_file.cpp msgid "Crosshair color" @@ -2782,10 +2900,12 @@ msgid "" "Crosshair color (R,G,B).\n" "Also controls the object crosshair color" msgstr "" +"Couleur du réticule (R,V,B).\n" +"Contrôle également la couleur du réticule de l'objet" #: src/settings_translation_file.cpp msgid "DPI" -msgstr "DPI" +msgstr "PPP" #: src/settings_translation_file.cpp msgid "Damage" @@ -2801,7 +2921,7 @@ msgstr "Seuil de la taille du fichier de journal" #: src/settings_translation_file.cpp msgid "Debug log level" -msgstr "Niveau de détails des infos de débogage" +msgstr "Niveau du journal de débogage" #: src/settings_translation_file.cpp msgid "Dec. volume key" @@ -2849,11 +2969,10 @@ msgstr "Taille d’empilement par défaut" #: src/settings_translation_file.cpp msgid "" -"Default timeout for cURL, stated in milliseconds.\n" -"Only has an effect if compiled with cURL." +"Define shadow filtering quality\n" +"This simulates the soft shadows effect by applying a PCF or poisson disk\n" +"but also uses more resources." msgstr "" -"Délais d'interruption de cURL par défaut, établi en millisecondes.\n" -"Seulement appliqué si Minetest est compilé avec cURL." #: src/settings_translation_file.cpp msgid "Defines areas where trees have apples." @@ -2897,7 +3016,7 @@ 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)." msgstr "" -"Détermine la distance maximale de transfert du joueur en mapblocks (0 = " +"Détermine la distance maximale de transfert du joueur en blocs (0 = " "illimité)." #: src/settings_translation_file.cpp @@ -2958,17 +3077,16 @@ msgid "" "When the 'snowbiomes' flag is enabled, this is ignored." msgstr "" "Des déserts apparaissent lorsque np_biome dépasse cette valeur.\n" -"Quand le flag 'snowbiomes' est activé, (avec le nouveau système de biomes), " -"ce paramètre est ignoré." +"Quand le drapeau « snowbiomes » est activé (avec le nouveau système de " +"biomes), ce paramètre est ignoré." #: src/settings_translation_file.cpp msgid "Desynchronize block animation" msgstr "Désynchroniser les textures animées par mapblock" #: src/settings_translation_file.cpp -#, fuzzy msgid "Dig key" -msgstr "Droite" +msgstr "Touche pour creuser" #: src/settings_translation_file.cpp msgid "Digging particles" @@ -2988,11 +3106,11 @@ msgstr "Nom de domaine du serveur affichée sur la liste des serveurs publics." #: src/settings_translation_file.cpp msgid "Double tap jump for fly" -msgstr "Double-appui sur « saut » pour voler" +msgstr "Double-appui sur « saut » pour voler" #: src/settings_translation_file.cpp msgid "Double-tapping the jump key toggles fly mode." -msgstr "Double-appui sur « saut » pour voler." +msgstr "Double-appui sur « saut » pour voler." #: src/settings_translation_file.cpp msgid "Drop item key" @@ -3000,7 +3118,7 @@ msgstr "Lâcher" #: src/settings_translation_file.cpp msgid "Dump the mapgen debug information." -msgstr "Afficher les infos de débogage de la génération de terrain." +msgstr "Afficher les informations de débogage de la génération de terrain." #: src/settings_translation_file.cpp msgid "Dungeon maximum Y" @@ -3030,22 +3148,27 @@ msgstr "" "Active le support des mods Lua sur le client.\n" "Ce support est expérimental et l'API peut changer." +#: src/settings_translation_file.cpp +msgid "" +"Enable colored shadows. \n" +"On true translucent nodes cast colored shadows. This is expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable console window" msgstr "Activer la console" #: src/settings_translation_file.cpp -#, fuzzy msgid "Enable creative mode for all players" -msgstr "Activer le mode créatif pour les cartes nouvellement créées." +msgstr "Activer le mode créatif pour tous les joueurs" #: src/settings_translation_file.cpp msgid "Enable joysticks" -msgstr "Activer les joysticks" +msgstr "Activer les manettes" #: src/settings_translation_file.cpp msgid "Enable mod channels support." -msgstr "Activer la sécurisation des mods." +msgstr "Activer le support des canaux de mods." #: src/settings_translation_file.cpp msgid "Enable mod security" @@ -3055,6 +3178,13 @@ msgstr "Activer la sécurisation des mods" msgid "Enable players getting damage and dying." msgstr "Active les dégâts et la mort des joueurs." +#: src/settings_translation_file.cpp +msgid "" +"Enable poisson disk filtering.\n" +"On true uses poisson disk to make \"soft shadows\". Otherwise uses PCF " +"filtering." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable random user input (only used for testing)." msgstr "" @@ -3091,9 +3221,8 @@ msgid "" msgstr "" "Activer pour empêcher les anciens clients de se connecter.\n" "Les anciens clients sont compatibles dans le sens où ils ne s'interrompent " -"pas lors de la connexion\n" -"aux serveurs récents, mais ils peuvent ne pas supporter certaines " -"fonctionnalités." +"pas lors de la connexion aux serveurs récents, mais ils peuvent ne pas " +"supporter certaines fonctionnalités." #: src/settings_translation_file.cpp msgid "" @@ -3104,8 +3233,8 @@ msgid "" msgstr "" "Activer l'usage d'un serveur de média distant (si pourvu par le serveur).\n" "Les serveurs de média distants offrent un moyen significativement plus " -"rapide de télécharger\n" -"des données média (ex. : textures) lors de la connexion au serveur." +"rapide de télécharger des données média (ex. : textures) lors de la " +"connexion au serveur." #: src/settings_translation_file.cpp msgid "" @@ -3121,7 +3250,7 @@ msgid "" "For example: 0 for no view bobbing; 1.0 for normal; 2.0 for double." msgstr "" "Facteur de mouvement de bras.\n" -"Par exemple : 0 = pas de mouvement, 1 = normal, 2 = double." +"Par exemple : 0 = pas de mouvement, 1 = normal, 2 = double." #: src/settings_translation_file.cpp msgid "" @@ -3140,11 +3269,11 @@ msgid "" "appearance of high dynamic range images. Mid-range contrast is slightly\n" "enhanced, highlights and shadows are gradually compressed." msgstr "" -"Permet à Hable 'Uncharted 2' de cartographier les tonalités du film.\n" -"Simule la courbe des tons du film photographique, ce qui se rapproche de la\n" +"Active le mappage de tons filmique 'Uncharted 2' de Hable.\n" +"Simule la courbe des tons du film photographique, ce qui se rapproche de la " "l'apparition d'images à plage dynamique élevée. Le contraste de milieu de " -"gamme est légèrement\n" -"améliorées, les reflets et les ombres sont progressivement compressés." +"gamme est légèrement améliorées, les reflets et les ombres sont " +"progressivement compressés." #: src/settings_translation_file.cpp msgid "Enables animation of inventory items." @@ -3152,7 +3281,7 @@ msgstr "Active la rotation des items d'inventaire." #: src/settings_translation_file.cpp msgid "Enables caching of facedir rotated meshes." -msgstr "Active la mise en cache des meshnodes." +msgstr "Active la mise en cache des maillages orientés." #: src/settings_translation_file.cpp msgid "Enables minimap." @@ -3166,9 +3295,8 @@ msgid "" "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" +"Si désactivé, cela désactive complètement tous les sons partout et les " +"commandes audio dans le jeu ne fonctionneront pas.\n" "La modification de ce paramètre nécessite un redémarrage." #: src/settings_translation_file.cpp @@ -3196,9 +3324,8 @@ msgstr "" "définie en bas, plus pour une couche solide de massif volant." #: src/settings_translation_file.cpp -#, fuzzy msgid "FPS when unfocused or paused" -msgstr "FPS maximum quand le jeu est en pause." +msgstr "FPS lorsqu’il n’est pas sélectionné ou mis en pause" #: src/settings_translation_file.cpp msgid "FSAA" @@ -3216,18 +3343,6 @@ msgstr "Intensité du mouvement de tête en tombant" msgid "Fallback font path" msgstr "Chemin de police alternative" -#: src/settings_translation_file.cpp -msgid "Fallback font shadow" -msgstr "Ombre de la police alternative" - -#: src/settings_translation_file.cpp -msgid "Fallback font shadow alpha" -msgstr "Opacité de l'ombre de la police alternative" - -#: src/settings_translation_file.cpp -msgid "Fallback font size" -msgstr "Taille de la police alternative" - #: src/settings_translation_file.cpp msgid "Fast key" msgstr "Mode rapide" @@ -3245,12 +3360,13 @@ msgid "Fast movement" msgstr "Mouvement rapide" #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"Fast movement (via the \"special\" key).\n" +"Fast movement (via the \"Aux1\" key).\n" "This requires the \"fast\" privilege on the server." msgstr "" -"Mouvement rapide (via la touche « utiliser »).\n" -"Nécessite le privilège « rapide» sur le serveur." +"Mouvement rapide (via la touche « spécial »).\n" +"Nécessite le privilège « fast » sur le serveur." #: src/settings_translation_file.cpp msgid "Field of view" @@ -3280,17 +3396,18 @@ msgstr "Bruit de profondeur de remplissage" #: src/settings_translation_file.cpp msgid "Filmic tone mapping" -msgstr "Cartographie des tonalités filmiques" +msgstr "Mappage de tons filmique" #: 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" -"light edge to transparent textures. Apply this filter to clean that up\n" -"at texture load time." +"which PNG optimizers usually discard, often resulting in dark or\n" +"light edges to transparent textures. Apply a filter to clean that up\n" +"at texture load time. This is automatically enabled if mipmapping is enabled." msgstr "" -"Les textures filtrées peuvent mélanger des valeurs RGB avec des zones 100 % " -"transparentes.\n" +"Les textures filtrées peuvent mélanger des valeurs RVB avec des zones " +"complètement transparentes, que les optimiseurs PNG ignorent généralement, " "aboutissant parfois à des bords foncés ou clairs sur les textures " "transparentes.\n" "Appliquer ce filtre pour nettoyer cela au chargement de la texture." @@ -3315,7 +3432,7 @@ msgstr "Graine de génération de terrain déterminée" #: src/settings_translation_file.cpp msgid "Fixed virtual joystick" -msgstr "Fixer le joystick virtuel" +msgstr "Fixer la manette virtuelle" #: src/settings_translation_file.cpp msgid "Floatland density" @@ -3355,7 +3472,7 @@ msgstr "Voler" #: src/settings_translation_file.cpp msgid "Fog" -msgstr "Brume" +msgstr "Brouillard" #: src/settings_translation_file.cpp msgid "Fog start" @@ -3363,7 +3480,7 @@ msgstr "Début du brouillard" #: src/settings_translation_file.cpp msgid "Fog toggle key" -msgstr "Brume" +msgstr "Brouillard" #: src/settings_translation_file.cpp msgid "Font bold by default" @@ -3371,7 +3488,7 @@ msgstr "La police est en gras par défaut" #: src/settings_translation_file.cpp msgid "Font italic by default" -msgstr "La police est en gras par défaut" +msgstr "La police est en italique par défaut" #: src/settings_translation_file.cpp msgid "Font shadow" @@ -3389,10 +3506,6 @@ msgstr "Taille de la police" 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 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)." @@ -3403,7 +3516,7 @@ msgid "" "Value 0 will use the default font size." msgstr "" "Taille de police (en pt) des messages récents et du curseur.\n" -"Une valeur nulle correspond à la taille par défaut." +"La valeur 0 correspond à la taille par défaut." #: src/settings_translation_file.cpp msgid "" @@ -3411,7 +3524,7 @@ msgid "" "placeholders:\n" "@name, @message, @timestamp (optional)" msgstr "" -"Format des messages de chat des joueurs. Substituts valides :\n" +"Format des messages de tchat des joueurs. Substituts valides : \n" "@name, @message, @timestamp (facultatif)" #: src/settings_translation_file.cpp @@ -3436,7 +3549,7 @@ msgstr "Opacité de l'arrière plan des formspec en plein écran" #: src/settings_translation_file.cpp msgid "Formspec default background color (R,G,B)." -msgstr "Couleur de fond de la console du jeu (R,G,B)." +msgstr "Couleur de fond de la console du jeu (R,V,B)." #: src/settings_translation_file.cpp msgid "Formspec default background opacity (between 0 and 255)." @@ -3444,7 +3557,7 @@ msgstr "Opacité de fond de la console du jeu (entre 0 et 255)." #: src/settings_translation_file.cpp msgid "Formspec full-screen background color (R,G,B)." -msgstr "Couleur de fond de la console du jeu (R,G,B)." +msgstr "Couleur de fond de la console du jeu (R,V,B)." #: src/settings_translation_file.cpp msgid "Formspec full-screen background opacity (between 0 and 255)." @@ -3497,21 +3610,17 @@ msgid "" "player is looking. (This can avoid mobs suddenly disappearing from view)" msgstr "" "Distance maximale à laquelle les clients ont connaissance des objets, " -"indiquée en mapblocks (16 nœuds).\n" +"définie en mapblocks (16 nœuds).\n" "\n" -"Si vous définissez une valeur supérieure à active_block_range, le serveur\n" -"va maintenir les objets actifs jusqu’à cette distance dans la direction où\n" -"un joueur regarde. (Cela peut éviter que des mobs disparaissent soudainement " -"de la vue.)" +"Si vous définissez une valeur supérieure à active_block_range, le serveur va " +"maintenir les objets actifs jusqu’à cette distance dans la direction où un " +"joueur regarde (cela peut éviter que des mobs disparaissent soudainement de " +"la vue)." #: src/settings_translation_file.cpp msgid "Full screen" msgstr "Plein écran" -#: src/settings_translation_file.cpp -msgid "Full screen BPP" -msgstr "Bits par pixel en mode plein écran" - #: src/settings_translation_file.cpp msgid "Fullscreen mode." msgstr "Mode plein écran." @@ -3526,7 +3635,7 @@ msgstr "Filtrage des images du GUI" #: src/settings_translation_file.cpp msgid "GUI scaling filter txr2img" -msgstr "Filtrage txr2img du GUI" +msgstr "Filtrage de mise à l'échelle txr2img du GUI" #: src/settings_translation_file.cpp msgid "Global callbacks" @@ -3539,17 +3648,16 @@ msgid "" "and junglegrass, in all other mapgens this flag controls all decorations." msgstr "" "Attributs de génération de terrain globaux.\n" -"Dans le générateur de terrain v6, le signal « décorations » contrôle toutes " -"les décorations sauf les arbres\n" -"et l’herbe de la jungle, dans tous les autres générateurs de terrain, ce " -"signal contrôle toutes les décorations." +"Dans le générateur de terrain v6, le signal « décorations » contrôle toutes " +"les décorations sauf les arbres et l’herbe de la jungle, dans tous les " +"autres générateurs de terrain, ce signal contrôle toutes les décorations." #: src/settings_translation_file.cpp msgid "" "Gradient of light curve at maximum light level.\n" "Controls the contrast of the highest light levels." msgstr "" -"Gradient de la courbe de lumière au niveau de lumière maximum. \n" +"Gradient de la courbe de lumière au niveau de lumière maximale.\n" "Contrôle le contraste de la lumière aux niveaux d'éclairage les plus élevés." #: src/settings_translation_file.cpp @@ -3557,12 +3665,12 @@ 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" +"Gradient de la courbe de lumière au niveau de lumière minimale.\n" "Contrôle le contraste de la lumière aux niveaux d'éclairage les plus bas." #: src/settings_translation_file.cpp msgid "Graphics" -msgstr "Options graphiques" +msgstr "Graphiques" #: src/settings_translation_file.cpp msgid "Gravity" @@ -3589,19 +3697,18 @@ msgid "HUD toggle key" msgstr "HUD" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Handling for deprecated Lua API calls:\n" "- none: Do not log deprecated calls\n" "- log: mimic and log backtrace of deprecated call (default).\n" "- error: abort on usage of deprecated call (suggested for mod developers)." msgstr "" -"Traitement des appels d'API Lua obsolètes :\n" -"- legacy : imite l'ancien comportement (par défaut en mode release).\n" -"- log : imite et enregistre la trace des appels obsolètes (par défaut en " +"Traitement des appels d'API Lua obsolètes : \n" +"– aucun : N'enregistre pas les appels obsolètes\n" +"– journal : imite et enregistre la trace des appels obsolètes (par défaut en " "mode debug).\n" -"- error : (=erreur) interruption à l'usage d'un appel obsolète " -"(recommandé pour les développeurs de mods)." +"– erreur : s'interrompt lors d'un appel obsolète (recommandé pour les " +"développeurs de mods)." #: src/settings_translation_file.cpp msgid "" @@ -3611,7 +3718,7 @@ msgid "" "call).\n" "* Instrument the sampler being used to update the statistics." msgstr "" -"Auto-instrumentaliser le profileur :\n" +"Auto-instrumentaliser le profileur : \n" "* Instrumentalise une fonction vide.\n" "La surcharge sera évaluée. (l'auto-instrumentalisation ajoute 1 appel de " "fonction à chaque fois).\n" @@ -3627,8 +3734,10 @@ msgid "Heat noise" msgstr "Bruit de chaleur" #: src/settings_translation_file.cpp -msgid "Height component of the initial window size." -msgstr "Résolution verticale de la fenêtre de jeu." +#, fuzzy +msgid "" +"Height component of the initial window size. Ignored in fullscreen mode." +msgstr "Composant de hauteur de la taille initiale de la fenêtre." #: src/settings_translation_file.cpp msgid "Height noise" @@ -3638,10 +3747,6 @@ msgstr "Bruit de hauteur" msgid "Height select noise" msgstr "Bruit de sélection de hauteur" -#: src/settings_translation_file.cpp -msgid "High-precision FPU" -msgstr "FPU de haute précision" - #: src/settings_translation_file.cpp msgid "Hill steepness" msgstr "Pente des collines" @@ -3840,16 +3945,17 @@ msgid "" "If negative, liquid waves will move backwards.\n" "Requires waving liquids to be enabled." msgstr "" -"La vitesse des vagues augmente avec cette valeur.\n" -"Une valeur négative inverse leur mouvement.\n" -"Nécessite que l'ondulation des liquides soit active." +"Vitesse à laquelle les ondes de liquides se déplacent. Plus élevé = plus " +"rapide.\n" +"Si elle est négative, les ondes de liquides se déplaceront en arrière.\n" +"Nécessite les liquides ondulants pour être activé." #: 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 "" -"Délais maximum jusqu'où le serveur va attendre avant de purger les mapblocks " +"Délai maximal jusqu'où le serveur va attendre avant de purger les mapblocks " "inactifs.\n" "Une valeur plus grande est plus confortable, mais utilise davantage de " "mémoire." @@ -3888,13 +3994,13 @@ msgstr "" "pour ne pas gaspiller inutilement les ressources du processeur." #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"If disabled, \"special\" key is used to fly fast if both fly and fast mode " -"are\n" +"If disabled, \"Aux1\" key is used to fly fast if both fly and fast mode are\n" "enabled." msgstr "" -"Si désactivé, la touche \"special\" est utilisée si le vole et le mode " -"rapide sont tous les deux activés." +"Si désactivé, la touche « spécial » est utilisée pour voler vite si les " +"modes vol et rapide sont activés." #: src/settings_translation_file.cpp msgid "" @@ -3905,10 +4011,10 @@ msgid "" "so that the utility of noclip mode is reduced." msgstr "" "Si activé, le serveur n'enverra pas les blocs qui ne sont pas visibles par\n" -"le client en fonction de sa position. Cela peut réduire de 50% à 80%\n" +"le client en fonction de sa position. Cela peut réduire de 50 % à 80 %\n" "le nombre de blocs envoyés. Le client ne pourra plus voir ces blocs à moins\n" -"de se déplacer, ce qui réduit l'efficacité des tricheries du style \"noclip" -"\"." +"de se déplacer, ce qui réduit l'efficacité des tricheries du style « noclip " +"»." #: src/settings_translation_file.cpp msgid "" @@ -3917,16 +4023,18 @@ msgid "" "This requires the \"noclip\" privilege on the server." msgstr "" "Si activé avec le mode vol, le joueur sera capable de traverser les blocs " -"solides en volant." +"solides en volant.\n" +"Nécessite le privilège « noclip » sur le serveur." #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"If enabled, \"special\" key instead of \"sneak\" key is used for climbing " -"down and\n" +"If enabled, \"Aux1\" key instead of \"Sneak\" key is used for climbing down " +"and\n" "descending." msgstr "" -"Si activé, la touche \"special\" est utilisée à la place de la touche " -"\"s’accroupir\" pour monter ou descendre." +"Si activé, la touche « spécial » est utilisée à la place de la touche " +"« s’accroupir » pour monter ou descendre." #: src/settings_translation_file.cpp msgid "" @@ -3947,7 +4055,7 @@ msgid "" msgstr "" "Si activé, les données invalides du monde ne causeront pas l'interruption du " "serveur.\n" -"Activer seulement si vous sachez ce que vous faites." +"Activer cette option seulement si vous savez ce que vous faites." #: src/settings_translation_file.cpp msgid "" @@ -3979,9 +4087,14 @@ msgid "" "limited\n" "to this distance from the player to the node." msgstr "" -"Si les restrictions CSM pour la distance des nodes sont activée, les appels " -"à get_node sont limités\n" -"à la distance entre le joueur et le node." +"Si la restriction CSM pour la distance des blocs est activé, les appels " +"get_node sont limités à la distance entre le joueur et le bloc." + +#: src/settings_translation_file.cpp +msgid "" +"If the execution of a chat command takes longer than this specified time in\n" +"seconds, add the time information to the chat command message" +msgstr "" #: src/settings_translation_file.cpp msgid "" @@ -4014,11 +4127,12 @@ msgstr "Opacité de fond de la console du jeu (entre 0 et 255)." #: src/settings_translation_file.cpp msgid "In-game chat console background color (R,G,B)." -msgstr "Couleur de fond de la console du jeu (R,G,B)." +msgstr "Couleur de fond de la console du jeu (R,V,B)." #: src/settings_translation_file.cpp msgid "In-game chat console height, between 0.1 (10%) and 1.0 (100%)." -msgstr "Hauteur de la console de tchat du jeu, entre 0.1 (10%) et 1.0 (100%)." +msgstr "" +"Hauteur de la console de tchat du jeu, entre 0,1 (10 %) et 1,0 (100 %)." #: src/settings_translation_file.cpp msgid "Inc. volume key" @@ -4039,7 +4153,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Instrument chatcommands on registration." -msgstr "Instrument d'enregistrement des commandes de chat." +msgstr "Instrument d'enregistrement des commandes de tchat." #: src/settings_translation_file.cpp msgid "" @@ -4121,8 +4235,8 @@ msgid "" "At iterations = 20 this mapgen has a similar load to mapgen V7." msgstr "" "Itérations de la fonction récursive.\n" -"L'augmenter augmente la quantité de détails, mais également\n" -"la charge du processeur.\n" +"L'augmenter augmente la quantité de détails, mais également la charge du " +"processeur.\n" "Quand itérations = 20 cette méthode de génération est aussi gourmande en " "ressources que la méthode v7." @@ -4132,16 +4246,15 @@ msgstr "ID de manette" #: src/settings_translation_file.cpp msgid "Joystick button repetition interval" -msgstr "Intervalle de répétition du bouton du Joystick" +msgstr "Intervalle de répétition des boutons de la manette" #: src/settings_translation_file.cpp -#, fuzzy msgid "Joystick deadzone" -msgstr "Type de manette" +msgstr "Zone morte de la manette" #: src/settings_translation_file.cpp msgid "Joystick frustum sensitivity" -msgstr "Sensibilité tronconique du joystick" +msgstr "Sensibilité tronconique de la manette" #: src/settings_translation_file.cpp msgid "Joystick type" @@ -4242,13 +4355,12 @@ msgstr "" "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for digging.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Touche pour sauter.\n" +"Touche pour creuser.\n" "Voir http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" @@ -4360,7 +4472,7 @@ msgid "" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Touche pour ouvrir la fenêtre du chat pour entrer des commandes.\n" +"Touche pour ouvrir la fenêtre du tchat pour entrer des commandes.\n" "Voir http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" @@ -4380,7 +4492,7 @@ msgid "" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Touche pour ouvrir la fenêtre de chat.\n" +"Touche pour ouvrir la fenêtre de tchat.\n" "Voir http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" @@ -4395,13 +4507,12 @@ msgstr "" "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for placing.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Touche pour sauter.\n" +"Touche pour placer.\n" "Voir http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" @@ -4835,7 +4946,7 @@ msgid "" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Touche pour passer en mode \"sans-collision\".\n" +"Touche pour passer en mode sans-collision.\n" "Voir http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" @@ -4866,7 +4977,7 @@ msgid "" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Touche pour afficher/cacher la zone de chat.\n" +"Touche pour afficher/cacher la zone de tchat.\n" "Voir http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" @@ -4886,7 +4997,7 @@ msgid "" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Touche pour afficher/cacher la brume.\n" +"Touche pour afficher/cacher le brouillard.\n" "Voir http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" @@ -4964,11 +5075,11 @@ msgstr "Profondeur des grandes caves" #: src/settings_translation_file.cpp msgid "Large cave maximum number" -msgstr "Grand nombre de grottes maximum" +msgstr "Nombre maximal de grandes grottes" #: src/settings_translation_file.cpp msgid "Large cave minimum number" -msgstr "Nombre minimum de grandes grottes" +msgstr "Nombre minimal de grandes grottes" #: src/settings_translation_file.cpp msgid "Large cave proportion flooded" @@ -4989,11 +5100,11 @@ msgid "" "- Simple: only outer faces, if defined special_tiles are used\n" "- Opaque: disable transparency" msgstr "" -"Apparence des feuilles d’arbres :\n" -"— Détaillée : toutes les faces sont visibles\n" -"— Simple : seulement les faces externes, si des « special_tiles » sont " +"Apparence des feuilles d’arbres : \n" +"– Détaillée : toutes les faces sont visibles\n" +"– Simple : seulement les faces externes, si des « special_tiles » sont " "définies\n" -"— Opaque : désactive la transparence" +"– Opaque : désactive la transparence" #: src/settings_translation_file.cpp msgid "Left key" @@ -5004,29 +5115,28 @@ msgid "" "Length of a server tick and the interval at which objects are generally " "updated over\n" "network." -msgstr "" -"Temps d'intervalle entre la mise à jour des objets sur le\n" -"réseau." +msgstr "Temps d'intervalle entre la mise à jour des objets sur le réseau." #: src/settings_translation_file.cpp msgid "" "Length of liquid waves.\n" "Requires waving liquids to be enabled." msgstr "" -"Longueur des vagues de liquides.\n" -"Nécessite que les liquides ondulatoires soit activé." +"Longueur des ondes de liquides.\n" +"Nécessite les liquides ondulants 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)" +msgstr "" +"Durée entre les cycles d’exécution du Modificateur de bloc actif (« ABM »)" #: src/settings_translation_file.cpp msgid "Length of time between NodeTimer execution cycles" -msgstr "Durée entre les cycles d’exécution NodeTimer" +msgstr "Durée entre les cycles d’exécution « NodeTimer »" #: src/settings_translation_file.cpp msgid "Length of time between active block management cycles" -msgstr "Temps entre les cycles de gestion des blocs actifs" +msgstr "Durée entre les cycles de gestion des blocs actifs" #: src/settings_translation_file.cpp msgid "" @@ -5039,22 +5149,22 @@ msgid "" "- info\n" "- verbose" msgstr "" -"Niveau de détails des infos de débogage écrits dans debug.txt :\n" -"- (pas d'infos)\n" -"- aucun (messages sans niveau)\n" -"- erreur\n" -"- avertissement\n" -"- action\n" -"- info\n" -"- prolixe" +"Niveau de journalisation à écrire dans debug.txt : \n" +"–  (pas de journalisation)\n" +"– aucun (messages sans niveau)\n" +"– erreur\n" +"– avertissement\n" +"– action\n" +"– info\n" +"– prolixe" #: src/settings_translation_file.cpp msgid "Light curve boost" -msgstr "Boost de courbe de lumière" +msgstr "Amplification de la courbe de lumière" #: src/settings_translation_file.cpp msgid "Light curve boost center" -msgstr "Centre de boost de courbe de lumière" +msgstr "Centre d'amplification de la courbe de lumière" #: src/settings_translation_file.cpp msgid "Light curve boost spread" @@ -5078,7 +5188,7 @@ msgid "" "Only mapchunks completely within the mapgen limit are generated.\n" "Value is stored per-world." msgstr "" -"Limite du génération de carte, en nœuds, dans les 6 directions à partir de " +"Limite du générateur de terrain, en nœuds, dans les 6 directions à partir de " "(0,0,0).\n" "Seules les tranches totalement comprises dans cette limite sont générées.\n" "Valeur différente pour chaque monde." @@ -5091,10 +5201,10 @@ msgid "" "- Downloads performed by main menu (e.g. mod manager).\n" "Only has an effect if compiled with cURL." msgstr "" -"Nombre limite de requête HTTP en parallèle. Affecte :\n" -"- L'obtention de média si le serveur utilise l'option remote_media.\n" -"- Le téléchargement de la liste des serveurs et l'annonce du serveur.\n" -"- Les téléchargements effectués par le menu (ex. : gestionnaire de mods).\n" +"Nombre limite de requête HTTP en parallèle. Affecte : \n" +"– L'obtention de média si le serveur utilise l'option remote_media.\n" +"– Le téléchargement de la liste des serveurs et l'annonce du serveur.\n" +"– Les téléchargements effectués par le menu (ex. : gestionnaire de mods).\n" "Prend seulement effet si Minetest est compilé avec cURL." #: src/settings_translation_file.cpp @@ -5119,11 +5229,11 @@ msgstr "Écoulement du liquide" #: src/settings_translation_file.cpp msgid "Liquid update interval in seconds." -msgstr "Intervalle de mise-à-jour des liquides en secondes." +msgstr "Intervalle de mise à jour des liquides en secondes." #: src/settings_translation_file.cpp msgid "Liquid update tick" -msgstr "Intervalle de mise-à-jour des liquides" +msgstr "Intervalle de mise à jour des liquides" #: src/settings_translation_file.cpp msgid "Load the game profiler" @@ -5159,26 +5269,20 @@ msgstr "Script du menu principal" msgid "" "Make fog and sky colors depend on daytime (dawn/sunset) and view direction." msgstr "" -"Rendre la couleur de la brume et du ciel différents selon l'heure du jour " +"Rendre la couleur du brouillard et du ciel différents selon l'heure du jour " "(aube/crépuscule) et la direction du regard." -#: src/settings_translation_file.cpp -msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." -msgstr "" -"Rendre DirectX compatible avec LuaJIT. Désactiver si cela cause des " -"problèmes." - #: src/settings_translation_file.cpp msgid "Makes all liquids opaque" msgstr "Rendre toutes les liquides opaques" #: src/settings_translation_file.cpp msgid "Map Compression Level for Disk Storage" -msgstr "" +msgstr "Niveau de compression des cartes pour le stockage sur disque" #: src/settings_translation_file.cpp msgid "Map Compression Level for Network Transfer" -msgstr "" +msgstr "Niveau de compression des cartes pour le transfert de réseau" #: src/settings_translation_file.cpp msgid "Map directory" @@ -5186,14 +5290,14 @@ msgstr "Répertoire de la carte du monde" #: src/settings_translation_file.cpp msgid "Map generation attributes specific to Mapgen Carpathian." -msgstr "Attributs spécifiques au Mapgen Carpathian." +msgstr "Attributs spécifiques au générateur de terrain carpatien." #: src/settings_translation_file.cpp msgid "" "Map generation attributes specific to Mapgen Flat.\n" "Occasional lakes and hills can be added to the flat world." msgstr "" -"Attributs de terrain spécifiques au générateur de monde plat.\n" +"Attributs spécifiques au générateur de terrain plat.\n" "Des lacs et des collines peuvent être occasionnellement ajoutés au monde " "plat." @@ -5203,9 +5307,9 @@ msgid "" "'terrain' enables the generation of non-fractal terrain:\n" "ocean, islands and underground." msgstr "" -"Attributs de terrain spécifiques au générateur de monde fractal.\n" -"'terrain' active la création de terrain non fractal,\n" -"c-à-d un océan, des îles et du souterrain." +"Attributs spécifiques au générateur de terrain fractal.\n" +"« terrain » active la création de terrain non fractal : océan, îles et " +"souterrain." #: src/settings_translation_file.cpp msgid "" @@ -5216,17 +5320,16 @@ msgid "" "to become shallower and occasionally dry.\n" "'altitude_dry': Reduces humidity with altitude." msgstr "" -"Attributs de génération du monde spécifiques au générateur Valleys.\n" -"‹altitude_chill› : Réduit la chaleur avec l’altitude.\n" -"‹humid_rivers› : Augmente l’humidité autour des rivières.\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 spécifiques au générateur de terrain vallées.\n" +"« altitude_chill » : Réduit la chaleur avec l’altitude.\n" +"« humid_rivers » : Augmente l’humidité autour des rivières.\n" +"« vary_river_dept » : Si activé, une humidité basse et une forte chaleur " +"rendent 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." -msgstr "Attributs spécifiques au Mapgen v5." +msgstr "Attributs spécifiques au générateur de terrain v5." #: src/settings_translation_file.cpp msgid "" @@ -5235,10 +5338,10 @@ msgid "" "When the 'snowbiomes' flag is enabled jungles are automatically enabled and\n" "the 'jungles' flag is ignored." msgstr "" -"Attributs de génération du monde spécifiques au générateur v6.\n" -"Le paramètre ‹snowbiomes› active le nouveau système à 5 biomes.\n" -"Sous ce nouveau système, la création de jungles est automatique\n" -"et le paramètre ‹jungles› est ignoré." +"Attributs spécifiques au générateur de terrain v6.\n" +"Le drapeau « snowbiomes » active le nouveau système à 5 biomes.\n" +"Sous ce nouveau système, la création de jungles est automatique et le " +"drapeau « jungles » est ignoré." #: src/settings_translation_file.cpp msgid "" @@ -5247,10 +5350,10 @@ msgid "" "'floatlands': Floating land masses in the atmosphere.\n" "'caverns': Giant caves deep underground." msgstr "" -"Attributs spécifiques au Mapgen v7.\n" -"- 'ridges', « crêtes » pour des rivières.\n" -"- 'floatlands', « massifs volant » massifs de terres atmosphèrique.\n" -"- 'caverns', « cavernes » pour des grottes immenses et profondes." +"Attributs spécifiques au générateur de terrain v7.\n" +"« crêtes » : pour des rivières.\n" +"« massifs volant » : massifs de terres atmosphérique.\n" +"« cavernes » : pour des grottes immenses et profondes." #: src/settings_translation_file.cpp msgid "Map generation limit" @@ -5260,6 +5363,11 @@ msgstr "Limites de génération du terrain" msgid "Map save interval" msgstr "Intervalle de sauvegarde de la carte" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Map update time" +msgstr "Intervalle de mise à jour des liquides" + #: src/settings_translation_file.cpp msgid "Mapblock limit" msgstr "Limite des mapblocks" @@ -5270,7 +5378,7 @@ msgstr "Délai de génération des maillages de MapBlocks" #: src/settings_translation_file.cpp msgid "Mapblock mesh generator's MapBlock cache size in MB" -msgstr "Taille du cache du générateur de maillage pour les MapBloc en Mo" +msgstr "Taille du cache de MapBlocks en Mo du générateur de maillage" #: src/settings_translation_file.cpp msgid "Mapblock unload timeout" @@ -5278,11 +5386,11 @@ msgstr "Délais d'interruption du déchargement des mapblocks" #: src/settings_translation_file.cpp msgid "Mapgen Carpathian" -msgstr "Générateur de terrain Carpatien" +msgstr "Générateur de terrain carpatien" #: src/settings_translation_file.cpp msgid "Mapgen Carpathian specific flags" -msgstr "Signaux spécifiques au générateur de terrain Carpatien" +msgstr "Drapeaux spécifiques au générateur de terrain carpatien" #: src/settings_translation_file.cpp msgid "Mapgen Flat" @@ -5290,31 +5398,31 @@ msgstr "Générateur de terrain plat" #: src/settings_translation_file.cpp msgid "Mapgen Flat specific flags" -msgstr "Signaux spécifiques au générateur de terrain plat" +msgstr "Drapeaux spécifiques au générateur de terrain plat" #: src/settings_translation_file.cpp msgid "Mapgen Fractal" -msgstr "Générateur de terrain Fractal" +msgstr "Générateur de terrain fractal" #: src/settings_translation_file.cpp msgid "Mapgen Fractal specific flags" -msgstr "Drapeaux spécifiques au générateur Fractal" +msgstr "Drapeaux spécifiques au générateur de terrain fractal" #: src/settings_translation_file.cpp msgid "Mapgen V5" -msgstr "Générateur de terrain V5" +msgstr "Générateur de terrain v5" #: src/settings_translation_file.cpp msgid "Mapgen V5 specific flags" -msgstr "Drapeaux spécifiques au générateur v5" +msgstr "Drapeaux spécifiques au générateur de terrain v5" #: src/settings_translation_file.cpp msgid "Mapgen V6" -msgstr "Générateur de terrain V6" +msgstr "Générateur de terrain v6" #: src/settings_translation_file.cpp msgid "Mapgen V6 specific flags" -msgstr "Drapeaux spécifiques au générateur V6" +msgstr "Drapeaux spécifiques au générateur de terrain v6" #: src/settings_translation_file.cpp msgid "Mapgen V7" @@ -5322,15 +5430,15 @@ msgstr "Générateur de terrain v7" #: src/settings_translation_file.cpp msgid "Mapgen V7 specific flags" -msgstr "Drapeaux spécifiques au générateur V7" +msgstr "Drapeaux spécifiques au générateur de terrain v7" #: src/settings_translation_file.cpp msgid "Mapgen Valleys" -msgstr "Générateur de terrain Vallées" +msgstr "Générateur de terrain vallées" #: src/settings_translation_file.cpp msgid "Mapgen Valleys specific flags" -msgstr "Signaux spécifiques au générateur de terrain Valleys" +msgstr "Drapeaux spécifiques au générateur de terrain vallées" #: src/settings_translation_file.cpp msgid "Mapgen debug" @@ -5338,7 +5446,7 @@ msgstr "Débogage de la génération du terrain" #: src/settings_translation_file.cpp msgid "Mapgen name" -msgstr "Nom du générateur de carte" +msgstr "Nom du générateur de terrain" #: src/settings_translation_file.cpp msgid "Max block generate distance" @@ -5358,16 +5466,21 @@ msgstr "Maximum d'extra-mapblocks par clearobjects" #: src/settings_translation_file.cpp msgid "Max. packets per iteration" -msgstr "Paquets maximum par itération" +msgstr "Paquets maximaux par itération" #: src/settings_translation_file.cpp msgid "Maximum FPS" msgstr "FPS maximum" #: src/settings_translation_file.cpp -#, fuzzy msgid "Maximum FPS when the window is not focused, or when the game is paused." -msgstr "FPS maximum quand le jeu est en pause." +msgstr "" +"FPS maximum lorsque la fenêtre n'est pas sélectionnée, ou lorsque le jeu est " +"en pause." + +#: src/settings_translation_file.cpp +msgid "Maximum distance to render shadows." +msgstr "" #: src/settings_translation_file.cpp msgid "Maximum forceloaded blocks" @@ -5392,8 +5505,7 @@ msgid "" "high speed." msgstr "" "Résistance maximale aux liquides. Contrôle la décélération lorsqu'un joueur " -"entre dans un liquide à\n" -"haute vitesse." +"entre dans un liquide à haute vitesse." #: src/settings_translation_file.cpp msgid "" @@ -5402,19 +5514,19 @@ msgid "" "max_total = ceil((#clients + max_users) * per_client / 4)" msgstr "" "Le nombre maximal de blocs qui sont envoyés simultanément par client.\n" -"Le compte total maximum est calculé dynamiquement :\n" -"max_total = ceil((nbre clients + max_users) * per_client / 4)" +"Le compte total maximal est calculé dynamiquement : \n" +"max_total = ceil((nbre clients + max_users) × per_client ÷ 4)" #: src/settings_translation_file.cpp msgid "Maximum number of blocks that can be queued for loading." -msgstr "Nombre maximum de mapblocks qui peuvent être listés pour chargement." +msgstr "Nombre maximal de mapblocks qui peuvent être listés pour chargement." #: src/settings_translation_file.cpp msgid "" "Maximum number of blocks to be queued that are to be generated.\n" "This limit is enforced per player." msgstr "" -"Nombre maximum de mapblocks à lister qui doivent être générés.\n" +"Nombre maximal de mapblocks à lister qui doivent être générés.\n" "Laisser ce champ vide pour un montant approprié défini automatiquement." #: src/settings_translation_file.cpp @@ -5422,7 +5534,7 @@ msgid "" "Maximum number of blocks to be queued that are to be loaded from file.\n" "This limit is enforced per player." msgstr "" -"Nombre maximum de mapblocks à lister qui doivent être générés depuis un " +"Nombre maximal de mapblocks à lister qui doivent être générés depuis un " "fichier.\n" "Laisser ce champ vide pour un montant approprié défini automatiquement." @@ -5432,17 +5544,20 @@ msgid "" "be queued.\n" "This should be lower than curl_parallel_limit." msgstr "" +"Nombre maximal de téléchargements simultanés. Les téléchargements dépassant " +"cette limite seront mis en file d'attente.\n" +"Ce nombre doit être inférieur à la limite de curl_parallel_limit." #: src/settings_translation_file.cpp msgid "Maximum number of forceloaded mapblocks." -msgstr "Nombre maximum de mapblocks chargés de force." +msgstr "Nombre maximal de mapblocks chargés de force." #: src/settings_translation_file.cpp msgid "" "Maximum number of mapblocks for client to be kept in memory.\n" "Set to -1 for unlimited amount." msgstr "" -"Nombre maximum de mapblocks gardés dans la mémoire du client.\n" +"Nombre maximal de mapblocks gardés dans la mémoire du client.\n" "Définir à -1 pour un montant illimité." #: src/settings_translation_file.cpp @@ -5451,11 +5566,9 @@ msgid "" "try reducing it, but don't reduce it to a number below double of targeted\n" "client number." msgstr "" -"Nombre maximum de paquets envoyés par étape d'envoi. Si vous avez une " -"connexion lente,\n" -"essayez de réduire cette valeur, mais réduisez pas cette valeur en-dessous " -"du double du nombre\n" -"de clients maximum sur le serveur." +"Nombre maximal de paquets envoyés par étape d'envoi. Si vous avez une " +"connexion lente, essayez de réduire cette valeur, mais réduisez pas cette " +"valeur en-dessous du double du nombre de clients maximum sur le serveur." #: src/settings_translation_file.cpp msgid "Maximum number of players that can be connected simultaneously." @@ -5463,11 +5576,11 @@ msgstr "Nombre maximal de joueurs qui peuvent être connectés en même temps." #: src/settings_translation_file.cpp msgid "Maximum number of recent chat messages to show" -msgstr "Nombre maximum de message récent à afficher" +msgstr "Nombre maximal de message récent à afficher" #: src/settings_translation_file.cpp msgid "Maximum number of statically stored objects in a block." -msgstr "Nombre maximum d'objets sauvegardés dans un mapblock (16^3 blocs)." +msgstr "Nombre maximal d'objets sauvegardés dans un mapblock (16^3 blocs)." #: src/settings_translation_file.cpp msgid "Maximum objects per block" @@ -5487,7 +5600,7 @@ msgstr "Nombre maximal de blocs simultanés envoyés par client" #: src/settings_translation_file.cpp msgid "Maximum size of the out chat queue" -msgstr "Taille maximum de la file de sortie de message du chat" +msgstr "Taille maximale de la file de sortie de message du tchat" #: src/settings_translation_file.cpp msgid "" @@ -5498,14 +5611,23 @@ msgstr "" "0 pour désactiver la file d’attente et -1 pour rendre la taille infinie." #: src/settings_translation_file.cpp -msgid "Maximum time in ms a file download (e.g. a mod download) may take." +#, fuzzy +msgid "" +"Maximum time a file download (e.g. a mod download) may take, stated in " +"milliseconds." msgstr "" -"Délais maximaux de téléchargement d'un fichier (ex. : un mod), établi en " +"Délais maximaux de téléchargement d'un fichier (ex. : un mod), établi en " "millisecondes." +#: src/settings_translation_file.cpp +msgid "" +"Maximum time an interactive request (e.g. server list fetch) may take, " +"stated in milliseconds." +msgstr "" + #: src/settings_translation_file.cpp msgid "Maximum users" -msgstr "Joueurs maximum" +msgstr "Joueurs maximums" #: src/settings_translation_file.cpp msgid "Menus" @@ -5513,7 +5635,7 @@ msgstr "Menus" #: src/settings_translation_file.cpp msgid "Mesh cache" -msgstr "Mise en cache des meshes" +msgstr "Mise en cache des maillages" #: src/settings_translation_file.cpp msgid "Message of the day" @@ -5529,7 +5651,7 @@ msgstr "Méthodes utilisées pour l'éclairage des objets." #: src/settings_translation_file.cpp msgid "Minimal level of logging to be written to chat." -msgstr "Verbosité minimale du log dans le chat." +msgstr "Niveau minimal de journalisation à écrire dans le tchat." #: src/settings_translation_file.cpp msgid "Minimap" @@ -5541,7 +5663,7 @@ msgstr "Mini-carte" #: src/settings_translation_file.cpp msgid "Minimap scan height" -msgstr "Hauteur de scannage de la mini-carte" +msgstr "Hauteur de balayage de la mini-carte" #: src/settings_translation_file.cpp msgid "Minimum limit of random number of large caves per mapchunk." @@ -5553,7 +5675,7 @@ msgstr "Minimum pour le nombre de petites grottes par mapchunk tiré au hasard." #: src/settings_translation_file.cpp msgid "Minimum texture size" -msgstr "Taille minimum des textures" +msgstr "Taille minimale des textures" #: src/settings_translation_file.cpp msgid "Mipmapping" @@ -5609,7 +5731,7 @@ msgid "" "For example: 0 for no view bobbing; 1.0 for normal; 2.0 for double." msgstr "" "Facteur de mouvement de bras en tombant.\n" -"Exemples : 0 = aucun mouvement, 1 = normal, 2 = double." +"Exemples : 0 = aucun mouvement, 1 = normal, 2 = double." #: src/settings_translation_file.cpp msgid "Mute key" @@ -5629,8 +5751,8 @@ msgstr "" "Nom du générateur de terrain qui sera utilisé à la création d’un nouveau " "monde.\n" "Cela sera perdu à la création d'un monde depuis le menu principal.\n" -"Les générateurs actuellement très instables sont :\n" -"- Les massifs volants du générateur v7 (option inactive par défaut)." +"Les générateurs de terrain actuellement très instables sont : \n" +"– Les massifs volants du générateur v7 (option inactive par défaut)." #: src/settings_translation_file.cpp msgid "" @@ -5640,7 +5762,8 @@ msgid "" msgstr "" "Nom du joueur.\n" "Lors qu'un serveur est lancé, les clients se connectant avec ce nom sont " -"administrateurs." +"administrateurs.\n" +"Lorsque vous démarrez à partir du menu principal, celui-ci est remplacé." #: src/settings_translation_file.cpp msgid "" @@ -5683,7 +5806,7 @@ msgstr "Surbrillance des blocs" #: src/settings_translation_file.cpp msgid "NodeTimer interval" -msgstr "Intervalle de temps d'un nœud" +msgstr "Intervalle « NodeTimer »" #: src/settings_translation_file.cpp msgid "Noises" @@ -5706,17 +5829,19 @@ msgid "" "processes, especially in singleplayer and/or when running Lua code in\n" "'on_generated'. For many users the optimum setting may be '1'." msgstr "" -"Nombre de threads « emerge » à utiliser.\n" -"Valeur nulle :\n" -"— Sélection automatique. Le nombre de threads sera le\n" -"« nombre de processeurs moins 2 », avec un minimum de 1.\n" -"Toute autre valeur :\n" -"— Spécifie le nombre de threads, avec un minimum de 1.\n" -"ATTENTION : augmenter le nombre de threads accélère bien la création\n" -"de terrain, mais cela peut nuire à la performance du jeu en interférant\n" -"avec d’autres processus, en particulier en mode solo ou lors de \n" -"l’exécution du code Lua en mode « on_generated ».\n" -"Pour beaucoup, le réglage optimal peut être « 1 »." +"Nombre de processus « emerge » à utiliser.\n" +"Valeur 0 : \n" +"– Sélection automatique. Le nombre de processus sera le\n" +"– « nombre de processeurs - 2 », avec un minimum de 1.\n" +"Toute autre valeur : \n" +"– Spécifie le nombre de processus, avec un minimum de 1.\n" +"ATTENTION : Augmenter le nombre de processus « emerge » accélère bien la\n" +"création de terrain, mais cela peut nuire à la performance du jeu en " +"interférant\n" +"avec d’autres processus, en particulier en mode solo et/ou lors de " +"l’exécution de\n" +"code Lua en mode « on_generated ». Pour beaucoup, le réglage optimal peut " +"être « 1 »." #: src/settings_translation_file.cpp msgid "" @@ -5744,20 +5869,15 @@ msgid "" 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." msgstr "" -"Ouvrir le mesure pause lorsque le focus sur la fenêtre est perdu. Ne met pas " -"en pause si un formspec est ouvert." +"Ouvre le menu pause lorsque la sélection de la fenêtre est perdue. Ne met " +"pas en pause\n" +"si un formspec est ouvert." #: src/settings_translation_file.cpp msgid "" @@ -5768,8 +5888,8 @@ msgid "" "unavailable." msgstr "" "Chemin de la police de repli.\n" -"Si le paramètre \"freetype\" est activé : doit être une police TrueType.\n" -"Si le paramètre \"freetype\" est désactivé : doit être une police de " +"Si le paramètre « freetype » est activé : doit être une police TrueType.\n" +"Si le paramètre « freetype » est désactivé : doit être une police de " "vecteurs bitmap ou XML.\n" "Cette police sera utilisée pour certaines langues ou si la police par défaut " "n’est pas disponible." @@ -5804,8 +5924,8 @@ msgid "" "The fallback font will be used if the font cannot be loaded." msgstr "" "Chemin vers la police par défaut.\n" -"Si le paramètre \"freetype\" est activé : doit être une police TrueType.\n" -"Si le paramètre \"freetype\" est désactivé : doit être une police de " +"Si le paramètre « freetype » est activé : doit être une police TrueType.\n" +"Si le paramètre « freetype » est désactivé : doit être une police de " "vecteurs bitmap ou XML.\n" "La police de rentrée sera utilisée si la police ne peut pas être chargée." @@ -5817,15 +5937,15 @@ msgid "" "This font is used for e.g. the console and profiler screen." msgstr "" "Chemin vers la police monospace.\n" -"Si \"freetype\" est activé : doit être une police TrueType.\n" -"Si \"freetype\" est désactivé : doit être une police de vecteurs bitmap ou " -"XML.\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 par exemple pour la console et l’écran du " "profileur." #: src/settings_translation_file.cpp msgid "Pause on lost window focus" -msgstr "Mettre en pause sur perte du focus de la fenêtre" +msgstr "Mettre en pause sur perte de sélection de la fenêtre" #: src/settings_translation_file.cpp msgid "Per-player limit of queued blocks load from disk" @@ -5848,14 +5968,12 @@ msgid "Pitch move mode" msgstr "Mode de mouvement libre" #: src/settings_translation_file.cpp -#, fuzzy msgid "Place key" -msgstr "Voler" +msgstr "Touche pour placer" #: src/settings_translation_file.cpp -#, fuzzy msgid "Place repetition interval" -msgstr "Intervalle de répétition du clic droit" +msgstr "Intervalle de répétition du placement" #: src/settings_translation_file.cpp msgid "" @@ -5863,7 +5981,7 @@ msgid "" "This requires the \"fly\" privilege on the server." msgstr "" "Le joueur est capable de voler sans être affecté par la gravité.\n" -"Nécessite le privilège \"fly\" sur un serveur." +"Nécessite le privilège « fly » sur le serveur." #: src/settings_translation_file.cpp msgid "Player name" @@ -5877,6 +5995,11 @@ msgstr "Distance de transfert du joueur" msgid "Player versus player" msgstr "Joueur contre joueur" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Poisson filtering" +msgstr "Filtrage bilinéaire" + #: src/settings_translation_file.cpp msgid "" "Port to connect to (UDP).\n" @@ -5954,7 +6077,7 @@ msgid "" "corners." msgstr "" "Rayon de l'aire des nuages où se trouve 64 blocs carrés de nuages.\n" -"Les valeurs plus grandes que 26 entraînent une \"coupure\" nette des nuages " +"Les valeurs plus grandes que 26 entraînent une « coupure » nette des nuages " "aux coins de l'aire." #: src/settings_translation_file.cpp @@ -6016,14 +6139,15 @@ msgid "" "READ_PLAYERINFO: 32 (disable get_player_names call client-side)" msgstr "" "Limite l'accès de certaines fonctions côté client sur les serveurs\n" -"Combiner les byteflags si dessous pour restraindre ou mettre 0\n" -"pour laisser sans restriction.\n" -"LOAD_CLIENT_MODS : 1 (désactive le chargement des mods du client)\n" -"CHAT_MESSAGES : 2 (désactivez l'appel send_chat_message côté client)\n" -"READ_ITEMDEFS : 4 (désactivez l'appel get_item_def côté client)\n" -"READ_NODEDEFS : 8 (désactiver l'appel côté client de get_node_def)\n" -"LOOKUP_NODES_LIMIT : 16 (limite les appels get_node côté client à\n" -"csm_restriction_noderange)" +"Combiner les byteflags ci dessous pour restreindre les fonctionnalités " +"client, ou mettre 0 pour laisser sans restriction : \n" +"LOAD_CLIENT_MODS : 1 (désactive le chargement des mods client)\n" +"CHAT_MESSAGES : 2 (désactive l'appel send_chat_message côté client)\n" +"READ_ITEMDEFS : 4 (désactive l'appel get_item_def côté client)\n" +"READ_NODEDEFS : 8 (désactive l'appel get_node_def côté client)\n" +"LOOKUP_NODES_LIMIT : 16 (limite l'appel get_node côté client à " +"csm_restriction_noderange)\n" +"READ_PLAYERINFO : 32 (désactive l'appel get_player_names côté client)" #: src/settings_translation_file.cpp msgid "Ridge mountain spread noise" @@ -6096,7 +6220,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Save the map received by the client on disk." -msgstr "Sauvegarde le monde du serveur sur le disque-dur du client." +msgstr "Sauvegarde le monde du serveur sur le disque dur du client." #: src/settings_translation_file.cpp msgid "Save window size automatically when modified." @@ -6150,7 +6274,7 @@ msgid "" "Use 0 for default quality." msgstr "" "Qualité de capture d'écran. Utilisé uniquement pour le format JPEG.\n" -"1 signifie mauvaise qualité ; 100 signifie la meilleure qualité.\n" +"1 signifie mauvaise qualité ; 100 signifie la meilleure qualité.\n" "Utilisez 0 pour la qualité par défaut." #: src/settings_translation_file.cpp @@ -6177,7 +6301,7 @@ msgstr "Voir http://www.sqlite.org/pragma.html#pragma_synchronous" #: src/settings_translation_file.cpp msgid "Selection box border color (R,G,B)." -msgstr "Couleur des bords de sélection (R,G,B)." +msgstr "Couleur des bords de sélection (R,V,B)." #: src/settings_translation_file.cpp msgid "Selection box color" @@ -6210,24 +6334,24 @@ msgid "" "18 = 4D \"Mandelbulb\" Julia set." msgstr "" "Choisit parmi 18 types de fractales.\n" -"1 = réglage Mandelbrot \"Roundy\" 4D.\n" -"2 = réglage Julia \"Roundy\" 4D.\n" -"3 = réglage Mandelbrot \"Squarry\" 4D.\n" -"4 = réglage Julia \"Squarry\" 4D.\n" -"5 = réglage Mandelbrot \"Cousin Mandy\" 4D.\n" -"6 = réglage Julia \"Cousin Mandy\" 4D.\n" -"7 = réglage Mandelbrot \"Variation\" 4D.\n" -"8 = réglage Julia \"Variation\" 4D.\n" -"9 = réglage Mandelbrot \"Mandelbrot/Mandelbar\" 3D.\n" -"10 = réglage Julia \"Mandelbrot/Mandelbar\" 3D.\n" -"11 = réglage Mandelbrot \"Christmas Tree\" 3D.\n" -"12 = réglage Julia \"Christmas Tree\" 3D.\n" -"13 = réglage Mandelbrot \"Mandelbulb\" 3D.\n" -"14 = réglage Julia \"Mandelbulb\" 3D.\n" -"15 = réglage Mandelbrot \"Cosine Mandelbulb\" 3D.\n" -"16 = réglage Julia \"Cosine Mandelbulb\" 3D.\n" -"17 = réglage Mandelbrot \"Mandelbulb\" 4D.\n" -"18 = réglage Julia \"Mandelbulb\" 4D." +"1 = réglage Mandelbrot « Roundy » 4D.\n" +"2 = réglage Julia « Roundy » 4D.\n" +"3 = réglage Mandelbrot « Squarry » 4D.\n" +"4 = réglage Julia « Squarry » 4D.\n" +"5 = réglage Mandelbrot « Cousin Mandy » 4D.\n" +"6 = réglage Julia « Cousin Mandy » 4D.\n" +"7 = réglage Mandelbrot « Variation » 4D.\n" +"8 = réglage Julia « Variation » 4D.\n" +"9 = réglage Mandelbrot « Mandelbrot/Mandelbar » 3D.\n" +"10 = réglage Julia « Mandelbrot/Mandelbar » 3D.\n" +"11 = réglage Mandelbrot « Christmas Tree » 3D.\n" +"12 = réglage Julia « Christmas Tree » 3D.\n" +"13 = réglage Mandelbrot « Mandelbulb » 3D.\n" +"14 = réglage Julia « Mandelbulb » 3D.\n" +"15 = réglage Mandelbrot « Cosine Mandelbulb » 3D.\n" +"16 = réglage Julia « Cosine Mandelbulb » 3D.\n" +"17 = réglage Mandelbrot « Mandelbulb » 4D.\n" +"18 = réglage Julia « Mandelbulb » 4D." #: src/settings_translation_file.cpp msgid "Server / Singleplayer" @@ -6271,7 +6395,7 @@ msgid "" "A restart is required after changing this." msgstr "" "Détermine la langue. Laisser vide pour utiliser celui de votre système.\n" -"Un redémarrage du jeu est nécessaire pour prendre effet." +"Un redémarrage est nécessaire après cette modification." #: src/settings_translation_file.cpp msgid "Set the maximum character length of a chat message sent by clients." @@ -6279,21 +6403,57 @@ msgstr "" "Définir la longueur maximale de caractères d'un message de discussion envoyé " "par les clients." +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow strength.\n" +"Lower value means lighter shadows, higher value means darker shadows." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow update time.\n" +"Lower value means shadows and map updates faster, but it consume more " +"resources.\n" +"Minimun value 0.001 seconds max value 0.2 seconds" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the soft shadow radius size.\n" +"Lower values mean sharper shadows bigger values softer.\n" +"Minimun value 1.0 and max value 10.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the tilt of Sun/Moon orbit in degrees\n" +"Value of 0 means no tilt / vertical orbit.\n" +"Minimun value 0.0 and max value 60.0" +msgstr "" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "" +"Set to true to enable Shadow Mapping.\n" +"Requires shaders to be enabled." +msgstr "" +"Mettre sur « Activé » active les feuilles ondulantes.\n" +"Nécessite les shaders pour être activé." + #: src/settings_translation_file.cpp msgid "" "Set to true to enable waving leaves.\n" "Requires shaders to be enabled." msgstr "" -"Mettre sur « true » active le mouvement des\n" -"feuilles d'arbres mouvantes. Nécessite les\n" -"shaders pour être activé." +"Mettre sur « Activé » active les feuilles ondulantes.\n" +"Nécessite les shaders pour être activé." #: src/settings_translation_file.cpp msgid "" "Set to true to enable waving liquids (like water).\n" "Requires shaders to be enabled." msgstr "" -"Mettre sur « true » active les vagues.\n" +"Mettre sur « Activé » active les liquides ondulants (comme l'eau).\n" "Nécessite les shaders pour être activé." #: src/settings_translation_file.cpp @@ -6301,10 +6461,16 @@ msgid "" "Set to true to enable waving plants.\n" "Requires shaders to be enabled." msgstr "" -"Mettre sur « true » active le mouvement\n" -"des végétaux.\n" +"Mettre sur « Activé » active le mouvement des végétaux.\n" "Nécessite les shaders pour être activé." +#: src/settings_translation_file.cpp +msgid "" +"Sets shadow texture quality to 32 bits.\n" +"On false, 16 bits texture will be used.\n" +"This can cause much more artifacts in the shadow." +msgstr "" + #: src/settings_translation_file.cpp msgid "Shader path" msgstr "Chemin des shaders" @@ -6320,6 +6486,24 @@ msgstr "" "performances sur certaines cartes graphiques.\n" "Fonctionne seulement avec OpenGL." +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Shadow filter quality" +msgstr "Qualité des captures d'écran" + +#: src/settings_translation_file.cpp +msgid "Shadow map max distance in nodes to render shadows" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture in 32 bits" +msgstr "" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Shadow map texture size" +msgstr "Taille minimale des textures" + #: src/settings_translation_file.cpp msgid "" "Shadow offset (in pixels) of the default font. If 0, then shadow will not be " @@ -6329,12 +6513,8 @@ msgstr "" "valeur est 0." #: src/settings_translation_file.cpp -msgid "" -"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not " -"be drawn." +msgid "Shadow strength" msgstr "" -"Décalage de l'ombre de la police de secours (en pixel). Aucune ombre si la " -"valeur est 0." #: src/settings_translation_file.cpp msgid "Shape of the minimap. Enabled = round, disabled = square." @@ -6349,18 +6529,16 @@ msgid "Show entity selection boxes" msgstr "Afficher les boîtes de sélection de l'entité" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Show entity selection boxes\n" "A restart is required after changing this." msgstr "" -"Détermine la langue. Laisser vide pour utiliser celui de votre système.\n" -"Un redémarrage du jeu est nécessaire pour prendre effet." +"Afficher les boîtes de sélection de l'entité\n" +"Un redémarrage est nécessaire après cette modification." #: src/settings_translation_file.cpp -#, fuzzy msgid "Show nametag backgrounds by default" -msgstr "La police est en gras par défaut" +msgstr "Afficher l'arrière-plan des badges par défaut" #: src/settings_translation_file.cpp msgid "Shutdown message" @@ -6375,14 +6553,13 @@ msgid "" "Altering this value is for special usage, leaving it unchanged is\n" "recommended." msgstr "" -"Taille des mapchunks générés par mapgen, indiquée dans les mapblocks (16 " -"nœuds).\n" -"ATTENTION ! : Il n’y a aucun avantage, et plusieurs dangers, à\n" -"augmenter cette valeur au-dessus de 5.\n" +"Taille des mapchunks générés à la création de terrain, définie en mapblocks " +"(16 nœuds).\n" +"ATTENTION ! : Il n’y a aucun avantage, et plusieurs dangers, à augmenter " +"cette valeur au-dessus de 5.\n" "Réduire cette valeur augmente la densité de cavernes et de donjons.\n" "La modification de cette valeur est réservée à un usage spécial. Il est " -"conseillé\n" -"de la laisser inchangée." +"conseillé de la laisser inchangée." #: src/settings_translation_file.cpp msgid "" @@ -6394,6 +6571,10 @@ msgstr "" "ceci augmente le % d'interception du cache et réduit la copie de données\n" "dans le fil principal, réduisant les tremblements." +#: src/settings_translation_file.cpp +msgid "Sky Body Orbit Tilt" +msgstr "" + #: src/settings_translation_file.cpp msgid "Slice w" msgstr "Largeur de part" @@ -6405,11 +6586,11 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Small cave maximum number" -msgstr "Nombre maximum de petites grottes" +msgstr "Nombre maximal de petites grottes" #: src/settings_translation_file.cpp msgid "Small cave minimum number" -msgstr "Nombre maximum de petites grottes" +msgstr "Nombre minimal de petites grottes" #: src/settings_translation_file.cpp msgid "Small-scale humidity variation for blending biomes on borders." @@ -6454,18 +6635,15 @@ msgstr "Vitesse d'accroupissement" msgid "Sneaking speed, in nodes per second." msgstr "Vitesse furtive, en blocs par seconde." +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Soft shadow radius" +msgstr "Opacité de l'ombre de la police" + #: src/settings_translation_file.cpp msgid "Sound" msgstr "Audio" -#: src/settings_translation_file.cpp -msgid "Special key" -msgstr "Touche spéciale" - -#: src/settings_translation_file.cpp -msgid "Special key for climbing/descending" -msgstr "Touche spéciale pour monter/descendre" - #: src/settings_translation_file.cpp msgid "" "Specifies URL from which client fetches media instead of using UDP.\n" @@ -6476,8 +6654,7 @@ msgstr "" "Spécifie l'URL à laquelle les clients obtiennent les fichiers média au lieu " "d'utiliser le port UDP.\n" "$filename doit être accessible depuis $remote_media$filename via cURL " -"(évidemment, remote_media devrait\n" -"se terminer avec un slash).\n" +"(évidemment, remote_media devrait se terminer avec un slash).\n" "Les fichiers qui ne sont pas présents seront récupérés de la manière " "habituelle." @@ -6504,7 +6681,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Static spawnpoint" -msgstr "Emplacement du spawn statique" +msgstr "Point d'apparition statique" #: src/settings_translation_file.cpp msgid "Steepness noise" @@ -6529,7 +6706,7 @@ msgid "" "curve that is boosted in brightness." msgstr "" "Niveau d'amplification de la courbure de la lumière.\n" -"Les trois paramètres « d'amplification » définissent un intervalle\n" +"Les trois paramètres « d'amplification » définissent un intervalle\n" "de la courbe de lumière pour lequel la luminosité est amplifiée." #: src/settings_translation_file.cpp @@ -6555,17 +6732,16 @@ msgid "" msgstr "" "Niveau de la surface de l'eau (facultative) placée sur une couche solide de " "terre suspendue.\n" -"L'eau est désactivée par défaut et ne sera placée que si cette valeur est\n" -"fixée à plus de 'mgv7_floatland_ymax' - 'mgv7_floatland_taper'\n" -"(début de l’effilage du haut)\n" +"L'eau est désactivée par défaut et ne sera placée que si cette valeur est " +"fixée à plus de « mgv7_floatland_ymax » - « mgv7_floatland_taper » (début de " +"l’effilage du haut).\n" "***ATTENTION, DANGER POTENTIEL AU MONDES ET AUX PERFORMANCES DES " -"SERVEURS*** :\n" -"Lorsque le placement de l'eau est activé, les île volantes doivent être\n" -"configurées avec une couche solide en mettant 'mgv7_floatland_density' à " -"2.0\n" -"(ou autre valeur dépendante de 'mgv7_np_floatland'), pour éviter\n" -"les chutes d'eaux énormes qui surchargent les serveurs et pourraient\n" -"inonder les terres en dessous." +"SERVEURS*** :\n" +"Lorsque le placement de l'eau est activé, les île volantes doivent être " +"configurées avec une couche solide en mettant « mgv7_floatland_density » à " +"2,0 (ou autre valeur dépendante de « mgv7_np_floatland »), pour éviter les " +"chutes d'eaux énormes qui surchargent les serveurs et pourraient inonder les " +"terres en dessous." #: src/settings_translation_file.cpp msgid "Synchronous SQLite" @@ -6603,7 +6779,7 @@ msgid "" msgstr "" "Seuil du bruit de relief pour les collines.\n" "Contrôle la proportion sur la superficie d'un monde recouvert de collines.\n" -"Ajuster vers 0. 0 pour une plus grande proportion." +"Ajuster vers 0,0 pour une plus grande proportion." #: src/settings_translation_file.cpp msgid "" @@ -6613,7 +6789,7 @@ msgid "" msgstr "" "Seuil du bruit de relief pour les lacs.\n" "Contrôle la proportion sur la superficie d'un monde recouvert de lacs.\n" -"Ajuster vers 0. 0 pour une plus grande proportion." +"Ajuster vers 0,0 pour une plus grande proportion." #: src/settings_translation_file.cpp msgid "Terrain persistence noise" @@ -6623,6 +6799,13 @@ msgstr "Bruit du terrain persistant" msgid "Texture path" msgstr "Chemin des textures" +#: src/settings_translation_file.cpp +msgid "" +"Texture size to render the shadow map on.\n" +"This must be a power of two.\n" +"Bigger numbers create better shadowsbut it is also more expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Textures on a node may be aligned either to the node or to the world.\n" @@ -6638,16 +6821,15 @@ msgstr "" "l'environnement. Cependant, comme cette possibilité est nouvelle, elle ne " "peut donc pas être utilisée par les anciens serveurs, cette option permet de " "l'appliquer pour certains types de nœuds. Notez cependant que c'est " -"considéré comme EXPERIMENTAL et peut ne pas fonctionner correctement." +"considéré comme EXPÉRIMENTAL et peut ne pas fonctionner correctement." #: src/settings_translation_file.cpp msgid "The URL for the content repository" msgstr "L'URL du dépôt de contenu en ligne" #: src/settings_translation_file.cpp -#, fuzzy msgid "The deadzone of the joystick" -msgstr "L'identifiant de la manette à utiliser" +msgstr "La zone morte de la manette" #: src/settings_translation_file.cpp msgid "" @@ -6689,10 +6871,10 @@ msgid "" "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." +"4,0 - La hauteur des vagues est de deux blocs.\n" +"0,0 - La vague ne bouge pas du tout.\n" +"Par défaut est de 1,0 (1/2 bloc).\n" +"Nécessite les liquides ondulants pour être activé." #: src/settings_translation_file.cpp msgid "The network interface that the server listens on." @@ -6716,17 +6898,18 @@ msgid "" "maintained.\n" "This should be configured together with active_object_send_range_blocks." msgstr "" -"Le rayon du volume de blocs autour de chaque joueur soumis à la\n" -"matière de bloc actif, indiqué dans mapblocks (16 nœuds).\n" -"Les objets sont chargés et les ABMs sont exécutés dans les blocs actifs.\n" -"C'est également la distance minimale pour laquelle les objets actifs (mobs) " +"Le rayon du volume de blocs autour de chaque joueur soumis au bloc actif, " +"définie en mapblocks (16 nœuds).\n" +"Dans les blocs actifs, les objets sont chargés et les « ABMs » sont " +"exécutés.\n" +"C'est également la distance minimale dans laquelle les objets actifs (mobs) " "sont conservés.\n" -"Ceci devrait être configuré avec 'active_object_send_range_blocks'." +"Ceci devrait être configuré avec active_object_send_range_blocks." #: src/settings_translation_file.cpp #, fuzzy msgid "" -"The rendering back-end for Irrlicht.\n" +"The rendering back-end.\n" "A restart is required after changing this.\n" "Note: On Android, stick with OGLES1 if unsure! App may fail to start " "otherwise.\n" @@ -6734,19 +6917,20 @@ msgid "" "Shaders are supported by OpenGL (desktop only) and OGLES2 (experimental)" msgstr "" "Le moteur de rendu utilisé par Irrlicht.\n" -"Un redémarrage est nécessaire après avoir changé cette option.\n" -"Il est recommandé de laisser OGLES1 sur Android. Dans le cas contraire, le " -"jeu risque de planter.\n" -"Sur les autres plateformes, OpenGL est recommandé, il s'agit du seul moteur\n" -"à prendre en charge les shaders." +"Un redémarrage est nécessaire après cette modification.\n" +"Remarque : Sur Android, restez avec OGLES1 en cas de doute ! Autrement, " +"l'application peut ne pas démarrer.\n" +"Sur les autres plateformes, OpenGL est recommandé.\n" +"Les shaders sont pris en charge par OpenGL (ordinateur de bureau uniquement) " +"et OGLES2 (expérimental)" #: src/settings_translation_file.cpp msgid "" "The sensitivity of the joystick axes for moving the\n" "ingame view frustum around." msgstr "" -"Sensibilité de la souris pour déplacer la \n" -"vue en jeu autour du tronc." +"Sensibilité des axes de la manette pour déplacer la vue en jeu autour du " +"tronc." #: src/settings_translation_file.cpp msgid "" @@ -6758,9 +6942,9 @@ msgstr "" "Force (obscurité) de l'ombrage des blocs avec l'occlusion ambiante.\n" "Les valeurs plus basses sont plus sombres, les valeurs plus hautes sont plus " "claires.\n" -"Une gamme valide de valeurs pour ceci se situe entre 0.25 et 4.0. Si la " -"valeur est en dehors\n" -"de cette gamme alors elle sera définie à la plus proche des valeurs valides." +"Une gamme valide de valeurs pour ceci se situe entre 0,25 et 4,0. Si la " +"valeur est en dehors de cette gamme alors elle sera définie à la plus proche " +"des valeurs valides." #: src/settings_translation_file.cpp msgid "" @@ -6768,34 +6952,34 @@ msgid "" "capacity until an attempt is made to decrease its size by dumping old queue\n" "items. A value of 0 disables the functionality." msgstr "" -"Le temps (en secondes) où la file des liquides peut s'agrandir au-delà de " -"sa\n" +"Le temps (en secondes) où la file des liquides peut s'agrandir au-delà de sa " "capacité de traitement jusqu'à ce qu'une tentative soit faite pour réduire " -"sa taille en vidant\n" -"l'ancienne file d'articles. Une valeur de 0 désactive cette fonctionnalité." +"sa taille en vidant l'ancienne file d'articles.\n" +"Une valeur de 0 désactive cette fonctionnalité." #: src/settings_translation_file.cpp msgid "" "The time budget allowed for ABMs to execute on each step\n" "(as a fraction of the ABM Interval)" msgstr "" +"Budget de temps alloué aux « ABMs » pour s'exécuter à chaque étape (en " +"fraction de l'intervalle « ABM »)" #: src/settings_translation_file.cpp msgid "" "The time in seconds it takes between repeated events\n" "when holding down a joystick button combination." msgstr "" -"L'intervalle en secondes entre des clics droits répétés lors de l'appui sur " -"le bouton droit de la souris." +"Le temps en secondes qu'il faut entre des événements répétés lors de l'appui " +"d'une combinaison de boutons de la manette." #: src/settings_translation_file.cpp -#, fuzzy msgid "" "The time in seconds it takes between repeated node placements when holding\n" "the place button." msgstr "" -"L'intervalle en secondes entre des clics droits répétés lors de l'appui sur " -"le bouton droit de la souris." +"Le temps en secondes qu'il faut entre des placements de blocs répétés lors " +"de l'appui sur le bouton de placement." #: src/settings_translation_file.cpp msgid "The type of joystick" @@ -6808,10 +6992,8 @@ msgid "" "'altitude_dry' is enabled." msgstr "" "La distance verticale sur laquelle la chaleur diminue de 20 si " -"« altitude_chill » est\n" -"activé. Également la distance verticale sur laquelle l’humidité diminue de " -"10 si\n" -"« altitude_dry » est activé." +"« altitude_chill » est activé. Également la distance verticale sur laquelle " +"l’humidité diminue de 10 si « altitude_dry » est activé." #: src/settings_translation_file.cpp msgid "Third of 4 2D noises that together define hill/mountain range height." @@ -6830,8 +7012,8 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Time of day when a new world is started, in millihours (0-23999)." msgstr "" -"Heure de la journée lorsqu'un nouveau monde est créé, en milliheures " -"(0-23999)." +"Heure de la journée lorsqu'un nouveau monde est créé, en milliheures (0–" +"23999)." #: src/settings_translation_file.cpp msgid "Time send interval" @@ -6885,8 +7067,8 @@ msgid "" "False = 128\n" "Usable to make minimap smoother on slower machines." msgstr "" -"True = 256\n" -"False = 128\n" +"Activé = 256\n" +"Désactive = 128\n" "Utile pour rendre la mini-carte plus fluide sur des ordinateurs peu " "performants." @@ -6959,8 +7141,8 @@ msgid "" "Gamma correct downscaling is not supported." msgstr "" "Utilisez le mappage MIP pour mettre à l'échelle les textures. Peut augmenter " -"légèrement les performances,\n" -"surtout si vous utilisez un pack de textures haute résolution.\n" +"légèrement les performances, surtout si vous utilisez un pack de textures " +"haute résolution.\n" "La réduction d'échelle gamma correcte n'est pas prise en charge." #: src/settings_translation_file.cpp @@ -6973,6 +7155,15 @@ msgid "" "If set to 0, MSAA is disabled.\n" "A restart is required after changing this option." msgstr "" +"Utilise l'anticrénelage multi-échantillons (MSAA) pour lisser les bords des " +"blocs.\n" +"Cet algorithme lisse la vue 3D tout en conservant l'image nette,\n" +"mais cela ne concerne pas la partie interne des textures\n" +"(ce qui est particulièrement visible avec des textures transparentes).\n" +"Des espaces visibles apparaissent entre les blocs lorsque les shaders sont " +"désactivés.\n" +"Si définie à 0, MSAA est désactivé.\n" +"Un redémarrage est nécessaire après la modification de cette option." #: src/settings_translation_file.cpp msgid "Use trilinear filtering when scaling textures." @@ -7020,7 +7211,7 @@ msgid "" "When noise is < -0.55 terrain is near-flat." msgstr "" "Variation du terrain en hauteur.\n" -"Quand le bruit est < à -0.55, le terrain est presque plat." +"Quand le bruit est inférieur à -0,55, le terrain est presque plat." #: src/settings_translation_file.cpp msgid "Varies depth of biome surface nodes." @@ -7032,7 +7223,7 @@ msgid "" "Defines the 'persistence' value for terrain_base and terrain_alt noises." msgstr "" "Variation de la rugosité du terrain.\n" -"Définit la valeur de « persistance » pour les bruits terrain_base et " +"Définit la valeur de « persistance » pour les bruits terrain_base et " "terrain_alt." #: src/settings_translation_file.cpp @@ -7076,8 +7267,9 @@ msgid "Viewing range" msgstr "Plage de visualisation" #: src/settings_translation_file.cpp -msgid "Virtual joystick triggers aux button" -msgstr "Joystick virtuel déclenche le bouton aux" +#, fuzzy +msgid "Virtual joystick triggers Aux1 button" +msgstr "Manette virtuelle déclenche le bouton aux" #: src/settings_translation_file.cpp msgid "Volume" @@ -7132,7 +7324,7 @@ msgstr "Environnement mouvant" #: src/settings_translation_file.cpp msgid "Waving leaves" -msgstr "Feuilles d'arbres mouvantes" +msgstr "Feuilles ondulantes" #: src/settings_translation_file.cpp msgid "Waving liquids" @@ -7148,11 +7340,11 @@ msgstr "Vitesse de mouvement des liquides" #: src/settings_translation_file.cpp msgid "Waving liquids wavelength" -msgstr "Espacement des vagues de liquides" +msgstr "Longueur d'onde des liquides ondulants" #: src/settings_translation_file.cpp msgid "Waving plants" -msgstr "Plantes mouvantes" +msgstr "Plantes ondulantes" #: src/settings_translation_file.cpp msgid "" @@ -7160,9 +7352,9 @@ msgid "" "filtered in software, but some images are generated directly\n" "to hardware (e.g. render-to-texture for nodes in inventory)." msgstr "" -"Quand gui_scaling_filter est activé, tous les images du GUI sont\n" -"filtrées dans Minetest, mais quelques images sont générées directement\n" -"par le matériel (ex. : textures des blocs dans l'inventaire)." +"Quand gui_scaling_filter est activé, tous les images du GUI sont filtrées " +"par le logiciel, mais certaines sont générées directement par le matériel " +"(ex. : textures des blocs dans l'inventaire)." #: src/settings_translation_file.cpp msgid "" @@ -7171,37 +7363,33 @@ msgid "" "to the old scaling method, for video drivers that don't\n" "properly support downloading textures back from hardware." msgstr "" -"Quand gui_scaling_filter_txr2img est activé, c'est Minetest qui s'occupe de\n" -"la mise à l'échelle des images et non votre matériel. Si désactivé,\n" -"l'ancienne méthode de mise à l'échelle est utilisée, pour les pilotes " -"vidéos\n" -"qui ne supportent pas le chargement des textures depuis le matériel." +"Quand gui_scaling_filter_txr2img est activé, copier les images du matériel " +"au logiciel pour mise à l'échelle.\n" +"Si désactivé, l'ancienne méthode de mise à l'échelle est utilisée, pour les " +"pilotes vidéos qui ne supportent pas le chargement des textures depuis le " +"matériel." #: src/settings_translation_file.cpp +#, fuzzy msgid "" "When using bilinear/trilinear/anisotropic filters, low-resolution textures\n" "can be blurred, so automatically upscale them with nearest-neighbor\n" "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" +"memory. Powers of 2 are recommended. This setting is ONLY applies if\n" +"bilinear/trilinear/anisotropic filtering is enabled.\n" "This is also used as the base node texture size for world-aligned\n" "texture autoscaling." msgstr "" "En utilisant le filtrage bilinéaire/trilinéaire/anisotrope, les textures de " -"basse résolution\n" -"peuvent être brouillées. Elles seront donc automatiquement agrandies avec " -"l'interpolation\n" -"du plus proche voisin pour garder des pixels moins floues. Ceci détermine la " -"taille de la texture minimale\n" -"pour les textures agrandies ; les valeurs plus hautes rendent plus " -"détaillées, mais nécessitent\n" -"plus de mémoire. Les puissances de 2 sont recommandées. Définir une valeur " -"supérieure à 1 peut ne pas\n" -"avoir d'effet visible sauf si le filtrage bilinéaire / trilinéaire / " -"anisotrope est activé.\n" -"Ceci est également utilisée comme taille de texture de nœud par défaut pour\n" +"basse résolution peuvent être brouillées. Elles seront donc automatiquement " +"agrandies avec l'interpolation du plus proche voisin pour garder des pixels " +"moins floues. Ceci détermine la taille de la texture minimale pour les " +"textures agrandies ; les valeurs plus hautes rendent plus détaillées, mais " +"nécessitent plus de mémoire. Les puissances de 2 sont recommandées. Définir " +"une valeur supérieure à 1 peut ne pas avoir d'effet visible sauf si le " +"filtrage bilinéaire/trilinéaire/anisotrope est activé.\n" +"Ceci est également utilisée comme taille de texture de nœud par défaut pour " "l'agrandissement des textures basé sur le monde." #: src/settings_translation_file.cpp @@ -7220,6 +7408,8 @@ msgid "" "Whether nametag backgrounds should be shown by default.\n" "Mods may still set a background." msgstr "" +"Si l'arrière-plan des badges doit être affiché par défaut.\n" +"Les mods peuvent toujours définir un arrière-plan." #: src/settings_translation_file.cpp msgid "Whether node texture animations should be desynchronized per mapblock." @@ -7231,7 +7421,7 @@ msgid "" "Deprecated, use the setting player_transfer_distance instead." msgstr "" "Détermine l'exposition illimitée des noms de joueurs aux autres clients.\n" -"Obsolète : utiliser l'option player_transfer_distance à la place." +"Obsolète : utiliser l'option player_transfer_distance à la place." #: src/settings_translation_file.cpp msgid "Whether to allow players to damage and kill each other." @@ -7247,7 +7437,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Whether to fog out the end of the visible area." -msgstr "Détermine la visibilité de la brume au bout de l'aire visible." +msgstr "Détermine la visibilité du brouillard au bout de l'aire visible." #: src/settings_translation_file.cpp msgid "" @@ -7257,11 +7447,10 @@ msgid "" "pause menu." msgstr "" "S'il faut mettre les sons en sourdine. Vous pouvez désactiver les sons à " -"tout moment, sauf si\n" -"le système de sonorisation est désactivé (enable_sound=false).\n" +"tout moment, sauf si 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 le\n" -"menu pause." +"sourdine ou en utilisant le menu pause." #: src/settings_translation_file.cpp msgid "" @@ -7271,8 +7460,9 @@ msgstr "" "taper F5)." #: src/settings_translation_file.cpp -msgid "Width component of the initial window size." -msgstr "Résolution verticale de la fenêtre de jeu." +#, fuzzy +msgid "Width component of the initial window size. Ignored in fullscreen mode." +msgstr "Composant de largeur de la taille initiale de la fenêtre." #: src/settings_translation_file.cpp msgid "Width of the selection box lines around nodes." @@ -7284,7 +7474,7 @@ msgid "" "background.\n" "Contains the same information as the file debug.txt (default name)." msgstr "" -"Systèmes Windows seulement : démarrer Minetest avec la fenêtre de commandes\n" +"Systèmes Windows seulement : démarrer Minetest avec la fenêtre de commandes\n" "en arrière-plan. Contient les mêmes informations que dans debug.txt (nom par " "défaut)." @@ -7313,12 +7503,12 @@ msgstr "" "couvrir plusieurs nœuds. Cependant,\n" "le serveur peut ne pas envoyer l'échelle que vous voulez, surtout si vous " "utilisez\n" -"un pack de textures spécialement conçu ; avec cette option, le client " +"un pack de textures spécialement conçu ; avec cette option, le client " "essaie\n" "de déterminer l'échelle automatiquement en fonction de la taille de la " "texture.\n" "Voir aussi texture_min_size.\n" -"Avertissement : Cette option est EXPÉRIMENTALE !" +"Avertissement : Cette option est EXPÉRIMENTALE !" #: src/settings_translation_file.cpp msgid "World-aligned textures mode" @@ -7386,6 +7576,13 @@ msgid "" "9 - best compression, slowest\n" "(levels 1-3 use Zlib's \"fast\" method, 4-9 use the normal method)" msgstr "" +"Niveau de compression Zlib à utiliser lors de la sauvegarde des mapblocks " +"sur le disque.\n" +"-1 - niveau de compression de Zlib par défaut\n" +"0 - aucune compression, le plus rapide\n" +"9 - meilleure compression, le plus lent\n" +"(les niveaux 1–3 utilisent la méthode « rapide », 4–9 utilisent la méthode " +"normale)" #: src/settings_translation_file.cpp msgid "" @@ -7395,18 +7592,26 @@ msgid "" "9 - best compression, slowest\n" "(levels 1-3 use Zlib's \"fast\" method, 4-9 use the normal method)" msgstr "" +"Niveau de compression Zlib à utiliser lors de l'envoi des mapblocks au " +"client.\n" +"-1 - niveau de compression de Zlib par défaut\n" +"0 - aucune compression, le plus rapide\n" +"9 - meilleure compression, le plus lent\n" +"(les niveaux 1–3 utilisent la méthode « rapide », 4–9 utilisent la méthode " +"normale)" #: src/settings_translation_file.cpp msgid "cURL file download timeout" msgstr "Délais d'interruption de cURL lors d'un téléchargement de fichier" #: src/settings_translation_file.cpp -msgid "cURL parallel limit" -msgstr "Limite parallèle de cURL" +#, fuzzy +msgid "cURL interactive timeout" +msgstr "Délais d'interruption de cURL" #: src/settings_translation_file.cpp -msgid "cURL timeout" -msgstr "Délais d'interruption de cURL" +msgid "cURL parallel limit" +msgstr "Limite parallèle de cURL" #~ msgid "" #~ "0 = parallax occlusion with slope information (faster).\n" @@ -7415,6 +7620,9 @@ msgstr "Délais d'interruption de cURL" #~ "0 = occlusion parallaxe avec des informations de pente (plus rapide).\n" #~ "1 = cartographie en relief (plus lent, plus précis)." +#~ msgid "Address / Port" +#~ msgstr "Adresse / Port" + #~ msgid "" #~ "Adjust the gamma encoding for the light tables. Higher numbers are " #~ "brighter.\n" @@ -7434,6 +7642,9 @@ msgstr "Délais d'interruption de cURL" #~ msgid "Back" #~ msgstr "Retour" +#~ msgid "Bits per pixel (aka color depth) in fullscreen mode." +#~ msgstr "Bits par pixel (profondeur de couleur) en mode plein-écran." + #~ msgid "Bump Mapping" #~ msgstr "Placage de relief" @@ -7476,12 +7687,25 @@ msgstr "Délais d'interruption de cURL" #~ "Contrôle la largeur des tunnels, une valeur plus petite crée des tunnels " #~ "plus larges." +#~ msgid "Credits" +#~ msgstr "Crédits" + #~ msgid "Crosshair color (R,G,B)." #~ msgstr "Couleur du réticule (R,G,B)." +#~ msgid "Damage enabled" +#~ msgstr "Dégâts activés" + #~ msgid "Darkness sharpness" #~ msgstr "Démarcation de l'obscurité" +#~ msgid "" +#~ "Default timeout for cURL, stated in milliseconds.\n" +#~ "Only has an effect if compiled with cURL." +#~ msgstr "" +#~ "Délais d'interruption de cURL par défaut, établi en millisecondes.\n" +#~ "Seulement appliqué si Minetest est compilé avec cURL." + #~ msgid "" #~ "Defines areas of floatland smooth terrain.\n" #~ "Smooth floatlands occur when noise > 0." @@ -7541,6 +7765,15 @@ msgstr "Délais d'interruption de cURL" #~ msgid "FPS in pause menu" #~ msgstr "FPS maximum sur le menu pause" +#~ msgid "Fallback font shadow" +#~ msgstr "Ombre de la police alternative" + +#~ msgid "Fallback font shadow alpha" +#~ msgstr "Opacité de l'ombre de la police alternative" + +#~ msgid "Fallback font size" +#~ msgstr "Taille de la police alternative" + #~ msgid "Floatland base height noise" #~ msgstr "Le bruit de hauteur de base des terres flottantes" @@ -7550,6 +7783,12 @@ msgstr "Délais d'interruption de cURL" #~ 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 of the fallback font in point (pt)." +#~ msgstr "Taille de police secondaire au point (pt)." + +#~ msgid "Full screen BPP" +#~ msgstr "Bits par pixel en mode plein écran" + #~ msgid "Gamma" #~ msgstr "Gamma" @@ -7559,6 +7798,9 @@ msgstr "Délais d'interruption de cURL" #~ msgid "Generate normalmaps" #~ msgstr "Normal mapping" +#~ msgid "High-precision FPU" +#~ msgstr "FPU de haute précision" + #~ msgid "IPv6 support." #~ msgstr "Support IPv6." @@ -7577,6 +7819,11 @@ msgstr "Délais d'interruption de cURL" #~ msgid "Main menu style" #~ msgstr "Style du menu principal" +#~ msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." +#~ msgstr "" +#~ "Rendre DirectX compatible avec LuaJIT. Désactiver si cela cause des " +#~ "problèmes." + #~ msgid "Minimap in radar mode, Zoom x2" #~ msgstr "Mini-carte en mode radar, zoom x2" @@ -7589,6 +7836,9 @@ msgstr "Délais d'interruption de cURL" #~ msgid "Minimap in surface mode, Zoom x4" #~ msgstr "Mini-carte en mode surface, zoom x4" +#~ msgid "Name / Password" +#~ msgstr "Nom / Mot de passe" + #~ msgid "Name/Password" #~ msgstr "Nom / Mot de passe" @@ -7607,6 +7857,12 @@ msgstr "Délais d'interruption de cURL" #~ msgid "Ok" #~ msgstr "Ok" +#~ 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." + #~ msgid "Overall bias of parallax occlusion effect, usually scale/2." #~ msgstr "Bias général de l'occlusion parallaxe, habituellement échelle/2." @@ -7643,6 +7899,9 @@ msgstr "Délais d'interruption de cURL" #~ msgid "Projecting dungeons" #~ msgstr "Projection des donjons" +#~ msgid "PvP enabled" +#~ msgstr "JcJ activé" + #~ msgid "Reset singleplayer world" #~ msgstr "Réinitialiser le monde" @@ -7652,6 +7911,19 @@ msgstr "Délais d'interruption de cURL" #~ msgid "Shadow limit" #~ msgstr "Limite des ombres" +#~ 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 de secours (en pixel). Aucune ombre si " +#~ "la valeur est 0." + +#~ msgid "Special" +#~ msgstr "Spécial" + +#~ msgid "Special key" +#~ msgstr "Touche spéciale" + #~ msgid "Start Singleplayer" #~ msgstr "Démarrer une partie solo" @@ -7703,3 +7975,6 @@ msgstr "Délais d'interruption de cURL" #~ msgid "Yes" #~ msgstr "Oui" + +#~ msgid "needs_fallback_font" +#~ msgstr "no" diff --git a/po/gd/minetest.po b/po/gd/minetest.po index e7147d3b5..fb95014bb 100644 --- a/po/gd/minetest.po +++ b/po/gd/minetest.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: minetest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-02-23 19:03+0100\n" +"POT-Creation-Date: 2021-06-16 18:27+0200\n" "PO-Revision-Date: 2020-06-22 17:56+0000\n" "Last-Translator: GunChleoc \n" "Language-Team: Gaelic 2 && n < 20) ? 2 : 3;\n" "X-Generator: Weblate 4.2-dev\n" +#: builtin/client/chatcommands.lua +msgid "Clear the out chat queue" +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "Empty command." +msgstr "" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Exit to main menu" +msgstr "Prìomh chlàr-taice" + +#: builtin/client/chatcommands.lua +msgid "Invalid command: " +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "Issued command: " +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "List online players" +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "Online players: " +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "The out chat queue is now empty." +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "This command is disabled by server." +msgstr "" + #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" msgstr "" @@ -28,6 +65,35 @@ msgstr "" msgid "You died" msgstr "" +#: builtin/client/death_formspec.lua +msgid "You died." +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "Available commands:" +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "Available commands: " +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "Command not available: " +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "Get help for commands" +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "" +"Use '.help ' to get more information, or '.help all' to list everything." +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "[all | ]" +msgstr "" + #: builtin/fstk/dialog.lua builtin/fstk/ui.lua src/gui/modalMenu.cpp msgid "OK" msgstr "" @@ -533,7 +599,7 @@ msgstr "" msgid "Browse" msgstr "" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_settings.lua msgid "Disabled" msgstr "" @@ -577,7 +643,7 @@ msgstr "" msgid "Scale" msgstr "" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua msgid "Search" msgstr "" @@ -709,6 +775,40 @@ msgstr "" msgid "Try reenabling public serverlist and check your internet connection." msgstr "" +#: builtin/mainmenu/tab_about.lua +msgid "About" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active Contributors" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active renderer:" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Core Developers" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Open User Data Directory" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "" +"Opens the directory that contains user-provided worlds, games, mods,\n" +"and texture packs in a file manager / explorer." +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Contributors" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Core Developers" +msgstr "" + #: builtin/mainmenu/tab_content.lua msgid "Browse online content" msgstr "" @@ -749,36 +849,6 @@ msgstr "" msgid "Use Texture Pack" msgstr "" -#: builtin/mainmenu/tab_credits.lua -msgid "Active Contributors" -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Core Developers" -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Credits" -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Open User Data Directory" -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "" -"Opens the directory that contains user-provided worlds, games, mods,\n" -"and texture packs in a file manager / explorer." -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Contributors" -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Core Developers" -msgstr "" - #: builtin/mainmenu/tab_local.lua msgid "Announce Server" msgstr "" @@ -807,7 +877,7 @@ msgstr "" msgid "Install games from ContentDB" msgstr "Stàlaich geamannan o ContentDB" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Name" msgstr "" @@ -819,7 +889,7 @@ msgstr "" msgid "No world created or selected!" msgstr "" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Password" msgstr "" @@ -827,7 +897,7 @@ msgstr "" msgid "Play Game" msgstr "" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Port" msgstr "" @@ -848,8 +918,13 @@ msgid "Start Game" msgstr "" #: builtin/mainmenu/tab_online.lua -msgid "Address / Port" -msgstr "Seòladh / Port" +#, fuzzy +msgid "Address" +msgstr " " + +#: builtin/mainmenu/tab_online.lua src/client/keycode.cpp +msgid "Clear" +msgstr "" #: builtin/mainmenu/tab_online.lua msgid "Connect" @@ -859,33 +934,43 @@ msgstr "" msgid "Creative mode" msgstr "" +#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "Damage enabled" -msgstr "" +#, fuzzy +msgid "Damage / PvP" +msgstr "– Dochann: " #: builtin/mainmenu/tab_online.lua msgid "Del. Favorite" msgstr "" #: builtin/mainmenu/tab_online.lua -msgid "Favorite" +msgid "Favorites" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +msgid "Incompatible Servers" msgstr "" #: builtin/mainmenu/tab_online.lua msgid "Join Game" msgstr "" -#: builtin/mainmenu/tab_online.lua -msgid "Name / Password" -msgstr "" - #: builtin/mainmenu/tab_online.lua msgid "Ping" msgstr "" -#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "PvP enabled" +#, fuzzy +msgid "Public Servers" +msgstr "Aibhnean boga" + +#: builtin/mainmenu/tab_online.lua +msgid "Refresh" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +msgid "Server Description" msgstr "" #: builtin/mainmenu/tab_settings.lua @@ -928,10 +1013,30 @@ msgstr "" msgid "Connected Glass" msgstr "" +#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp +msgid "Dynamic shadows" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Dynamic shadows: " +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Fancy Leaves" msgstr "" +#: builtin/mainmenu/tab_settings.lua +msgid "High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Low" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Medium" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Mipmap" msgstr "" @@ -1022,6 +1127,14 @@ msgstr "" msgid "Trilinear Filter" msgstr "" +#: builtin/mainmenu/tab_settings.lua +msgid "Ultra High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Very Low" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Waving Leaves" msgstr "" @@ -1096,18 +1209,6 @@ 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" - #: src/client/game.cpp msgid "" "\n" @@ -1343,6 +1444,10 @@ msgstr "" msgid "Minimap currently disabled by game or mod" msgstr "" +#: src/client/game.cpp +msgid "Multiplayer" +msgstr "" + #: src/client/game.cpp msgid "Noclip mode disabled" msgstr "Tha am modh gun bhearradh à comas" @@ -1484,10 +1589,6 @@ msgstr "Backspace" msgid "Caps Lock" msgstr "" -#: src/client/keycode.cpp -msgid "Clear" -msgstr "" - #: src/client/keycode.cpp msgid "Control" msgstr "" @@ -1776,7 +1877,7 @@ msgid "Proceed" msgstr "" #: src/gui/guiKeyChangeMenu.cpp -msgid "\"Special\" = climb down" +msgid "\"Aux1\" = climb down" msgstr "" #: src/gui/guiKeyChangeMenu.cpp @@ -1787,10 +1888,18 @@ msgstr "" msgid "Automatic jumping" msgstr "" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Aux1" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Backward" msgstr "" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Block bounds" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Change camera" msgstr "" @@ -1879,10 +1988,6 @@ msgstr "" msgid "Sneak" msgstr "Tàislich" -#: src/gui/guiKeyChangeMenu.cpp -msgid "Special" -msgstr "" - #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle HUD" msgstr "" @@ -1969,8 +2074,8 @@ 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 " +"(Android) Use virtual joystick to trigger \"Aux1\" button.\n" +"If enabled, virtual joystick will also tap \"Aux1\" button when out of main " "circle." msgstr "" @@ -2277,6 +2382,14 @@ msgstr "" msgid "Autoscaling mode" msgstr "" +#: src/settings_translation_file.cpp +msgid "Aux1 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Aux1 key for climbing/descending" +msgstr "" + #: src/settings_translation_file.cpp msgid "Backward key" msgstr "" @@ -2321,10 +2434,6 @@ msgstr "" msgid "Biome noise" msgstr "" -#: src/settings_translation_file.cpp -msgid "Bits per pixel (aka color depth) in fullscreen mode." -msgstr "" - #: src/settings_translation_file.cpp msgid "Block send optimize distance" msgstr "" @@ -2425,6 +2534,10 @@ msgstr "" "Meadhan rainse meudachadh lùb an t-solais.\n" "Is 0.0 an ìre as fhainne agus 1.0 an ìre as soilleire air an solas." +#: src/settings_translation_file.cpp +msgid "Chat command time message threshold" +msgstr "" + #: src/settings_translation_file.cpp msgid "Chat font size" msgstr "" @@ -2521,6 +2634,10 @@ msgstr "" msgid "Colored fog" msgstr "" +#: src/settings_translation_file.cpp +msgid "Colored shadows" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Comma-separated list of flags to hide in the content repository.\n" @@ -2716,8 +2833,9 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"Default timeout for cURL, stated in milliseconds.\n" -"Only has an effect if compiled with cURL." +"Define shadow filtering quality\n" +"This simulates the soft shadows effect by applying a PCF or poisson disk\n" +"but also uses more resources." msgstr "" #: src/settings_translation_file.cpp @@ -2880,6 +2998,12 @@ msgid "" "This support is experimental and API can change." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Enable colored shadows. \n" +"On true translucent nodes cast colored shadows. This is expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable console window" msgstr "" @@ -2904,6 +3028,13 @@ msgstr "" msgid "Enable players getting damage and dying." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Enable poisson disk filtering.\n" +"On true uses poisson disk to make \"soft shadows\". Otherwise uses PCF " +"filtering." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable random user input (only used for testing)." msgstr "" @@ -3034,18 +3165,6 @@ msgstr "Factar bogadaich an tuiteim" msgid "Fallback font path" msgstr "" -#: src/settings_translation_file.cpp -msgid "Fallback font shadow" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Fallback font shadow alpha" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Fallback font size" -msgstr "" - #: src/settings_translation_file.cpp msgid "Fast key" msgstr "" @@ -3063,8 +3182,9 @@ msgid "Fast movement" msgstr "" #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"Fast movement (via the \"special\" key).\n" +"Fast movement (via the \"Aux1\" key).\n" "This requires the \"fast\" privilege on the server." msgstr "" "Gluasad luath (leis an iuchair “shònraichte”).\n" @@ -3100,9 +3220,9 @@ msgstr "Mapadh tòna film" #: 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." +"which PNG optimizers usually discard, often resulting in dark or\n" +"light edges to transparent textures. Apply a filter to clean that up\n" +"at texture load time. This is automatically enabled if mipmapping is enabled." msgstr "" #: src/settings_translation_file.cpp @@ -3197,10 +3317,6 @@ msgstr "" msgid "Font size of the default font in point (pt)." msgstr "" -#: src/settings_translation_file.cpp -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 "" @@ -3300,10 +3416,6 @@ msgstr "" msgid "Full screen" msgstr "" -#: src/settings_translation_file.cpp -msgid "Full screen BPP" -msgstr "" - #: src/settings_translation_file.cpp msgid "Fullscreen mode." msgstr "" @@ -3406,7 +3518,8 @@ msgid "Heat noise" msgstr "" #: src/settings_translation_file.cpp -msgid "Height component of the initial window size." +msgid "" +"Height component of the initial window size. Ignored in fullscreen mode." msgstr "" #: src/settings_translation_file.cpp @@ -3417,10 +3530,6 @@ msgstr "" msgid "Height select noise" msgstr "" -#: src/settings_translation_file.cpp -msgid "High-precision FPU" -msgstr "" - #: src/settings_translation_file.cpp msgid "Hill steepness" msgstr "" @@ -3651,9 +3760,9 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"If disabled, \"special\" key is used to fly fast if both fly and fast mode " -"are\n" +"If disabled, \"Aux1\" key is used to fly fast if both fly and fast mode are\n" "enabled." msgstr "" "Ma tha seo à comas, thèid iuchair “shònraichte” a chleachdadh airson " @@ -3680,9 +3789,10 @@ msgstr "" "Bidh feum air sochair “noclip” on fhrithealaiche." #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"If enabled, \"special\" key instead of \"sneak\" key is used for climbing " -"down and\n" +"If enabled, \"Aux1\" key instead of \"Sneak\" key is used for climbing down " +"and\n" "descending." msgstr "" "Ma tha seo an comas, thèid iuchair “shònraichte” seach “tàisleachaidh” a " @@ -3735,6 +3845,12 @@ msgid "" "to this distance from the player to the node." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"If the execution of a chat command takes longer than this specified time in\n" +"seconds, add the time information to the chat command message" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "If the file size of debug.txt exceeds the number of megabytes specified in\n" @@ -4770,10 +4886,6 @@ msgid "" "Make fog and sky colors depend on daytime (dawn/sunset) and view direction." msgstr "" -#: src/settings_translation_file.cpp -msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." -msgstr "" - #: src/settings_translation_file.cpp msgid "Makes all liquids opaque" msgstr "Dèan gach lionn trìd-dhoilleir" @@ -4866,6 +4978,10 @@ msgstr "Cuingeachadh gintinn mapa" msgid "Map save interval" msgstr "" +#: src/settings_translation_file.cpp +msgid "Map update time" +msgstr "" + #: src/settings_translation_file.cpp msgid "Mapblock limit" msgstr "" @@ -4974,6 +5090,10 @@ msgstr "" msgid "Maximum FPS when the window is not focused, or when the game is paused." msgstr "" +#: src/settings_translation_file.cpp +msgid "Maximum distance to render shadows." +msgstr "" + #: src/settings_translation_file.cpp msgid "Maximum forceloaded blocks" msgstr "" @@ -5086,7 +5206,15 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "Maximum time in ms a file download (e.g. a mod download) may take." +msgid "" +"Maximum time a file download (e.g. a mod download) may take, stated in " +"milliseconds." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum time an interactive request (e.g. server list fetch) may take, " +"stated in milliseconds." msgstr "" #: src/settings_translation_file.cpp @@ -5306,11 +5434,6 @@ 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 " @@ -5414,6 +5537,10 @@ msgstr "" msgid "Player versus player" msgstr "" +#: src/settings_translation_file.cpp +msgid "Poisson filtering" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Port to connect to (UDP).\n" @@ -5750,6 +5877,40 @@ msgstr "" msgid "Set the maximum character length of a chat message sent by clients." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow strength.\n" +"Lower value means lighter shadows, higher value means darker shadows." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow update time.\n" +"Lower value means shadows and map updates faster, but it consume more " +"resources.\n" +"Minimun value 0.001 seconds max value 0.2 seconds" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the soft shadow radius size.\n" +"Lower values mean sharper shadows bigger values softer.\n" +"Minimun value 1.0 and max value 10.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the tilt of Sun/Moon orbit in degrees\n" +"Value of 0 means no tilt / vertical orbit.\n" +"Minimun value 0.0 and max value 60.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set to true to enable Shadow Mapping.\n" +"Requires shaders to be enabled." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Set to true to enable waving leaves.\n" @@ -5768,6 +5929,13 @@ msgid "" "Requires shaders to be enabled." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Sets shadow texture quality to 32 bits.\n" +"On false, 16 bits texture will be used.\n" +"This can cause much more artifacts in the shadow." +msgstr "" + #: src/settings_translation_file.cpp msgid "Shader path" msgstr "" @@ -5780,6 +5948,22 @@ msgid "" "This only works with the OpenGL video backend." msgstr "" +#: src/settings_translation_file.cpp +msgid "Shadow filter quality" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map max distance in nodes to render shadows" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture in 32 bits" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture size" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Shadow offset (in pixels) of the default font. If 0, then shadow will not be " @@ -5787,9 +5971,7 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "" -"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not " -"be drawn." +msgid "Shadow strength" msgstr "" #: src/settings_translation_file.cpp @@ -5842,6 +6024,10 @@ msgid "" "thread, thus reducing jitter." msgstr "" +#: src/settings_translation_file.cpp +msgid "Sky Body Orbit Tilt" +msgstr "" + #: src/settings_translation_file.cpp msgid "Slice w" msgstr "" @@ -5896,18 +6082,14 @@ msgstr "Luaths an tàisleachaidh" msgid "Sneaking speed, in nodes per second." msgstr "Luaths an tàisleachaidh ann an nòd gach diog." +#: src/settings_translation_file.cpp +msgid "Soft shadow radius" +msgstr "" + #: src/settings_translation_file.cpp msgid "Sound" msgstr "" -#: src/settings_translation_file.cpp -msgid "Special key" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Special key for climbing/descending" -msgstr "" - #: src/settings_translation_file.cpp msgid "" "Specifies URL from which client fetches media instead of using UDP.\n" @@ -6044,6 +6226,13 @@ msgstr "" msgid "Texture path" msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Texture size to render the shadow map on.\n" +"This must be a power of two.\n" +"Bigger numbers create better shadowsbut it is also more expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Textures on a node may be aligned either to the node or to the world.\n" @@ -6120,7 +6309,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"The rendering back-end for Irrlicht.\n" +"The rendering back-end.\n" "A restart is required after changing this.\n" "Note: On Android, stick with OGLES1 if unsure! App may fail to start " "otherwise.\n" @@ -6411,7 +6600,7 @@ msgid "Viewing range" msgstr "" #: src/settings_translation_file.cpp -msgid "Virtual joystick triggers aux button" +msgid "Virtual joystick triggers Aux1 button" msgstr "" #: src/settings_translation_file.cpp @@ -6504,9 +6693,8 @@ msgid "" "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" +"memory. Powers of 2 are recommended. This setting is ONLY applies if\n" +"bilinear/trilinear/anisotropic filtering is enabled.\n" "This is also used as the base node texture size for world-aligned\n" "texture autoscaling." msgstr "" @@ -6564,7 +6752,7 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "Width component of the initial window size." +msgid "Width component of the initial window size. Ignored in fullscreen mode." msgstr "" #: src/settings_translation_file.cpp @@ -6680,14 +6868,20 @@ msgid "cURL file download timeout" msgstr "" #: src/settings_translation_file.cpp -msgid "cURL parallel limit" +msgid "cURL interactive timeout" msgstr "" #: src/settings_translation_file.cpp -msgid "cURL timeout" +msgid "cURL parallel limit" msgstr "" +#~ msgid "Address / Port" +#~ msgstr "Seòladh / Port" + #~ msgid "Overall bias of parallax occlusion effect, usually scale/2." #~ msgstr "" #~ "Claonadh na h-èifeachd occlusion na paraileig air fheadh, seo sgèile/2 " #~ "mar as àbhaist." + +#~ msgid "needs_fallback_font" +#~ msgstr "no" diff --git a/po/gl/minetest.po b/po/gl/minetest.po index 6f5b479bc..a9afc1ac6 100644 --- a/po/gl/minetest.po +++ b/po/gl/minetest.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: minetest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-02-23 19:03+0100\n" +"POT-Creation-Date: 2021-06-16 18:27+0200\n" "PO-Revision-Date: 2020-07-08 20:47+0000\n" "Last-Translator: sfan5 \n" "Language-Team: Galician ' to get more information, or '.help all' to list everything." +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "[all | ]" +msgstr "" + #: builtin/fstk/dialog.lua builtin/fstk/ui.lua src/gui/modalMenu.cpp msgid "OK" msgstr "Vale" @@ -529,7 +596,7 @@ msgstr "" msgid "Browse" msgstr "" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_settings.lua msgid "Disabled" msgstr "" @@ -573,7 +640,7 @@ msgstr "" msgid "Scale" msgstr "" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua msgid "Search" msgstr "" @@ -704,6 +771,40 @@ msgstr "" msgid "Try reenabling public serverlist and check your internet connection." msgstr "" +#: builtin/mainmenu/tab_about.lua +msgid "About" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active Contributors" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active renderer:" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Core Developers" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Open User Data Directory" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "" +"Opens the directory that contains user-provided worlds, games, mods,\n" +"and texture packs in a file manager / explorer." +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Contributors" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Core Developers" +msgstr "" + #: builtin/mainmenu/tab_content.lua msgid "Browse online content" msgstr "" @@ -744,36 +845,6 @@ msgstr "" msgid "Use Texture Pack" msgstr "" -#: builtin/mainmenu/tab_credits.lua -msgid "Active Contributors" -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Core Developers" -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Credits" -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Open User Data Directory" -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "" -"Opens the directory that contains user-provided worlds, games, mods,\n" -"and texture packs in a file manager / explorer." -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Contributors" -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Core Developers" -msgstr "" - #: builtin/mainmenu/tab_local.lua msgid "Announce Server" msgstr "" @@ -802,7 +873,7 @@ msgstr "" msgid "Install games from ContentDB" msgstr "" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Name" msgstr "" @@ -814,7 +885,7 @@ msgstr "" msgid "No world created or selected!" msgstr "" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Password" msgstr "" @@ -822,7 +893,7 @@ msgstr "" msgid "Play Game" msgstr "" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Port" msgstr "" @@ -843,7 +914,11 @@ msgid "Start Game" msgstr "" #: builtin/mainmenu/tab_online.lua -msgid "Address / Port" +msgid "Address" +msgstr "" + +#: builtin/mainmenu/tab_online.lua src/client/keycode.cpp +msgid "Clear" msgstr "" #: builtin/mainmenu/tab_online.lua @@ -854,8 +929,9 @@ msgstr "" msgid "Creative mode" msgstr "" +#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "Damage enabled" +msgid "Damage / PvP" msgstr "" #: builtin/mainmenu/tab_online.lua @@ -863,24 +939,31 @@ msgid "Del. Favorite" msgstr "" #: builtin/mainmenu/tab_online.lua -msgid "Favorite" +msgid "Favorites" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +msgid "Incompatible Servers" msgstr "" #: builtin/mainmenu/tab_online.lua msgid "Join Game" msgstr "" -#: builtin/mainmenu/tab_online.lua -msgid "Name / Password" -msgstr "" - #: builtin/mainmenu/tab_online.lua msgid "Ping" msgstr "" -#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "PvP enabled" +msgid "Public Servers" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +msgid "Refresh" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +msgid "Server Description" msgstr "" #: builtin/mainmenu/tab_settings.lua @@ -923,10 +1006,30 @@ msgstr "" msgid "Connected Glass" msgstr "" +#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp +msgid "Dynamic shadows" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Dynamic shadows: " +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Fancy Leaves" msgstr "" +#: builtin/mainmenu/tab_settings.lua +msgid "High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Low" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Medium" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Mipmap" msgstr "" @@ -1015,6 +1118,14 @@ msgstr "" msgid "Trilinear Filter" msgstr "" +#: builtin/mainmenu/tab_settings.lua +msgid "Ultra High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Very Low" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Waving Leaves" msgstr "" @@ -1087,18 +1198,6 @@ 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" - #: src/client/game.cpp msgid "" "\n" @@ -1313,6 +1412,10 @@ msgstr "" msgid "Minimap currently disabled by game or mod" msgstr "" +#: src/client/game.cpp +msgid "Multiplayer" +msgstr "" + #: src/client/game.cpp msgid "Noclip mode disabled" msgstr "" @@ -1454,10 +1557,6 @@ msgstr "" msgid "Caps Lock" msgstr "" -#: src/client/keycode.cpp -msgid "Clear" -msgstr "" - #: src/client/keycode.cpp msgid "Control" msgstr "" @@ -1746,7 +1845,7 @@ msgid "Proceed" msgstr "" #: src/gui/guiKeyChangeMenu.cpp -msgid "\"Special\" = climb down" +msgid "\"Aux1\" = climb down" msgstr "" #: src/gui/guiKeyChangeMenu.cpp @@ -1757,10 +1856,18 @@ msgstr "" msgid "Automatic jumping" msgstr "" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Aux1" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Backward" msgstr "" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Block bounds" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Change camera" msgstr "" @@ -1849,10 +1956,6 @@ msgstr "" msgid "Sneak" msgstr "" -#: src/gui/guiKeyChangeMenu.cpp -msgid "Special" -msgstr "" - #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle HUD" msgstr "" @@ -1938,8 +2041,8 @@ 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 " +"(Android) Use virtual joystick to trigger \"Aux1\" button.\n" +"If enabled, virtual joystick will also tap \"Aux1\" button when out of main " "circle." msgstr "" @@ -2233,6 +2336,14 @@ msgstr "" msgid "Autoscaling mode" msgstr "" +#: src/settings_translation_file.cpp +msgid "Aux1 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Aux1 key for climbing/descending" +msgstr "" + #: src/settings_translation_file.cpp msgid "Backward key" msgstr "" @@ -2277,10 +2388,6 @@ msgstr "" msgid "Biome noise" msgstr "" -#: src/settings_translation_file.cpp -msgid "Bits per pixel (aka color depth) in fullscreen mode." -msgstr "" - #: src/settings_translation_file.cpp msgid "Block send optimize distance" msgstr "" @@ -2379,6 +2486,10 @@ msgid "" "Where 0.0 is minimum light level, 1.0 is maximum light level." msgstr "" +#: src/settings_translation_file.cpp +msgid "Chat command time message threshold" +msgstr "" + #: src/settings_translation_file.cpp msgid "Chat font size" msgstr "" @@ -2475,6 +2586,10 @@ msgstr "" msgid "Colored fog" msgstr "" +#: src/settings_translation_file.cpp +msgid "Colored shadows" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Comma-separated list of flags to hide in the content repository.\n" @@ -2670,8 +2785,9 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"Default timeout for cURL, stated in milliseconds.\n" -"Only has an effect if compiled with cURL." +"Define shadow filtering quality\n" +"This simulates the soft shadows effect by applying a PCF or poisson disk\n" +"but also uses more resources." msgstr "" #: src/settings_translation_file.cpp @@ -2832,6 +2948,12 @@ msgid "" "This support is experimental and API can change." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Enable colored shadows. \n" +"On true translucent nodes cast colored shadows. This is expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable console window" msgstr "" @@ -2856,6 +2978,13 @@ msgstr "" msgid "Enable players getting damage and dying." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Enable poisson disk filtering.\n" +"On true uses poisson disk to make \"soft shadows\". Otherwise uses PCF " +"filtering." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable random user input (only used for testing)." msgstr "" @@ -2978,18 +3107,6 @@ msgstr "" msgid "Fallback font path" msgstr "" -#: src/settings_translation_file.cpp -msgid "Fallback font shadow" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Fallback font shadow alpha" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Fallback font size" -msgstr "" - #: src/settings_translation_file.cpp msgid "Fast key" msgstr "" @@ -3008,7 +3125,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"Fast movement (via the \"special\" key).\n" +"Fast movement (via the \"Aux1\" key).\n" "This requires the \"fast\" privilege on the server." msgstr "" @@ -3042,9 +3159,9 @@ 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." +"which PNG optimizers usually discard, often resulting in dark or\n" +"light edges to transparent textures. Apply a filter to clean that up\n" +"at texture load time. This is automatically enabled if mipmapping is enabled." msgstr "" #: src/settings_translation_file.cpp @@ -3139,10 +3256,6 @@ msgstr "" msgid "Font size of the default font in point (pt)." msgstr "" -#: src/settings_translation_file.cpp -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 "" @@ -3240,10 +3353,6 @@ msgstr "" msgid "Full screen" msgstr "" -#: src/settings_translation_file.cpp -msgid "Full screen BPP" -msgstr "" - #: src/settings_translation_file.cpp msgid "Fullscreen mode." msgstr "" @@ -3337,7 +3446,8 @@ msgid "Heat noise" msgstr "" #: src/settings_translation_file.cpp -msgid "Height component of the initial window size." +msgid "" +"Height component of the initial window size. Ignored in fullscreen mode." msgstr "" #: src/settings_translation_file.cpp @@ -3348,10 +3458,6 @@ msgstr "" msgid "Height select noise" msgstr "" -#: src/settings_translation_file.cpp -msgid "High-precision FPU" -msgstr "" - #: src/settings_translation_file.cpp msgid "Hill steepness" msgstr "" @@ -3583,8 +3689,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"If disabled, \"special\" key is used to fly fast if both fly and fast mode " -"are\n" +"If disabled, \"Aux1\" key is used to fly fast if both fly and fast mode are\n" "enabled." msgstr "" @@ -3606,8 +3711,8 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"If enabled, \"special\" key instead of \"sneak\" key is used for climbing " -"down and\n" +"If enabled, \"Aux1\" key instead of \"Sneak\" key is used for climbing down " +"and\n" "descending." msgstr "" @@ -3651,6 +3756,12 @@ msgid "" "to this distance from the player to the node." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"If the execution of a chat command takes longer than this specified time in\n" +"seconds, add the time information to the chat command message" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "If the file size of debug.txt exceeds the number of megabytes specified in\n" @@ -4539,10 +4650,6 @@ msgid "" "Make fog and sky colors depend on daytime (dawn/sunset) and view direction." msgstr "" -#: src/settings_translation_file.cpp -msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." -msgstr "" - #: src/settings_translation_file.cpp msgid "Makes all liquids opaque" msgstr "" @@ -4614,6 +4721,10 @@ msgstr "" msgid "Map save interval" msgstr "" +#: src/settings_translation_file.cpp +msgid "Map update time" +msgstr "" + #: src/settings_translation_file.cpp msgid "Mapblock limit" msgstr "" @@ -4722,6 +4833,10 @@ msgstr "" msgid "Maximum FPS when the window is not focused, or when the game is paused." msgstr "" +#: src/settings_translation_file.cpp +msgid "Maximum distance to render shadows." +msgstr "" + #: src/settings_translation_file.cpp msgid "Maximum forceloaded blocks" msgstr "" @@ -4828,7 +4943,15 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "Maximum time in ms a file download (e.g. a mod download) may take." +msgid "" +"Maximum time a file download (e.g. a mod download) may take, stated in " +"milliseconds." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum time an interactive request (e.g. server list fetch) may take, " +"stated in milliseconds." msgstr "" #: src/settings_translation_file.cpp @@ -5041,11 +5164,6 @@ 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 " @@ -5144,6 +5262,10 @@ msgstr "" msgid "Player versus player" msgstr "" +#: src/settings_translation_file.cpp +msgid "Poisson filtering" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Port to connect to (UDP).\n" @@ -5478,6 +5600,40 @@ msgstr "" msgid "Set the maximum character length of a chat message sent by clients." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow strength.\n" +"Lower value means lighter shadows, higher value means darker shadows." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow update time.\n" +"Lower value means shadows and map updates faster, but it consume more " +"resources.\n" +"Minimun value 0.001 seconds max value 0.2 seconds" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the soft shadow radius size.\n" +"Lower values mean sharper shadows bigger values softer.\n" +"Minimun value 1.0 and max value 10.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the tilt of Sun/Moon orbit in degrees\n" +"Value of 0 means no tilt / vertical orbit.\n" +"Minimun value 0.0 and max value 60.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set to true to enable Shadow Mapping.\n" +"Requires shaders to be enabled." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Set to true to enable waving leaves.\n" @@ -5496,6 +5652,13 @@ msgid "" "Requires shaders to be enabled." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Sets shadow texture quality to 32 bits.\n" +"On false, 16 bits texture will be used.\n" +"This can cause much more artifacts in the shadow." +msgstr "" + #: src/settings_translation_file.cpp msgid "Shader path" msgstr "" @@ -5508,6 +5671,22 @@ msgid "" "This only works with the OpenGL video backend." msgstr "" +#: src/settings_translation_file.cpp +msgid "Shadow filter quality" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map max distance in nodes to render shadows" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture in 32 bits" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture size" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Shadow offset (in pixels) of the default font. If 0, then shadow will not be " @@ -5515,9 +5694,7 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "" -"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not " -"be drawn." +msgid "Shadow strength" msgstr "" #: src/settings_translation_file.cpp @@ -5563,6 +5740,10 @@ msgid "" "thread, thus reducing jitter." msgstr "" +#: src/settings_translation_file.cpp +msgid "Sky Body Orbit Tilt" +msgstr "" + #: src/settings_translation_file.cpp msgid "Slice w" msgstr "" @@ -5617,18 +5798,14 @@ msgstr "" msgid "Sneaking speed, in nodes per second." msgstr "" +#: src/settings_translation_file.cpp +msgid "Soft shadow radius" +msgstr "" + #: src/settings_translation_file.cpp msgid "Sound" msgstr "" -#: src/settings_translation_file.cpp -msgid "Special key" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Special key for climbing/descending" -msgstr "" - #: src/settings_translation_file.cpp msgid "" "Specifies URL from which client fetches media instead of using UDP.\n" @@ -5750,6 +5927,13 @@ msgstr "" msgid "Texture path" msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Texture size to render the shadow map on.\n" +"This must be a power of two.\n" +"Bigger numbers create better shadowsbut it is also more expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Textures on a node may be aligned either to the node or to the world.\n" @@ -5823,7 +6007,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"The rendering back-end for Irrlicht.\n" +"The rendering back-end.\n" "A restart is required after changing this.\n" "Note: On Android, stick with OGLES1 if unsure! App may fail to start " "otherwise.\n" @@ -6110,7 +6294,7 @@ msgid "Viewing range" msgstr "" #: src/settings_translation_file.cpp -msgid "Virtual joystick triggers aux button" +msgid "Virtual joystick triggers Aux1 button" msgstr "" #: src/settings_translation_file.cpp @@ -6201,9 +6385,8 @@ msgid "" "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" +"memory. Powers of 2 are recommended. This setting is ONLY applies if\n" +"bilinear/trilinear/anisotropic filtering is enabled.\n" "This is also used as the base node texture size for world-aligned\n" "texture autoscaling." msgstr "" @@ -6259,7 +6442,7 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "Width component of the initial window size." +msgid "Width component of the initial window size. Ignored in fullscreen mode." msgstr "" #: src/settings_translation_file.cpp @@ -6366,9 +6549,12 @@ msgid "cURL file download timeout" msgstr "" #: src/settings_translation_file.cpp -msgid "cURL parallel limit" +msgid "cURL interactive timeout" msgstr "" #: src/settings_translation_file.cpp -msgid "cURL timeout" +msgid "cURL parallel limit" msgstr "" + +#~ msgid "needs_fallback_font" +#~ msgstr "no" diff --git a/po/he/minetest.po b/po/he/minetest.po index 2bfb5e711..8bc1c5fef 100644 --- a/po/he/minetest.po +++ b/po/he/minetest.po @@ -2,9 +2,9 @@ msgid "" msgstr "" "Project-Id-Version: Hebrew (Minetest)\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-02-23 19:03+0100\n" -"PO-Revision-Date: 2021-02-17 22:50+0000\n" -"Last-Translator: Yossi Cohen \n" +"POT-Creation-Date: 2021-06-16 18:27+0200\n" +"PO-Revision-Date: 2021-04-17 07:27+0000\n" +"Last-Translator: Omer I.S. \n" "Language-Team: Hebrew \n" "Language: he\n" @@ -13,7 +13,48 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=4; plural=(n == 1) ? 0 : ((n == 2) ? 1 : ((n > 10 && " "n % 10 == 0) ? 2 : 3));\n" -"X-Generator: Weblate 4.5\n" +"X-Generator: Weblate 4.6-dev\n" + +#: builtin/client/chatcommands.lua +msgid "Clear the out chat queue" +msgstr "" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Empty command." +msgstr "פקודות צ'אט" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Exit to main menu" +msgstr "יציאה לתפריט" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Invalid command: " +msgstr "פקודה מקומית" + +#: builtin/client/chatcommands.lua +msgid "Issued command: " +msgstr "" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "List online players" +msgstr "שחקן יחיד" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Online players: " +msgstr "שחקן יחיד" + +#: builtin/client/chatcommands.lua +msgid "The out chat queue is now empty." +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "This command is disabled by server." +msgstr "" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -23,6 +64,38 @@ msgstr "הזדמן" msgid "You died" msgstr "מתת" +#: builtin/client/death_formspec.lua +#, fuzzy +msgid "You died." +msgstr "מתת" + +#: builtin/common/chatcommands.lua +#, fuzzy +msgid "Available commands:" +msgstr "פקודה מקומית" + +#: builtin/common/chatcommands.lua +#, fuzzy +msgid "Available commands: " +msgstr "פקודה מקומית" + +#: builtin/common/chatcommands.lua +msgid "Command not available: " +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "Get help for commands" +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "" +"Use '.help ' to get more information, or '.help all' to list everything." +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "[all | ]" +msgstr "" + #: builtin/fstk/dialog.lua builtin/fstk/ui.lua src/gui/modalMenu.cpp msgid "OK" msgstr "אישור" @@ -89,7 +162,7 @@ msgstr "להשבית הכול" #: builtin/mainmenu/dlg_config_world.lua msgid "Disable modpack" -msgstr "השבתת ערכת המודים" +msgstr "השבתת ערכת השיפורים" #: builtin/mainmenu/dlg_config_world.lua msgid "Enable all" @@ -97,23 +170,23 @@ msgstr "להפעיל הכול" #: builtin/mainmenu/dlg_config_world.lua msgid "Enable modpack" -msgstr "הפעלת ערכת המודים" +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 "" -"הפעלת המוד \"1$\" נכשלה מכיוון שהוא מכיל תווים לא חוקיים. רק התווים [a-" +"הפעלת השיפור \"1$\" נכשלה מכיוון שהוא מכיל תווים לא חוקיים. רק התווים [a-" "z0-9_] מותרים." #: builtin/mainmenu/dlg_config_world.lua msgid "Find More Mods" -msgstr "מציאת מודים נוספים" +msgstr "חיפוש שיפורים נוספים" #: builtin/mainmenu/dlg_config_world.lua msgid "Mod:" -msgstr "מוד:" +msgstr "שיפור:" #: builtin/mainmenu/dlg_config_world.lua msgid "No (optional) dependencies" @@ -129,7 +202,7 @@ msgstr "ללא תלויות קשות" #: builtin/mainmenu/dlg_config_world.lua msgid "No modpack description provided." -msgstr "לא סופק תיאור לחבילת המוד." +msgstr "לא סופק תיאור לערכת השיפורים." #: builtin/mainmenu/dlg_config_world.lua msgid "No optional dependencies" @@ -232,7 +305,7 @@ msgstr "מתקין תלויות חסרות" #: builtin/mainmenu/dlg_contentstore.lua #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Mods" -msgstr "מודים" +msgstr "שיפורים" #: builtin/mainmenu/dlg_contentstore.lua msgid "No packages could be retrieved" @@ -505,15 +578,15 @@ msgstr "הסכמה" #: builtin/mainmenu/dlg_rename_modpack.lua msgid "Rename Modpack:" -msgstr "שנה את שם חבילת המודים:" +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 "" -"ל- modpack (חבילת תוספות) זה יש שם מפורש שניתן ב modpack.conf שלו אשר יעקוף " -"כל שינוי-שם כאן." +"לערכת שיפורים זו יש שם מפורש שניתן בקובץ modpack.conf שלה שיעקוף כל שינוי שם " +"מכאן." #: builtin/mainmenu/dlg_settings_advanced.lua msgid "(No description of setting given)" @@ -531,7 +604,7 @@ msgstr "חזור לדף ההגדרות >" msgid "Browse" msgstr "דפדף" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_settings.lua msgid "Disabled" msgstr "מושבת" @@ -575,7 +648,7 @@ msgstr "שחזור לברירת המחדל" msgid "Scale" msgstr "קנה מידה" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua msgid "Search" msgstr "חיפוש" @@ -652,7 +725,7 @@ msgstr "$1 (מופעל)" #: builtin/mainmenu/pkgmgr.lua msgid "$1 mods" -msgstr "$1 מודים" +msgstr "$1 שיפורים" #: builtin/mainmenu/pkgmgr.lua msgid "Failed to install $1 to $2" @@ -660,11 +733,11 @@ msgstr "התקנת $1 אל $2 נכשלה" #: builtin/mainmenu/pkgmgr.lua msgid "Install Mod: Unable to find real mod name for: $1" -msgstr "התקנת מוד: לא ניתן למצוא את שם המוד האמיתי עבור: $1" +msgstr "התקנת שיפור: לא ניתן למצוא את שם השיפור האמיתי עבור: $1" #: builtin/mainmenu/pkgmgr.lua msgid "Install Mod: Unable to find suitable folder name for modpack $1" -msgstr "התקנת מוד: לא ניתן למצוא שם תיקייה מתאים עבור חבילת המודים $1" +msgstr "התקנת שיפור: לא ניתן למצוא שם תיקייה מתאים לערכת השיפורים $1" #: builtin/mainmenu/pkgmgr.lua msgid "Install: Unsupported file type \"$1\" or broken archive" @@ -676,7 +749,7 @@ msgstr "התקנה: מקובץ: \"$1\"" #: builtin/mainmenu/pkgmgr.lua msgid "Unable to find a valid mod or modpack" -msgstr "לא ניתן למצוא מוד/חבילת מודים תקינה" +msgstr "אין אפשרות למצוא שיפור או ערכת שיפורים במצב תקין" #: builtin/mainmenu/pkgmgr.lua msgid "Unable to install a $1 as a texture pack" @@ -688,26 +761,62 @@ msgstr "לא ניתן להתקין משחק בתור $1" #: builtin/mainmenu/pkgmgr.lua msgid "Unable to install a mod as a $1" -msgstr "לא ניתן להתקין מוד בתור $1" +msgstr "אין אפשרות להתקין שיפור בשם $1" #: builtin/mainmenu/pkgmgr.lua msgid "Unable to install a modpack as a $1" -msgstr "לא ניתן להתקין חבילת מודים בתור $1" +msgstr "אין אפשרות להתקין ערכת שיפורים בשם $1" #: builtin/mainmenu/serverlistmgr.lua src/client/game.cpp msgid "Loading..." msgstr "כעת בטעינה..." #: builtin/mainmenu/serverlistmgr.lua -#, fuzzy msgid "Public server list is disabled" -msgstr "סקריפטים בצד לקוח מבוטלים" +msgstr "רשימת השרתים הציבורים מושבתת" #: builtin/mainmenu/serverlistmgr.lua msgid "Try reenabling public serverlist and check your internet connection." msgstr "" "נא לנסות לצאת ולהיכנס מחדש לרשימת השרתים ולבדוק את החיבור שלך לאינטרנט." +#: builtin/mainmenu/tab_about.lua +msgid "About" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active Contributors" +msgstr "תורמים פעילים" + +#: builtin/mainmenu/tab_about.lua +#, fuzzy +msgid "Active renderer:" +msgstr "טווח שליחת אובייקט פעיל" + +#: builtin/mainmenu/tab_about.lua +msgid "Core Developers" +msgstr "מפתחים עיקריים" + +#: builtin/mainmenu/tab_about.lua +msgid "Open User Data Directory" +msgstr "נא לבחור תיקיית משתמש" + +#: builtin/mainmenu/tab_about.lua +msgid "" +"Opens the directory that contains user-provided worlds, games, mods,\n" +"and texture packs in a file manager / explorer." +msgstr "" +"פותח את התיקייה שמכילה עולמות, משחקים, מודים,\n" +"וחבילות טקסטורה במנהל קבצים." + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Contributors" +msgstr "תורמים קודמים" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Core Developers" +msgstr "מפתחי ליבה קודמים" + #: builtin/mainmenu/tab_content.lua msgid "Browse online content" msgstr "עיון בתוכן מקוון" @@ -748,38 +857,6 @@ msgstr "הסרת החבילה" msgid "Use Texture Pack" msgstr "שימוש בחבילת המרקם" -#: builtin/mainmenu/tab_credits.lua -msgid "Active Contributors" -msgstr "תורמים פעילים" - -#: builtin/mainmenu/tab_credits.lua -msgid "Core Developers" -msgstr "מפתחים עיקריים" - -#: builtin/mainmenu/tab_credits.lua -msgid "Credits" -msgstr "תודות" - -#: builtin/mainmenu/tab_credits.lua -msgid "Open User Data Directory" -msgstr "נא לבחור תיקיית משתמש" - -#: builtin/mainmenu/tab_credits.lua -msgid "" -"Opens the directory that contains user-provided worlds, games, mods,\n" -"and texture packs in a file manager / explorer." -msgstr "" -"פותח את התיקייה המכילה עולמות, משחקים, מודים,\n" -"וחבילות טקסטורה במנהל קבצים." - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Contributors" -msgstr "תורמים קודמים" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Core Developers" -msgstr "מפתחי ליבה קודמים" - #: builtin/mainmenu/tab_local.lua msgid "Announce Server" msgstr "הכרז על השרת" @@ -808,7 +885,7 @@ msgstr "אכסון שרת" msgid "Install games from ContentDB" msgstr "התקנת משחק מContentDB" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Name" msgstr "שם" @@ -820,7 +897,7 @@ msgstr "חדש" msgid "No world created or selected!" msgstr "אין עולם שנוצר או נבחר!" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Password" msgstr "סיסמה" @@ -828,13 +905,13 @@ msgstr "סיסמה" msgid "Play Game" msgstr "להתחיל לשחק" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Port" msgstr "פורט" #: builtin/mainmenu/tab_local.lua msgid "Select Mods" -msgstr "בחירת מודים" +msgstr "בחירת שיפורים" #: builtin/mainmenu/tab_local.lua msgid "Select World:" @@ -849,8 +926,13 @@ msgid "Start Game" msgstr "התחלת המשחק" #: builtin/mainmenu/tab_online.lua -msgid "Address / Port" -msgstr "כתובת / פורט" +#, fuzzy +msgid "Address" +msgstr "- כתובת: " + +#: builtin/mainmenu/tab_online.lua src/client/keycode.cpp +msgid "Clear" +msgstr "נקה" #: builtin/mainmenu/tab_online.lua msgid "Connect" @@ -860,34 +942,46 @@ msgstr "התחברות" msgid "Creative mode" msgstr "מצב יצירתי" +#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "Damage enabled" -msgstr "נזק מופעל" +#, fuzzy +msgid "Damage / PvP" +msgstr "חבלה" #: builtin/mainmenu/tab_online.lua msgid "Del. Favorite" msgstr "מחק מועדף" #: builtin/mainmenu/tab_online.lua -msgid "Favorite" +#, fuzzy +msgid "Favorites" msgstr "מועדף" +#: builtin/mainmenu/tab_online.lua +msgid "Incompatible Servers" +msgstr "" + #: builtin/mainmenu/tab_online.lua msgid "Join Game" msgstr "הצטרפות למשחק" -#: builtin/mainmenu/tab_online.lua -msgid "Name / Password" -msgstr "שם/סיסמה" - #: builtin/mainmenu/tab_online.lua msgid "Ping" msgstr "פינג" -#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "PvP enabled" -msgstr "לאפשר קרבות" +#, fuzzy +msgid "Public Servers" +msgstr "הכרז על השרת" + +#: builtin/mainmenu/tab_online.lua +msgid "Refresh" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +#, fuzzy +msgid "Server Description" +msgstr "פורט לשרת" #: builtin/mainmenu/tab_settings.lua msgid "2x" @@ -929,10 +1023,30 @@ msgstr "שנה מקשים" msgid "Connected Glass" msgstr "זכוכיות מחוברות" +#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp +msgid "Dynamic shadows" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Dynamic shadows: " +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Fancy Leaves" msgstr "עלים מגניבים" +#: builtin/mainmenu/tab_settings.lua +msgid "High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Low" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Medium" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Mipmap" msgstr "מיפמאפ" @@ -1021,6 +1135,14 @@ msgstr "סף נגיעה: (px)" msgid "Trilinear Filter" msgstr "פילטר תלת לינארי" +#: builtin/mainmenu/tab_settings.lua +msgid "Ultra High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Very Low" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Waving Leaves" msgstr "עלים מתנופפים" @@ -1093,18 +1215,6 @@ 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" - #: src/client/game.cpp msgid "" "\n" @@ -1285,27 +1395,27 @@ msgstr "יציאה למערכת ההפעלה" #: src/client/game.cpp msgid "Fast mode disabled" -msgstr "מצב מהיר מבוטל" +msgstr "מצב המהירות מושבת" #: src/client/game.cpp msgid "Fast mode enabled" -msgstr "מצב מהיר מופעל" +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 "מצב תעופה מופעל (שים לב, אין הרשאת 'fly')" +msgstr "מצב התעופה מופעל (לתשומת ליבך: אין הרשאת \"fly\")" #: src/client/game.cpp msgid "Fog disabled" @@ -1325,7 +1435,7 @@ msgstr "המשחק הושהה" #: src/client/game.cpp msgid "Hosting server" -msgstr "שרת מארח" +msgstr "שרת אירוח" #: src/client/game.cpp msgid "Item definitions..." @@ -1333,7 +1443,7 @@ msgstr "הגדרות פריט..." #: src/client/game.cpp msgid "KiB/s" -msgstr "קילובייט/שניה" +msgstr "‏KiB/s" #: src/client/game.cpp msgid "Media..." @@ -1347,6 +1457,11 @@ msgstr "מגהבייט/שניה" msgid "Minimap currently disabled by game or mod" msgstr "מיפמאפ כרגע מבוטל ע\"י המשחק או המוד" +#: src/client/game.cpp +#, fuzzy +msgid "Multiplayer" +msgstr "שחקן יחיד" + #: src/client/game.cpp msgid "Noclip mode disabled" msgstr "מעבר דרך קירות מבוטל" @@ -1445,7 +1560,7 @@ msgstr "מסגרת שלדית מוצגת" #: src/client/game.cpp msgid "Zoom currently disabled by game or mod" -msgstr "זום גרגע מבוטל על-ידי המשחק או המוד" +msgstr "המבט מקרוב מושבת על ידי המשחק או השיפור" #: src/client/game.cpp msgid "ok" @@ -1488,10 +1603,6 @@ msgstr "Backspace" msgid "Caps Lock" msgstr "Caps Lock" -#: src/client/keycode.cpp -msgid "Clear" -msgstr "נקה" - #: src/client/keycode.cpp msgid "Control" msgstr "קונטרול" @@ -1746,7 +1857,7 @@ msgstr "מפה קטנה מוסתרת" #: src/client/minimap.cpp #, c-format msgid "Minimap in radar mode, Zoom x%d" -msgstr "מפה קטנה במצב ראדר, זום x %d" +msgstr "מפה קטנה במצב מכ״ם, יחס תצוגה x%d" #: src/client/minimap.cpp #, c-format @@ -1784,7 +1895,8 @@ msgid "Proceed" msgstr "להמשיך" #: src/gui/guiKeyChangeMenu.cpp -msgid "\"Special\" = climb down" +#, fuzzy +msgid "\"Aux1\" = climb down" msgstr "\"מיוחד\" = טפס למטה" #: src/gui/guiKeyChangeMenu.cpp @@ -1795,10 +1907,18 @@ msgstr "קדימה אוטומטי" msgid "Automatic jumping" msgstr "קפיצה אוטומטית" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Aux1" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Backward" msgstr "אחורה" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Block bounds" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Change camera" msgstr "שנה מצלמה" @@ -1887,10 +2007,6 @@ msgstr "צילום מסך" msgid "Sneak" msgstr "התכופף" -#: src/gui/guiKeyChangeMenu.cpp -msgid "Special" -msgstr "מיוחד" - #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle HUD" msgstr "מתג מידע על מסך" @@ -1977,9 +2093,10 @@ 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 " +"(Android) Use virtual joystick to trigger \"Aux1\" button.\n" +"If enabled, virtual joystick will also tap \"Aux1\" button when out of main " "circle." msgstr "" "(Android) השתמש בג'ויסטיק וירטואלי כדי להפעיל את כפתור \"aux\".\n" @@ -2058,7 +2175,7 @@ msgstr "עננים תלת מימדיים" #: src/settings_translation_file.cpp msgid "3D mode" -msgstr "מצב תלת מימדי" +msgstr "מצב תלת־ממד" #: src/settings_translation_file.cpp msgid "3D mode parallax strength" @@ -2333,6 +2450,15 @@ msgstr "שמור אוטומטית גודל מסך" msgid "Autoscaling mode" msgstr "מצב סקאלה אוטומטית (Autoscale)" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Aux1 key" +msgstr "מקש הקפיצה" + +#: src/settings_translation_file.cpp +msgid "Aux1 key for climbing/descending" +msgstr "" + #: src/settings_translation_file.cpp msgid "Backward key" msgstr "מקש התזוזה אחורה" @@ -2377,10 +2503,6 @@ msgstr "פרמטרי רעש טמפרטורה ולחות של Biome API" msgid "Biome noise" msgstr "רעש Biome" -#: src/settings_translation_file.cpp -msgid "Bits per pixel (aka color depth) in fullscreen mode." -msgstr "ביטים לפיקסל (עומק צבע) במצב מסך מלא." - #: src/settings_translation_file.cpp msgid "Block send optimize distance" msgstr "אופטימיזצית שליחת בלוק" @@ -2485,6 +2607,11 @@ msgstr "" "טווח דחיפה של מרכז עקומת אור.\n" "כאשר 0.0 הוא רמת אור מינימלית, 1.0 הוא רמת אור מקסימלית." +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Chat command time message threshold" +msgstr "סף בעיטה להודעות צ'אט" + #: src/settings_translation_file.cpp msgid "Chat font size" msgstr "גודל גופן צ'אט" @@ -2583,6 +2710,10 @@ msgstr "" msgid "Colored fog" msgstr "" +#: src/settings_translation_file.cpp +msgid "Colored shadows" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Comma-separated list of flags to hide in the content repository.\n" @@ -2778,8 +2909,9 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"Default timeout for cURL, stated in milliseconds.\n" -"Only has an effect if compiled with cURL." +"Define shadow filtering quality\n" +"This simulates the soft shadows effect by applying a PCF or poisson disk\n" +"but also uses more resources." msgstr "" #: src/settings_translation_file.cpp @@ -2942,13 +3074,19 @@ msgid "" "This support is experimental and API can change." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Enable colored shadows. \n" +"On true translucent nodes cast colored shadows. This is expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable console window" msgstr "" #: src/settings_translation_file.cpp msgid "Enable creative mode for all players" -msgstr "" +msgstr "הפעלת המצב היצירתי עבור כל השחקנים" #: src/settings_translation_file.cpp msgid "Enable joysticks" @@ -2966,6 +3104,13 @@ msgstr "" msgid "Enable players getting damage and dying." msgstr "לאפשר חבלה ומוות של השחקנים." +#: src/settings_translation_file.cpp +msgid "" +"Enable poisson disk filtering.\n" +"On true uses poisson disk to make \"soft shadows\". Otherwise uses PCF " +"filtering." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable random user input (only used for testing)." msgstr "" @@ -3088,18 +3233,6 @@ msgstr "" msgid "Fallback font path" msgstr "" -#: src/settings_translation_file.cpp -msgid "Fallback font shadow" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Fallback font shadow alpha" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Fallback font size" -msgstr "" - #: src/settings_translation_file.cpp msgid "Fast key" msgstr "" @@ -3118,7 +3251,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"Fast movement (via the \"special\" key).\n" +"Fast movement (via the \"Aux1\" key).\n" "This requires the \"fast\" privilege on the server." msgstr "" @@ -3152,9 +3285,9 @@ 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." +"which PNG optimizers usually discard, often resulting in dark or\n" +"light edges to transparent textures. Apply a filter to clean that up\n" +"at texture load time. This is automatically enabled if mipmapping is enabled." msgstr "" #: src/settings_translation_file.cpp @@ -3249,10 +3382,6 @@ msgstr "" msgid "Font size of the default font in point (pt)." msgstr "" -#: src/settings_translation_file.cpp -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 "" @@ -3350,13 +3479,9 @@ msgstr "" msgid "Full screen" msgstr "" -#: src/settings_translation_file.cpp -msgid "Full screen BPP" -msgstr "" - #: src/settings_translation_file.cpp msgid "Fullscreen mode." -msgstr "" +msgstr "מצב מסך מלא." #: src/settings_translation_file.cpp msgid "GUI scaling" @@ -3448,8 +3573,10 @@ msgid "Heat noise" msgstr "" #: src/settings_translation_file.cpp -msgid "Height component of the initial window size." -msgstr "" +#, fuzzy +msgid "" +"Height component of the initial window size. Ignored in fullscreen mode." +msgstr "רכיב רוחב של גודל החלון הראשוני." #: src/settings_translation_file.cpp msgid "Height noise" @@ -3459,10 +3586,6 @@ msgstr "" msgid "Height select noise" msgstr "" -#: src/settings_translation_file.cpp -msgid "High-precision FPU" -msgstr "" - #: src/settings_translation_file.cpp msgid "Hill steepness" msgstr "" @@ -3694,8 +3817,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"If disabled, \"special\" key is used to fly fast if both fly and fast mode " -"are\n" +"If disabled, \"Aux1\" key is used to fly fast if both fly and fast mode are\n" "enabled." msgstr "" @@ -3717,8 +3839,8 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"If enabled, \"special\" key instead of \"sneak\" key is used for climbing " -"down and\n" +"If enabled, \"Aux1\" key instead of \"Sneak\" key is used for climbing down " +"and\n" "descending." msgstr "" @@ -3762,6 +3884,12 @@ msgid "" "to this distance from the player to the node." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"If the execution of a chat command takes longer than this specified time in\n" +"seconds, add the time information to the chat command message" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "If the file size of debug.txt exceeds the number of megabytes specified in\n" @@ -4650,10 +4778,6 @@ msgid "" "Make fog and sky colors depend on daytime (dawn/sunset) and view direction." msgstr "" -#: src/settings_translation_file.cpp -msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." -msgstr "" - #: src/settings_translation_file.cpp msgid "Makes all liquids opaque" msgstr "" @@ -4725,6 +4849,10 @@ msgstr "" msgid "Map save interval" msgstr "" +#: src/settings_translation_file.cpp +msgid "Map update time" +msgstr "" + #: src/settings_translation_file.cpp msgid "Mapblock limit" msgstr "" @@ -4839,6 +4967,10 @@ msgstr "" msgid "Maximum FPS when the window is not focused, or when the game is paused." msgstr "" +#: src/settings_translation_file.cpp +msgid "Maximum distance to render shadows." +msgstr "" + #: src/settings_translation_file.cpp msgid "Maximum forceloaded blocks" msgstr "" @@ -4945,7 +5077,15 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "Maximum time in ms a file download (e.g. a mod download) may take." +msgid "" +"Maximum time a file download (e.g. a mod download) may take, stated in " +"milliseconds." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum time an interactive request (e.g. server list fetch) may take, " +"stated in milliseconds." msgstr "" #: src/settings_translation_file.cpp @@ -5158,11 +5298,6 @@ 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 " @@ -5261,6 +5396,11 @@ msgstr "" msgid "Player versus player" msgstr "" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Poisson filtering" +msgstr "סינון בילינארי" + #: src/settings_translation_file.cpp msgid "" "Port to connect to (UDP).\n" @@ -5595,6 +5735,43 @@ msgstr "" msgid "Set the maximum character length of a chat message sent by clients." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow strength.\n" +"Lower value means lighter shadows, higher value means darker shadows." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow update time.\n" +"Lower value means shadows and map updates faster, but it consume more " +"resources.\n" +"Minimun value 0.001 seconds max value 0.2 seconds" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the soft shadow radius size.\n" +"Lower values mean sharper shadows bigger values softer.\n" +"Minimun value 1.0 and max value 10.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the tilt of Sun/Moon orbit in degrees\n" +"Value of 0 means no tilt / vertical orbit.\n" +"Minimun value 0.0 and max value 60.0" +msgstr "" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "" +"Set to true to enable Shadow Mapping.\n" +"Requires shaders to be enabled." +msgstr "" +"עוצמת הקול של כל הצלילים.\n" +"דורש הפעלת מערכת הקול." + #: src/settings_translation_file.cpp msgid "" "Set to true to enable waving leaves.\n" @@ -5613,6 +5790,13 @@ msgid "" "Requires shaders to be enabled." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Sets shadow texture quality to 32 bits.\n" +"On false, 16 bits texture will be used.\n" +"This can cause much more artifacts in the shadow." +msgstr "" + #: src/settings_translation_file.cpp msgid "Shader path" msgstr "" @@ -5625,6 +5809,22 @@ msgid "" "This only works with the OpenGL video backend." msgstr "" +#: src/settings_translation_file.cpp +msgid "Shadow filter quality" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map max distance in nodes to render shadows" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture in 32 bits" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture size" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Shadow offset (in pixels) of the default font. If 0, then shadow will not be " @@ -5632,9 +5832,7 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "" -"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not " -"be drawn." +msgid "Shadow strength" msgstr "" #: src/settings_translation_file.cpp @@ -5680,6 +5878,10 @@ msgid "" "thread, thus reducing jitter." msgstr "" +#: src/settings_translation_file.cpp +msgid "Sky Body Orbit Tilt" +msgstr "" + #: src/settings_translation_file.cpp msgid "Slice w" msgstr "" @@ -5734,18 +5936,14 @@ msgstr "" msgid "Sneaking speed, in nodes per second." msgstr "" +#: src/settings_translation_file.cpp +msgid "Soft shadow radius" +msgstr "" + #: src/settings_translation_file.cpp msgid "Sound" msgstr "" -#: src/settings_translation_file.cpp -msgid "Special key" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Special key for climbing/descending" -msgstr "" - #: src/settings_translation_file.cpp msgid "" "Specifies URL from which client fetches media instead of using UDP.\n" @@ -5867,6 +6065,13 @@ msgstr "" msgid "Texture path" msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Texture size to render the shadow map on.\n" +"This must be a power of two.\n" +"Bigger numbers create better shadowsbut it is also more expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Textures on a node may be aligned either to the node or to the world.\n" @@ -5940,7 +6145,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"The rendering back-end for Irrlicht.\n" +"The rendering back-end.\n" "A restart is required after changing this.\n" "Note: On Android, stick with OGLES1 if unsure! App may fail to start " "otherwise.\n" @@ -6227,7 +6432,8 @@ msgid "Viewing range" msgstr "טווח ראיה" #: src/settings_translation_file.cpp -msgid "Virtual joystick triggers aux button" +#, fuzzy +msgid "Virtual joystick triggers Aux1 button" msgstr "מקש הפעלת ג'ויסטיק וירטואלי" #: src/settings_translation_file.cpp @@ -6320,9 +6526,8 @@ msgid "" "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" +"memory. Powers of 2 are recommended. This setting is ONLY applies if\n" +"bilinear/trilinear/anisotropic filtering is enabled.\n" "This is also used as the base node texture size for world-aligned\n" "texture autoscaling." msgstr "" @@ -6378,7 +6583,8 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "Width component of the initial window size." +#, fuzzy +msgid "Width component of the initial window size. Ignored in fullscreen mode." msgstr "רכיב רוחב של גודל החלון הראשוני." #: src/settings_translation_file.cpp @@ -6485,17 +6691,30 @@ msgstr "" msgid "cURL file download timeout" msgstr "(cURL) זמן להורדה נגמר" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "cURL interactive timeout" +msgstr "(cURL) מגבלת זמן" + #: src/settings_translation_file.cpp msgid "cURL parallel limit" msgstr "(cURL) מגבלה לפעולות במקביל" -#: src/settings_translation_file.cpp -msgid "cURL timeout" -msgstr "(cURL) מגבלת זמן" +#~ msgid "Address / Port" +#~ msgstr "כתובת / פורט" + +#~ msgid "Bits per pixel (aka color depth) in fullscreen mode." +#~ msgstr "ביטים לפיקסל (עומק צבע) במצב מסך מלא." #~ msgid "Configure" #~ msgstr "קביעת תצורה" +#~ msgid "Credits" +#~ msgstr "תודות" + +#~ msgid "Damage enabled" +#~ msgstr "נזק מופעל" + #, fuzzy #~ msgid "Enable VBO" #~ msgstr "אפשר בכל" @@ -6503,18 +6722,30 @@ msgstr "(cURL) מגבלת זמן" #~ msgid "Main menu style" #~ msgstr "סגנון התפריט הראשי" +#~ msgid "Name / Password" +#~ msgstr "שם/סיסמה" + #~ msgid "No" #~ msgstr "לא" #~ msgid "Ok" #~ msgstr "אישור" +#~ msgid "PvP enabled" +#~ msgstr "לאפשר קרבות" + #, fuzzy #~ msgid "Reset singleplayer world" #~ msgstr "שרת" +#~ msgid "Special" +#~ msgstr "מיוחד" + #~ msgid "View" #~ msgstr "תצוגה" #~ msgid "Yes" #~ msgstr "כן" + +#~ msgid "needs_fallback_font" +#~ msgstr "yes" diff --git a/po/hi/minetest.po b/po/hi/minetest.po index 2c88b00f0..59326cf06 100644 --- a/po/hi/minetest.po +++ b/po/hi/minetest.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: minetest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-02-23 19:03+0100\n" +"POT-Creation-Date: 2021-06-16 18:27+0200\n" "PO-Revision-Date: 2020-10-06 14:26+0000\n" "Last-Translator: Eyekay49 \n" "Language-Team: Hindi 1;\n" "X-Generator: Weblate 4.3-dev\n" +#: builtin/client/chatcommands.lua +msgid "Clear the out chat queue" +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "Empty command." +msgstr "" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Exit to main menu" +msgstr "बंद करके मेनू पर जाएं" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Invalid command: " +msgstr "लोकल कमांड" + +#: builtin/client/chatcommands.lua +msgid "Issued command: " +msgstr "" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "List online players" +msgstr "एक-खिलाडी" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Online players: " +msgstr "एक-खिलाडी" + +#: builtin/client/chatcommands.lua +msgid "The out chat queue is now empty." +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "This command is disabled by server." +msgstr "" + #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" msgstr "वापस ज़िंदा होएं" @@ -27,6 +67,38 @@ msgstr "वापस ज़िंदा होएं" msgid "You died" msgstr "आपकी मौत हो गयी" +#: builtin/client/death_formspec.lua +#, fuzzy +msgid "You died." +msgstr "आपकी मौत हो गयी" + +#: builtin/common/chatcommands.lua +#, fuzzy +msgid "Available commands:" +msgstr "लोकल कमांड" + +#: builtin/common/chatcommands.lua +#, fuzzy +msgid "Available commands: " +msgstr "लोकल कमांड" + +#: builtin/common/chatcommands.lua +msgid "Command not available: " +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "Get help for commands" +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "" +"Use '.help ' to get more information, or '.help all' to list everything." +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "[all | ]" +msgstr "" + #: builtin/fstk/dialog.lua builtin/fstk/ui.lua src/gui/modalMenu.cpp msgid "OK" msgstr "ठीक है" @@ -538,7 +610,7 @@ msgstr "वापस सेटिंग पृष्ठ पर जाएं" msgid "Browse" msgstr "ढूंढें" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_settings.lua msgid "Disabled" msgstr "रुका हुआ" @@ -582,7 +654,7 @@ msgstr "मूल चुनें" msgid "Scale" msgstr "स्केल" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua msgid "Search" msgstr "ढूंढें" @@ -714,6 +786,41 @@ msgstr "क्लाइंट की तरफ से स्क्रिप् msgid "Try reenabling public serverlist and check your internet connection." msgstr "सार्वजनिक सर्वर शृंखला (सर्वर लिस्ट) को 'हां' करें और इंटरनेट कनेक्शन जांचें।" +#: builtin/mainmenu/tab_about.lua +msgid "About" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active Contributors" +msgstr "सक्रिय सहायक" + +#: builtin/mainmenu/tab_about.lua +msgid "Active renderer:" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Core Developers" +msgstr "मुख्य डेवेलपर" + +#: builtin/mainmenu/tab_about.lua +#, fuzzy +msgid "Open User Data Directory" +msgstr "फाईल पाथ चुनें" + +#: builtin/mainmenu/tab_about.lua +msgid "" +"Opens the directory that contains user-provided worlds, games, mods,\n" +"and texture packs in a file manager / explorer." +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Contributors" +msgstr "पूर्व सहायक" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Core Developers" +msgstr "पूर्व मुख्य डेवेलपर" + #: builtin/mainmenu/tab_content.lua msgid "Browse online content" msgstr "नेट पर वस्तुएं ढूंढें" @@ -754,37 +861,6 @@ msgstr "पैकेज हटाएं" msgid "Use Texture Pack" msgstr "कला संकुल चालू करें" -#: builtin/mainmenu/tab_credits.lua -msgid "Active Contributors" -msgstr "सक्रिय सहायक" - -#: builtin/mainmenu/tab_credits.lua -msgid "Core Developers" -msgstr "मुख्य डेवेलपर" - -#: builtin/mainmenu/tab_credits.lua -msgid "Credits" -msgstr "आभार सूची" - -#: builtin/mainmenu/tab_credits.lua -#, fuzzy -msgid "Open User Data Directory" -msgstr "फाईल पाथ चुनें" - -#: builtin/mainmenu/tab_credits.lua -msgid "" -"Opens the directory that contains user-provided worlds, games, mods,\n" -"and texture packs in a file manager / explorer." -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Contributors" -msgstr "पूर्व सहायक" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Core Developers" -msgstr "पूर्व मुख्य डेवेलपर" - #: builtin/mainmenu/tab_local.lua msgid "Announce Server" msgstr "सर्वर सार्वजनिक सर्वर सूची (server list) में दिखे" @@ -813,7 +889,7 @@ msgstr "सर्वर चलाएं" msgid "Install games from ContentDB" msgstr "" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Name" msgstr "" @@ -825,7 +901,7 @@ msgstr "नया" msgid "No world created or selected!" msgstr "कोई दुनिया उपस्थित या चुनी गयी नहीं है !" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua #, fuzzy msgid "Password" msgstr "नया पासवर्ड" @@ -834,7 +910,7 @@ msgstr "नया पासवर्ड" msgid "Play Game" msgstr "खेल खेलें" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Port" msgstr "पोर्ट" @@ -856,8 +932,13 @@ msgid "Start Game" msgstr "खेल शुरू करें" #: builtin/mainmenu/tab_online.lua -msgid "Address / Port" -msgstr "ऐडरेस / पोर्ट" +#, fuzzy +msgid "Address" +msgstr "- एड्रेस : " + +#: builtin/mainmenu/tab_online.lua src/client/keycode.cpp +msgid "Clear" +msgstr "खाली करें" #: builtin/mainmenu/tab_online.lua msgid "Connect" @@ -867,34 +948,46 @@ msgstr "कनेक्ट करें" msgid "Creative mode" msgstr "असीमित संसाधन" +#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "Damage enabled" -msgstr "हानि व मृत्यु हो सकती है" +#, fuzzy +msgid "Damage / PvP" +msgstr "- हानि : " #: builtin/mainmenu/tab_online.lua msgid "Del. Favorite" msgstr "पसंद हटाएं" #: builtin/mainmenu/tab_online.lua -msgid "Favorite" +#, fuzzy +msgid "Favorites" msgstr "पसंद" +#: builtin/mainmenu/tab_online.lua +msgid "Incompatible Servers" +msgstr "" + #: builtin/mainmenu/tab_online.lua msgid "Join Game" msgstr "खेल में शामिल होएं" -#: builtin/mainmenu/tab_online.lua -msgid "Name / Password" -msgstr "नाम/पासवर्ड" - #: builtin/mainmenu/tab_online.lua msgid "Ping" msgstr "पिंग" -#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "PvP enabled" -msgstr "खिलाडियों में मारा-पीटी की अनुमती है" +#, fuzzy +msgid "Public Servers" +msgstr "सर्वर सार्वजनिक सर्वर सूची (server list) में दिखे" + +#: builtin/mainmenu/tab_online.lua +msgid "Refresh" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +#, fuzzy +msgid "Server Description" +msgstr "सर्वर पोर्ट" #: builtin/mainmenu/tab_settings.lua msgid "2x" @@ -936,10 +1029,30 @@ msgstr "की बदलें" msgid "Connected Glass" msgstr "जुडे शिशे" +#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp +msgid "Dynamic shadows" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Dynamic shadows: " +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Fancy Leaves" msgstr "रोचक पत्ते" +#: builtin/mainmenu/tab_settings.lua +msgid "High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Low" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Medium" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Mipmap" msgstr "मिपमैप" @@ -1029,6 +1142,14 @@ msgstr "छूने की त्रिज्या : (px)" msgid "Trilinear Filter" msgstr "त्रिरेखीय फिल्टर" +#: builtin/mainmenu/tab_settings.lua +msgid "Ultra High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Very Low" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Waving Leaves" msgstr "पत्ते लहराएं" @@ -1101,18 +1222,6 @@ 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" - #: src/client/game.cpp msgid "" "\n" @@ -1355,6 +1464,11 @@ msgstr "एम॰ आई॰ बी॰/ एस॰" msgid "Minimap currently disabled by game or mod" msgstr "खेल या मॉड़ के वजह से छोटा नक्शा मना है" +#: src/client/game.cpp +#, fuzzy +msgid "Multiplayer" +msgstr "एक-खिलाडी" + #: src/client/game.cpp msgid "Noclip mode disabled" msgstr "तरल चाल रुका हुआ" @@ -1496,10 +1610,6 @@ msgstr "बैकस्पेस" msgid "Caps Lock" msgstr "कैप्स लाक" -#: src/client/keycode.cpp -msgid "Clear" -msgstr "खाली करें" - #: src/client/keycode.cpp msgid "Control" msgstr "कंट्रोल" @@ -1794,7 +1904,8 @@ msgid "Proceed" msgstr "आगे बढ़े" #: src/gui/guiKeyChangeMenu.cpp -msgid "\"Special\" = climb down" +#, fuzzy +msgid "\"Aux1\" = climb down" msgstr "\"स्पेशल\" = नीचे उतरना" #: src/gui/guiKeyChangeMenu.cpp @@ -1805,10 +1916,18 @@ msgstr "स्वचालन" msgid "Automatic jumping" msgstr "कूदने के लिए बटन दबाना अनावश्यक" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Aux1" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Backward" msgstr "पीछे जाएं" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Block bounds" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Change camera" msgstr "कैमरा बदलना" @@ -1897,10 +2016,6 @@ msgstr "स्क्रीनशॉट" msgid "Sneak" msgstr "संभल के चलना" -#: src/gui/guiKeyChangeMenu.cpp -msgid "Special" -msgstr "स्पेशल" - #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle HUD" msgstr "हे. अ. डि" @@ -1986,8 +2101,8 @@ 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 " +"(Android) Use virtual joystick to trigger \"Aux1\" button.\n" +"If enabled, virtual joystick will also tap \"Aux1\" button when out of main " "circle." msgstr "" @@ -2281,6 +2396,15 @@ msgstr "" msgid "Autoscaling mode" msgstr "" +#: src/settings_translation_file.cpp +msgid "Aux1 key" +msgstr "" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Aux1 key for climbing/descending" +msgstr "चलने उतरने के लिए स्पेशल की" + #: src/settings_translation_file.cpp msgid "Backward key" msgstr "" @@ -2325,10 +2449,6 @@ msgstr "" msgid "Biome noise" msgstr "" -#: src/settings_translation_file.cpp -msgid "Bits per pixel (aka color depth) in fullscreen mode." -msgstr "" - #: src/settings_translation_file.cpp msgid "Block send optimize distance" msgstr "" @@ -2427,6 +2547,10 @@ msgid "" "Where 0.0 is minimum light level, 1.0 is maximum light level." msgstr "" +#: src/settings_translation_file.cpp +msgid "Chat command time message threshold" +msgstr "" + #: src/settings_translation_file.cpp msgid "Chat font size" msgstr "" @@ -2523,6 +2647,10 @@ msgstr "" msgid "Colored fog" msgstr "" +#: src/settings_translation_file.cpp +msgid "Colored shadows" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Comma-separated list of flags to hide in the content repository.\n" @@ -2718,8 +2846,9 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"Default timeout for cURL, stated in milliseconds.\n" -"Only has an effect if compiled with cURL." +"Define shadow filtering quality\n" +"This simulates the soft shadows effect by applying a PCF or poisson disk\n" +"but also uses more resources." msgstr "" #: src/settings_translation_file.cpp @@ -2880,6 +3009,12 @@ msgid "" "This support is experimental and API can change." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Enable colored shadows. \n" +"On true translucent nodes cast colored shadows. This is expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable console window" msgstr "" @@ -2904,6 +3039,13 @@ msgstr "" msgid "Enable players getting damage and dying." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Enable poisson disk filtering.\n" +"On true uses poisson disk to make \"soft shadows\". Otherwise uses PCF " +"filtering." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable random user input (only used for testing)." msgstr "" @@ -3026,18 +3168,6 @@ msgstr "" msgid "Fallback font path" msgstr "" -#: src/settings_translation_file.cpp -msgid "Fallback font shadow" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Fallback font shadow alpha" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Fallback font size" -msgstr "" - #: src/settings_translation_file.cpp msgid "Fast key" msgstr "" @@ -3055,8 +3185,9 @@ msgid "Fast movement" msgstr "तेज चलन" #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"Fast movement (via the \"special\" key).\n" +"Fast movement (via the \"Aux1\" key).\n" "This requires the \"fast\" privilege on the server." msgstr "" "स्पेशल की दबाने पर आप बहुत तॆज चलने लगेंगे |\n" @@ -3092,9 +3223,9 @@ 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." +"which PNG optimizers usually discard, often resulting in dark or\n" +"light edges to transparent textures. Apply a filter to clean that up\n" +"at texture load time. This is automatically enabled if mipmapping is enabled." msgstr "" #: src/settings_translation_file.cpp @@ -3189,10 +3320,6 @@ msgstr "" msgid "Font size of the default font in point (pt)." msgstr "" -#: src/settings_translation_file.cpp -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 "" @@ -3290,10 +3417,6 @@ msgstr "" msgid "Full screen" msgstr "" -#: src/settings_translation_file.cpp -msgid "Full screen BPP" -msgstr "" - #: src/settings_translation_file.cpp msgid "Fullscreen mode." msgstr "" @@ -3387,7 +3510,8 @@ msgid "Heat noise" msgstr "" #: src/settings_translation_file.cpp -msgid "Height component of the initial window size." +msgid "" +"Height component of the initial window size. Ignored in fullscreen mode." msgstr "" #: src/settings_translation_file.cpp @@ -3398,10 +3522,6 @@ msgstr "" msgid "Height select noise" msgstr "" -#: src/settings_translation_file.cpp -msgid "High-precision FPU" -msgstr "" - #: src/settings_translation_file.cpp msgid "Hill steepness" msgstr "" @@ -3632,9 +3752,9 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"If disabled, \"special\" key is used to fly fast if both fly and fast mode " -"are\n" +"If disabled, \"Aux1\" key is used to fly fast if both fly and fast mode are\n" "enabled." msgstr "" "अगर यह रुका हुआ हुआ तो तेज उड़ने के लिए\n" @@ -3659,9 +3779,10 @@ msgstr "" "इसके लिये \"तरल चाल\" विषेशाधिकार आवश्यक है |" #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"If enabled, \"special\" key instead of \"sneak\" key is used for climbing " -"down and\n" +"If enabled, \"Aux1\" key instead of \"Sneak\" key is used for climbing down " +"and\n" "descending." msgstr "" "अगर यहां चालू हुआ तो नीचे उतरने के लिए स्पेशल\n" @@ -3709,6 +3830,12 @@ msgid "" "to this distance from the player to the node." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"If the execution of a chat command takes longer than this specified time in\n" +"seconds, add the time information to the chat command message" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "If the file size of debug.txt exceeds the number of megabytes specified in\n" @@ -4597,10 +4724,6 @@ msgid "" "Make fog and sky colors depend on daytime (dawn/sunset) and view direction." msgstr "" -#: src/settings_translation_file.cpp -msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." -msgstr "" - #: src/settings_translation_file.cpp msgid "Makes all liquids opaque" msgstr "" @@ -4672,6 +4795,10 @@ msgstr "" msgid "Map save interval" msgstr "" +#: src/settings_translation_file.cpp +msgid "Map update time" +msgstr "" + #: src/settings_translation_file.cpp msgid "Mapblock limit" msgstr "" @@ -4780,6 +4907,10 @@ msgstr "" msgid "Maximum FPS when the window is not focused, or when the game is paused." msgstr "" +#: src/settings_translation_file.cpp +msgid "Maximum distance to render shadows." +msgstr "" + #: src/settings_translation_file.cpp msgid "Maximum forceloaded blocks" msgstr "" @@ -4886,7 +5017,15 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "Maximum time in ms a file download (e.g. a mod download) may take." +msgid "" +"Maximum time a file download (e.g. a mod download) may take, stated in " +"milliseconds." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum time an interactive request (e.g. server list fetch) may take, " +"stated in milliseconds." msgstr "" #: src/settings_translation_file.cpp @@ -5099,11 +5238,6 @@ 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 " @@ -5205,6 +5339,10 @@ msgstr "" msgid "Player versus player" msgstr "" +#: src/settings_translation_file.cpp +msgid "Poisson filtering" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Port to connect to (UDP).\n" @@ -5539,6 +5677,40 @@ msgstr "" msgid "Set the maximum character length of a chat message sent by clients." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow strength.\n" +"Lower value means lighter shadows, higher value means darker shadows." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow update time.\n" +"Lower value means shadows and map updates faster, but it consume more " +"resources.\n" +"Minimun value 0.001 seconds max value 0.2 seconds" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the soft shadow radius size.\n" +"Lower values mean sharper shadows bigger values softer.\n" +"Minimun value 1.0 and max value 10.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the tilt of Sun/Moon orbit in degrees\n" +"Value of 0 means no tilt / vertical orbit.\n" +"Minimun value 0.0 and max value 60.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set to true to enable Shadow Mapping.\n" +"Requires shaders to be enabled." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Set to true to enable waving leaves.\n" @@ -5557,6 +5729,13 @@ msgid "" "Requires shaders to be enabled." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Sets shadow texture quality to 32 bits.\n" +"On false, 16 bits texture will be used.\n" +"This can cause much more artifacts in the shadow." +msgstr "" + #: src/settings_translation_file.cpp msgid "Shader path" msgstr "" @@ -5569,6 +5748,22 @@ msgid "" "This only works with the OpenGL video backend." msgstr "" +#: src/settings_translation_file.cpp +msgid "Shadow filter quality" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map max distance in nodes to render shadows" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture in 32 bits" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture size" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Shadow offset (in pixels) of the default font. If 0, then shadow will not be " @@ -5576,9 +5771,7 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "" -"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not " -"be drawn." +msgid "Shadow strength" msgstr "" #: src/settings_translation_file.cpp @@ -5624,6 +5817,10 @@ msgid "" "thread, thus reducing jitter." msgstr "" +#: src/settings_translation_file.cpp +msgid "Sky Body Orbit Tilt" +msgstr "" + #: src/settings_translation_file.cpp msgid "Slice w" msgstr "" @@ -5680,18 +5877,14 @@ msgstr "" msgid "Sneaking speed, in nodes per second." msgstr "" +#: src/settings_translation_file.cpp +msgid "Soft shadow radius" +msgstr "" + #: src/settings_translation_file.cpp msgid "Sound" msgstr "" -#: src/settings_translation_file.cpp -msgid "Special key" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Special key for climbing/descending" -msgstr "चलने उतरने के लिए स्पेशल की" - #: src/settings_translation_file.cpp msgid "" "Specifies URL from which client fetches media instead of using UDP.\n" @@ -5813,6 +6006,13 @@ msgstr "" msgid "Texture path" msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Texture size to render the shadow map on.\n" +"This must be a power of two.\n" +"Bigger numbers create better shadowsbut it is also more expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Textures on a node may be aligned either to the node or to the world.\n" @@ -5886,7 +6086,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"The rendering back-end for Irrlicht.\n" +"The rendering back-end.\n" "A restart is required after changing this.\n" "Note: On Android, stick with OGLES1 if unsure! App may fail to start " "otherwise.\n" @@ -6173,7 +6373,7 @@ msgid "Viewing range" msgstr "" #: src/settings_translation_file.cpp -msgid "Virtual joystick triggers aux button" +msgid "Virtual joystick triggers Aux1 button" msgstr "" #: src/settings_translation_file.cpp @@ -6264,9 +6464,8 @@ msgid "" "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" +"memory. Powers of 2 are recommended. This setting is ONLY applies if\n" +"bilinear/trilinear/anisotropic filtering is enabled.\n" "This is also used as the base node texture size for world-aligned\n" "texture autoscaling." msgstr "" @@ -6322,7 +6521,7 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "Width component of the initial window size." +msgid "Width component of the initial window size. Ignored in fullscreen mode." msgstr "" #: src/settings_translation_file.cpp @@ -6429,13 +6628,16 @@ msgid "cURL file download timeout" msgstr "" #: src/settings_translation_file.cpp -msgid "cURL parallel limit" +msgid "cURL interactive timeout" msgstr "" #: src/settings_translation_file.cpp -msgid "cURL timeout" +msgid "cURL parallel limit" msgstr "" +#~ msgid "Address / Port" +#~ msgstr "ऐडरेस / पोर्ट" + #~ msgid "Are you sure to reset your singleplayer world?" #~ msgstr "क्या आप सचमुच अपने एक-खिलाडी दुनिया रद्द करना चाहते हैं?" @@ -6451,6 +6653,12 @@ msgstr "" #~ msgid "Configure" #~ msgstr "सेटिंग बदलें" +#~ msgid "Credits" +#~ msgstr "आभार सूची" + +#~ msgid "Damage enabled" +#~ msgstr "हानि व मृत्यु हो सकती है" + #~ msgid "Downloading and installing $1, please wait..." #~ msgstr "$1 का डाऊनलोड व इन्स्टाल चल रहा है, कृपया ठहरें ..." @@ -6472,6 +6680,9 @@ msgstr "" #~ msgid "Minimap in surface mode, Zoom x4" #~ msgstr "छोटा नक्शा जमीन मोड, 4 गुना जून" +#~ msgid "Name / Password" +#~ msgstr "नाम/पासवर्ड" + #~ msgid "Name/Password" #~ msgstr "नाम/पासवर्ड" @@ -6484,9 +6695,15 @@ msgstr "" #~ msgid "Parallax Occlusion" #~ msgstr "पेरलेक्स ऑक्लूजन" +#~ msgid "PvP enabled" +#~ msgstr "खिलाडियों में मारा-पीटी की अनुमती है" + #~ msgid "Reset singleplayer world" #~ msgstr "एक-खिलाडी दुनिया रीसेट करें" +#~ msgid "Special" +#~ msgstr "स्पेशल" + #~ msgid "Start Singleplayer" #~ msgstr "एक-खिलाडी शुरू करें" @@ -6495,3 +6712,6 @@ msgstr "" #~ msgid "Yes" #~ msgstr "हां" + +#~ msgid "needs_fallback_font" +#~ msgstr "yes" diff --git a/po/hu/minetest.po b/po/hu/minetest.po index 090d92454..dae8e92b7 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: 2021-02-23 19:03+0100\n" -"PO-Revision-Date: 2021-02-13 08:50+0000\n" -"Last-Translator: Ács Zoltán \n" +"POT-Creation-Date: 2021-06-16 18:27+0200\n" +"PO-Revision-Date: 2021-03-28 20:29+0000\n" +"Last-Translator: Hatlábú Farkas \n" "Language-Team: Hungarian \n" "Language: hu\n" @@ -12,7 +12,48 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.5-dev\n" +"X-Generator: Weblate 4.6-dev\n" + +#: builtin/client/chatcommands.lua +msgid "Clear the out chat queue" +msgstr "" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Empty command." +msgstr "Parancsok" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Exit to main menu" +msgstr "Kilépés a főmenübe" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Invalid command: " +msgstr "Helyi parancs" + +#: builtin/client/chatcommands.lua +msgid "Issued command: " +msgstr "" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "List online players" +msgstr "Egyjátékos" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Online players: " +msgstr "Egyjátékos" + +#: builtin/client/chatcommands.lua +msgid "The out chat queue is now empty." +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "This command is disabled by server." +msgstr "" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -22,9 +63,41 @@ msgstr "Újraéledés" msgid "You died" msgstr "Meghaltál" +#: builtin/client/death_formspec.lua +#, fuzzy +msgid "You died." +msgstr "Meghaltál" + +#: builtin/common/chatcommands.lua +#, fuzzy +msgid "Available commands:" +msgstr "Helyi parancs" + +#: builtin/common/chatcommands.lua +#, fuzzy +msgid "Available commands: " +msgstr "Helyi parancs" + +#: builtin/common/chatcommands.lua +msgid "Command not available: " +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "Get help for commands" +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "" +"Use '.help ' to get more information, or '.help all' to list everything." +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "[all | ]" +msgstr "" + #: builtin/fstk/dialog.lua builtin/fstk/ui.lua src/gui/modalMenu.cpp msgid "OK" -msgstr "OK" +msgstr "OKÉ" #: builtin/fstk/ui.lua msgid "An error occurred in a Lua script:" @@ -153,7 +226,7 @@ msgstr "engedélyezve" #: builtin/mainmenu/dlg_contentstore.lua msgid "\"$1\" already exists. Would you like to overwrite it?" -msgstr "" +msgstr "\"$1\" már létezik. Szeretné felülírni?" #: builtin/mainmenu/dlg_contentstore.lua msgid "$1 and $2 dependencies will be installed." @@ -172,9 +245,8 @@ msgstr "" "$2 sorba állítva" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "$1 downloading..." -msgstr "Letöltés…" +msgstr "$1 Letöltése…" #: builtin/mainmenu/dlg_contentstore.lua msgid "$1 required dependencies could not be found." @@ -189,18 +261,16 @@ msgid "All packages" msgstr "Minden csomag" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "Already installed" -msgstr "A gomb már használatban van" +msgstr "Már telepítve" #: builtin/mainmenu/dlg_contentstore.lua msgid "Back to Main Menu" msgstr "Vissza a főmenübe" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "Base Game:" -msgstr "Játék létrehozása" +msgstr "Alapjáték:" #: builtin/mainmenu/dlg_contentstore.lua msgid "ContentDB is not available when Minetest was compiled without cURL" @@ -224,14 +294,12 @@ msgid "Install" msgstr "Telepítés" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "Install $1" -msgstr "Telepítés" +msgstr "$1 telepítése" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "Install missing dependencies" -msgstr "Választható függőségek:" +msgstr "hiányzó függőségek telepitése" #: builtin/mainmenu/dlg_contentstore.lua #: builtin/mainmenu/dlg_settings_advanced.lua @@ -247,22 +315,20 @@ msgid "No results" msgstr "Nincs találat" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "No updates" -msgstr "Frissítés" +msgstr "nincs Frissiteni való" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "Not found" -msgstr "Hang némítása" +msgstr "nem található" #: builtin/mainmenu/dlg_contentstore.lua msgid "Overwrite" -msgstr "Felülírás" +msgstr "Felülír" #: builtin/mainmenu/dlg_contentstore.lua msgid "Please check that the base game is correct." -msgstr "" +msgstr "az alapjáték ellenörzése szükséges ." #: builtin/mainmenu/dlg_contentstore.lua msgid "Queued" @@ -357,7 +423,6 @@ msgid "Game" msgstr "Játék" #: builtin/mainmenu/dlg_create_world.lua -#, fuzzy msgid "Generate non-fractal terrain: Oceans and underground" msgstr "Nem-fraktál terep generálása: Óceánok és földalatti rész" @@ -437,7 +502,6 @@ msgid "Smooth transition between biomes" msgstr "Sima átmenet a biomok között" #: builtin/mainmenu/dlg_create_world.lua -#, fuzzy msgid "" "Structures appearing on the terrain (no effect on trees and jungle grass " "created by v6)" @@ -462,7 +526,6 @@ msgid "Temperate, Desert, Jungle, Tundra, Taiga" msgstr "Mérsékelt, Sivatag, Dzsungel, Tundra, Tajga" #: builtin/mainmenu/dlg_create_world.lua -#, fuzzy msgid "Terrain surface erosion" msgstr "Terepfelület erózió" @@ -544,7 +607,7 @@ msgstr "< Vissza a Beállításokra" msgid "Browse" msgstr "Tallózás" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_settings.lua msgid "Disabled" msgstr "Letiltva" @@ -588,7 +651,7 @@ msgstr "Alapértelmezés visszaállítása" msgid "Scale" msgstr "Mérték" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua msgid "Search" msgstr "Keresés" @@ -713,9 +776,8 @@ msgid "Loading..." msgstr "Betöltés…" #: builtin/mainmenu/serverlistmgr.lua -#, fuzzy msgid "Public server list is disabled" -msgstr "Kliens oldali szkriptek letiltva" +msgstr "A nyilvános kiszolgálólista le van tiltva" #: builtin/mainmenu/serverlistmgr.lua msgid "Try reenabling public serverlist and check your internet connection." @@ -723,6 +785,44 @@ msgstr "" "Próbáld újra engedélyezni a nyilvános kiszolgálólistát, és ellenőrizd az " "internetkapcsolatot." +#: builtin/mainmenu/tab_about.lua +msgid "About" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active Contributors" +msgstr "Aktív közreműködők" + +#: builtin/mainmenu/tab_about.lua +#, fuzzy +msgid "Active renderer:" +msgstr "Aktív objektum küldés hatótávolsága" + +#: builtin/mainmenu/tab_about.lua +msgid "Core Developers" +msgstr "Belső fejlesztők" + +#: builtin/mainmenu/tab_about.lua +msgid "Open User Data Directory" +msgstr "Felhasználói adatkönyvtár megnyitása" + +#: builtin/mainmenu/tab_about.lua +msgid "" +"Opens the directory that contains user-provided worlds, games, mods,\n" +"and texture packs in a file manager / explorer." +msgstr "" +"Megnyitja a fájlkezelőben / intézőben azt a könyvtárat, amely a felhasználó " +"világait,\n" +"játékait, modjait, és textúráit tartalmazza." + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Contributors" +msgstr "Korábbi közreműködők" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Core Developers" +msgstr "Korábbi belső fejlesztők" + #: builtin/mainmenu/tab_content.lua msgid "Browse online content" msgstr "Online tartalmak böngészése" @@ -763,40 +863,6 @@ msgstr "Csomag eltávolítása" msgid "Use Texture Pack" msgstr "Textúracsomag használata" -#: builtin/mainmenu/tab_credits.lua -msgid "Active Contributors" -msgstr "Aktív közreműködők" - -#: builtin/mainmenu/tab_credits.lua -msgid "Core Developers" -msgstr "Belső fejlesztők" - -#: builtin/mainmenu/tab_credits.lua -msgid "Credits" -msgstr "Köszönetnyilvánítás" - -#: builtin/mainmenu/tab_credits.lua -#, fuzzy -msgid "Open User Data Directory" -msgstr "Útvonal kiválasztása" - -#: builtin/mainmenu/tab_credits.lua -msgid "" -"Opens the directory that contains user-provided worlds, games, mods,\n" -"and texture packs in a file manager / explorer." -msgstr "" -"Megnyitja a fájlkezelőben / intézőben azt a könyvtárat, amely a felhasználó " -"világait,\n" -"játékait, modjait, és textúráit tartalmazza." - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Contributors" -msgstr "Korábbi közreműködők" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Core Developers" -msgstr "Korábbi belső fejlesztők" - #: builtin/mainmenu/tab_local.lua msgid "Announce Server" msgstr "Szerver nyilvánossá tétele" @@ -825,7 +891,7 @@ msgstr "Szerver felállítása" msgid "Install games from ContentDB" msgstr "Játékok telepítése ContentDB-ről" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Name" msgstr "Név" @@ -837,23 +903,21 @@ msgstr "Új" msgid "No world created or selected!" msgstr "Nincs létrehozott vagy kiválasztott világ!" -#: builtin/mainmenu/tab_local.lua -#, fuzzy +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Password" -msgstr "Új jelszó" +msgstr "Jelszó" #: builtin/mainmenu/tab_local.lua msgid "Play Game" msgstr "Játék indítása" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Port" msgstr "Port" #: builtin/mainmenu/tab_local.lua -#, fuzzy msgid "Select Mods" -msgstr "Világ kiválasztása:" +msgstr "Modok kiválasztása" #: builtin/mainmenu/tab_local.lua msgid "Select World:" @@ -868,8 +932,13 @@ msgid "Start Game" msgstr "Indítás" #: builtin/mainmenu/tab_online.lua -msgid "Address / Port" -msgstr "Cím / Port" +#, fuzzy +msgid "Address" +msgstr "- Cím: " + +#: builtin/mainmenu/tab_online.lua src/client/keycode.cpp +msgid "Clear" +msgstr "Törlés" #: builtin/mainmenu/tab_online.lua msgid "Connect" @@ -879,34 +948,46 @@ msgstr "Kapcsolódás" msgid "Creative mode" msgstr "Kreatív mód" +#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "Damage enabled" -msgstr "Sérülés engedélyezve" +#, fuzzy +msgid "Damage / PvP" +msgstr "Sérülés" #: builtin/mainmenu/tab_online.lua msgid "Del. Favorite" msgstr "Kedvenc törlése" #: builtin/mainmenu/tab_online.lua -msgid "Favorite" +#, fuzzy +msgid "Favorites" msgstr "Kedvenc" +#: builtin/mainmenu/tab_online.lua +msgid "Incompatible Servers" +msgstr "" + #: builtin/mainmenu/tab_online.lua msgid "Join Game" msgstr "Csatlakozás játékhoz" -#: builtin/mainmenu/tab_online.lua -msgid "Name / Password" -msgstr "Név / Jelszó" - #: builtin/mainmenu/tab_online.lua msgid "Ping" msgstr "Ping" -#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "PvP enabled" -msgstr "PvP engedélyezve" +#, fuzzy +msgid "Public Servers" +msgstr "Szerver nyilvánossá tétele" + +#: builtin/mainmenu/tab_online.lua +msgid "Refresh" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +#, fuzzy +msgid "Server Description" +msgstr "Szerver leírása" #: builtin/mainmenu/tab_settings.lua msgid "2x" @@ -948,10 +1029,31 @@ msgstr "Gombok megváltoztatása" msgid "Connected Glass" msgstr "Csatlakozó üveg" +#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp +#, fuzzy +msgid "Dynamic shadows" +msgstr "Betűtípus árnyéka" + +#: builtin/mainmenu/tab_settings.lua +msgid "Dynamic shadows: " +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Fancy Leaves" msgstr "Szép levelek" +#: builtin/mainmenu/tab_settings.lua +msgid "High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Low" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Medium" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Mipmap" msgstr "Mipmap effekt" @@ -1005,9 +1107,8 @@ msgid "Shaders" msgstr "Árnyalók" #: builtin/mainmenu/tab_settings.lua -#, fuzzy msgid "Shaders (experimental)" -msgstr "Lebegő földek" +msgstr "Shaderek (kísérleti)" #: builtin/mainmenu/tab_settings.lua msgid "Shaders (unavailable)" @@ -1041,6 +1142,14 @@ msgstr "Érintésküszöb (px)" msgid "Trilinear Filter" msgstr "Trilineáris szűrés" +#: builtin/mainmenu/tab_settings.lua +msgid "Ultra High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Very Low" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Waving Leaves" msgstr "Hullámzó levelek" @@ -1113,18 +1222,6 @@ msgstr "jelszófájl megnyitás hiba: " 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 "no" - #: src/client/game.cpp msgid "" "\n" @@ -1367,6 +1464,11 @@ msgstr "MiB/s" msgid "Minimap currently disabled by game or mod" msgstr "A kistérkép letiltva (szerver, vagy mod által)" +#: src/client/game.cpp +#, fuzzy +msgid "Multiplayer" +msgstr "Egyjátékos" + #: src/client/game.cpp msgid "Noclip mode disabled" msgstr "Noclip mód letiltva" @@ -1508,10 +1610,6 @@ msgstr "Backspace" msgid "Caps Lock" msgstr "Caps Lock" -#: src/client/keycode.cpp -msgid "Clear" -msgstr "Törlés" - #: src/client/keycode.cpp msgid "Control" msgstr "Control" @@ -1764,19 +1862,18 @@ msgid "Minimap hidden" msgstr "Kistérkép letiltva" #: src/client/minimap.cpp -#, fuzzy, c-format +#, c-format msgid "Minimap in radar mode, Zoom x%d" -msgstr "Kistérkép radar módban x1" +msgstr "Minimap radar módban, Nagyítás x%d" #: src/client/minimap.cpp -#, fuzzy, c-format +#, c-format msgid "Minimap in surface mode, Zoom x%d" -msgstr "Kistérkép terület módban x1" +msgstr "kistérkép terület módban x%d" #: src/client/minimap.cpp -#, fuzzy msgid "Minimap in texture mode" -msgstr "Minimum textúra méret" +msgstr "Minimap textúra módban" #: src/gui/guiConfirmRegistration.cpp src/gui/guiPasswordChange.cpp msgid "Passwords do not match!" @@ -1807,7 +1904,8 @@ msgid "Proceed" msgstr "Folytatás" #: src/gui/guiKeyChangeMenu.cpp -msgid "\"Special\" = climb down" +#, fuzzy +msgid "\"Aux1\" = climb down" msgstr "különleges = lemászás" #: src/gui/guiKeyChangeMenu.cpp @@ -1818,10 +1916,18 @@ msgstr "Automatikus előre" msgid "Automatic jumping" msgstr "Automatikus ugrás" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Aux1" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Backward" msgstr "Hátra" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Block bounds" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Change camera" msgstr "Nézet váltása" @@ -1912,10 +2018,6 @@ msgstr "Képernyőkép" msgid "Sneak" msgstr "Lopakodás" -#: src/gui/guiKeyChangeMenu.cpp -msgid "Special" -msgstr "Különleges" - #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle HUD" msgstr "HUD váltása" @@ -2003,9 +2105,10 @@ msgstr "" "kattintás' pozícióban." #: 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 " +"(Android) Use virtual joystick to trigger \"Aux1\" button.\n" +"If enabled, virtual joystick will also tap \"Aux1\" button when out of main " "circle." msgstr "" "(Android) Használd a virtuális joystick-ot az \"aux\" gomb kapcsolásához.\n" @@ -2263,9 +2366,8 @@ msgid "Announce to this serverlist." msgstr "Szerver kihirdetése erre a szerverlistára." #: src/settings_translation_file.cpp -#, fuzzy msgid "Append item name" -msgstr "Elem nevének hozzáadása" +msgstr "Elemnév hozzáadása" #: src/settings_translation_file.cpp msgid "Append item name to tooltip." @@ -2335,6 +2437,16 @@ msgstr "Képernyőméret automatikus mentése" msgid "Autoscaling mode" msgstr "Automatikus méretezés mód" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Aux1 key" +msgstr "Ugrás gomb" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Aux1 key for climbing/descending" +msgstr "Különleges gomb a mászáshoz/ereszkedéshez" + #: src/settings_translation_file.cpp msgid "Backward key" msgstr "Vissza gomb" @@ -2379,10 +2491,6 @@ msgstr "Biom API hőmérséklet- és páratartalom zaj paraméterei" msgid "Biome noise" msgstr "Biom zaj" -#: src/settings_translation_file.cpp -msgid "Bits per pixel (aka color depth) in fullscreen mode." -msgstr "Bit/pixel (vagyis színmélység) teljes képernyős módban." - #: src/settings_translation_file.cpp msgid "Block send optimize distance" msgstr "Max blokk küldési távolság" @@ -2483,22 +2591,24 @@ msgstr "" #: src/settings_translation_file.cpp #, fuzzy +msgid "Chat command time message threshold" +msgstr "Sivatag zajának küszöbe" + +#: src/settings_translation_file.cpp msgid "Chat font size" -msgstr "Betűtípus mérete" +msgstr "Chat betűméret" #: src/settings_translation_file.cpp msgid "Chat key" msgstr "Csevegés gomb" #: src/settings_translation_file.cpp -#, fuzzy msgid "Chat log level" -msgstr "Hibakereső naplózás szintje" +msgstr "Chat napló szintje" #: src/settings_translation_file.cpp -#, fuzzy msgid "Chat message count limit" -msgstr "Chat üzenetek maximális száma" +msgstr "Csevegőüzenetek számának korlátozása" #: src/settings_translation_file.cpp #, fuzzy @@ -2581,6 +2691,11 @@ msgstr "Felhők a menüben" msgid "Colored fog" msgstr "Színezett köd" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Colored shadows" +msgstr "Színezett köd" + #: src/settings_translation_file.cpp msgid "" "Comma-separated list of flags to hide in the content repository.\n" @@ -2792,11 +2907,10 @@ msgstr "Alapértelmezett játék" #: src/settings_translation_file.cpp msgid "" -"Default timeout for cURL, stated in milliseconds.\n" -"Only has an effect if compiled with cURL." +"Define shadow filtering quality\n" +"This simulates the soft shadows effect by applying a PCF or poisson disk\n" +"but also uses more resources." msgstr "" -"A cURL alapértelmezett időkorlátja ezredmásodpercekben.\n" -"Csak akkor van hatása, ha a program cURL-lel lett lefordítva." #: src/settings_translation_file.cpp msgid "Defines areas where trees have apples." @@ -2974,6 +3088,12 @@ msgstr "" "Lua modolás támogatás bekapcsolása a kliensen.\n" "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 colored shadows. \n" +"On true translucent nodes cast colored shadows. This is expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable console window" msgstr "Konzolablak engedélyezése" @@ -3000,6 +3120,13 @@ msgstr "Mod biztonság engedélyezése" msgid "Enable players getting damage and dying." msgstr "Játékosok sérülésének és halálának engedélyezése." +#: src/settings_translation_file.cpp +msgid "" +"Enable poisson disk filtering.\n" +"On true uses poisson disk to make \"soft shadows\". Otherwise uses PCF " +"filtering." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable random user input (only used for testing)." msgstr "" @@ -3151,18 +3278,6 @@ msgstr "" msgid "Fallback font path" msgstr "Tartalék betűtípus" -#: src/settings_translation_file.cpp -msgid "Fallback font shadow" -msgstr "Tartalék betűtípus árnyéka" - -#: src/settings_translation_file.cpp -msgid "Fallback font shadow alpha" -msgstr "Tartalék betűtípus árnyék átlátszósága" - -#: src/settings_translation_file.cpp -msgid "Fallback font size" -msgstr "Tartalék betűtípus mérete" - #: src/settings_translation_file.cpp msgid "Fast key" msgstr "Gyorsaság gomb" @@ -3180,8 +3295,9 @@ msgid "Fast movement" msgstr "Gyors mozgás" #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"Fast movement (via the \"special\" key).\n" +"Fast movement (via the \"Aux1\" key).\n" "This requires the \"fast\" privilege on the server." msgstr "" "Gyors mozgás (a használat gombbal).\n" @@ -3220,9 +3336,9 @@ msgstr "Filmes tónus effekt" #: 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." +"which PNG optimizers usually discard, often resulting in dark or\n" +"light edges to transparent textures. Apply a filter to clean that up\n" +"at texture load time. This is automatically enabled if mipmapping is enabled." msgstr "" #: src/settings_translation_file.cpp @@ -3319,10 +3435,6 @@ msgstr "Betűtípus mérete" msgid "Font size of the default font in point (pt)." msgstr "" -#: src/settings_translation_file.cpp -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 "" @@ -3434,10 +3546,6 @@ msgstr "" msgid "Full screen" msgstr "Teljes képernyő" -#: src/settings_translation_file.cpp -msgid "Full screen BPP" -msgstr "Teljes képernyő BPP" - #: src/settings_translation_file.cpp msgid "Fullscreen mode." msgstr "Teljes képernyős mód." @@ -3548,7 +3656,9 @@ msgid "Heat noise" msgstr "Hőzaj" #: src/settings_translation_file.cpp -msgid "Height component of the initial window size." +#, fuzzy +msgid "" +"Height component of the initial window size. Ignored in fullscreen mode." msgstr "A kezdeti ablak magassága." #: src/settings_translation_file.cpp @@ -3559,10 +3669,6 @@ msgstr "Magasság zaj" msgid "Height select noise" msgstr "A magasságot kiválasztó zaj" -#: src/settings_translation_file.cpp -msgid "High-precision FPU" -msgstr "Nagy pontosságú FPU" - #: src/settings_translation_file.cpp msgid "Hill steepness" msgstr "Domb meredekség" @@ -3810,8 +3916,7 @@ msgstr "" #: src/settings_translation_file.cpp #, fuzzy msgid "" -"If disabled, \"special\" key is used to fly fast if both fly and fast mode " -"are\n" +"If disabled, \"Aux1\" key is used to fly fast if both fly and fast mode are\n" "enabled." msgstr "" "Ha le van tiltva, a használat (use) gomb lesz használatban a gyors " @@ -3839,8 +3944,8 @@ msgstr "" #: src/settings_translation_file.cpp #, fuzzy msgid "" -"If enabled, \"special\" key instead of \"sneak\" key is used for climbing " -"down and\n" +"If enabled, \"Aux1\" key instead of \"Sneak\" key is used for climbing down " +"and\n" "descending." msgstr "" "Ha engedélyezve van, a \"használat\" (use) gomb lesz használatban a " @@ -3897,6 +4002,12 @@ msgid "" "to this distance from the player to the node." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"If the execution of a chat command takes longer than this specified time in\n" +"seconds, add the time information to the chat command message" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "If the file size of debug.txt exceeds the number of megabytes specified in\n" @@ -5054,12 +5165,6 @@ msgstr "" "A köd és az ég színe függjön a napszaktól (hajnal/naplemente) és a " "látószögtől." -#: src/settings_translation_file.cpp -msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." -msgstr "" -"Lehetővé teszi, hogy a DirectX működjön a LuaJIT-tel. Tiltsd le, ha " -"problémákat okoz." - #: src/settings_translation_file.cpp #, fuzzy msgid "Makes all liquids opaque" @@ -5165,6 +5270,11 @@ msgstr "Térkép generálási korlát" msgid "Map save interval" msgstr "Térkép mentésének időköze" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Map update time" +msgstr "Folyadékfrissítés tick" + #: src/settings_translation_file.cpp msgid "Mapblock limit" msgstr "Térképblokk korlát" @@ -5277,6 +5387,10 @@ msgstr "Maximum FPS (képkocka/mp)" msgid "Maximum FPS when the window is not focused, or when the game is paused." msgstr "Maximum FPS a játék szüneteltetésekor." +#: src/settings_translation_file.cpp +msgid "Maximum distance to render shadows." +msgstr "" + #: src/settings_translation_file.cpp #, fuzzy msgid "Maximum forceloaded blocks" @@ -5397,11 +5511,20 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "Maximum time in ms a file download (e.g. a mod download) may take." +#, fuzzy +msgid "" +"Maximum time a file download (e.g. a mod download) may take, stated in " +"milliseconds." msgstr "" "Egy fájl letöltésének maximum ideje (milliszekundumban), amíg eltarthat (pl. " "mod letöltés)." +#: src/settings_translation_file.cpp +msgid "" +"Maximum time an interactive request (e.g. server list fetch) may take, " +"stated in milliseconds." +msgstr "" + #: src/settings_translation_file.cpp msgid "Maximum users" msgstr "Maximum felhasználók" @@ -5619,11 +5742,6 @@ 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 " @@ -5726,6 +5844,11 @@ msgstr "" msgid "Player versus player" msgstr "Játékos játékos ellen" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Poisson filtering" +msgstr "Bilineáris szűrés" + #: src/settings_translation_file.cpp msgid "" "Port to connect to (UDP).\n" @@ -6103,6 +6226,43 @@ msgstr "" msgid "Set the maximum character length of a chat message sent by clients." msgstr "A csevegés maximális szöveghossza amelyet a kliensek küldhetnek." +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow strength.\n" +"Lower value means lighter shadows, higher value means darker shadows." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow update time.\n" +"Lower value means shadows and map updates faster, but it consume more " +"resources.\n" +"Minimun value 0.001 seconds max value 0.2 seconds" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the soft shadow radius size.\n" +"Lower values mean sharper shadows bigger values softer.\n" +"Minimun value 1.0 and max value 10.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the tilt of Sun/Moon orbit in degrees\n" +"Value of 0 means no tilt / vertical orbit.\n" +"Minimun value 0.0 and max value 60.0" +msgstr "" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "" +"Set to true to enable Shadow Mapping.\n" +"Requires shaders to be enabled." +msgstr "" +"A \"true\" beállítás engedélyezi a levelek hullámzását.\n" +"Az árnyalók engedélyezése szükséges hozzá." + #: src/settings_translation_file.cpp msgid "" "Set to true to enable waving leaves.\n" @@ -6127,6 +6287,13 @@ msgstr "" "A \"true\" beállítás engedélyezi a növények hullámzását.\n" "Az árnyalók engedélyezése szükséges hozzá." +#: src/settings_translation_file.cpp +msgid "" +"Sets shadow texture quality to 32 bits.\n" +"On false, 16 bits texture will be used.\n" +"This can cause much more artifacts in the shadow." +msgstr "" + #: src/settings_translation_file.cpp msgid "Shader path" msgstr "Árnyaló útvonala" @@ -6142,6 +6309,24 @@ msgstr "" "teljesítményt néhány videókártya esetében.\n" "Csak OpenGL-el működnek." +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Shadow filter quality" +msgstr "Képernyőkép minőség" + +#: src/settings_translation_file.cpp +msgid "Shadow map max distance in nodes to render shadows" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture in 32 bits" +msgstr "" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Shadow map texture size" +msgstr "Minimum textúra méret" + #: src/settings_translation_file.cpp msgid "" "Shadow offset (in pixels) of the default font. If 0, then shadow will not be " @@ -6149,11 +6334,8 @@ msgid "" msgstr "Betűtípus árnyékának eltolása. Ha 0, akkor nem lesz árnyék rajzolva." #: src/settings_translation_file.cpp -msgid "" -"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not " -"be drawn." +msgid "Shadow strength" msgstr "" -"Tartalék betűtípus árnyékának eltolása. Ha 0, akkor nem lesz árnyék rajzolva." #: src/settings_translation_file.cpp msgid "Shape of the minimap. Enabled = round, disabled = square." @@ -6204,6 +6386,10 @@ msgid "" "thread, thus reducing jitter." msgstr "" +#: src/settings_translation_file.cpp +msgid "Sky Body Orbit Tilt" +msgstr "" + #: src/settings_translation_file.cpp msgid "Slice w" msgstr "" @@ -6261,18 +6447,15 @@ msgstr "Lopakodás sebessége" msgid "Sneaking speed, in nodes per second." msgstr "Lopakodás sebessége node/másodpercben" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Soft shadow radius" +msgstr "Betűtípus árnyék átlátszósága" + #: src/settings_translation_file.cpp msgid "Sound" msgstr "Hang" -#: src/settings_translation_file.cpp -msgid "Special key" -msgstr "Különleges gomb" - -#: src/settings_translation_file.cpp -msgid "Special key for climbing/descending" -msgstr "Különleges gomb a mászáshoz/ereszkedéshez" - #: src/settings_translation_file.cpp msgid "" "Specifies URL from which client fetches media instead of using UDP.\n" @@ -6397,6 +6580,13 @@ msgstr "" msgid "Texture path" msgstr "Textúrák útvonala" +#: src/settings_translation_file.cpp +msgid "" +"Texture size to render the shadow map on.\n" +"This must be a power of two.\n" +"Bigger numbers create better shadowsbut it is also more expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Textures on a node may be aligned either to the node or to the world.\n" @@ -6474,7 +6664,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"The rendering back-end for Irrlicht.\n" +"The rendering back-end.\n" "A restart is required after changing this.\n" "Note: On Android, stick with OGLES1 if unsure! App may fail to start " "otherwise.\n" @@ -6783,7 +6973,7 @@ msgid "Viewing range" msgstr "Látóterület" #: src/settings_translation_file.cpp -msgid "Virtual joystick triggers aux button" +msgid "Virtual joystick triggers Aux1 button" msgstr "" #: src/settings_translation_file.cpp @@ -6877,9 +7067,8 @@ msgid "" "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" +"memory. Powers of 2 are recommended. This setting is ONLY applies if\n" +"bilinear/trilinear/anisotropic filtering is enabled.\n" "This is also used as the base node texture size for world-aligned\n" "texture autoscaling." msgstr "" @@ -6941,7 +7130,8 @@ msgstr "" "A hibakereső információ megjelenítése (ugyanaz a hatás, ha F5-öt nyomunk)." #: src/settings_translation_file.cpp -msgid "Width component of the initial window size." +#, fuzzy +msgid "Width component of the initial window size. Ignored in fullscreen mode." msgstr "Kezdeti ablak szélessége." #: src/settings_translation_file.cpp @@ -7054,12 +7244,13 @@ msgid "cURL file download timeout" msgstr "cURL fájlletöltés időkorlát" #: src/settings_translation_file.cpp -msgid "cURL parallel limit" -msgstr "cURL párhuzamossági korlát" +#, fuzzy +msgid "cURL interactive timeout" +msgstr "cURL időkorlát" #: src/settings_translation_file.cpp -msgid "cURL timeout" -msgstr "cURL időkorlát" +msgid "cURL parallel limit" +msgstr "cURL párhuzamossági korlát" #~ msgid "" #~ "0 = parallax occlusion with slope information (faster).\n" @@ -7068,6 +7259,9 @@ msgstr "cURL időkorlát" #~ "0 = parallax occlusion with slope information (gyorsabb).\n" #~ "1 = relief mapping (lassabb, pontosabb)." +#~ msgid "Address / Port" +#~ msgstr "Cím / Port" + #~ msgid "" #~ "Adjust the gamma encoding for the light tables. Higher numbers are " #~ "brighter.\n" @@ -7083,6 +7277,9 @@ msgstr "cURL időkorlát" #~ msgid "Back" #~ msgstr "Vissza" +#~ msgid "Bits per pixel (aka color depth) in fullscreen mode." +#~ msgstr "Bit/pixel (vagyis színmélység) teljes képernyős módban." + #~ msgid "Bump Mapping" #~ msgstr "Bump mapping" @@ -7124,12 +7321,25 @@ msgstr "cURL időkorlát" #~ "A járatok szélességét határozza meg, alacsonyabb érték szélesebb " #~ "járatokat hoz létre." +#~ msgid "Credits" +#~ msgstr "Köszönetnyilvánítás" + #~ msgid "Crosshair color (R,G,B)." #~ msgstr "Célkereszt színe (R,G,B)." +#~ msgid "Damage enabled" +#~ msgstr "Sérülés engedélyezve" + #~ msgid "Darkness sharpness" #~ msgstr "a sötétség élessége" +#~ msgid "" +#~ "Default timeout for cURL, stated in milliseconds.\n" +#~ "Only has an effect if compiled with cURL." +#~ msgstr "" +#~ "A cURL alapértelmezett időkorlátja ezredmásodpercekben.\n" +#~ "Csak akkor van hatása, ha a program cURL-lel lett lefordítva." + #~ msgid "" #~ "Defines areas of floatland smooth terrain.\n" #~ "Smooth floatlands occur when noise > 0." @@ -7170,6 +7380,15 @@ msgstr "cURL időkorlát" #~ msgid "FPS in pause menu" #~ msgstr "FPS a szünet menüben" +#~ msgid "Fallback font shadow" +#~ msgstr "Tartalék betűtípus árnyéka" + +#~ msgid "Fallback font shadow alpha" +#~ msgstr "Tartalék betűtípus árnyék átlátszósága" + +#~ msgid "Fallback font size" +#~ msgstr "Tartalék betűtípus mérete" + #, fuzzy #~ msgid "Floatland base height noise" #~ msgstr "A lebegő hegyek alapmagassága" @@ -7181,6 +7400,9 @@ msgstr "cURL időkorlát" #~ 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 "Full screen BPP" +#~ msgstr "Teljes képernyő BPP" + #~ msgid "Gamma" #~ msgstr "Gamma" @@ -7190,6 +7412,9 @@ msgstr "cURL időkorlát" #~ msgid "Generate normalmaps" #~ msgstr "Normálfelületek generálása" +#~ msgid "High-precision FPU" +#~ msgstr "Nagy pontosságú FPU" + #~ msgid "IPv6 support." #~ msgstr "IPv6 támogatás." @@ -7207,6 +7432,11 @@ msgstr "cURL időkorlát" #~ msgid "Main menu style" #~ msgstr "Főmenü stílusa" +#~ msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." +#~ msgstr "" +#~ "Lehetővé teszi, hogy a DirectX működjön a LuaJIT-tel. Tiltsd le, ha " +#~ "problémákat okoz." + #~ msgid "Minimap in radar mode, Zoom x2" #~ msgstr "Kistérkép radar módban x2" @@ -7219,6 +7449,9 @@ msgstr "cURL időkorlát" #~ msgid "Minimap in surface mode, Zoom x4" #~ msgstr "Kistérkép terület módban x4" +#~ msgid "Name / Password" +#~ msgstr "Név / Jelszó" + #~ msgid "Name/Password" #~ msgstr "Név/jelszó" @@ -7246,6 +7479,9 @@ msgstr "cURL időkorlát" #~ msgid "Path to save screenshots at." #~ msgstr "Képernyőmentések mappája." +#~ msgid "PvP enabled" +#~ msgstr "PvP engedélyezve" + #~ msgid "Reset singleplayer world" #~ msgstr "Egyjátékos világ visszaállítása" @@ -7256,6 +7492,19 @@ msgstr "cURL időkorlát" #~ msgid "Shadow limit" #~ msgstr "Térképblokk korlát" +#~ msgid "" +#~ "Shadow offset (in pixels) of the fallback font. If 0, then shadow will " +#~ "not be drawn." +#~ msgstr "" +#~ "Tartalék betűtípus árnyékának eltolása. Ha 0, akkor nem lesz árnyék " +#~ "rajzolva." + +#~ msgid "Special" +#~ msgstr "Különleges" + +#~ msgid "Special key" +#~ msgstr "Különleges gomb" + #~ msgid "Start Singleplayer" #~ msgstr "Egyjátékos mód indítása" @@ -7279,3 +7528,6 @@ msgstr "cURL időkorlát" #~ msgid "Yes" #~ msgstr "Igen" + +#~ msgid "needs_fallback_font" +#~ msgstr "no" diff --git a/po/id/minetest.po b/po/id/minetest.po index 5f62541b5..27a1019a0 100644 --- a/po/id/minetest.po +++ b/po/id/minetest.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Indonesian (Minetest)\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-02-23 19:03+0100\n" +"POT-Creation-Date: 2021-06-16 18:27+0200\n" "PO-Revision-Date: 2021-02-23 15:50+0000\n" "Last-Translator: Reza Almanda \n" "Language-Team: Indonesian ' to get more information, or '.help all' to list everything." +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "[all | ]" +msgstr "" + #: builtin/fstk/dialog.lua builtin/fstk/ui.lua src/gui/modalMenu.cpp msgid "OK" msgstr "Oke" @@ -532,7 +606,7 @@ msgstr "< Halaman pengaturan" msgid "Browse" msgstr "Jelajahi" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_settings.lua msgid "Disabled" msgstr "Dimatikan" @@ -576,7 +650,7 @@ msgstr "Atur ke bawaan" msgid "Scale" msgstr "Skala" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua msgid "Search" msgstr "Cari" @@ -711,6 +785,43 @@ msgid "Try reenabling public serverlist and check your internet connection." msgstr "" "Coba nyalakan ulang daftar server publik dan periksa sambungan internet Anda." +#: builtin/mainmenu/tab_about.lua +msgid "About" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active Contributors" +msgstr "Penyumbang Aktif" + +#: builtin/mainmenu/tab_about.lua +#, fuzzy +msgid "Active renderer:" +msgstr "Batas pengiriman objek aktif" + +#: builtin/mainmenu/tab_about.lua +msgid "Core Developers" +msgstr "Pengembang Inti" + +#: builtin/mainmenu/tab_about.lua +msgid "Open User Data Directory" +msgstr "Pilih direktori" + +#: builtin/mainmenu/tab_about.lua +msgid "" +"Opens the directory that contains user-provided worlds, games, mods,\n" +"and texture packs in a file manager / explorer." +msgstr "" +"Membuka direktori yang berisi dunia, permainan, mod, dan paket tekstur\n" +"dari pengguna dalam pengelola/penjelajah berkas." + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Contributors" +msgstr "Penyumbang Sebelumnya" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Core Developers" +msgstr "Pengembang Inti Sebelumnya" + #: builtin/mainmenu/tab_content.lua msgid "Browse online content" msgstr "Jelajahi konten daring" @@ -751,38 +862,6 @@ msgstr "Copot paket" msgid "Use Texture Pack" msgstr "Gunakan paket tekstur" -#: builtin/mainmenu/tab_credits.lua -msgid "Active Contributors" -msgstr "Penyumbang Aktif" - -#: builtin/mainmenu/tab_credits.lua -msgid "Core Developers" -msgstr "Pengembang Inti" - -#: builtin/mainmenu/tab_credits.lua -msgid "Credits" -msgstr "Penghargaan" - -#: builtin/mainmenu/tab_credits.lua -msgid "Open User Data Directory" -msgstr "Pilih direktori" - -#: builtin/mainmenu/tab_credits.lua -msgid "" -"Opens the directory that contains user-provided worlds, games, mods,\n" -"and texture packs in a file manager / explorer." -msgstr "" -"Membuka direktori yang berisi dunia, permainan, mod, dan paket tekstur\n" -"dari pengguna dalam pengelola/penjelajah berkas." - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Contributors" -msgstr "Penyumbang Sebelumnya" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Core Developers" -msgstr "Pengembang Inti Sebelumnya" - #: builtin/mainmenu/tab_local.lua msgid "Announce Server" msgstr "Umumkan Server" @@ -811,7 +890,7 @@ msgstr "Host Server" msgid "Install games from ContentDB" msgstr "Pasang permainan dari ContentDB" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Name" msgstr "Nama" @@ -823,7 +902,7 @@ msgstr "Baru" msgid "No world created or selected!" msgstr "Tiada dunia yang dibuat atau dipilih!" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Password" msgstr "Kata sandi" @@ -831,7 +910,7 @@ msgstr "Kata sandi" msgid "Play Game" msgstr "Mainkan Permainan" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Port" msgstr "Porta" @@ -852,8 +931,13 @@ msgid "Start Game" msgstr "Mulai Permainan" #: builtin/mainmenu/tab_online.lua -msgid "Address / Port" -msgstr "Alamat/Porta" +#, fuzzy +msgid "Address" +msgstr "- Alamat: " + +#: builtin/mainmenu/tab_online.lua src/client/keycode.cpp +msgid "Clear" +msgstr "Clear" #: builtin/mainmenu/tab_online.lua msgid "Connect" @@ -863,34 +947,46 @@ msgstr "Sambung" msgid "Creative mode" msgstr "Mode kreatif" +#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "Damage enabled" -msgstr "Kerusakan dinyalakan" +#, fuzzy +msgid "Damage / PvP" +msgstr "Kerusakan" #: builtin/mainmenu/tab_online.lua msgid "Del. Favorite" msgstr "Hapus favorit" #: builtin/mainmenu/tab_online.lua -msgid "Favorite" +#, fuzzy +msgid "Favorites" msgstr "Favorit" +#: builtin/mainmenu/tab_online.lua +msgid "Incompatible Servers" +msgstr "" + #: builtin/mainmenu/tab_online.lua msgid "Join Game" msgstr "Gabung Permainan" -#: builtin/mainmenu/tab_online.lua -msgid "Name / Password" -msgstr "Nama/Kata Sandi" - #: builtin/mainmenu/tab_online.lua msgid "Ping" msgstr "Ping" -#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "PvP enabled" -msgstr "PvP dinyalakan" +#, fuzzy +msgid "Public Servers" +msgstr "Umumkan Server" + +#: builtin/mainmenu/tab_online.lua +msgid "Refresh" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +#, fuzzy +msgid "Server Description" +msgstr "Keterangan server" #: builtin/mainmenu/tab_settings.lua msgid "2x" @@ -932,10 +1028,31 @@ msgstr "Ubah Tombol" msgid "Connected Glass" msgstr "Kaca Tersambung" +#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp +#, fuzzy +msgid "Dynamic shadows" +msgstr "Bayangan fon" + +#: builtin/mainmenu/tab_settings.lua +msgid "Dynamic shadows: " +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Fancy Leaves" msgstr "Daun Megah" +#: builtin/mainmenu/tab_settings.lua +msgid "High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Low" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Medium" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Mipmap" msgstr "Mipmap" @@ -1024,6 +1141,14 @@ msgstr "Batas Sentuhan: (px)" msgid "Trilinear Filter" msgstr "Filter Trilinear" +#: builtin/mainmenu/tab_settings.lua +msgid "Ultra High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Very Low" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Waving Leaves" msgstr "Daun Melambai" @@ -1096,18 +1221,6 @@ 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" - #: src/client/game.cpp msgid "" "\n" @@ -1350,6 +1463,11 @@ msgstr "MiB/s" msgid "Minimap currently disabled by game or mod" msgstr "Peta mini sedang dilarang oleh permainan atau mod" +#: src/client/game.cpp +#, fuzzy +msgid "Multiplayer" +msgstr "Pemain tunggal" + #: src/client/game.cpp msgid "Noclip mode disabled" msgstr "Mode tembus blok dimatikan" @@ -1491,10 +1609,6 @@ msgstr "Backspace" msgid "Caps Lock" msgstr "Caps Lock" -#: src/client/keycode.cpp -msgid "Clear" -msgstr "Clear" - #: src/client/keycode.cpp msgid "Control" msgstr "Control" @@ -1788,7 +1902,8 @@ msgid "Proceed" msgstr "Lanjut" #: src/gui/guiKeyChangeMenu.cpp -msgid "\"Special\" = climb down" +#, fuzzy +msgid "\"Aux1\" = climb down" msgstr "\"Spesial\" = turun" #: src/gui/guiKeyChangeMenu.cpp @@ -1799,10 +1914,18 @@ msgstr "Maju otomatis" msgid "Automatic jumping" msgstr "Lompat otomatis" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Aux1" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Backward" msgstr "Mundur" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Block bounds" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Change camera" msgstr "Ubah kamera" @@ -1893,10 +2016,6 @@ msgstr "Tangkapan layar" msgid "Sneak" msgstr "Menyelinap" -#: src/gui/guiKeyChangeMenu.cpp -msgid "Special" -msgstr "Spesial" - #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle HUD" msgstr "Alih HUD" @@ -1983,9 +2102,10 @@ msgstr "" "Jika dimatikan, joystick virtual akan menengah di posisi sentuhan pertama." #: 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 " +"(Android) Use virtual joystick to trigger \"Aux1\" button.\n" +"If enabled, virtual joystick will also tap \"Aux1\" button when out of main " "circle." msgstr "" "(Android) Gunakan joystick virtual untuk mengetuk tombol \"aux\".\n" @@ -2342,6 +2462,16 @@ msgstr "Simpan ukuran layar" msgid "Autoscaling mode" msgstr "Mode penyekalaan otomatis" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Aux1 key" +msgstr "Tombol lompat" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Aux1 key for climbing/descending" +msgstr "Tombol spesial untuk memanjat/turun" + #: src/settings_translation_file.cpp msgid "Backward key" msgstr "Tombol mundur" @@ -2386,10 +2516,6 @@ msgstr "Parameter noise suhu dan kelembapan Biome API" msgid "Biome noise" msgstr "Noise bioma" -#: src/settings_translation_file.cpp -msgid "Bits per pixel (aka color depth) in fullscreen mode." -msgstr "Bit per piksel (alias kedalaman warna) dalam mode layar penuh." - #: src/settings_translation_file.cpp msgid "Block send optimize distance" msgstr "Jarak optimasi pengiriman blok" @@ -2494,6 +2620,11 @@ msgstr "" "Pertengahan rentang penguatan kurva cahaya.\n" "Nilai 0.0 adalah minimum, 1.0 adalah maksimum." +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Chat command time message threshold" +msgstr "Ambang batas jumlah pesan sebelum ditendang keluar" + #: src/settings_translation_file.cpp msgid "Chat font size" msgstr "Ukuran fon obrolan" @@ -2590,6 +2721,11 @@ msgstr "Awan dalam menu" msgid "Colored fog" msgstr "Kabut berwarna" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Colored shadows" +msgstr "Kabut berwarna" + #: src/settings_translation_file.cpp msgid "" "Comma-separated list of flags to hide in the content repository.\n" @@ -2814,11 +2950,10 @@ msgstr "Ukuran tumpukan bawaan" #: src/settings_translation_file.cpp msgid "" -"Default timeout for cURL, stated in milliseconds.\n" -"Only has an effect if compiled with cURL." +"Define shadow filtering quality\n" +"This simulates the soft shadows effect by applying a PCF or poisson disk\n" +"but also uses more resources." msgstr "" -"Batas waktu bawaan untuk cURL, dalam milidetik.\n" -"Hanya berlaku jika dikompilasi dengan cURL." #: src/settings_translation_file.cpp msgid "Defines areas where trees have apples." @@ -2991,6 +3126,12 @@ msgstr "" "Gunakan dukungan Lua modding pada klien.\n" "Dukungan ini masih tahap percobaan dan API dapat berubah." +#: src/settings_translation_file.cpp +msgid "" +"Enable colored shadows. \n" +"On true translucent nodes cast colored shadows. This is expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable console window" msgstr "Gunakan jendela konsol" @@ -3016,6 +3157,13 @@ msgstr "Nyalakan pengamanan mod" msgid "Enable players getting damage and dying." msgstr "Membolehkan pemain terkena kerusakan dan mati." +#: src/settings_translation_file.cpp +msgid "" +"Enable poisson disk filtering.\n" +"On true uses poisson disk to make \"soft shadows\". Otherwise uses PCF " +"filtering." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable random user input (only used for testing)." msgstr "Gunakan masukan pengguna acak (hanya digunakan untuk pengujian)." @@ -3170,18 +3318,6 @@ msgstr "Faktor fall bobbing" msgid "Fallback font path" msgstr "Jalur fon cadangan" -#: src/settings_translation_file.cpp -msgid "Fallback font shadow" -msgstr "Bayangan fon cadangan" - -#: src/settings_translation_file.cpp -msgid "Fallback font shadow alpha" -msgstr "Keburaman bayangan fon cadangan" - -#: src/settings_translation_file.cpp -msgid "Fallback font size" -msgstr "Ukuran fon cadangan" - #: src/settings_translation_file.cpp msgid "Fast key" msgstr "Tombol gerak cepat" @@ -3199,8 +3335,9 @@ msgid "Fast movement" msgstr "Gerak cepat" #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"Fast movement (via the \"special\" key).\n" +"Fast movement (via the \"Aux1\" key).\n" "This requires the \"fast\" privilege on the server." msgstr "" "Gerak cepat (lewat tombol \"spesial\").\n" @@ -3236,11 +3373,12 @@ msgid "Filmic tone mapping" msgstr "Pemetaan suasana filmis" #: 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" -"light edge to transparent textures. Apply this filter to clean that up\n" -"at texture load time." +"which PNG optimizers usually discard, often resulting in dark or\n" +"light edges to transparent textures. Apply a filter to clean that up\n" +"at texture load time. This is automatically enabled if mipmapping is enabled." msgstr "" "Tekstur yang difilter dapat memadukan nilai RGB dengan tetangganya yang\n" "sepenuhnya transparan, yang biasanya diabaikan oleh pengoptimal PNG,\n" @@ -3339,10 +3477,6 @@ msgstr "Ukuran fon" msgid "Font size of the default font in point (pt)." msgstr "Ukuran fon bawaan dalam poin (pt)." -#: src/settings_translation_file.cpp -msgid "Font size of the fallback font in point (pt)." -msgstr "Ukuran fon cadangan bawaan dalam poin (pt)." - #: src/settings_translation_file.cpp msgid "Font size of the monospace font in point (pt)." msgstr "Ukuran fon monospace bawaan dalam poin (pt)." @@ -3452,10 +3586,6 @@ msgstr "" msgid "Full screen" msgstr "Layar penuh" -#: src/settings_translation_file.cpp -msgid "Full screen BPP" -msgstr "BPP layar penuh" - #: src/settings_translation_file.cpp msgid "Fullscreen mode." msgstr "Mode layar penuh." @@ -3567,7 +3697,9 @@ msgid "Heat noise" msgstr "Noise panas" #: src/settings_translation_file.cpp -msgid "Height component of the initial window size." +#, fuzzy +msgid "" +"Height component of the initial window size. Ignored in fullscreen mode." msgstr "Tinggi ukuran jendela mula-mula." #: src/settings_translation_file.cpp @@ -3578,10 +3710,6 @@ msgstr "Noise ketinggian" msgid "Height select noise" msgstr "Noise pemilihan ketinggian" -#: src/settings_translation_file.cpp -msgid "High-precision FPU" -msgstr "FPU (satuan titik mengambang) berketelitian tinggi" - #: src/settings_translation_file.cpp msgid "Hill steepness" msgstr "Kecuraman bukit" @@ -3826,9 +3954,9 @@ msgstr "" "dengan jeda agar tidak membuang tenaga CPU dengan percuma." #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"If disabled, \"special\" key is used to fly fast if both fly and fast mode " -"are\n" +"If disabled, \"Aux1\" key is used to fly fast if both fly and fast mode are\n" "enabled." msgstr "" "Jika dimatikan, tombol \"spesial\" digunakan untuk terbang cepat jika mode\n" @@ -3858,9 +3986,10 @@ msgstr "" "Hal ini membutuhkan hak \"noclip\" pada server." #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"If enabled, \"special\" key instead of \"sneak\" key is used for climbing " -"down and\n" +"If enabled, \"Aux1\" key instead of \"Sneak\" key is used for climbing down " +"and\n" "descending." msgstr "" "Jika dinyalakan, tombol \"spesial\" digunakan untuk bergerak turun alih-" @@ -3921,6 +4050,12 @@ msgstr "" "Jika pembatasan CSM untuk jangkauan nodus dinyalakan, panggilan\n" "get_node dibatasi hingga sejauh ini dari pemain ke nodus." +#: src/settings_translation_file.cpp +msgid "" +"If the execution of a chat command takes longer than this specified time in\n" +"seconds, add the time information to the chat command message" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "If the file size of debug.txt exceeds the number of megabytes specified in\n" @@ -5093,10 +5228,6 @@ msgstr "" "Buat warna kabut dan langit tergantung pada waktu (fajar/maghrib) dan arah " "pandangan." -#: src/settings_translation_file.cpp -msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." -msgstr "Buat DirectX bekerja dengan LuaJIT. Matikan jika bermasalah." - #: src/settings_translation_file.cpp msgid "Makes all liquids opaque" msgstr "Buat semua cairan buram" @@ -5187,6 +5318,11 @@ msgstr "Batas pembuatan peta" msgid "Map save interval" msgstr "Selang waktu menyimpan peta" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Map update time" +msgstr "Detikan pembaruan cairan" + #: src/settings_translation_file.cpp msgid "Mapblock limit" msgstr "Batas blok peta" @@ -5297,6 +5433,10 @@ msgstr "" "FPS (bingkai per detik) maksimum saat permainan dijeda atau saat jendela " "tidak difokuskan." +#: src/settings_translation_file.cpp +msgid "Maximum distance to render shadows." +msgstr "" + #: src/settings_translation_file.cpp msgid "Maximum forceloaded blocks" msgstr "Jumlah maksimum blok yang dipaksa muat (forceloaded)" @@ -5425,10 +5565,19 @@ msgstr "" "0 untuk mematikan pengantrean dan -1 untuk mengatur antrean tanpa batas." #: src/settings_translation_file.cpp -msgid "Maximum time in ms a file download (e.g. a mod download) may take." +#, fuzzy +msgid "" +"Maximum time a file download (e.g. a mod download) may take, stated in " +"milliseconds." msgstr "" "Waktu maksimum dalam milidetik saat mengunduh berkas (misal.: mengunduh mod)." +#: src/settings_translation_file.cpp +msgid "" +"Maximum time an interactive request (e.g. server list fetch) may take, " +"stated in milliseconds." +msgstr "" + #: src/settings_translation_file.cpp msgid "Maximum users" msgstr "Jumlah pengguna maksimum" @@ -5666,11 +5815,6 @@ msgid "" "Opaqueness (alpha) of the shadow behind the default font, between 0 and 255." msgstr "Keburaman (alfa) bayangan di belakang fon bawaan, antara 0 dan 255." -#: src/settings_translation_file.cpp -msgid "" -"Opaqueness (alpha) of the shadow behind the fallback font, between 0 and 255." -msgstr "Keburaman (alfa) bayangan di belakang fon cadangan, 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 " @@ -5789,6 +5933,11 @@ msgstr "Jarak pemindahan pemain" msgid "Player versus player" msgstr "Pemain lawan pemain" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Poisson filtering" +msgstr "Pemfilteran bilinear" + #: src/settings_translation_file.cpp msgid "" "Port to connect to (UDP).\n" @@ -6180,6 +6329,43 @@ msgstr "" 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 +msgid "" +"Set the shadow strength.\n" +"Lower value means lighter shadows, higher value means darker shadows." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow update time.\n" +"Lower value means shadows and map updates faster, but it consume more " +"resources.\n" +"Minimun value 0.001 seconds max value 0.2 seconds" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the soft shadow radius size.\n" +"Lower values mean sharper shadows bigger values softer.\n" +"Minimun value 1.0 and max value 10.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the tilt of Sun/Moon orbit in degrees\n" +"Value of 0 means no tilt / vertical orbit.\n" +"Minimun value 0.0 and max value 60.0" +msgstr "" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "" +"Set to true to enable Shadow Mapping.\n" +"Requires shaders to be enabled." +msgstr "" +"Atur ke true untuk menyalakan daun melambai.\n" +"Membutuhkan penggunaan shader." + #: src/settings_translation_file.cpp msgid "" "Set to true to enable waving leaves.\n" @@ -6204,6 +6390,13 @@ msgstr "" "Atur ke true untuk menyalakan tanaman berayun.\n" "Membutuhkan penggunaan shader." +#: src/settings_translation_file.cpp +msgid "" +"Sets shadow texture quality to 32 bits.\n" +"On false, 16 bits texture will be used.\n" +"This can cause much more artifacts in the shadow." +msgstr "" + #: src/settings_translation_file.cpp msgid "Shader path" msgstr "Jalur shader" @@ -6220,6 +6413,24 @@ msgstr "" "pada beberapa kartu video.\n" "Ini hanya bekerja dengan video OpenGL." +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Shadow filter quality" +msgstr "Kualitas tangkapan layar" + +#: src/settings_translation_file.cpp +msgid "Shadow map max distance in nodes to render shadows" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture in 32 bits" +msgstr "" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Shadow map texture size" +msgstr "Ukuran tekstur minimum" + #: src/settings_translation_file.cpp msgid "" "Shadow offset (in pixels) of the default font. If 0, then shadow will not be " @@ -6229,12 +6440,8 @@ msgstr "" "digambar." #: src/settings_translation_file.cpp -msgid "" -"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not " -"be drawn." +msgid "Shadow strength" msgstr "" -"Pergeseran bayangan fon cadangan dalam piksel. Jika 0, bayangan tidak akan " -"digambar." #: src/settings_translation_file.cpp msgid "Shape of the minimap. Enabled = round, disabled = square." @@ -6292,6 +6499,10 @@ msgstr "" "menambah persentase cache hit, mengurangi data yang disalin dari\n" "utas utama, sehingga mengurangi jitter." +#: src/settings_translation_file.cpp +msgid "Sky Body Orbit Tilt" +msgstr "" + #: src/settings_translation_file.cpp msgid "Slice w" msgstr "Irisan w" @@ -6350,18 +6561,15 @@ msgstr "Kelajuan menyelinap" msgid "Sneaking speed, in nodes per second." msgstr "Kelajuan menyelinap dalam nodus per detik." +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Soft shadow radius" +msgstr "Keburaman bayangan fon" + #: src/settings_translation_file.cpp msgid "Sound" msgstr "Suara" -#: src/settings_translation_file.cpp -msgid "Special key" -msgstr "Tombol spesial" - -#: src/settings_translation_file.cpp -msgid "Special key for climbing/descending" -msgstr "Tombol spesial untuk memanjat/turun" - #: src/settings_translation_file.cpp msgid "" "Specifies URL from which client fetches media instead of using UDP.\n" @@ -6512,6 +6720,13 @@ msgstr "Persistence noise medan" msgid "Texture path" msgstr "Jalur tekstur" +#: src/settings_translation_file.cpp +msgid "" +"Texture size to render the shadow map on.\n" +"This must be a power of two.\n" +"Bigger numbers create better shadowsbut it is also more expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Textures on a node may be aligned either to the node or to the world.\n" @@ -6608,8 +6823,9 @@ msgstr "" "Ini harus diatur bersama dengan active_object_range." #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"The rendering back-end for Irrlicht.\n" +"The rendering back-end.\n" "A restart is required after changing this.\n" "Note: On Android, stick with OGLES1 if unsure! App may fail to start " "otherwise.\n" @@ -6950,7 +7166,8 @@ msgid "Viewing range" msgstr "Jarak pandang" #: src/settings_translation_file.cpp -msgid "Virtual joystick triggers aux button" +#, fuzzy +msgid "Virtual joystick triggers Aux1 button" msgstr "Joystick virtual mengetuk tombol aux" #: src/settings_translation_file.cpp @@ -7052,14 +7269,14 @@ msgstr "" "mendukung pengunduhan tekstur dari perangkat keras." #: src/settings_translation_file.cpp +#, fuzzy msgid "" "When using bilinear/trilinear/anisotropic filters, low-resolution textures\n" "can be blurred, so automatically upscale them with nearest-neighbor\n" "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" +"memory. Powers of 2 are recommended. This setting is ONLY applies if\n" +"bilinear/trilinear/anisotropic filtering is enabled.\n" "This is also used as the base node texture size for world-aligned\n" "texture autoscaling." msgstr "" @@ -7135,7 +7352,8 @@ msgid "" msgstr "Apakah menampilkan informasi awakutu klien (sama dengan menekan F5)." #: src/settings_translation_file.cpp -msgid "Width component of the initial window size." +#, fuzzy +msgid "Width component of the initial window size. Ignored in fullscreen mode." msgstr "Lebar ukuran jendela mula-mula." #: src/settings_translation_file.cpp @@ -7269,12 +7487,13 @@ msgid "cURL file download timeout" msgstr "Batas waktu cURL mengunduh berkas" #: src/settings_translation_file.cpp -msgid "cURL parallel limit" -msgstr "Batas cURL paralel" +#, fuzzy +msgid "cURL interactive timeout" +msgstr "Waktu habis untuk cURL" #: src/settings_translation_file.cpp -msgid "cURL timeout" -msgstr "Waktu habis untuk cURL" +msgid "cURL parallel limit" +msgstr "Batas cURL paralel" #~ msgid "" #~ "0 = parallax occlusion with slope information (faster).\n" @@ -7283,6 +7502,9 @@ msgstr "Waktu habis untuk cURL" #~ "0 = parallax occlusion dengan informasi kemiringan (cepat).\n" #~ "1 = relief mapping (pelan, lebih akurat)." +#~ msgid "Address / Port" +#~ msgstr "Alamat/Porta" + #~ msgid "" #~ "Adjust the gamma encoding for the light tables. Higher numbers are " #~ "brighter.\n" @@ -7302,6 +7524,9 @@ msgstr "Waktu habis untuk cURL" #~ msgid "Back" #~ msgstr "Kembali" +#~ msgid "Bits per pixel (aka color depth) in fullscreen mode." +#~ msgstr "Bit per piksel (alias kedalaman warna) dalam mode layar penuh." + #~ msgid "Bump Mapping" #~ msgstr "Bump Mapping" @@ -7343,12 +7568,25 @@ msgstr "Waktu habis untuk cURL" #~ msgstr "" #~ "Mengatur lebar terowongan, nilai lebih kecil terowongan semakin lebar." +#~ msgid "Credits" +#~ msgstr "Penghargaan" + #~ msgid "Crosshair color (R,G,B)." #~ msgstr "Warna crosshair: (merah,hijau,biru) atau (R,G,B)." +#~ msgid "Damage enabled" +#~ msgstr "Kerusakan dinyalakan" + #~ msgid "Darkness sharpness" #~ msgstr "Kecuraman kegelapan" +#~ msgid "" +#~ "Default timeout for cURL, stated in milliseconds.\n" +#~ "Only has an effect if compiled with cURL." +#~ msgstr "" +#~ "Batas waktu bawaan untuk cURL, dalam milidetik.\n" +#~ "Hanya berlaku jika dikompilasi dengan cURL." + #~ msgid "" #~ "Defines areas of floatland smooth terrain.\n" #~ "Smooth floatlands occur when noise > 0." @@ -7406,6 +7644,15 @@ msgstr "Waktu habis untuk cURL" #~ msgid "FPS in pause menu" #~ msgstr "FPS (bingkai per detik) pada menu jeda" +#~ msgid "Fallback font shadow" +#~ msgstr "Bayangan fon cadangan" + +#~ msgid "Fallback font shadow alpha" +#~ msgstr "Keburaman bayangan fon cadangan" + +#~ msgid "Fallback font size" +#~ msgstr "Ukuran fon cadangan" + #~ msgid "Floatland base height noise" #~ msgstr "Noise ketinggian dasar floatland" @@ -7415,6 +7662,12 @@ msgstr "Waktu habis untuk cURL" #~ msgid "Font shadow alpha (opaqueness, between 0 and 255)." #~ msgstr "Keburaman bayangan fon (keopakan, dari 0 sampai 255)." +#~ msgid "Font size of the fallback font in point (pt)." +#~ msgstr "Ukuran fon cadangan bawaan dalam poin (pt)." + +#~ msgid "Full screen BPP" +#~ msgstr "BPP layar penuh" + #~ msgid "Gamma" #~ msgstr "Gamma" @@ -7424,6 +7677,9 @@ msgstr "Waktu habis untuk cURL" #~ msgid "Generate normalmaps" #~ msgstr "Buat normalmap" +#~ msgid "High-precision FPU" +#~ msgstr "FPU (satuan titik mengambang) berketelitian tinggi" + #~ msgid "IPv6 support." #~ msgstr "Dukungan IPv6." @@ -7442,6 +7698,9 @@ msgstr "Waktu habis untuk cURL" #~ msgid "Main menu style" #~ msgstr "Gaya menu utama" +#~ msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." +#~ msgstr "Buat DirectX bekerja dengan LuaJIT. Matikan jika bermasalah." + #~ msgid "Minimap in radar mode, Zoom x2" #~ msgstr "Peta mini mode radar, perbesaran 2x" @@ -7454,6 +7713,9 @@ msgstr "Waktu habis untuk cURL" #~ msgid "Minimap in surface mode, Zoom x4" #~ msgstr "Peta mini mode permukaan, perbesaran 4x" +#~ msgid "Name / Password" +#~ msgstr "Nama/Kata Sandi" + #~ msgid "Name/Password" #~ msgstr "Nama/Kata Sandi" @@ -7472,6 +7734,12 @@ msgstr "Waktu habis untuk cURL" #~ msgid "Ok" #~ msgstr "Oke" +#~ msgid "" +#~ "Opaqueness (alpha) of the shadow behind the fallback font, between 0 and " +#~ "255." +#~ msgstr "" +#~ "Keburaman (alfa) bayangan di belakang fon cadangan, antara 0 dan 255." + #~ msgid "Overall bias of parallax occlusion effect, usually scale/2." #~ msgstr "Bias keseluruhan dari efek parallax occlusion, biasanya skala/2." @@ -7508,6 +7776,9 @@ msgstr "Waktu habis untuk cURL" #~ msgid "Projecting dungeons" #~ msgstr "Dungeon yang menonjol" +#~ msgid "PvP enabled" +#~ msgstr "PvP dinyalakan" + #~ msgid "Reset singleplayer world" #~ msgstr "Atur ulang dunia pemain tunggal" @@ -7517,6 +7788,19 @@ msgstr "Waktu habis untuk cURL" #~ msgid "Shadow limit" #~ msgstr "Batas bayangan" +#~ msgid "" +#~ "Shadow offset (in pixels) of the fallback font. If 0, then shadow will " +#~ "not be drawn." +#~ msgstr "" +#~ "Pergeseran bayangan fon cadangan dalam piksel. Jika 0, bayangan tidak " +#~ "akan digambar." + +#~ msgid "Special" +#~ msgstr "Spesial" + +#~ msgid "Special key" +#~ msgstr "Tombol spesial" + #~ msgid "Start Singleplayer" #~ msgstr "Mulai Pemain Tunggal" @@ -7566,3 +7850,6 @@ msgstr "Waktu habis untuk cURL" #~ msgid "Yes" #~ msgstr "Ya" + +#~ msgid "needs_fallback_font" +#~ msgstr "no" diff --git a/po/it/minetest.po b/po/it/minetest.po index 897859222..b4930bf85 100644 --- a/po/it/minetest.po +++ b/po/it/minetest.po @@ -2,9 +2,9 @@ msgid "" msgstr "" "Project-Id-Version: Italian (Minetest)\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-02-23 19:03+0100\n" -"PO-Revision-Date: 2021-02-13 08:50+0000\n" -"Last-Translator: Jacques Lagrange \n" +"POT-Creation-Date: 2021-06-16 18:27+0200\n" +"PO-Revision-Date: 2021-03-25 17:29+0000\n" +"Last-Translator: Alessandro Mandelli \n" "Language-Team: Italian \n" "Language: it\n" @@ -12,7 +12,49 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.5-dev\n" +"X-Generator: Weblate 4.5.2-dev\n" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Clear the out chat queue" +msgstr "Dimensione massima della coda esterna della chat" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Empty command." +msgstr "Comandi della chat" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Exit to main menu" +msgstr "Torna al menu" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Invalid command: " +msgstr "Comando locale" + +#: builtin/client/chatcommands.lua +msgid "Issued command: " +msgstr "" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "List online players" +msgstr "Gioco locale" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Online players: " +msgstr "Gioco locale" + +#: builtin/client/chatcommands.lua +msgid "The out chat queue is now empty." +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "This command is disabled by server." +msgstr "" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -22,6 +64,38 @@ msgstr "Rinasci" msgid "You died" msgstr "Sei morto" +#: builtin/client/death_formspec.lua +#, fuzzy +msgid "You died." +msgstr "Sei morto" + +#: builtin/common/chatcommands.lua +#, fuzzy +msgid "Available commands:" +msgstr "Comando locale" + +#: builtin/common/chatcommands.lua +#, fuzzy +msgid "Available commands: " +msgstr "Comando locale" + +#: builtin/common/chatcommands.lua +msgid "Command not available: " +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "Get help for commands" +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "" +"Use '.help ' to get more information, or '.help all' to list everything." +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "[all | ]" +msgstr "" + #: builtin/fstk/dialog.lua builtin/fstk/ui.lua src/gui/modalMenu.cpp msgid "OK" msgstr "Ok" @@ -533,7 +607,7 @@ msgstr "< Torna a Impostazioni" msgid "Browse" msgstr "Scorri" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_settings.lua msgid "Disabled" msgstr "Disabilitato" @@ -577,7 +651,7 @@ msgstr "Ripristina" msgid "Scale" msgstr "Scala" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua msgid "Search" msgstr "Cerca" @@ -703,9 +777,8 @@ msgid "Loading..." msgstr "Caricamento..." #: builtin/mainmenu/serverlistmgr.lua -#, fuzzy msgid "Public server list is disabled" -msgstr "Scripting su lato client disabilitato" +msgstr "La lista dei server pubblici è disabilitata" #: builtin/mainmenu/serverlistmgr.lua msgid "Try reenabling public serverlist and check your internet connection." @@ -713,6 +786,43 @@ msgstr "" "Prova a riabilitare l'elenco dei server pubblici e controlla la tua " "connessione internet." +#: builtin/mainmenu/tab_about.lua +msgid "About" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active Contributors" +msgstr "Contributori attivi" + +#: builtin/mainmenu/tab_about.lua +#, fuzzy +msgid "Active renderer:" +msgstr "Raggio di invio degli oggetti attivi" + +#: builtin/mainmenu/tab_about.lua +msgid "Core Developers" +msgstr "Sviluppatori principali" + +#: builtin/mainmenu/tab_about.lua +msgid "Open User Data Directory" +msgstr "Apri la cartella dei dati utente" + +#: builtin/mainmenu/tab_about.lua +msgid "" +"Opens the directory that contains user-provided worlds, games, mods,\n" +"and texture packs in a file manager / explorer." +msgstr "" +"Apre la cartella che contiene mondi, giochi, mod e pacchetti \n" +"texture forniti dall'utente in un gestore di file / explorer." + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Contributors" +msgstr "Contributori precedenti" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Core Developers" +msgstr "Sviluppatori principali precedenti" + #: builtin/mainmenu/tab_content.lua msgid "Browse online content" msgstr "Mostra contenuti online" @@ -747,44 +857,12 @@ msgstr "Rinomina" #: builtin/mainmenu/tab_content.lua msgid "Uninstall Package" -msgstr "Disinstalla la raccolta" +msgstr "Disinstalla pacchetto" #: builtin/mainmenu/tab_content.lua msgid "Use Texture Pack" msgstr "Usa pacchetto texture" -#: builtin/mainmenu/tab_credits.lua -msgid "Active Contributors" -msgstr "Contributori attivi" - -#: builtin/mainmenu/tab_credits.lua -msgid "Core Developers" -msgstr "Sviluppatori principali" - -#: builtin/mainmenu/tab_credits.lua -msgid "Credits" -msgstr "Riconoscimenti" - -#: builtin/mainmenu/tab_credits.lua -msgid "Open User Data Directory" -msgstr "Apri la cartella dei dati utente" - -#: builtin/mainmenu/tab_credits.lua -msgid "" -"Opens the directory that contains user-provided worlds, games, mods,\n" -"and texture packs in a file manager / explorer." -msgstr "" -"Apre la cartella che contiene mondi, giochi, mod e pacchetti \n" -"texture forniti dall'utente in un gestore di file / explorer." - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Contributors" -msgstr "Contributori precedenti" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Core Developers" -msgstr "Sviluppatori principali precedenti" - #: builtin/mainmenu/tab_local.lua msgid "Announce Server" msgstr "Annunciare il server" @@ -813,7 +891,7 @@ msgstr "Ospita un server" msgid "Install games from ContentDB" msgstr "Installa giochi da ContentDB" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Name" msgstr "Nome" @@ -825,7 +903,7 @@ msgstr "Nuovo" msgid "No world created or selected!" msgstr "Nessun mondo creato o selezionato!" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Password" msgstr "Password" @@ -833,7 +911,7 @@ msgstr "Password" msgid "Play Game" msgstr "Avvia il gioco" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Port" msgstr "Porta" @@ -854,8 +932,13 @@ msgid "Start Game" msgstr "Gioca" #: builtin/mainmenu/tab_online.lua -msgid "Address / Port" -msgstr "Indirizzo / Porta" +#, fuzzy +msgid "Address" +msgstr "- Indirizzo: " + +#: builtin/mainmenu/tab_online.lua src/client/keycode.cpp +msgid "Clear" +msgstr "Canc" #: builtin/mainmenu/tab_online.lua msgid "Connect" @@ -865,34 +948,46 @@ msgstr "Connettiti" msgid "Creative mode" msgstr "Modalità creativa" +#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "Damage enabled" -msgstr "Danno fisico abilitato" +#, fuzzy +msgid "Damage / PvP" +msgstr "Ferimento" #: builtin/mainmenu/tab_online.lua msgid "Del. Favorite" msgstr "Elimina preferito" #: builtin/mainmenu/tab_online.lua -msgid "Favorite" +#, fuzzy +msgid "Favorites" msgstr "Preferito" +#: builtin/mainmenu/tab_online.lua +msgid "Incompatible Servers" +msgstr "" + #: builtin/mainmenu/tab_online.lua msgid "Join Game" msgstr "Gioca online" -#: builtin/mainmenu/tab_online.lua -msgid "Name / Password" -msgstr "Nome / Password" - #: builtin/mainmenu/tab_online.lua msgid "Ping" msgstr "Ping" -#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "PvP enabled" -msgstr "PvP abilitato" +#, fuzzy +msgid "Public Servers" +msgstr "Annunciare il server" + +#: builtin/mainmenu/tab_online.lua +msgid "Refresh" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +#, fuzzy +msgid "Server Description" +msgstr "Descrizione del server" #: builtin/mainmenu/tab_settings.lua msgid "2x" @@ -934,10 +1029,31 @@ msgstr "Cambia i tasti" msgid "Connected Glass" msgstr "Vetro contiguo" +#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp +#, fuzzy +msgid "Dynamic shadows" +msgstr "Ombreggiatura carattere" + +#: builtin/mainmenu/tab_settings.lua +msgid "Dynamic shadows: " +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Fancy Leaves" msgstr "Foglie di qualità" +#: builtin/mainmenu/tab_settings.lua +msgid "High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Low" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Medium" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Mipmap" msgstr "Mipmap" @@ -1026,6 +1142,14 @@ msgstr "Soglia tocco: (px)" msgid "Trilinear Filter" msgstr "Filtro trilineare" +#: builtin/mainmenu/tab_settings.lua +msgid "Ultra High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Very Low" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Waving Leaves" msgstr "Foglie ondeggianti" @@ -1098,18 +1222,6 @@ 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" - #: src/client/game.cpp msgid "" "\n" @@ -1352,6 +1464,11 @@ msgstr "MiB/s" msgid "Minimap currently disabled by game or mod" msgstr "Minimappa attualmente disabilitata dal gioco o da una mod" +#: src/client/game.cpp +#, fuzzy +msgid "Multiplayer" +msgstr "Gioco locale" + #: src/client/game.cpp msgid "Noclip mode disabled" msgstr "Modalità incorporea disabilitata" @@ -1493,10 +1610,6 @@ msgstr "Indietro" msgid "Caps Lock" msgstr "Blocca maiusc." -#: src/client/keycode.cpp -msgid "Clear" -msgstr "Canc" - #: src/client/keycode.cpp msgid "Control" msgstr "Ctrl" @@ -1790,7 +1903,8 @@ msgid "Proceed" msgstr "Prosegui" #: src/gui/guiKeyChangeMenu.cpp -msgid "\"Special\" = climb down" +#, fuzzy +msgid "\"Aux1\" = climb down" msgstr "\"Speciale\" = scendi" #: src/gui/guiKeyChangeMenu.cpp @@ -1801,10 +1915,18 @@ msgstr "Avanzam. autom." msgid "Automatic jumping" msgstr "Salto automatico" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Aux1" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Backward" msgstr "Indietreggia" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Block bounds" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Change camera" msgstr "Cambia vista" @@ -1888,16 +2010,12 @@ msgstr "Selezione raggio" #: src/gui/guiKeyChangeMenu.cpp src/settings_translation_file.cpp msgid "Screenshot" -msgstr "Schermata" +msgstr "Screenshot" #: src/gui/guiKeyChangeMenu.cpp msgid "Sneak" msgstr "Furtivo" -#: src/gui/guiKeyChangeMenu.cpp -msgid "Special" -msgstr "Speciale" - #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle HUD" msgstr "HUD sì/no" @@ -1984,9 +2102,10 @@ msgstr "" "Se disabilitato, il joystick sarà centrato alla posizione del primo tocco." #: 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 " +"(Android) Use virtual joystick to trigger \"Aux1\" button.\n" +"If enabled, virtual joystick will also tap \"Aux1\" button when out of main " "circle." msgstr "" "(Android) Usa il joystick virtuale per attivare il pulsante \"aux\".\n" @@ -2359,6 +2478,16 @@ msgstr "Salvare dim. finestra" msgid "Autoscaling mode" msgstr "Modalità scalamento automatico" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Aux1 key" +msgstr "Tasto salta" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Aux1 key for climbing/descending" +msgstr "Tasto speciale per arrampicarsi/scendere" + #: src/settings_translation_file.cpp msgid "Backward key" msgstr "Tasto per indietreggiare" @@ -2403,10 +2532,6 @@ msgstr "Parametri di rumore dell'API dei biomi per temperatura e umidità" msgid "Biome noise" msgstr "Rumore biomi" -#: src/settings_translation_file.cpp -msgid "Bits per pixel (aka color depth) in fullscreen mode." -msgstr "Bit per pixel (o profondità di colore) in modalità schermo intero." - #: src/settings_translation_file.cpp msgid "Block send optimize distance" msgstr "Distanza di ottimizzazione dell'invio dei blocchi" @@ -2512,6 +2637,11 @@ msgstr "" "Centro della gamma di amplificazione della curva di luce.\n" "Dove 0.0 è il livello di luce minimo, 1.0 è il livello di luce massimo." +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Chat command time message threshold" +msgstr "Limite dei messaggi di chat per l'espulsione" + #: src/settings_translation_file.cpp msgid "Chat font size" msgstr "Dimensione del carattere dell'area di messaggistica" @@ -2608,6 +2738,11 @@ msgstr "Nuvole nel menu" msgid "Colored fog" msgstr "Nebbia colorata" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Colored shadows" +msgstr "Nebbia colorata" + #: src/settings_translation_file.cpp msgid "" "Comma-separated list of flags to hide in the content repository.\n" @@ -2836,11 +2971,10 @@ msgstr "Dimensione predefinita della pila" #: src/settings_translation_file.cpp msgid "" -"Default timeout for cURL, stated in milliseconds.\n" -"Only has an effect if compiled with cURL." +"Define shadow filtering quality\n" +"This simulates the soft shadows effect by applying a PCF or poisson disk\n" +"but also uses more resources." msgstr "" -"Scadenza predefinita per cURL, fissata in millisecondi.\n" -"Ha effetto solo se Minetest è stato compilato con cURL." #: src/settings_translation_file.cpp msgid "Defines areas where trees have apples." @@ -3017,14 +3151,19 @@ msgstr "" "Abilita il supporto per le modifiche tramite Lua sul client.\n" "Questo supporto è sperimentale e l'API potrebbe cambiare." +#: src/settings_translation_file.cpp +msgid "" +"Enable colored shadows. \n" +"On true translucent nodes cast colored shadows. This is expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable console window" msgstr "Attivare la finestra della console" #: src/settings_translation_file.cpp -#, fuzzy msgid "Enable creative mode for all players" -msgstr "Abilitare la modalità creativa per le nuove mappe create." +msgstr "Abilitare la modalità creativa per tutti i giocatori" #: src/settings_translation_file.cpp msgid "Enable joysticks" @@ -3042,6 +3181,13 @@ msgstr "Abilita la sicurezza moduli" msgid "Enable players getting damage and dying." msgstr "Abilita il ferimento e la morte dei giocatori." +#: src/settings_translation_file.cpp +msgid "" +"Enable poisson disk filtering.\n" +"On true uses poisson disk to make \"soft shadows\". Otherwise uses PCF " +"filtering." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable random user input (only used for testing)." msgstr "" @@ -3206,18 +3352,6 @@ msgstr "Fattore di ondeggiamento in caduta" msgid "Fallback font path" msgstr "Percorso del carattere di ripiego" -#: src/settings_translation_file.cpp -msgid "Fallback font shadow" -msgstr "Ombreggiatura del carattere di ripiego" - -#: src/settings_translation_file.cpp -msgid "Fallback font shadow alpha" -msgstr "Trasparenza del carattere di ripiego" - -#: src/settings_translation_file.cpp -msgid "Fallback font size" -msgstr "Dimensione del carattere di ripiego" - #: src/settings_translation_file.cpp msgid "Fast key" msgstr "Tasto corsa" @@ -3235,8 +3369,9 @@ msgid "Fast movement" msgstr "Movimento rapido" #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"Fast movement (via the \"special\" key).\n" +"Fast movement (via the \"Aux1\" key).\n" "This requires the \"fast\" privilege on the server." msgstr "" "Movimento rapido (tramite il tasto \"speciale\").\n" @@ -3273,11 +3408,12 @@ msgid "Filmic tone mapping" msgstr "Filmic tone mapping" #: src/settings_translation_file.cpp +#, fuzzy msgid "" "Filtered textures can blend RGB values with fully-transparent neighbors,\n" -"which PNG optimizers usually discard, sometimes resulting in a dark or\n" -"light edge to transparent textures. Apply this filter to clean that up\n" -"at texture load time." +"which PNG optimizers usually discard, often resulting in dark or\n" +"light edges to transparent textures. Apply a filter to clean that up\n" +"at texture load time. This is automatically enabled if mipmapping is enabled." msgstr "" "Le texture a cui si applicano i filtri possono amalgamare i valori RGB con " "quelle vicine completamente trasparenti,\n" @@ -3380,10 +3516,6 @@ msgstr "Dimensione del carattere" msgid "Font size of the default font in point (pt)." msgstr "Dimensione carattere del carattere predefinito, in punti (pt)." -#: src/settings_translation_file.cpp -msgid "Font size of the fallback font in point (pt)." -msgstr "Dimensione carattere del carattere di ripiego, in punti (pt)." - #: src/settings_translation_file.cpp msgid "Font size of the monospace font in point (pt)." msgstr "Dimensione carattere del carattere a spaziatura fissa, in punti (pt)." @@ -3409,7 +3541,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Format of screenshots." -msgstr "Formato delle schermate." +msgstr "Formato degli screenshot." #: src/settings_translation_file.cpp msgid "Formspec Default Background Color" @@ -3501,10 +3633,6 @@ msgstr "" msgid "Full screen" msgstr "Schermo intero" -#: src/settings_translation_file.cpp -msgid "Full screen BPP" -msgstr "BPP dello schermo intero" - #: src/settings_translation_file.cpp msgid "Fullscreen mode." msgstr "Modalità a schermo intero." @@ -3618,7 +3746,9 @@ msgid "Heat noise" msgstr "Rumore del calore" #: src/settings_translation_file.cpp -msgid "Height component of the initial window size." +#, fuzzy +msgid "" +"Height component of the initial window size. Ignored in fullscreen mode." msgstr "Componente altezza della dimensione iniziale della finestra." #: src/settings_translation_file.cpp @@ -3629,10 +3759,6 @@ msgstr "Rumore dell'altezza" msgid "Height select noise" msgstr "Rumore di selezione dell'altezza" -#: src/settings_translation_file.cpp -msgid "High-precision FPU" -msgstr "FPU ad alta precisione" - #: src/settings_translation_file.cpp msgid "Hill steepness" msgstr "Ripidità delle colline" @@ -3876,9 +4002,9 @@ msgstr "" "per non sprecare la potenza della CPU senza alcun beneficio." #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"If disabled, \"special\" key is used to fly fast if both fly and fast mode " -"are\n" +"If disabled, \"Aux1\" key is used to fly fast if both fly and fast mode are\n" "enabled." msgstr "" "Se disabilitata, si usa il tasto \"speciale\" per volare velocemente,\n" @@ -3911,9 +4037,10 @@ msgstr "" "Richiede il privilegio \"noclip\" sul server." #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"If enabled, \"special\" key instead of \"sneak\" key is used for climbing " -"down and\n" +"If enabled, \"Aux1\" key instead of \"Sneak\" key is used for climbing down " +"and\n" "descending." msgstr "" "Se abilitata, si usa il tasto \"speciale\" invece di \"furtivo\" per " @@ -3974,6 +4101,12 @@ msgstr "" "get_node\n" "sono limitate a questa distanza dal giocatore al nodo." +#: src/settings_translation_file.cpp +msgid "" +"If the execution of a chat command takes longer than this specified time in\n" +"seconds, add the time information to the chat command message" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "If the file size of debug.txt exceeds the number of megabytes specified in\n" @@ -4764,7 +4897,7 @@ msgid "" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tasto per scattare schermate.\n" +"Tasto per scattare gli screenshot.\n" "Si veda http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" @@ -5156,10 +5289,6 @@ msgstr "" "Far sì che i colori di nebbia e cielo dipendano da ora del giorno (alba/" "tramonto) e direzione della visuale." -#: src/settings_translation_file.cpp -msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." -msgstr "Fa lavorare DirectX con LuaJIT. Disabilitare se provoca problemi." - #: src/settings_translation_file.cpp msgid "Makes all liquids opaque" msgstr "Rende opachi tutti i liquidi" @@ -5256,6 +5385,11 @@ msgstr "Limite di generazione della mappa" msgid "Map save interval" msgstr "Intervallo di salvataggio della mappa" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Map update time" +msgstr "Scatto di aggiornamento del liquido" + #: src/settings_translation_file.cpp msgid "Mapblock limit" msgstr "Limite dei blocchi mappa" @@ -5366,6 +5500,10 @@ msgstr "" "FPS massimi quando la finestra è in secondo piano o quando il gioco è in " "pausa." +#: src/settings_translation_file.cpp +msgid "Maximum distance to render shadows." +msgstr "" + #: src/settings_translation_file.cpp msgid "Maximum forceloaded blocks" msgstr "Numero massimo di blocchi caricati a forza" @@ -5500,11 +5638,20 @@ msgstr "" "della coda." #: src/settings_translation_file.cpp -msgid "Maximum time in ms a file download (e.g. a mod download) may take." +#, fuzzy +msgid "" +"Maximum time a file download (e.g. a mod download) may take, stated in " +"milliseconds." msgstr "" "Tempo massimo in ms che può richiedere lo scaricamento di un file (es. un " "mod)." +#: src/settings_translation_file.cpp +msgid "" +"Maximum time an interactive request (e.g. server list fetch) may take, " +"stated in milliseconds." +msgstr "" + #: src/settings_translation_file.cpp msgid "Maximum users" msgstr "Utenti massimi" @@ -5749,11 +5896,6 @@ msgid "" msgstr "" "Opacità (alfa) dell'ombra dietro il carattere predefinito, tra 0 e 255." -#: src/settings_translation_file.cpp -msgid "" -"Opaqueness (alpha) of the shadow behind the fallback font, between 0 and 255." -msgstr "Opacità (alfa) dell'ombra dietro il carattere di riserva, tra 0 e 255." - #: src/settings_translation_file.cpp msgid "" "Open the pause menu when the window's focus is lost. Does not pause if a " @@ -5784,7 +5926,7 @@ msgid "" "Path to save screenshots at. Can be an absolute or relative path.\n" "The folder will be created if it doesn't already exist." msgstr "" -"Percorso dove salvare le schermate. Può essere un percorso assoluto o " +"Percorso dove salvare gli screenshot. Può essere un percorso assoluto o " "relativo.\n" "La cartella sarà create se non esiste già." @@ -5884,6 +6026,11 @@ msgstr "Distanza di trasferimento del giocatore" msgid "Player versus player" msgstr "Giocatore contro giocatore" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Poisson filtering" +msgstr "Filtraggio bilineare" + #: src/settings_translation_file.cpp msgid "" "Port to connect to (UDP).\n" @@ -6141,15 +6288,15 @@ msgstr "Larghezza dello schermo" #: src/settings_translation_file.cpp msgid "Screenshot folder" -msgstr "Cartella delle schermate" +msgstr "Cartella degli screenshot" #: src/settings_translation_file.cpp msgid "Screenshot format" -msgstr "Formato delle schermate" +msgstr "Formato degli screenshot" #: src/settings_translation_file.cpp msgid "Screenshot quality" -msgstr "Qualità delle schermate" +msgstr "Qualità degli screenshot" #: src/settings_translation_file.cpp msgid "" @@ -6157,8 +6304,8 @@ msgid "" "1 means worst quality; 100 means best quality.\n" "Use 0 for default quality." msgstr "" -"Qualità delle schermate. Usata solo per il formato JPEG.\n" -"1 significa qualità peggiore, 100 significa qualità migliore.\n" +"Qualità degli screenshot. Usata solo per il formato JPEG.\n" +"1 significa la qualità peggiore, 100 quella migliore.\n" "Usa 0 per la qualità predefinita." #: src/settings_translation_file.cpp @@ -6287,6 +6434,43 @@ msgstr "" "Imposta la lunghezza massima di caratteri di un messaggio di chat inviato " "dai client." +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow strength.\n" +"Lower value means lighter shadows, higher value means darker shadows." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow update time.\n" +"Lower value means shadows and map updates faster, but it consume more " +"resources.\n" +"Minimun value 0.001 seconds max value 0.2 seconds" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the soft shadow radius size.\n" +"Lower values mean sharper shadows bigger values softer.\n" +"Minimun value 1.0 and max value 10.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the tilt of Sun/Moon orbit in degrees\n" +"Value of 0 means no tilt / vertical orbit.\n" +"Minimun value 0.0 and max value 60.0" +msgstr "" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "" +"Set to true to enable Shadow Mapping.\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 msgid "" "Set to true to enable waving leaves.\n" @@ -6312,6 +6496,13 @@ msgstr "" "Impostata su vero abilita le piante ondeggianti.\n" "Necessita l'attivazione degli shader." +#: src/settings_translation_file.cpp +msgid "" +"Sets shadow texture quality to 32 bits.\n" +"On false, 16 bits texture will be used.\n" +"This can cause much more artifacts in the shadow." +msgstr "" + #: src/settings_translation_file.cpp msgid "Shader path" msgstr "Percorso shader" @@ -6328,6 +6519,24 @@ msgstr "" "le prestazioni su alcune schede video.\n" "Ciò funziona solo col supporto video OpenGL." +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Shadow filter quality" +msgstr "Qualità degli screenshot" + +#: src/settings_translation_file.cpp +msgid "Shadow map max distance in nodes to render shadows" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture in 32 bits" +msgstr "" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Shadow map texture size" +msgstr "Dimensione minima della texture" + #: src/settings_translation_file.cpp msgid "" "Shadow offset (in pixels) of the default font. If 0, then shadow will not be " @@ -6337,12 +6546,8 @@ msgstr "" "allora l'ombra non sarà disegnata." #: src/settings_translation_file.cpp -msgid "" -"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not " -"be drawn." +msgid "Shadow strength" msgstr "" -"Scarto (in pixel) dell'ombreggiatura del carattere di riserva. Se è 0, " -"allora l'ombra non sarà disegnata." #: src/settings_translation_file.cpp msgid "Shape of the minimap. Enabled = round, disabled = square." @@ -6365,9 +6570,8 @@ msgstr "" "È necessario riavviare dopo aver cambiato questo." #: src/settings_translation_file.cpp -#, fuzzy msgid "Show nametag backgrounds by default" -msgstr "Carattere grassetto per impostazione predefinita" +msgstr "Mostra lo sfondo del nome per impostazione predefinita" #: src/settings_translation_file.cpp msgid "Shutdown message" @@ -6400,6 +6604,10 @@ msgstr "" "Aumentandola si incrementerà l'impatto percentuale sulla cache, diminuendo\n" "i dati copiati dal thread principale, riducendo così lo sfarfallio." +#: src/settings_translation_file.cpp +msgid "Sky Body Orbit Tilt" +msgstr "" + #: src/settings_translation_file.cpp msgid "Slice w" msgstr "Fetta w" @@ -6461,18 +6669,15 @@ msgstr "Velocità furtiva" msgid "Sneaking speed, in nodes per second." msgstr "Velocità furtiva, in nodi al secondo." +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Soft shadow radius" +msgstr "Trasparenza dell'ombreggiatura del carattere" + #: src/settings_translation_file.cpp msgid "Sound" msgstr "Audio" -#: src/settings_translation_file.cpp -msgid "Special key" -msgstr "Tasto speciale" - -#: src/settings_translation_file.cpp -msgid "Special key for climbing/descending" -msgstr "Tasto speciale per arrampicarsi/scendere" - #: src/settings_translation_file.cpp msgid "" "Specifies URL from which client fetches media instead of using UDP.\n" @@ -6630,6 +6835,13 @@ msgstr "Rumore di continuità del terreno" msgid "Texture path" msgstr "Percorso delle texture" +#: src/settings_translation_file.cpp +msgid "" +"Texture size to render the shadow map on.\n" +"This must be a power of two.\n" +"Bigger numbers create better shadowsbut it is also more expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Textures on a node may be aligned either to the node or to the world.\n" @@ -6729,8 +6941,9 @@ msgstr "" "active_object_send_range_blocks." #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"The rendering back-end for Irrlicht.\n" +"The rendering back-end.\n" "A restart is required after changing this.\n" "Note: On Android, stick with OGLES1 if unsure! App may fail to start " "otherwise.\n" @@ -7089,7 +7302,8 @@ msgid "Viewing range" msgstr "Raggio visivo" #: src/settings_translation_file.cpp -msgid "Virtual joystick triggers aux button" +#, fuzzy +msgid "Virtual joystick triggers Aux1 button" msgstr "Il joystick virtuale attiva il pulsante aux" #: src/settings_translation_file.cpp @@ -7192,14 +7406,14 @@ msgstr "" "non supportano correttamente lo scaricamento delle texture dall'hardware." #: src/settings_translation_file.cpp +#, fuzzy msgid "" "When using bilinear/trilinear/anisotropic filters, low-resolution textures\n" "can be blurred, so automatically upscale them with nearest-neighbor\n" "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" +"memory. Powers of 2 are recommended. This setting is ONLY applies if\n" +"bilinear/trilinear/anisotropic filtering is enabled.\n" "This is also used as the base node texture size for world-aligned\n" "texture autoscaling." msgstr "" @@ -7234,6 +7448,8 @@ msgid "" "Whether nametag backgrounds should be shown by default.\n" "Mods may still set a background." msgstr "" +"Se lo sfondo del nome deve essere mostrato per impostazione predefinita.\n" +"I moderatori possono comunque impostare uno sfondo." #: src/settings_translation_file.cpp msgid "Whether node texture animations should be desynchronized per mapblock." @@ -7287,7 +7503,8 @@ msgstr "" "premere F5)." #: src/settings_translation_file.cpp -msgid "Width component of the initial window size." +#, fuzzy +msgid "Width component of the initial window size. Ignored in fullscreen mode." msgstr "Componente larghezza della dimensione iniziale della finestra." #: src/settings_translation_file.cpp @@ -7430,12 +7647,13 @@ msgid "cURL file download timeout" msgstr "Scadenza cURL scaricamento file" #: src/settings_translation_file.cpp -msgid "cURL parallel limit" -msgstr "Limite parallelo cURL" +#, fuzzy +msgid "cURL interactive timeout" +msgstr "Scadenza cURL" #: src/settings_translation_file.cpp -msgid "cURL timeout" -msgstr "Scadenza cURL" +msgid "cURL parallel limit" +msgstr "Limite parallelo cURL" #~ msgid "" #~ "0 = parallax occlusion with slope information (faster).\n" @@ -7445,6 +7663,9 @@ msgstr "Scadenza cURL" #~ "veloce).\n" #~ "1 = relief mapping (più lenta, più accurata)." +#~ msgid "Address / Port" +#~ msgstr "Indirizzo / Porta" + #~ msgid "" #~ "Adjust the gamma encoding for the light tables. Higher numbers are " #~ "brighter.\n" @@ -7465,6 +7686,9 @@ msgstr "Scadenza cURL" #~ msgid "Back" #~ msgstr "Indietro" +#~ msgid "Bits per pixel (aka color depth) in fullscreen mode." +#~ msgstr "Bit per pixel (o profondità di colore) in modalità schermo intero." + #~ msgid "Bump Mapping" #~ msgstr "Bump Mapping" @@ -7508,12 +7732,25 @@ msgstr "Scadenza cURL" #~ "Controlla la larghezza delle gallerie, un valore più piccolo crea " #~ "gallerie più larghe." +#~ msgid "Credits" +#~ msgstr "Riconoscimenti" + #~ msgid "Crosshair color (R,G,B)." #~ msgstr "Colore del mirino (R,G,B)." +#~ msgid "Damage enabled" +#~ msgstr "Danno fisico abilitato" + #~ msgid "Darkness sharpness" #~ msgstr "Nitidezza dell'oscurità" +#~ msgid "" +#~ "Default timeout for cURL, stated in milliseconds.\n" +#~ "Only has an effect if compiled with cURL." +#~ msgstr "" +#~ "Scadenza predefinita per cURL, fissata in millisecondi.\n" +#~ "Ha effetto solo se Minetest è stato compilato con cURL." + #~ msgid "" #~ "Defines areas of floatland smooth terrain.\n" #~ "Smooth floatlands occur when noise > 0." @@ -7580,6 +7817,15 @@ msgstr "Scadenza cURL" #~ msgid "FPS in pause menu" #~ msgstr "FPS nel menu di pausa" +#~ msgid "Fallback font shadow" +#~ msgstr "Ombreggiatura del carattere di ripiego" + +#~ msgid "Fallback font shadow alpha" +#~ msgstr "Trasparenza del carattere di ripiego" + +#~ msgid "Fallback font size" +#~ msgstr "Dimensione del carattere di ripiego" + #~ msgid "Floatland base height noise" #~ msgstr "Rumore base dell'altezza delle terre fluttuanti" @@ -7589,6 +7835,12 @@ msgstr "Scadenza cURL" #~ msgid "Font shadow alpha (opaqueness, between 0 and 255)." #~ msgstr "Trasparenza ombreggiatura carattere (opacità, tra 0 e 255)." +#~ msgid "Font size of the fallback font in point (pt)." +#~ msgstr "Dimensione carattere del carattere di ripiego, in punti (pt)." + +#~ msgid "Full screen BPP" +#~ msgstr "BPP dello schermo intero" + #~ msgid "Gamma" #~ msgstr "Gamma" @@ -7598,6 +7850,9 @@ msgstr "Scadenza cURL" #~ msgid "Generate normalmaps" #~ msgstr "Generare le normalmap" +#~ msgid "High-precision FPU" +#~ msgstr "FPU ad alta precisione" + #~ msgid "IPv6 support." #~ msgstr "Supporto IPv6." @@ -7616,6 +7871,9 @@ msgstr "Scadenza cURL" #~ msgid "Main menu style" #~ msgstr "Stile del menu principale" +#~ msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." +#~ msgstr "Fa lavorare DirectX con LuaJIT. Disabilitare se provoca problemi." + #~ msgid "Minimap in radar mode, Zoom x2" #~ msgstr "Minimappa in modalità radar, ingrandimento x2" @@ -7628,6 +7886,9 @@ msgstr "Scadenza cURL" #~ msgid "Minimap in surface mode, Zoom x4" #~ msgstr "Minimappa in modalità superficie, ingrandimento x4" +#~ msgid "Name / Password" +#~ msgstr "Nome / Password" + #~ msgid "Name/Password" #~ msgstr "Nome/Password" @@ -7646,6 +7907,12 @@ msgstr "Scadenza cURL" #~ msgid "Ok" #~ msgstr "OK" +#~ msgid "" +#~ "Opaqueness (alpha) of the shadow behind the fallback font, between 0 and " +#~ "255." +#~ msgstr "" +#~ "Opacità (alfa) dell'ombra dietro il carattere di riserva, tra 0 e 255." + #~ msgid "Overall bias of parallax occlusion effect, usually scale/2." #~ msgstr "" #~ "Deviazione complessiva dell'effetto di occlusione di parallasse, " @@ -7684,6 +7951,9 @@ msgstr "Scadenza cURL" #~ msgid "Projecting dungeons" #~ msgstr "Sotterranei protundenti" +#~ msgid "PvP enabled" +#~ msgstr "PvP abilitato" + #~ msgid "Reset singleplayer world" #~ msgstr "Azzera mondo locale" @@ -7693,6 +7963,19 @@ msgstr "Scadenza cURL" #~ msgid "Shadow limit" #~ msgstr "Limite dell'ombra" +#~ msgid "" +#~ "Shadow offset (in pixels) of the fallback font. If 0, then shadow will " +#~ "not be drawn." +#~ msgstr "" +#~ "Scarto (in pixel) dell'ombreggiatura del carattere di riserva. Se è 0, " +#~ "allora l'ombra non sarà disegnata." + +#~ msgid "Special" +#~ msgstr "Speciale" + +#~ msgid "Special key" +#~ msgstr "Tasto speciale" + #~ msgid "Start Singleplayer" #~ msgstr "Avvia in locale" @@ -7744,3 +8027,6 @@ msgstr "Scadenza cURL" #~ msgid "Yes" #~ msgstr "Sì" + +#~ msgid "needs_fallback_font" +#~ msgstr "no" diff --git a/po/ja/minetest.po b/po/ja/minetest.po index c3a5e3522..541aea659 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: 2021-02-23 19:03+0100\n" -"PO-Revision-Date: 2021-02-13 08:50+0000\n" +"POT-Creation-Date: 2021-06-16 18:27+0200\n" +"PO-Revision-Date: 2021-04-08 18:26+0000\n" "Last-Translator: BreadW \n" "Language-Team: Japanese \n" @@ -12,7 +12,49 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 4.5-dev\n" +"X-Generator: Weblate 4.6-dev\n" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Clear the out chat queue" +msgstr "アウトチャットキューの最大サイズ" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Empty command." +msgstr "チャットコマンド" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Exit to main menu" +msgstr "メインメニュー" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Invalid command: " +msgstr "ローカルコマンド" + +#: builtin/client/chatcommands.lua +msgid "Issued command: " +msgstr "" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "List online players" +msgstr "シングルプレイヤー" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Online players: " +msgstr "シングルプレイヤー" + +#: builtin/client/chatcommands.lua +msgid "The out chat queue is now empty." +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "This command is disabled by server." +msgstr "" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -22,6 +64,38 @@ msgstr "リスポーン" msgid "You died" msgstr "死んでしまった" +#: builtin/client/death_formspec.lua +#, fuzzy +msgid "You died." +msgstr "死んでしまった" + +#: builtin/common/chatcommands.lua +#, fuzzy +msgid "Available commands:" +msgstr "ローカルコマンド" + +#: builtin/common/chatcommands.lua +#, fuzzy +msgid "Available commands: " +msgstr "ローカルコマンド" + +#: builtin/common/chatcommands.lua +msgid "Command not available: " +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "Get help for commands" +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "" +"Use '.help ' to get more information, or '.help all' to list everything." +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "[all | ]" +msgstr "" + #: builtin/fstk/dialog.lua builtin/fstk/ui.lua src/gui/modalMenu.cpp msgid "OK" msgstr "OK" @@ -531,7 +605,7 @@ msgstr "< 設定ページに戻る" msgid "Browse" msgstr "参照" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_settings.lua msgid "Disabled" msgstr "無効" @@ -575,7 +649,7 @@ msgstr "初期設定に戻す" msgid "Scale" msgstr "スケール" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua msgid "Search" msgstr "検索" @@ -699,14 +773,50 @@ msgid "Loading..." msgstr "読み込み中..." #: builtin/mainmenu/serverlistmgr.lua -#, fuzzy msgid "Public server list is disabled" -msgstr "クライアント側のスクリプトは無効" +msgstr "公開サーバ一覧は無効" #: builtin/mainmenu/serverlistmgr.lua msgid "Try reenabling public serverlist and check your internet connection." msgstr "インターネット接続を確認し、公開サーバ一覧を再有効化してください。" +#: builtin/mainmenu/tab_about.lua +msgid "About" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active Contributors" +msgstr "活動中の貢献者" + +#: builtin/mainmenu/tab_about.lua +#, fuzzy +msgid "Active renderer:" +msgstr "アクティブなオブジェクトの送信範囲" + +#: builtin/mainmenu/tab_about.lua +msgid "Core Developers" +msgstr "開発者" + +#: builtin/mainmenu/tab_about.lua +msgid "Open User Data Directory" +msgstr "ディレクトリを開く" + +#: builtin/mainmenu/tab_about.lua +msgid "" +"Opens the directory that contains user-provided worlds, games, mods,\n" +"and texture packs in a file manager / explorer." +msgstr "" +"ファイルマネージャー/エクスプローラーで、ワールド、ゲーム、Mod、\n" +"およびテクスチャパックを含むディレクトリを開きます。" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Contributors" +msgstr "以前の貢献者" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Core Developers" +msgstr "以前の開発者" + #: builtin/mainmenu/tab_content.lua msgid "Browse online content" msgstr "オンラインコンテンツ参照" @@ -747,38 +857,6 @@ msgstr "パッケージを削除" msgid "Use Texture Pack" msgstr "テクスチャパック使用" -#: builtin/mainmenu/tab_credits.lua -msgid "Active Contributors" -msgstr "活動中の貢献者" - -#: builtin/mainmenu/tab_credits.lua -msgid "Core Developers" -msgstr "開発者" - -#: builtin/mainmenu/tab_credits.lua -msgid "Credits" -msgstr "クレジット" - -#: builtin/mainmenu/tab_credits.lua -msgid "Open User Data Directory" -msgstr "ディレクトリを開く" - -#: builtin/mainmenu/tab_credits.lua -msgid "" -"Opens the directory that contains user-provided worlds, games, mods,\n" -"and texture packs in a file manager / explorer." -msgstr "" -"ファイルマネージャー/エクスプローラーで、ワールド、ゲーム、Mod、\n" -"およびテクスチャパックを含むディレクトリを開きます。" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Contributors" -msgstr "以前の貢献者" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Core Developers" -msgstr "以前の開発者" - #: builtin/mainmenu/tab_local.lua msgid "Announce Server" msgstr "公開サーバ" @@ -807,7 +885,7 @@ msgstr "ホストサーバ" msgid "Install games from ContentDB" msgstr "コンテンツDBからゲームをインストール" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Name" msgstr "名前" @@ -819,7 +897,7 @@ msgstr "新規作成" msgid "No world created or selected!" msgstr "ワールドが作成または選択されていません!" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Password" msgstr "パスワード" @@ -827,7 +905,7 @@ msgstr "パスワード" msgid "Play Game" msgstr "ゲームプレイ" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Port" msgstr "ポート" @@ -848,8 +926,13 @@ msgid "Start Game" msgstr "ゲームスタート" #: builtin/mainmenu/tab_online.lua -msgid "Address / Port" -msgstr "アドレス / ポート" +#, fuzzy +msgid "Address" +msgstr "- アドレス: " + +#: builtin/mainmenu/tab_online.lua src/client/keycode.cpp +msgid "Clear" +msgstr "Clear" #: builtin/mainmenu/tab_online.lua msgid "Connect" @@ -859,34 +942,46 @@ msgstr "接続" msgid "Creative mode" msgstr "クリエイティブモード" +#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "Damage enabled" -msgstr "ダメージ有効" +#, fuzzy +msgid "Damage / PvP" +msgstr "ダメージ" #: builtin/mainmenu/tab_online.lua msgid "Del. Favorite" msgstr "お気に入り削除" #: builtin/mainmenu/tab_online.lua -msgid "Favorite" +#, fuzzy +msgid "Favorites" msgstr "お気に入り" +#: builtin/mainmenu/tab_online.lua +msgid "Incompatible Servers" +msgstr "" + #: builtin/mainmenu/tab_online.lua msgid "Join Game" msgstr "ゲームに参加" -#: builtin/mainmenu/tab_online.lua -msgid "Name / Password" -msgstr "名前 / パスワード" - #: builtin/mainmenu/tab_online.lua msgid "Ping" msgstr "応答速度" -#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "PvP enabled" -msgstr "PvP有効" +#, fuzzy +msgid "Public Servers" +msgstr "公開サーバ" + +#: builtin/mainmenu/tab_online.lua +msgid "Refresh" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +#, fuzzy +msgid "Server Description" +msgstr "サーバ説明" #: builtin/mainmenu/tab_settings.lua msgid "2x" @@ -928,10 +1023,31 @@ msgstr "キー変更" msgid "Connected Glass" msgstr "ガラスを繋げる" +#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp +#, fuzzy +msgid "Dynamic shadows" +msgstr "フォントの影" + +#: builtin/mainmenu/tab_settings.lua +msgid "Dynamic shadows: " +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Fancy Leaves" msgstr "綺麗な葉" +#: builtin/mainmenu/tab_settings.lua +msgid "High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Low" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Medium" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Mipmap" msgstr "ミップマップ" @@ -1020,6 +1136,14 @@ msgstr "タッチのしきい値: (px)" msgid "Trilinear Filter" msgstr "トライリニアフィルタ" +#: builtin/mainmenu/tab_settings.lua +msgid "Ultra High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Very Low" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Waving Leaves" msgstr "揺れる葉" @@ -1092,18 +1216,6 @@ 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" - #: src/client/game.cpp msgid "" "\n" @@ -1346,6 +1458,11 @@ msgstr "MiB/秒" msgid "Minimap currently disabled by game or mod" msgstr "ミニマップは現在ゲームまたはModにより無効" +#: src/client/game.cpp +#, fuzzy +msgid "Multiplayer" +msgstr "シングルプレイヤー" + #: src/client/game.cpp msgid "Noclip mode disabled" msgstr "すり抜けモード 無効" @@ -1487,10 +1604,6 @@ msgstr "Back Space" msgid "Caps Lock" msgstr "Caps Lock" -#: src/client/keycode.cpp -msgid "Clear" -msgstr "Clear" - #: src/client/keycode.cpp msgid "Control" msgstr "Ctrl" @@ -1785,7 +1898,8 @@ msgid "Proceed" msgstr "決定" #: src/gui/guiKeyChangeMenu.cpp -msgid "\"Special\" = climb down" +#, fuzzy +msgid "\"Aux1\" = climb down" msgstr "\"スペシャル\" = 降りる" #: src/gui/guiKeyChangeMenu.cpp @@ -1796,10 +1910,18 @@ msgstr "自動前進" msgid "Automatic jumping" msgstr "自動ジャンプ" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Aux1" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Backward" msgstr "後退" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Block bounds" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Change camera" msgstr "視点変更" @@ -1890,10 +2012,6 @@ msgstr "スクリーンショット" msgid "Sneak" msgstr "スニーク" -#: src/gui/guiKeyChangeMenu.cpp -msgid "Special" -msgstr "スペシャル" - #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle HUD" msgstr "HUD表示切替" @@ -1980,9 +2098,10 @@ 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 " +"(Android) Use virtual joystick to trigger \"Aux1\" button.\n" +"If enabled, virtual joystick will also tap \"Aux1\" button when out of main " "circle." msgstr "" "(Android) バーチャルパッドを使用して\"aux\"ボタンを起動します。\n" @@ -2335,6 +2454,16 @@ msgstr "画面の大きさを自動保存" msgid "Autoscaling mode" msgstr "自動拡大縮小モード" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Aux1 key" +msgstr "ジャンプキー" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Aux1 key for climbing/descending" +msgstr "降りるためのスペシャルキー" + #: src/settings_translation_file.cpp msgid "Backward key" msgstr "後退キー" @@ -2379,10 +2508,6 @@ msgstr "バイオームAPIの温度と湿度のノイズパラメータ" msgid "Biome noise" msgstr "バイオームノイズ" -#: src/settings_translation_file.cpp -msgid "Bits per pixel (aka color depth) in fullscreen mode." -msgstr "フルスクリーンモードでのビット数(色深度)。" - #: src/settings_translation_file.cpp msgid "Block send optimize distance" msgstr "ブロック送信最適化距離" @@ -2488,6 +2613,11 @@ msgstr "" "光度曲線ブースト範囲の中心。\n" "0.0は最小光レベル、1.0は最大光レベルです。" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Chat command time message threshold" +msgstr "チャットメッセージキックのしきい値" + #: src/settings_translation_file.cpp msgid "Chat font size" msgstr "チャットのフォントサイズ" @@ -2584,6 +2714,11 @@ msgstr "メニューに雲" msgid "Colored fog" msgstr "色つきの霧" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Colored shadows" +msgstr "色つきの霧" + #: src/settings_translation_file.cpp msgid "" "Comma-separated list of flags to hide in the content repository.\n" @@ -2805,11 +2940,10 @@ msgstr "既定のスタック数" #: src/settings_translation_file.cpp msgid "" -"Default timeout for cURL, stated in milliseconds.\n" -"Only has an effect if compiled with cURL." +"Define shadow filtering quality\n" +"This simulates the soft shadows effect by applying a PCF or poisson disk\n" +"but also uses more resources." msgstr "" -"cURLの既定のタイムアウト、ミリ秒で定めます。\n" -"cURLでコンパイルされた場合にのみ効果があります。" #: src/settings_translation_file.cpp msgid "Defines areas where trees have apples." @@ -2977,14 +3111,19 @@ msgstr "" "クライアントでのLua改造サポートを有効にします。\n" "このサポートは実験的であり、APIは変わることがあります。" +#: src/settings_translation_file.cpp +msgid "" +"Enable colored shadows. \n" +"On true translucent nodes cast colored shadows. This is expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable console window" msgstr "コンソールウィンドウを有効化" #: src/settings_translation_file.cpp -#, fuzzy msgid "Enable creative mode for all players" -msgstr "新しく作成されたマップでクリエイティブモードを有効にします。" +msgstr "すべてのプレイヤーにクリエイティブモードを有効化" #: src/settings_translation_file.cpp msgid "Enable joysticks" @@ -3002,6 +3141,13 @@ msgstr "Modのセキュリティを有効化" msgid "Enable players getting damage and dying." msgstr "プレイヤーがダメージを受けて死亡するのを有効にします。" +#: src/settings_translation_file.cpp +msgid "" +"Enable poisson disk filtering.\n" +"On true uses poisson disk to make \"soft shadows\". Otherwise uses PCF " +"filtering." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable random user input (only used for testing)." msgstr "ランダムなユーザー入力を有効にします (テストにのみ使用)。" @@ -3157,18 +3303,6 @@ msgstr "落下時の上下の揺れ係数" msgid "Fallback font path" msgstr "フォールバックフォントのパス" -#: src/settings_translation_file.cpp -msgid "Fallback font shadow" -msgstr "フォールバックフォントの影" - -#: src/settings_translation_file.cpp -msgid "Fallback font shadow alpha" -msgstr "フォールバックフォントの影の透過" - -#: src/settings_translation_file.cpp -msgid "Fallback font size" -msgstr "フォールバックフォントの大きさ" - #: src/settings_translation_file.cpp msgid "Fast key" msgstr "高速移動モード切替キー" @@ -3186,8 +3320,9 @@ msgid "Fast movement" msgstr "高速移動モード" #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"Fast movement (via the \"special\" key).\n" +"Fast movement (via the \"Aux1\" key).\n" "This requires the \"fast\" privilege on the server." msgstr "" "高速移動 (\"スペシャル\"キーによる)。\n" @@ -3223,11 +3358,12 @@ msgid "Filmic tone mapping" msgstr "フィルム調トーンマッピング" #: src/settings_translation_file.cpp +#, fuzzy msgid "" "Filtered textures can blend RGB values with fully-transparent neighbors,\n" -"which PNG optimizers usually discard, sometimes resulting in a dark or\n" -"light edge to transparent textures. Apply this filter to clean that up\n" -"at texture load time." +"which PNG optimizers usually discard, often resulting in dark or\n" +"light edges to transparent textures. Apply a filter to clean that up\n" +"at texture load time. This is automatically enabled if mipmapping is enabled." msgstr "" "フィルタ処理されたテクスチャはRGB値と完全に透明な隣り合うものと混ぜる\n" "ことができます。PNGオプティマイザは通常これを破棄します。その結果、\n" @@ -3326,10 +3462,6 @@ msgstr "フォントの大きさ" msgid "Font size of the default font in point (pt)." msgstr "既定のフォントのフォント サイズ (pt)。" -#: src/settings_translation_file.cpp -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)。" @@ -3443,10 +3575,6 @@ msgstr "" msgid "Full screen" msgstr "フルスクリーン表示" -#: src/settings_translation_file.cpp -msgid "Full screen BPP" -msgstr "フルスクリーンのBPP" - #: src/settings_translation_file.cpp msgid "Fullscreen mode." msgstr "全画面表示モードです。" @@ -3557,7 +3685,9 @@ msgid "Heat noise" msgstr "熱ノイズ" #: src/settings_translation_file.cpp -msgid "Height component of the initial window size." +#, fuzzy +msgid "" +"Height component of the initial window size. Ignored in fullscreen mode." msgstr "ウィンドウ高さの初期値。" #: src/settings_translation_file.cpp @@ -3568,10 +3698,6 @@ msgstr "高さノイズ" msgid "Height select noise" msgstr "高さ選択ノイズ" -#: src/settings_translation_file.cpp -msgid "High-precision FPU" -msgstr "高精度FPU" - #: src/settings_translation_file.cpp msgid "Hill steepness" msgstr "丘陵の険しさ" @@ -3815,9 +3941,9 @@ msgstr "" "スリープ状態で制限します。" #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"If disabled, \"special\" key is used to fly fast if both fly and fast mode " -"are\n" +"If disabled, \"Aux1\" key is used to fly fast if both fly and fast mode are\n" "enabled." msgstr "" "無効になっている場合、飛行モードと高速移動モードの両方が有効になって\n" @@ -3847,9 +3973,10 @@ msgstr "" "これにはサーバー上に \"noclip\" 特権が必要です。" #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"If enabled, \"special\" key instead of \"sneak\" key is used for climbing " -"down and\n" +"If enabled, \"Aux1\" key instead of \"Sneak\" key is used for climbing down " +"and\n" "descending." msgstr "" "有効にすると、降りるときや水中を潜るとき \"スニーク\" キーの代りに \n" @@ -3907,6 +4034,12 @@ msgstr "" "ノード範囲のCSM制限が有効になっている場合、get_node 呼び出しは\n" "プレーヤーからノードまでのこの距離に制限されます。" +#: src/settings_translation_file.cpp +msgid "" +"If the execution of a chat command takes longer than this specified time in\n" +"seconds, add the time information to the chat command message" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "If the file size of debug.txt exceeds the number of megabytes specified in\n" @@ -5069,10 +5202,6 @@ msgid "" "Make fog and sky colors depend on daytime (dawn/sunset) and view direction." msgstr "霧と空の色を日中(夜明け/日没)と視線方向に依存させます。" -#: src/settings_translation_file.cpp -msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." -msgstr "DirectX を LuaJIT と連携させます。問題がある場合は無効にしてください。" - #: src/settings_translation_file.cpp msgid "Makes all liquids opaque" msgstr "すべての液体を不透明にする" @@ -5163,6 +5292,11 @@ msgstr "マップ生成の制限" msgid "Map save interval" msgstr "マップ保存間隔" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Map update time" +msgstr "液体の更新間隔" + #: src/settings_translation_file.cpp msgid "Mapblock limit" msgstr "マップブロック制限" @@ -5273,6 +5407,10 @@ msgstr "" "ウィンドウにフォーカスが合っていないとき、またはポーズメニュー表示中の最大" "FPS。" +#: src/settings_translation_file.cpp +msgid "Maximum distance to render shadows." +msgstr "" + #: src/settings_translation_file.cpp msgid "Maximum forceloaded blocks" msgstr "最大強制読み込みブロック" @@ -5398,9 +5536,18 @@ msgstr "" "キューを無効にするには 0、サイズを無制限にするには -1 を指定します。" #: src/settings_translation_file.cpp -msgid "Maximum time in ms a file download (e.g. a mod download) may take." +#, fuzzy +msgid "" +"Maximum time a file download (e.g. a mod download) may take, stated in " +"milliseconds." msgstr "ファイルダウンロード (例: Modのダウンロード)の最大経過時間。" +#: src/settings_translation_file.cpp +msgid "" +"Maximum time an interactive request (e.g. server list fetch) may take, " +"stated in milliseconds." +msgstr "" + #: src/settings_translation_file.cpp msgid "Maximum users" msgstr "最大ユーザー数" @@ -5637,11 +5784,6 @@ 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 " @@ -5769,6 +5911,11 @@ msgstr "プレイヤー転送距離" msgid "Player versus player" msgstr "プレイヤー対プレイヤー" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Poisson filtering" +msgstr "バイリニアフィルタリング" + #: src/settings_translation_file.cpp msgid "" "Port to connect to (UDP).\n" @@ -6158,6 +6305,43 @@ msgstr "" msgid "Set the maximum character length of a chat message sent by clients." msgstr "クライアントから送信されるチャットメッセージの最大文字数を設定します。" +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow strength.\n" +"Lower value means lighter shadows, higher value means darker shadows." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow update time.\n" +"Lower value means shadows and map updates faster, but it consume more " +"resources.\n" +"Minimun value 0.001 seconds max value 0.2 seconds" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the soft shadow radius size.\n" +"Lower values mean sharper shadows bigger values softer.\n" +"Minimun value 1.0 and max value 10.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the tilt of Sun/Moon orbit in degrees\n" +"Value of 0 means no tilt / vertical orbit.\n" +"Minimun value 0.0 and max value 60.0" +msgstr "" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "" +"Set to true to enable Shadow Mapping.\n" +"Requires shaders to be enabled." +msgstr "" +"有効にすると葉が揺れます。\n" +"シェーダーが有効である必要があります。" + #: src/settings_translation_file.cpp msgid "" "Set to true to enable waving leaves.\n" @@ -6182,6 +6366,13 @@ msgstr "" "有効にすると草花が揺れます。\n" "シェーダーが有効である必要があります。" +#: src/settings_translation_file.cpp +msgid "" +"Sets shadow texture quality to 32 bits.\n" +"On false, 16 bits texture will be used.\n" +"This can cause much more artifacts in the shadow." +msgstr "" + #: src/settings_translation_file.cpp msgid "Shader path" msgstr "シェーダーパス" @@ -6197,6 +6388,24 @@ msgstr "" "パフォーマンスが向上する可能性があります。\n" "これはOpenGLビデオバックエンドでのみ機能します。" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Shadow filter quality" +msgstr "スクリーンショットの品質" + +#: src/settings_translation_file.cpp +msgid "Shadow map max distance in nodes to render shadows" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture in 32 bits" +msgstr "" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Shadow map texture size" +msgstr "最小テクスチャサイズ" + #: src/settings_translation_file.cpp msgid "" "Shadow offset (in pixels) of the default font. If 0, then shadow will not be " @@ -6206,12 +6415,8 @@ msgstr "" "ん。" #: src/settings_translation_file.cpp -msgid "" -"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not " -"be drawn." +msgid "Shadow strength" msgstr "" -"フォールバックフォントの影のオフセット(ピクセル単位)。 \n" -"0の場合、影は描画されません。" #: src/settings_translation_file.cpp msgid "Shape of the minimap. Enabled = round, disabled = square." @@ -6234,9 +6439,8 @@ msgstr "" "変更後は再起動が必要です。" #: src/settings_translation_file.cpp -#, fuzzy msgid "Show nametag backgrounds by default" -msgstr "既定で太字のフォント" +msgstr "既定でネームタグの背景を表示" #: src/settings_translation_file.cpp msgid "Shutdown message" @@ -6268,6 +6472,10 @@ msgstr "" "キャッシュヒット率が上がり、メインスレッドからコピーされるデータが\n" "減るため、ジッタが減少します。" +#: src/settings_translation_file.cpp +msgid "Sky Body Orbit Tilt" +msgstr "" + #: src/settings_translation_file.cpp msgid "Slice w" msgstr "スライス w" @@ -6325,18 +6533,15 @@ msgstr "スニーク時の速度" msgid "Sneaking speed, in nodes per second." msgstr "スニーク時の速度、1秒あたりのノード数です。" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Soft shadow radius" +msgstr "フォントの影の透過" + #: src/settings_translation_file.cpp msgid "Sound" msgstr "サウンド" -#: src/settings_translation_file.cpp -msgid "Special key" -msgstr "スペシャルキー" - -#: src/settings_translation_file.cpp -msgid "Special key for climbing/descending" -msgstr "降りるためのスペシャルキー" - #: src/settings_translation_file.cpp msgid "" "Specifies URL from which client fetches media instead of using UDP.\n" @@ -6487,6 +6692,13 @@ msgstr "地形持続性ノイズ" msgid "Texture path" msgstr "テクスチャパス" +#: src/settings_translation_file.cpp +msgid "" +"Texture size to render the shadow map on.\n" +"This must be a power of two.\n" +"Bigger numbers create better shadowsbut it is also more expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Textures on a node may be aligned either to the node or to the world.\n" @@ -6581,8 +6793,9 @@ msgstr "" "これは active_object_send_range_blocks と一緒に設定する必要があります。" #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"The rendering back-end for Irrlicht.\n" +"The rendering back-end.\n" "A restart is required after changing this.\n" "Note: On Android, stick with OGLES1 if unsure! App may fail to start " "otherwise.\n" @@ -6916,7 +7129,8 @@ msgid "Viewing range" msgstr "視野" #: src/settings_translation_file.cpp -msgid "Virtual joystick triggers aux button" +#, fuzzy +msgid "Virtual joystick triggers Aux1 button" msgstr "バーチャルパッドでauxボタン動作" #: src/settings_translation_file.cpp @@ -7017,14 +7231,14 @@ msgstr "" "ビデオドライバのときは、古い拡大縮小方法に戻ります。" #: src/settings_translation_file.cpp +#, fuzzy msgid "" "When using bilinear/trilinear/anisotropic filters, low-resolution textures\n" "can be blurred, so automatically upscale them with nearest-neighbor\n" "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" +"memory. Powers of 2 are recommended. This setting is ONLY applies if\n" +"bilinear/trilinear/anisotropic filtering is enabled.\n" "This is also used as the base node texture size for world-aligned\n" "texture autoscaling." msgstr "" @@ -7055,6 +7269,8 @@ msgid "" "Whether nametag backgrounds should be shown by default.\n" "Mods may still set a background." msgstr "" +"既定でネームタグの背景を表示するかどうかです。\n" +"Modで背景を設定することもできます。" #: src/settings_translation_file.cpp msgid "Whether node texture animations should be desynchronized per mapblock." @@ -7108,7 +7324,8 @@ msgstr "" "(F5を押すのと同じ効果)。" #: src/settings_translation_file.cpp -msgid "Width component of the initial window size." +#, fuzzy +msgid "Width component of the initial window size. Ignored in fullscreen mode." msgstr "ウィンドウ幅の初期値。" #: src/settings_translation_file.cpp @@ -7243,12 +7460,13 @@ msgid "cURL file download timeout" msgstr "cURLファイルダウンロードタイムアウト" #: src/settings_translation_file.cpp -msgid "cURL parallel limit" -msgstr "cURL並行処理制限" +#, fuzzy +msgid "cURL interactive timeout" +msgstr "cURLタイムアウト" #: src/settings_translation_file.cpp -msgid "cURL timeout" -msgstr "cURLタイムアウト" +msgid "cURL parallel limit" +msgstr "cURL並行処理制限" #~ msgid "" #~ "0 = parallax occlusion with slope information (faster).\n" @@ -7257,6 +7475,9 @@ msgstr "cURLタイムアウト" #~ "0 = 斜面情報付きの視差遮蔽マッピング(高速)。\n" #~ "1 = リリーフマッピング(正確だが低速)。" +#~ msgid "Address / Port" +#~ msgstr "アドレス / ポート" + #~ msgid "" #~ "Adjust the gamma encoding for the light tables. Higher numbers are " #~ "brighter.\n" @@ -7274,6 +7495,9 @@ msgstr "cURLタイムアウト" #~ msgid "Back" #~ msgstr "戻る" +#~ msgid "Bits per pixel (aka color depth) in fullscreen mode." +#~ msgstr "フルスクリーンモードでのビット数(色深度)。" + #~ msgid "Bump Mapping" #~ msgstr "バンプマッピング" @@ -7313,12 +7537,25 @@ msgstr "cURLタイムアウト" #~ msgid "Controls width of tunnels, a smaller value creates wider tunnels." #~ msgstr "トンネルの幅を制御、小さい方の値ほど広いトンネルを生成します。" +#~ msgid "Credits" +#~ msgstr "クレジット" + #~ msgid "Crosshair color (R,G,B)." #~ msgstr "照準線の色 (R,G,B)。" +#~ msgid "Damage enabled" +#~ msgstr "ダメージ有効" + #~ msgid "Darkness sharpness" #~ msgstr "暗さの鋭さ" +#~ msgid "" +#~ "Default timeout for cURL, stated in milliseconds.\n" +#~ "Only has an effect if compiled with cURL." +#~ msgstr "" +#~ "cURLの既定のタイムアウト、ミリ秒で定めます。\n" +#~ "cURLでコンパイルされた場合にのみ効果があります。" + #~ msgid "" #~ "Defines areas of floatland smooth terrain.\n" #~ "Smooth floatlands occur when noise > 0." @@ -7385,6 +7622,15 @@ msgstr "cURLタイムアウト" #~ msgid "FPS in pause menu" #~ msgstr "ポーズメニューでのFPS" +#~ msgid "Fallback font shadow" +#~ msgstr "フォールバックフォントの影" + +#~ msgid "Fallback font shadow alpha" +#~ msgstr "フォールバックフォントの影の透過" + +#~ msgid "Fallback font size" +#~ msgstr "フォールバックフォントの大きさ" + #~ msgid "Floatland base height noise" #~ msgstr "浮遊大陸の基準高さノイズ" @@ -7394,6 +7640,12 @@ msgstr "cURLタイムアウト" #~ msgid "Font shadow alpha (opaqueness, between 0 and 255)." #~ msgstr "フォントの影の透過 (不透明、0~255の間)。" +#~ msgid "Font size of the fallback font in point (pt)." +#~ msgstr "フォールバックフォントのフォント サイズ (pt)。" + +#~ msgid "Full screen BPP" +#~ msgstr "フルスクリーンのBPP" + #~ msgid "Gamma" #~ msgstr "ガンマ" @@ -7403,6 +7655,9 @@ msgstr "cURLタイムアウト" #~ msgid "Generate normalmaps" #~ msgstr "法線マップの生成" +#~ msgid "High-precision FPU" +#~ msgstr "高精度FPU" + #~ msgid "IPv6 support." #~ msgstr "IPv6 サポート。" @@ -7421,6 +7676,10 @@ msgstr "cURLタイムアウト" #~ msgid "Main menu style" #~ msgstr "メインメニューのスタイル" +#~ msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." +#~ msgstr "" +#~ "DirectX を LuaJIT と連携させます。問題がある場合は無効にしてください。" + #~ msgid "Minimap in radar mode, Zoom x2" #~ msgstr "ミニマップ レーダーモード、ズーム x2" @@ -7433,6 +7692,9 @@ msgstr "cURLタイムアウト" #~ msgid "Minimap in surface mode, Zoom x4" #~ msgstr "ミニマップ 表面モード、ズーム x4" +#~ msgid "Name / Password" +#~ msgstr "名前 / パスワード" + #~ msgid "Name/Password" #~ msgstr "名前 / パスワード" @@ -7451,6 +7713,11 @@ msgstr "cURLタイムアウト" #~ msgid "Ok" #~ msgstr "決定" +#~ msgid "" +#~ "Opaqueness (alpha) of the shadow behind the fallback font, between 0 and " +#~ "255." +#~ msgstr "フォールバックフォントの影の不透明度(透過)は0から255の間です。" + #~ msgid "Overall bias of parallax occlusion effect, usually scale/2." #~ msgstr "視差遮蔽効果の全体的バイアス、通常 スケール/2 です。" @@ -7487,6 +7754,9 @@ msgstr "cURLタイムアウト" #~ msgid "Projecting dungeons" #~ msgstr "突出するダンジョン" +#~ msgid "PvP enabled" +#~ msgstr "PvP有効" + #~ msgid "Reset singleplayer world" #~ msgstr "ワールドをリセット" @@ -7496,6 +7766,19 @@ msgstr "cURLタイムアウト" #~ msgid "Shadow limit" #~ msgstr "影の制限" +#~ msgid "" +#~ "Shadow offset (in pixels) of the fallback font. If 0, then shadow will " +#~ "not be drawn." +#~ msgstr "" +#~ "フォールバックフォントの影のオフセット(ピクセル単位)。 \n" +#~ "0の場合、影は描画されません。" + +#~ msgid "Special" +#~ msgstr "スペシャル" + +#~ msgid "Special key" +#~ msgstr "スペシャルキー" + #~ msgid "Start Singleplayer" #~ msgstr "シングルプレイスタート" @@ -7541,3 +7824,6 @@ msgstr "cURLタイムアウト" #~ msgid "Yes" #~ msgstr "はい" + +#~ msgid "needs_fallback_font" +#~ msgstr "yes" diff --git a/po/jbo/minetest.po b/po/jbo/minetest.po index 83ccdb9df..1f6cc89aa 100644 --- a/po/jbo/minetest.po +++ b/po/jbo/minetest.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Lojban (Minetest)\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-02-23 19:03+0100\n" +"POT-Creation-Date: 2021-06-16 18:27+0200\n" "PO-Revision-Date: 2021-02-13 08:50+0000\n" "Last-Translator: Wuzzy \n" "Language-Team: Lojban ' to get more information, or '.help all' to list everything." +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "[all | ]" +msgstr "" + #: builtin/fstk/dialog.lua builtin/fstk/ui.lua src/gui/modalMenu.cpp msgid "OK" msgstr "fitytu'i" @@ -544,7 +617,7 @@ msgstr "" msgid "Browse" msgstr "" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_settings.lua msgid "Disabled" msgstr "ganda" @@ -588,7 +661,7 @@ msgstr "xruti fi le zmiselcu'a" msgid "Scale" msgstr "" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua msgid "Search" msgstr "sisku" @@ -723,6 +796,41 @@ msgstr "" ".i ko troci lo nu za'u re'u samymo'i lo liste be lo'i samse'u .i ko cipcta " "lo do te samjo'e" +#: builtin/mainmenu/tab_about.lua +msgid "About" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active Contributors" +msgstr "liste lu'i ro ca gunka" + +#: builtin/mainmenu/tab_about.lua +msgid "Active renderer:" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Core Developers" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +#, fuzzy +msgid "Open User Data Directory" +msgstr "cuxna fi lu'i le datnyveimei" + +#: builtin/mainmenu/tab_about.lua +msgid "" +"Opens the directory that contains user-provided worlds, games, mods,\n" +"and texture packs in a file manager / explorer." +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Contributors" +msgstr "liste lu'i ro pu je nai ca gunka" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Core Developers" +msgstr "" + #: builtin/mainmenu/tab_content.lua msgid "Browse online content" msgstr "" @@ -766,37 +874,6 @@ msgstr "to'e samtcise'a le bakfu" msgid "Use Texture Pack" msgstr "" -#: builtin/mainmenu/tab_credits.lua -msgid "Active Contributors" -msgstr "liste lu'i ro ca gunka" - -#: builtin/mainmenu/tab_credits.lua -msgid "Core Developers" -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Credits" -msgstr "liste lu'i ro gunka" - -#: builtin/mainmenu/tab_credits.lua -#, fuzzy -msgid "Open User Data Directory" -msgstr "cuxna fi lu'i le datnyveimei" - -#: builtin/mainmenu/tab_credits.lua -msgid "" -"Opens the directory that contains user-provided worlds, games, mods,\n" -"and texture packs in a file manager / explorer." -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Contributors" -msgstr "liste lu'i ro pu je nai ca gunka" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Core Developers" -msgstr "" - #: builtin/mainmenu/tab_local.lua msgid "Announce Server" msgstr "" @@ -826,7 +903,7 @@ msgstr "co'a samtcise'u" msgid "Install games from ContentDB" msgstr "" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Name" msgstr "" @@ -838,7 +915,7 @@ msgstr "cnino" msgid "No world created or selected!" msgstr ".i do no munje cu cupra ja cu cuxna" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Password" msgstr "lo lerpoijaspu" @@ -846,7 +923,7 @@ msgstr "lo lerpoijaspu" msgid "Play Game" msgstr "co'a kelci" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Port" msgstr "judrnporte" @@ -868,8 +945,13 @@ msgid "Start Game" msgstr "co'a kelci" #: builtin/mainmenu/tab_online.lua -msgid "Address / Port" -msgstr "lo samjudri jo'u judrnporte" +#, fuzzy +msgid "Address" +msgstr "- judri: " + +#: builtin/mainmenu/tab_online.lua src/client/keycode.cpp +msgid "Clear" +msgstr "" #: builtin/mainmenu/tab_online.lua msgid "Connect" @@ -879,8 +961,9 @@ msgstr "co'a samjo'e" msgid "Creative mode" msgstr "finti se kelci" +#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "Damage enabled" +msgid "Damage / PvP" msgstr "" #: builtin/mainmenu/tab_online.lua @@ -888,26 +971,35 @@ msgid "Del. Favorite" msgstr "co'u cmima lu'i ro nelci se tcita" #: builtin/mainmenu/tab_online.lua -msgid "Favorite" +#, fuzzy +msgid "Favorites" msgstr "nelci se tcita" +#: builtin/mainmenu/tab_online.lua +msgid "Incompatible Servers" +msgstr "" + #: builtin/mainmenu/tab_online.lua msgid "Join Game" msgstr "co'a kansa fi le ka kelci" -#: builtin/mainmenu/tab_online.lua -msgid "Name / Password" -msgstr "lo cmene .e lo lerpoijaspu" - #: builtin/mainmenu/tab_online.lua msgid "Ping" msgstr ".pin. temci" -#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "PvP enabled" +msgid "Public Servers" msgstr "" +#: builtin/mainmenu/tab_online.lua +msgid "Refresh" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +#, fuzzy +msgid "Server Description" +msgstr "ve skicu le samtcise'u" + #: builtin/mainmenu/tab_settings.lua msgid "2x" msgstr "" @@ -949,11 +1041,31 @@ msgstr "" msgid "Connected Glass" msgstr "lo jorne blaci" +#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp +msgid "Dynamic shadows" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Dynamic shadows: " +msgstr "" + #: builtin/mainmenu/tab_settings.lua #, fuzzy msgid "Fancy Leaves" msgstr "lo tolkli pezli" +#: builtin/mainmenu/tab_settings.lua +msgid "High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Low" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Medium" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Mipmap" msgstr "lo puvrmipmepi" @@ -1050,6 +1162,14 @@ msgstr "" msgid "Trilinear Filter" msgstr "puvycibli'iju'e" +#: builtin/mainmenu/tab_settings.lua +msgid "Ultra High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Very Low" +msgstr "" + #: builtin/mainmenu/tab_settings.lua #, fuzzy msgid "Waving Leaves" @@ -1132,18 +1252,6 @@ 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" - #: src/client/game.cpp msgid "" "\n" @@ -1369,6 +1477,11 @@ msgstr "" msgid "Minimap currently disabled by game or mod" msgstr "" +#: src/client/game.cpp +#, fuzzy +msgid "Multiplayer" +msgstr "nonselkansa" + #: src/client/game.cpp msgid "Noclip mode disabled" msgstr "" @@ -1513,10 +1626,6 @@ msgstr "" msgid "Caps Lock" msgstr "" -#: src/client/keycode.cpp -msgid "Clear" -msgstr "" - #: src/client/keycode.cpp msgid "Control" msgstr "" @@ -1811,7 +1920,7 @@ msgid "Proceed" msgstr "" #: src/gui/guiKeyChangeMenu.cpp -msgid "\"Special\" = climb down" +msgid "\"Aux1\" = climb down" msgstr "" #: src/gui/guiKeyChangeMenu.cpp @@ -1823,10 +1932,18 @@ msgstr "za'i ca'u muvdu" msgid "Automatic jumping" msgstr "" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Aux1" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Backward" msgstr "ti'a muvdu" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Block bounds" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp #, fuzzy msgid "Change camera" @@ -1917,10 +2034,6 @@ msgstr "vidnyxra" msgid "Sneak" msgstr "masno cadzu" -#: src/gui/guiKeyChangeMenu.cpp -msgid "Special" -msgstr "" - #: src/gui/guiKeyChangeMenu.cpp #, fuzzy msgid "Toggle HUD" @@ -2019,8 +2132,8 @@ 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 " +"(Android) Use virtual joystick to trigger \"Aux1\" button.\n" +"If enabled, virtual joystick will also tap \"Aux1\" button when out of main " "circle." msgstr "" @@ -2316,6 +2429,15 @@ msgstr "" msgid "Autoscaling mode" msgstr "" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Aux1 key" +msgstr "mu'e plipe" + +#: src/settings_translation_file.cpp +msgid "Aux1 key for climbing/descending" +msgstr "" + #: src/settings_translation_file.cpp #, fuzzy msgid "Backward key" @@ -2362,10 +2484,6 @@ msgstr "" msgid "Biome noise" msgstr "" -#: src/settings_translation_file.cpp -msgid "Bits per pixel (aka color depth) in fullscreen mode." -msgstr "" - #: src/settings_translation_file.cpp msgid "Block send optimize distance" msgstr "" @@ -2464,6 +2582,10 @@ msgid "" "Where 0.0 is minimum light level, 1.0 is maximum light level." msgstr "" +#: src/settings_translation_file.cpp +msgid "Chat command time message threshold" +msgstr "" + #: src/settings_translation_file.cpp msgid "Chat font size" msgstr "" @@ -2567,6 +2689,11 @@ msgstr "lo ralju" msgid "Colored fog" msgstr "le bumgapci cu skari" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Colored shadows" +msgstr "le bumgapci cu skari" + #: src/settings_translation_file.cpp msgid "" "Comma-separated list of flags to hide in the content repository.\n" @@ -2766,8 +2893,9 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"Default timeout for cURL, stated in milliseconds.\n" -"Only has an effect if compiled with cURL." +"Define shadow filtering quality\n" +"This simulates the soft shadows effect by applying a PCF or poisson disk\n" +"but also uses more resources." msgstr "" #: src/settings_translation_file.cpp @@ -2930,6 +3058,12 @@ msgid "" "This support is experimental and API can change." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Enable colored shadows. \n" +"On true translucent nodes cast colored shadows. This is expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable console window" msgstr "" @@ -2954,6 +3088,13 @@ msgstr "" msgid "Enable players getting damage and dying." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Enable poisson disk filtering.\n" +"On true uses poisson disk to make \"soft shadows\". Otherwise uses PCF " +"filtering." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable random user input (only used for testing)." msgstr "" @@ -3077,18 +3218,6 @@ msgstr "" msgid "Fallback font path" msgstr "no" -#: src/settings_translation_file.cpp -msgid "Fallback font shadow" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Fallback font shadow alpha" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Fallback font size" -msgstr "" - #: src/settings_translation_file.cpp msgid "Fast key" msgstr "" @@ -3107,7 +3236,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"Fast movement (via the \"special\" key).\n" +"Fast movement (via the \"Aux1\" key).\n" "This requires the \"fast\" privilege on the server." msgstr "" @@ -3141,9 +3270,9 @@ 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." +"which PNG optimizers usually discard, often resulting in dark or\n" +"light edges to transparent textures. Apply a filter to clean that up\n" +"at texture load time. This is automatically enabled if mipmapping is enabled." msgstr "" #: src/settings_translation_file.cpp @@ -3238,10 +3367,6 @@ msgstr "" msgid "Font size of the default font in point (pt)." msgstr "" -#: src/settings_translation_file.cpp -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 "" @@ -3340,10 +3465,6 @@ msgstr "" msgid "Full screen" msgstr "" -#: src/settings_translation_file.cpp -msgid "Full screen BPP" -msgstr "" - #: src/settings_translation_file.cpp msgid "Fullscreen mode." msgstr "" @@ -3437,7 +3558,8 @@ msgid "Heat noise" msgstr "" #: src/settings_translation_file.cpp -msgid "Height component of the initial window size." +msgid "" +"Height component of the initial window size. Ignored in fullscreen mode." msgstr "" #: src/settings_translation_file.cpp @@ -3448,10 +3570,6 @@ msgstr "" msgid "Height select noise" msgstr "" -#: src/settings_translation_file.cpp -msgid "High-precision FPU" -msgstr "" - #: src/settings_translation_file.cpp msgid "Hill steepness" msgstr "" @@ -3683,8 +3801,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"If disabled, \"special\" key is used to fly fast if both fly and fast mode " -"are\n" +"If disabled, \"Aux1\" key is used to fly fast if both fly and fast mode are\n" "enabled." msgstr "" @@ -3706,8 +3823,8 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"If enabled, \"special\" key instead of \"sneak\" key is used for climbing " -"down and\n" +"If enabled, \"Aux1\" key instead of \"Sneak\" key is used for climbing down " +"and\n" "descending." msgstr "" @@ -3751,6 +3868,12 @@ msgid "" "to this distance from the player to the node." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"If the execution of a chat command takes longer than this specified time in\n" +"seconds, add the time information to the chat command message" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "If the file size of debug.txt exceeds the number of megabytes specified in\n" @@ -4643,10 +4766,6 @@ msgid "" "Make fog and sky colors depend on daytime (dawn/sunset) and view direction." msgstr "" -#: src/settings_translation_file.cpp -msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." -msgstr "" - #: src/settings_translation_file.cpp msgid "Makes all liquids opaque" msgstr "" @@ -4718,6 +4837,10 @@ msgstr "" msgid "Map save interval" msgstr "" +#: src/settings_translation_file.cpp +msgid "Map update time" +msgstr "" + #: src/settings_translation_file.cpp msgid "Mapblock limit" msgstr "" @@ -4826,6 +4949,10 @@ msgstr "" msgid "Maximum FPS when the window is not focused, or when the game is paused." msgstr "" +#: src/settings_translation_file.cpp +msgid "Maximum distance to render shadows." +msgstr "" + #: src/settings_translation_file.cpp msgid "Maximum forceloaded blocks" msgstr "" @@ -4932,7 +5059,15 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "Maximum time in ms a file download (e.g. a mod download) may take." +msgid "" +"Maximum time a file download (e.g. a mod download) may take, stated in " +"milliseconds." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum time an interactive request (e.g. server list fetch) may take, " +"stated in milliseconds." msgstr "" #: src/settings_translation_file.cpp @@ -5146,11 +5281,6 @@ 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 " @@ -5251,6 +5381,11 @@ msgstr "" msgid "Player versus player" msgstr "" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Poisson filtering" +msgstr "puvyrelyli'iju'e" + #: src/settings_translation_file.cpp msgid "" "Port to connect to (UDP).\n" @@ -5589,6 +5724,40 @@ msgstr "" msgid "Set the maximum character length of a chat message sent by clients." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow strength.\n" +"Lower value means lighter shadows, higher value means darker shadows." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow update time.\n" +"Lower value means shadows and map updates faster, but it consume more " +"resources.\n" +"Minimun value 0.001 seconds max value 0.2 seconds" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the soft shadow radius size.\n" +"Lower values mean sharper shadows bigger values softer.\n" +"Minimun value 1.0 and max value 10.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the tilt of Sun/Moon orbit in degrees\n" +"Value of 0 means no tilt / vertical orbit.\n" +"Minimun value 0.0 and max value 60.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set to true to enable Shadow Mapping.\n" +"Requires shaders to be enabled." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Set to true to enable waving leaves.\n" @@ -5607,6 +5776,13 @@ msgid "" "Requires shaders to be enabled." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Sets shadow texture quality to 32 bits.\n" +"On false, 16 bits texture will be used.\n" +"This can cause much more artifacts in the shadow." +msgstr "" + #: src/settings_translation_file.cpp msgid "Shader path" msgstr "judri le ti'orkemsamtci" @@ -5619,6 +5795,22 @@ msgid "" "This only works with the OpenGL video backend." msgstr "" +#: src/settings_translation_file.cpp +msgid "Shadow filter quality" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map max distance in nodes to render shadows" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture in 32 bits" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture size" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Shadow offset (in pixels) of the default font. If 0, then shadow will not be " @@ -5626,9 +5818,7 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "" -"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not " -"be drawn." +msgid "Shadow strength" msgstr "" #: src/settings_translation_file.cpp @@ -5674,6 +5864,10 @@ msgid "" "thread, thus reducing jitter." msgstr "" +#: src/settings_translation_file.cpp +msgid "Sky Body Orbit Tilt" +msgstr "" + #: src/settings_translation_file.cpp msgid "Slice w" msgstr "" @@ -5732,16 +5926,11 @@ msgid "Sneaking speed, in nodes per second." msgstr "" #: src/settings_translation_file.cpp -msgid "Sound" +msgid "Soft shadow radius" msgstr "" #: src/settings_translation_file.cpp -#, fuzzy -msgid "Special key" -msgstr "za'i masno cadzu" - -#: src/settings_translation_file.cpp -msgid "Special key for climbing/descending" +msgid "Sound" msgstr "" #: src/settings_translation_file.cpp @@ -5865,6 +6054,13 @@ msgstr "" msgid "Texture path" msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Texture size to render the shadow map on.\n" +"This must be a power of two.\n" +"Bigger numbers create better shadowsbut it is also more expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Textures on a node may be aligned either to the node or to the world.\n" @@ -5938,7 +6134,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"The rendering back-end for Irrlicht.\n" +"The rendering back-end.\n" "A restart is required after changing this.\n" "Note: On Android, stick with OGLES1 if unsure! App may fail to start " "otherwise.\n" @@ -6226,7 +6422,7 @@ msgid "Viewing range" msgstr "" #: src/settings_translation_file.cpp -msgid "Virtual joystick triggers aux button" +msgid "Virtual joystick triggers Aux1 button" msgstr "" #: src/settings_translation_file.cpp @@ -6323,9 +6519,8 @@ msgid "" "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" +"memory. Powers of 2 are recommended. This setting is ONLY applies if\n" +"bilinear/trilinear/anisotropic filtering is enabled.\n" "This is also used as the base node texture size for world-aligned\n" "texture autoscaling." msgstr "" @@ -6381,7 +6576,7 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "Width component of the initial window size." +msgid "Width component of the initial window size. Ignored in fullscreen mode." msgstr "" #: src/settings_translation_file.cpp @@ -6489,13 +6684,16 @@ msgid "cURL file download timeout" msgstr "" #: src/settings_translation_file.cpp -msgid "cURL parallel limit" +msgid "cURL interactive timeout" msgstr "" #: src/settings_translation_file.cpp -msgid "cURL timeout" +msgid "cURL parallel limit" msgstr "" +#~ msgid "Address / Port" +#~ msgstr "lo samjudri jo'u judrnporte" + #~ msgid "Are you sure to reset your singleplayer world?" #~ msgstr ".i xu do djica le nu xruti le do nonselkansa munje" @@ -6509,6 +6707,9 @@ msgstr "" #~ msgid "Configure" #~ msgstr "tcimi'e" +#~ msgid "Credits" +#~ msgstr "liste lu'i ro gunka" + #~ msgid "Downloading and installing $1, please wait..." #~ msgstr ".i ca'o kibycpa la'o zoi. $1 .zoi je cu samtcise'a ri .i ko denpa" @@ -6523,6 +6724,9 @@ msgstr "" #~ msgid "Main menu style" #~ msgstr "lo ralju" +#~ msgid "Name / Password" +#~ msgstr "lo cmene .e lo lerpoijaspu" + #~ msgid "Name/Password" #~ msgstr "cmene .i lerpoijaspu" @@ -6535,8 +6739,15 @@ msgstr "" #~ msgid "Reset singleplayer world" #~ msgstr "xruti le nonselkansa munje" +#, fuzzy +#~ msgid "Special key" +#~ msgstr "za'i masno cadzu" + #~ msgid "Start Singleplayer" #~ msgstr "co'a nonselkansa kelci" #~ msgid "Yes" #~ msgstr "go'i" + +#~ msgid "needs_fallback_font" +#~ msgstr "no" diff --git a/po/kk/minetest.po b/po/kk/minetest.po index 26fdf44e8..504631104 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: 2021-02-23 19:03+0100\n" +"POT-Creation-Date: 2021-06-16 18:27+0200\n" "PO-Revision-Date: 2020-09-09 01:23+0000\n" "Last-Translator: Fontan 030 \n" "Language-Team: Kazakh ' to get more information, or '.help all' to list everything." +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "[all | ]" +msgstr "" + #: builtin/fstk/dialog.lua builtin/fstk/ui.lua src/gui/modalMenu.cpp msgid "OK" msgstr "" @@ -527,7 +595,7 @@ msgstr "" msgid "Browse" msgstr "" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_settings.lua msgid "Disabled" msgstr "" @@ -571,7 +639,7 @@ msgstr "" msgid "Scale" msgstr "" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua msgid "Search" msgstr "Іздеу" @@ -702,6 +770,40 @@ msgstr "" msgid "Try reenabling public serverlist and check your internet connection." msgstr "" +#: builtin/mainmenu/tab_about.lua +msgid "About" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active Contributors" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active renderer:" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Core Developers" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Open User Data Directory" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "" +"Opens the directory that contains user-provided worlds, games, mods,\n" +"and texture packs in a file manager / explorer." +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Contributors" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Core Developers" +msgstr "" + #: builtin/mainmenu/tab_content.lua msgid "Browse online content" msgstr "" @@ -742,36 +844,6 @@ msgstr "" msgid "Use Texture Pack" msgstr "" -#: builtin/mainmenu/tab_credits.lua -msgid "Active Contributors" -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Core Developers" -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Credits" -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Open User Data Directory" -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "" -"Opens the directory that contains user-provided worlds, games, mods,\n" -"and texture packs in a file manager / explorer." -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Contributors" -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Core Developers" -msgstr "" - #: builtin/mainmenu/tab_local.lua msgid "Announce Server" msgstr "" @@ -800,7 +872,7 @@ msgstr "" msgid "Install games from ContentDB" msgstr "" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Name" msgstr "" @@ -812,7 +884,7 @@ msgstr "Жаңа" msgid "No world created or selected!" msgstr "" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua #, fuzzy msgid "Password" msgstr "Құпия сөзді өзгерту" @@ -821,7 +893,7 @@ msgstr "Құпия сөзді өзгерту" msgid "Play Game" msgstr "" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Port" msgstr "" @@ -842,7 +914,11 @@ msgid "Start Game" msgstr "" #: builtin/mainmenu/tab_online.lua -msgid "Address / Port" +msgid "Address" +msgstr "" + +#: builtin/mainmenu/tab_online.lua src/client/keycode.cpp +msgid "Clear" msgstr "" #: builtin/mainmenu/tab_online.lua @@ -853,8 +929,9 @@ msgstr "" msgid "Creative mode" msgstr "" +#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "Damage enabled" +msgid "Damage / PvP" msgstr "" #: builtin/mainmenu/tab_online.lua @@ -862,24 +939,31 @@ msgid "Del. Favorite" msgstr "" #: builtin/mainmenu/tab_online.lua -msgid "Favorite" +msgid "Favorites" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +msgid "Incompatible Servers" msgstr "" #: builtin/mainmenu/tab_online.lua msgid "Join Game" msgstr "" -#: builtin/mainmenu/tab_online.lua -msgid "Name / Password" -msgstr "" - #: builtin/mainmenu/tab_online.lua msgid "Ping" msgstr "" -#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "PvP enabled" +msgid "Public Servers" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +msgid "Refresh" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +msgid "Server Description" msgstr "" #: builtin/mainmenu/tab_settings.lua @@ -922,10 +1006,30 @@ msgstr "" msgid "Connected Glass" msgstr "" +#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp +msgid "Dynamic shadows" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Dynamic shadows: " +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Fancy Leaves" msgstr "" +#: builtin/mainmenu/tab_settings.lua +msgid "High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Low" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Medium" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Mipmap" msgstr "" @@ -1014,6 +1118,14 @@ msgstr "" msgid "Trilinear Filter" msgstr "Үшсызықты фильтрация" +#: builtin/mainmenu/tab_settings.lua +msgid "Ultra High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Very Low" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Waving Leaves" msgstr "" @@ -1086,18 +1198,6 @@ 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" - #: src/client/game.cpp msgid "" "\n" @@ -1312,6 +1412,11 @@ msgstr "" msgid "Minimap currently disabled by game or mod" msgstr "" +#: src/client/game.cpp +#, fuzzy +msgid "Multiplayer" +msgstr "Бір ойыншы" + #: src/client/game.cpp msgid "Noclip mode disabled" msgstr "" @@ -1453,10 +1558,6 @@ msgstr "" msgid "Caps Lock" msgstr "" -#: src/client/keycode.cpp -msgid "Clear" -msgstr "" - #: src/client/keycode.cpp msgid "Control" msgstr "" @@ -1745,7 +1846,7 @@ msgid "Proceed" msgstr "" #: src/gui/guiKeyChangeMenu.cpp -msgid "\"Special\" = climb down" +msgid "\"Aux1\" = climb down" msgstr "" #: src/gui/guiKeyChangeMenu.cpp @@ -1756,10 +1857,18 @@ msgstr "" msgid "Automatic jumping" msgstr "" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Aux1" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Backward" msgstr "" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Block bounds" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Change camera" msgstr "" @@ -1848,10 +1957,6 @@ msgstr "" msgid "Sneak" msgstr "" -#: src/gui/guiKeyChangeMenu.cpp -msgid "Special" -msgstr "" - #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle HUD" msgstr "" @@ -1937,8 +2042,8 @@ 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 " +"(Android) Use virtual joystick to trigger \"Aux1\" button.\n" +"If enabled, virtual joystick will also tap \"Aux1\" button when out of main " "circle." msgstr "" @@ -2232,6 +2337,14 @@ msgstr "" msgid "Autoscaling mode" msgstr "" +#: src/settings_translation_file.cpp +msgid "Aux1 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Aux1 key for climbing/descending" +msgstr "" + #: src/settings_translation_file.cpp msgid "Backward key" msgstr "" @@ -2276,10 +2389,6 @@ msgstr "" msgid "Biome noise" msgstr "" -#: src/settings_translation_file.cpp -msgid "Bits per pixel (aka color depth) in fullscreen mode." -msgstr "" - #: src/settings_translation_file.cpp msgid "Block send optimize distance" msgstr "" @@ -2378,6 +2487,10 @@ msgid "" "Where 0.0 is minimum light level, 1.0 is maximum light level." msgstr "" +#: src/settings_translation_file.cpp +msgid "Chat command time message threshold" +msgstr "" + #: src/settings_translation_file.cpp msgid "Chat font size" msgstr "" @@ -2474,6 +2587,10 @@ msgstr "" msgid "Colored fog" msgstr "" +#: src/settings_translation_file.cpp +msgid "Colored shadows" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Comma-separated list of flags to hide in the content repository.\n" @@ -2669,8 +2786,9 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"Default timeout for cURL, stated in milliseconds.\n" -"Only has an effect if compiled with cURL." +"Define shadow filtering quality\n" +"This simulates the soft shadows effect by applying a PCF or poisson disk\n" +"but also uses more resources." msgstr "" #: src/settings_translation_file.cpp @@ -2831,6 +2949,12 @@ msgid "" "This support is experimental and API can change." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Enable colored shadows. \n" +"On true translucent nodes cast colored shadows. This is expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable console window" msgstr "" @@ -2855,6 +2979,13 @@ msgstr "" msgid "Enable players getting damage and dying." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Enable poisson disk filtering.\n" +"On true uses poisson disk to make \"soft shadows\". Otherwise uses PCF " +"filtering." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable random user input (only used for testing)." msgstr "" @@ -2977,18 +3108,6 @@ msgstr "" msgid "Fallback font path" msgstr "" -#: src/settings_translation_file.cpp -msgid "Fallback font shadow" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Fallback font shadow alpha" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Fallback font size" -msgstr "" - #: src/settings_translation_file.cpp msgid "Fast key" msgstr "" @@ -3007,7 +3126,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"Fast movement (via the \"special\" key).\n" +"Fast movement (via the \"Aux1\" key).\n" "This requires the \"fast\" privilege on the server." msgstr "" @@ -3041,9 +3160,9 @@ 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." +"which PNG optimizers usually discard, often resulting in dark or\n" +"light edges to transparent textures. Apply a filter to clean that up\n" +"at texture load time. This is automatically enabled if mipmapping is enabled." msgstr "" #: src/settings_translation_file.cpp @@ -3138,10 +3257,6 @@ msgstr "" msgid "Font size of the default font in point (pt)." msgstr "" -#: src/settings_translation_file.cpp -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 "" @@ -3239,10 +3354,6 @@ msgstr "" msgid "Full screen" msgstr "" -#: src/settings_translation_file.cpp -msgid "Full screen BPP" -msgstr "" - #: src/settings_translation_file.cpp msgid "Fullscreen mode." msgstr "" @@ -3336,7 +3447,8 @@ msgid "Heat noise" msgstr "" #: src/settings_translation_file.cpp -msgid "Height component of the initial window size." +msgid "" +"Height component of the initial window size. Ignored in fullscreen mode." msgstr "" #: src/settings_translation_file.cpp @@ -3347,10 +3459,6 @@ msgstr "" msgid "Height select noise" msgstr "" -#: src/settings_translation_file.cpp -msgid "High-precision FPU" -msgstr "" - #: src/settings_translation_file.cpp msgid "Hill steepness" msgstr "" @@ -3582,8 +3690,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"If disabled, \"special\" key is used to fly fast if both fly and fast mode " -"are\n" +"If disabled, \"Aux1\" key is used to fly fast if both fly and fast mode are\n" "enabled." msgstr "" @@ -3605,8 +3712,8 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"If enabled, \"special\" key instead of \"sneak\" key is used for climbing " -"down and\n" +"If enabled, \"Aux1\" key instead of \"Sneak\" key is used for climbing down " +"and\n" "descending." msgstr "" @@ -3650,6 +3757,12 @@ msgid "" "to this distance from the player to the node." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"If the execution of a chat command takes longer than this specified time in\n" +"seconds, add the time information to the chat command message" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "If the file size of debug.txt exceeds the number of megabytes specified in\n" @@ -4538,10 +4651,6 @@ msgid "" "Make fog and sky colors depend on daytime (dawn/sunset) and view direction." msgstr "" -#: src/settings_translation_file.cpp -msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." -msgstr "" - #: src/settings_translation_file.cpp msgid "Makes all liquids opaque" msgstr "" @@ -4613,6 +4722,10 @@ msgstr "" msgid "Map save interval" msgstr "" +#: src/settings_translation_file.cpp +msgid "Map update time" +msgstr "" + #: src/settings_translation_file.cpp msgid "Mapblock limit" msgstr "" @@ -4721,6 +4834,10 @@ msgstr "" msgid "Maximum FPS when the window is not focused, or when the game is paused." msgstr "" +#: src/settings_translation_file.cpp +msgid "Maximum distance to render shadows." +msgstr "" + #: src/settings_translation_file.cpp msgid "Maximum forceloaded blocks" msgstr "" @@ -4827,7 +4944,15 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "Maximum time in ms a file download (e.g. a mod download) may take." +msgid "" +"Maximum time a file download (e.g. a mod download) may take, stated in " +"milliseconds." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum time an interactive request (e.g. server list fetch) may take, " +"stated in milliseconds." msgstr "" #: src/settings_translation_file.cpp @@ -5040,11 +5165,6 @@ 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 " @@ -5143,6 +5263,10 @@ msgstr "" msgid "Player versus player" msgstr "" +#: src/settings_translation_file.cpp +msgid "Poisson filtering" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Port to connect to (UDP).\n" @@ -5477,6 +5601,40 @@ msgstr "" msgid "Set the maximum character length of a chat message sent by clients." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow strength.\n" +"Lower value means lighter shadows, higher value means darker shadows." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow update time.\n" +"Lower value means shadows and map updates faster, but it consume more " +"resources.\n" +"Minimun value 0.001 seconds max value 0.2 seconds" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the soft shadow radius size.\n" +"Lower values mean sharper shadows bigger values softer.\n" +"Minimun value 1.0 and max value 10.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the tilt of Sun/Moon orbit in degrees\n" +"Value of 0 means no tilt / vertical orbit.\n" +"Minimun value 0.0 and max value 60.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set to true to enable Shadow Mapping.\n" +"Requires shaders to be enabled." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Set to true to enable waving leaves.\n" @@ -5495,6 +5653,13 @@ msgid "" "Requires shaders to be enabled." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Sets shadow texture quality to 32 bits.\n" +"On false, 16 bits texture will be used.\n" +"This can cause much more artifacts in the shadow." +msgstr "" + #: src/settings_translation_file.cpp msgid "Shader path" msgstr "" @@ -5507,6 +5672,22 @@ msgid "" "This only works with the OpenGL video backend." msgstr "" +#: src/settings_translation_file.cpp +msgid "Shadow filter quality" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map max distance in nodes to render shadows" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture in 32 bits" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture size" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Shadow offset (in pixels) of the default font. If 0, then shadow will not be " @@ -5514,9 +5695,7 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "" -"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not " -"be drawn." +msgid "Shadow strength" msgstr "" #: src/settings_translation_file.cpp @@ -5562,6 +5741,10 @@ msgid "" "thread, thus reducing jitter." msgstr "" +#: src/settings_translation_file.cpp +msgid "Sky Body Orbit Tilt" +msgstr "" + #: src/settings_translation_file.cpp msgid "Slice w" msgstr "" @@ -5616,18 +5799,14 @@ msgstr "" msgid "Sneaking speed, in nodes per second." msgstr "" +#: src/settings_translation_file.cpp +msgid "Soft shadow radius" +msgstr "" + #: src/settings_translation_file.cpp msgid "Sound" msgstr "" -#: src/settings_translation_file.cpp -msgid "Special key" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Special key for climbing/descending" -msgstr "" - #: src/settings_translation_file.cpp msgid "" "Specifies URL from which client fetches media instead of using UDP.\n" @@ -5749,6 +5928,13 @@ msgstr "" msgid "Texture path" msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Texture size to render the shadow map on.\n" +"This must be a power of two.\n" +"Bigger numbers create better shadowsbut it is also more expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Textures on a node may be aligned either to the node or to the world.\n" @@ -5822,7 +6008,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"The rendering back-end for Irrlicht.\n" +"The rendering back-end.\n" "A restart is required after changing this.\n" "Note: On Android, stick with OGLES1 if unsure! App may fail to start " "otherwise.\n" @@ -6109,7 +6295,7 @@ msgid "Viewing range" msgstr "" #: src/settings_translation_file.cpp -msgid "Virtual joystick triggers aux button" +msgid "Virtual joystick triggers Aux1 button" msgstr "" #: src/settings_translation_file.cpp @@ -6200,9 +6386,8 @@ msgid "" "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" +"memory. Powers of 2 are recommended. This setting is ONLY applies if\n" +"bilinear/trilinear/anisotropic filtering is enabled.\n" "This is also used as the base node texture size for world-aligned\n" "texture autoscaling." msgstr "" @@ -6258,7 +6443,7 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "Width component of the initial window size." +msgid "Width component of the initial window size. Ignored in fullscreen mode." msgstr "" #: src/settings_translation_file.cpp @@ -6365,11 +6550,11 @@ msgid "cURL file download timeout" msgstr "" #: src/settings_translation_file.cpp -msgid "cURL parallel limit" +msgid "cURL interactive timeout" msgstr "" #: src/settings_translation_file.cpp -msgid "cURL timeout" +msgid "cURL parallel limit" msgstr "" #~ msgid "Main" @@ -6380,3 +6565,6 @@ msgstr "" #~ msgid "Yes" #~ msgstr "Иә" + +#~ msgid "needs_fallback_font" +#~ msgstr "yes" diff --git a/po/kn/minetest.po b/po/kn/minetest.po index d820e246c..05a910c68 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: 2021-02-23 19:03+0100\n" +"POT-Creation-Date: 2021-06-16 18:27+0200\n" "PO-Revision-Date: 2021-01-02 07:29+0000\n" "Last-Translator: Tejaswi Hegde \n" "Language-Team: Kannada 1;\n" "X-Generator: Weblate 4.4.1-dev\n" +#: builtin/client/chatcommands.lua +msgid "Clear the out chat queue" +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "Empty command." +msgstr "" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Exit to main menu" +msgstr "ಮುಖ್ಯ ಮೆನುಗೆ ಹಿಂತಿರುಗಿ" + +#: builtin/client/chatcommands.lua +msgid "Invalid command: " +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "Issued command: " +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "List online players" +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "Online players: " +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "The out chat queue is now empty." +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "This command is disabled by server." +msgstr "" + #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" msgstr "ಮತ್ತೆ ಹುಟ್ಟು" @@ -22,6 +59,36 @@ msgstr "ಮತ್ತೆ ಹುಟ್ಟು" msgid "You died" msgstr "ನೀನು ಸತ್ತುಹೋದೆ" +#: builtin/client/death_formspec.lua +#, fuzzy +msgid "You died." +msgstr "ನೀನು ಸತ್ತುಹೋದೆ" + +#: builtin/common/chatcommands.lua +msgid "Available commands:" +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "Available commands: " +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "Command not available: " +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "Get help for commands" +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "" +"Use '.help ' to get more information, or '.help all' to list everything." +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "[all | ]" +msgstr "" + #: builtin/fstk/dialog.lua builtin/fstk/ui.lua src/gui/modalMenu.cpp msgid "OK" msgstr "ಸರಿ" @@ -546,7 +613,7 @@ msgstr "" msgid "Browse" msgstr "" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_settings.lua msgid "Disabled" msgstr "" @@ -590,7 +657,7 @@ msgstr "" msgid "Scale" msgstr "" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua msgid "Search" msgstr "ಹುಡುಕು" @@ -721,6 +788,40 @@ msgstr "" msgid "Try reenabling public serverlist and check your internet connection." msgstr "ಪಬ್ಲಿಕ್ ಸರ್ವರ್ಲಿಸ್ಟ್ಅನ್ನು ರಿಎನೆಬಲ್ ಮಾಡಿ ಮತ್ತು ಅಂತರ್ಜಾಲ ಸಂಪರ್ಕ ಪರಿಶೀಲಿಸಿ." +#: builtin/mainmenu/tab_about.lua +msgid "About" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active Contributors" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active renderer:" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Core Developers" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Open User Data Directory" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "" +"Opens the directory that contains user-provided worlds, games, mods,\n" +"and texture packs in a file manager / explorer." +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Contributors" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Core Developers" +msgstr "" + #: builtin/mainmenu/tab_content.lua msgid "Browse online content" msgstr "" @@ -761,36 +862,6 @@ msgstr "" msgid "Use Texture Pack" msgstr "" -#: builtin/mainmenu/tab_credits.lua -msgid "Active Contributors" -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Core Developers" -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Credits" -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Open User Data Directory" -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "" -"Opens the directory that contains user-provided worlds, games, mods,\n" -"and texture packs in a file manager / explorer." -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Contributors" -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Core Developers" -msgstr "" - #: builtin/mainmenu/tab_local.lua msgid "Announce Server" msgstr "" @@ -819,7 +890,7 @@ msgstr "" msgid "Install games from ContentDB" msgstr "" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Name" msgstr "" @@ -831,7 +902,7 @@ msgstr "" msgid "No world created or selected!" msgstr "" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Password" msgstr "" @@ -839,7 +910,7 @@ msgstr "" msgid "Play Game" msgstr "" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Port" msgstr "" @@ -860,7 +931,11 @@ msgid "Start Game" msgstr "" #: builtin/mainmenu/tab_online.lua -msgid "Address / Port" +msgid "Address" +msgstr "" + +#: builtin/mainmenu/tab_online.lua src/client/keycode.cpp +msgid "Clear" msgstr "" #: builtin/mainmenu/tab_online.lua @@ -871,8 +946,9 @@ msgstr "" msgid "Creative mode" msgstr "" +#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "Damage enabled" +msgid "Damage / PvP" msgstr "" #: builtin/mainmenu/tab_online.lua @@ -880,24 +956,32 @@ msgid "Del. Favorite" msgstr "" #: builtin/mainmenu/tab_online.lua -msgid "Favorite" +msgid "Favorites" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +msgid "Incompatible Servers" msgstr "" #: builtin/mainmenu/tab_online.lua msgid "Join Game" msgstr "" -#: builtin/mainmenu/tab_online.lua -msgid "Name / Password" -msgstr "" - #: builtin/mainmenu/tab_online.lua msgid "Ping" msgstr "" -#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "PvP enabled" +#, fuzzy +msgid "Public Servers" +msgstr "ಆರ್ದ್ರ ನದಿಗಳು" + +#: builtin/mainmenu/tab_online.lua +msgid "Refresh" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +msgid "Server Description" msgstr "" #: builtin/mainmenu/tab_settings.lua @@ -940,10 +1024,30 @@ msgstr "" msgid "Connected Glass" msgstr "" +#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp +msgid "Dynamic shadows" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Dynamic shadows: " +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Fancy Leaves" msgstr "" +#: builtin/mainmenu/tab_settings.lua +msgid "High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Low" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Medium" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Mipmap" msgstr "" @@ -1033,6 +1137,14 @@ msgstr "" msgid "Trilinear Filter" msgstr "" +#: builtin/mainmenu/tab_settings.lua +msgid "Ultra High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Very Low" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Waving Leaves" msgstr "" @@ -1105,18 +1217,6 @@ 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" - #: src/client/game.cpp msgid "" "\n" @@ -1331,6 +1431,10 @@ msgstr "" msgid "Minimap currently disabled by game or mod" msgstr "" +#: src/client/game.cpp +msgid "Multiplayer" +msgstr "" + #: src/client/game.cpp msgid "Noclip mode disabled" msgstr "" @@ -1472,10 +1576,6 @@ msgstr "" msgid "Caps Lock" msgstr "" -#: src/client/keycode.cpp -msgid "Clear" -msgstr "" - #: src/client/keycode.cpp msgid "Control" msgstr "" @@ -1764,7 +1864,7 @@ msgid "Proceed" msgstr "" #: src/gui/guiKeyChangeMenu.cpp -msgid "\"Special\" = climb down" +msgid "\"Aux1\" = climb down" msgstr "" #: src/gui/guiKeyChangeMenu.cpp @@ -1775,10 +1875,18 @@ msgstr "" msgid "Automatic jumping" msgstr "" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Aux1" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Backward" msgstr "" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Block bounds" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Change camera" msgstr "" @@ -1867,10 +1975,6 @@ msgstr "" msgid "Sneak" msgstr "" -#: src/gui/guiKeyChangeMenu.cpp -msgid "Special" -msgstr "" - #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle HUD" msgstr "" @@ -1956,8 +2060,8 @@ 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 " +"(Android) Use virtual joystick to trigger \"Aux1\" button.\n" +"If enabled, virtual joystick will also tap \"Aux1\" button when out of main " "circle." msgstr "" @@ -2251,6 +2355,14 @@ msgstr "" msgid "Autoscaling mode" msgstr "" +#: src/settings_translation_file.cpp +msgid "Aux1 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Aux1 key for climbing/descending" +msgstr "" + #: src/settings_translation_file.cpp msgid "Backward key" msgstr "" @@ -2295,10 +2407,6 @@ msgstr "" msgid "Biome noise" msgstr "" -#: src/settings_translation_file.cpp -msgid "Bits per pixel (aka color depth) in fullscreen mode." -msgstr "" - #: src/settings_translation_file.cpp msgid "Block send optimize distance" msgstr "" @@ -2397,6 +2505,10 @@ msgid "" "Where 0.0 is minimum light level, 1.0 is maximum light level." msgstr "" +#: src/settings_translation_file.cpp +msgid "Chat command time message threshold" +msgstr "" + #: src/settings_translation_file.cpp msgid "Chat font size" msgstr "" @@ -2493,6 +2605,10 @@ msgstr "" msgid "Colored fog" msgstr "" +#: src/settings_translation_file.cpp +msgid "Colored shadows" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Comma-separated list of flags to hide in the content repository.\n" @@ -2688,8 +2804,9 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"Default timeout for cURL, stated in milliseconds.\n" -"Only has an effect if compiled with cURL." +"Define shadow filtering quality\n" +"This simulates the soft shadows effect by applying a PCF or poisson disk\n" +"but also uses more resources." msgstr "" #: src/settings_translation_file.cpp @@ -2850,6 +2967,12 @@ msgid "" "This support is experimental and API can change." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Enable colored shadows. \n" +"On true translucent nodes cast colored shadows. This is expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable console window" msgstr "" @@ -2874,6 +2997,13 @@ msgstr "" msgid "Enable players getting damage and dying." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Enable poisson disk filtering.\n" +"On true uses poisson disk to make \"soft shadows\". Otherwise uses PCF " +"filtering." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable random user input (only used for testing)." msgstr "" @@ -2996,18 +3126,6 @@ msgstr "" msgid "Fallback font path" msgstr "" -#: src/settings_translation_file.cpp -msgid "Fallback font shadow" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Fallback font shadow alpha" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Fallback font size" -msgstr "" - #: src/settings_translation_file.cpp msgid "Fast key" msgstr "" @@ -3026,7 +3144,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"Fast movement (via the \"special\" key).\n" +"Fast movement (via the \"Aux1\" key).\n" "This requires the \"fast\" privilege on the server." msgstr "" @@ -3060,9 +3178,9 @@ 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." +"which PNG optimizers usually discard, often resulting in dark or\n" +"light edges to transparent textures. Apply a filter to clean that up\n" +"at texture load time. This is automatically enabled if mipmapping is enabled." msgstr "" #: src/settings_translation_file.cpp @@ -3157,10 +3275,6 @@ msgstr "" msgid "Font size of the default font in point (pt)." msgstr "" -#: src/settings_translation_file.cpp -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 "" @@ -3258,10 +3372,6 @@ msgstr "" msgid "Full screen" msgstr "" -#: src/settings_translation_file.cpp -msgid "Full screen BPP" -msgstr "" - #: src/settings_translation_file.cpp msgid "Fullscreen mode." msgstr "" @@ -3355,7 +3465,8 @@ msgid "Heat noise" msgstr "" #: src/settings_translation_file.cpp -msgid "Height component of the initial window size." +msgid "" +"Height component of the initial window size. Ignored in fullscreen mode." msgstr "" #: src/settings_translation_file.cpp @@ -3366,10 +3477,6 @@ msgstr "" msgid "Height select noise" msgstr "" -#: src/settings_translation_file.cpp -msgid "High-precision FPU" -msgstr "" - #: src/settings_translation_file.cpp msgid "Hill steepness" msgstr "" @@ -3601,8 +3708,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"If disabled, \"special\" key is used to fly fast if both fly and fast mode " -"are\n" +"If disabled, \"Aux1\" key is used to fly fast if both fly and fast mode are\n" "enabled." msgstr "" @@ -3624,8 +3730,8 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"If enabled, \"special\" key instead of \"sneak\" key is used for climbing " -"down and\n" +"If enabled, \"Aux1\" key instead of \"Sneak\" key is used for climbing down " +"and\n" "descending." msgstr "" @@ -3669,6 +3775,12 @@ msgid "" "to this distance from the player to the node." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"If the execution of a chat command takes longer than this specified time in\n" +"seconds, add the time information to the chat command message" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "If the file size of debug.txt exceeds the number of megabytes specified in\n" @@ -4557,10 +4669,6 @@ msgid "" "Make fog and sky colors depend on daytime (dawn/sunset) and view direction." msgstr "" -#: src/settings_translation_file.cpp -msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." -msgstr "" - #: src/settings_translation_file.cpp msgid "Makes all liquids opaque" msgstr "" @@ -4632,6 +4740,10 @@ msgstr "" msgid "Map save interval" msgstr "" +#: src/settings_translation_file.cpp +msgid "Map update time" +msgstr "" + #: src/settings_translation_file.cpp msgid "Mapblock limit" msgstr "" @@ -4740,6 +4852,10 @@ msgstr "" msgid "Maximum FPS when the window is not focused, or when the game is paused." msgstr "" +#: src/settings_translation_file.cpp +msgid "Maximum distance to render shadows." +msgstr "" + #: src/settings_translation_file.cpp msgid "Maximum forceloaded blocks" msgstr "" @@ -4846,7 +4962,15 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "Maximum time in ms a file download (e.g. a mod download) may take." +msgid "" +"Maximum time a file download (e.g. a mod download) may take, stated in " +"milliseconds." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum time an interactive request (e.g. server list fetch) may take, " +"stated in milliseconds." msgstr "" #: src/settings_translation_file.cpp @@ -5059,11 +5183,6 @@ 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 " @@ -5162,6 +5281,10 @@ msgstr "" msgid "Player versus player" msgstr "" +#: src/settings_translation_file.cpp +msgid "Poisson filtering" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Port to connect to (UDP).\n" @@ -5496,6 +5619,40 @@ msgstr "" msgid "Set the maximum character length of a chat message sent by clients." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow strength.\n" +"Lower value means lighter shadows, higher value means darker shadows." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow update time.\n" +"Lower value means shadows and map updates faster, but it consume more " +"resources.\n" +"Minimun value 0.001 seconds max value 0.2 seconds" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the soft shadow radius size.\n" +"Lower values mean sharper shadows bigger values softer.\n" +"Minimun value 1.0 and max value 10.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the tilt of Sun/Moon orbit in degrees\n" +"Value of 0 means no tilt / vertical orbit.\n" +"Minimun value 0.0 and max value 60.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set to true to enable Shadow Mapping.\n" +"Requires shaders to be enabled." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Set to true to enable waving leaves.\n" @@ -5514,6 +5671,13 @@ msgid "" "Requires shaders to be enabled." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Sets shadow texture quality to 32 bits.\n" +"On false, 16 bits texture will be used.\n" +"This can cause much more artifacts in the shadow." +msgstr "" + #: src/settings_translation_file.cpp msgid "Shader path" msgstr "" @@ -5526,6 +5690,22 @@ msgid "" "This only works with the OpenGL video backend." msgstr "" +#: src/settings_translation_file.cpp +msgid "Shadow filter quality" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map max distance in nodes to render shadows" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture in 32 bits" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture size" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Shadow offset (in pixels) of the default font. If 0, then shadow will not be " @@ -5533,9 +5713,7 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "" -"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not " -"be drawn." +msgid "Shadow strength" msgstr "" #: src/settings_translation_file.cpp @@ -5581,6 +5759,10 @@ msgid "" "thread, thus reducing jitter." msgstr "" +#: src/settings_translation_file.cpp +msgid "Sky Body Orbit Tilt" +msgstr "" + #: src/settings_translation_file.cpp msgid "Slice w" msgstr "" @@ -5635,18 +5817,14 @@ msgstr "" msgid "Sneaking speed, in nodes per second." msgstr "" +#: src/settings_translation_file.cpp +msgid "Soft shadow radius" +msgstr "" + #: src/settings_translation_file.cpp msgid "Sound" msgstr "" -#: src/settings_translation_file.cpp -msgid "Special key" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Special key for climbing/descending" -msgstr "" - #: src/settings_translation_file.cpp msgid "" "Specifies URL from which client fetches media instead of using UDP.\n" @@ -5768,6 +5946,13 @@ msgstr "" msgid "Texture path" msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Texture size to render the shadow map on.\n" +"This must be a power of two.\n" +"Bigger numbers create better shadowsbut it is also more expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Textures on a node may be aligned either to the node or to the world.\n" @@ -5841,7 +6026,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"The rendering back-end for Irrlicht.\n" +"The rendering back-end.\n" "A restart is required after changing this.\n" "Note: On Android, stick with OGLES1 if unsure! App may fail to start " "otherwise.\n" @@ -6128,7 +6313,7 @@ msgid "Viewing range" msgstr "" #: src/settings_translation_file.cpp -msgid "Virtual joystick triggers aux button" +msgid "Virtual joystick triggers Aux1 button" msgstr "" #: src/settings_translation_file.cpp @@ -6219,9 +6404,8 @@ msgid "" "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" +"memory. Powers of 2 are recommended. This setting is ONLY applies if\n" +"bilinear/trilinear/anisotropic filtering is enabled.\n" "This is also used as the base node texture size for world-aligned\n" "texture autoscaling." msgstr "" @@ -6277,7 +6461,7 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "Width component of the initial window size." +msgid "Width component of the initial window size. Ignored in fullscreen mode." msgstr "" #: src/settings_translation_file.cpp @@ -6384,11 +6568,11 @@ msgid "cURL file download timeout" msgstr "" #: src/settings_translation_file.cpp -msgid "cURL parallel limit" +msgid "cURL interactive timeout" msgstr "" #: src/settings_translation_file.cpp -msgid "cURL timeout" +msgid "cURL parallel limit" msgstr "" #~ msgid "Back" @@ -6403,3 +6587,6 @@ msgstr "" #, fuzzy #~ msgid "View" #~ msgstr "ತೋರಿಸು" + +#~ msgid "needs_fallback_font" +#~ msgstr "yes" diff --git a/po/ko/minetest.po b/po/ko/minetest.po index d08dc7d72..d13da4fcd 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: 2021-02-23 19:03+0100\n" +"POT-Creation-Date: 2021-06-16 18:27+0200\n" "PO-Revision-Date: 2020-12-05 15:29+0000\n" "Last-Translator: HunSeongPark \n" "Language-Team: Korean ' to get more information, or '.help all' to list everything." +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "[all | ]" +msgstr "" + #: builtin/fstk/dialog.lua builtin/fstk/ui.lua src/gui/modalMenu.cpp msgid "OK" msgstr "확인" @@ -535,7 +608,7 @@ msgstr "< 설정 페이지로 돌아가기" msgid "Browse" msgstr "열기" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_settings.lua msgid "Disabled" msgstr "비활성화됨" @@ -579,7 +652,7 @@ msgstr "기본값 복원" msgid "Scale" msgstr "스케일" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua msgid "Search" msgstr "찾기" @@ -713,6 +786,42 @@ msgstr "클라이언트 스크립트가 비활성화됨" msgid "Try reenabling public serverlist and check your internet connection." msgstr "인터넷 연결을 확인한 후 서버 목록을 새로 고쳐보세요." +#: builtin/mainmenu/tab_about.lua +msgid "About" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active Contributors" +msgstr "활동적인 공헌자" + +#: builtin/mainmenu/tab_about.lua +#, fuzzy +msgid "Active renderer:" +msgstr "객체 전달 범위 활성화" + +#: builtin/mainmenu/tab_about.lua +msgid "Core Developers" +msgstr "코어 개발자" + +#: builtin/mainmenu/tab_about.lua +#, fuzzy +msgid "Open User Data Directory" +msgstr "경로를 선택하세요" + +#: builtin/mainmenu/tab_about.lua +msgid "" +"Opens the directory that contains user-provided worlds, games, mods,\n" +"and texture packs in a file manager / explorer." +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Contributors" +msgstr "이전 공헌자들" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Core Developers" +msgstr "이전 코어 개발자들" + #: builtin/mainmenu/tab_content.lua msgid "Browse online content" msgstr "온라인 컨텐츠 검색" @@ -753,37 +862,6 @@ msgstr "패키지 삭제" msgid "Use Texture Pack" msgstr "텍스쳐 팩 사용" -#: builtin/mainmenu/tab_credits.lua -msgid "Active Contributors" -msgstr "활동적인 공헌자" - -#: builtin/mainmenu/tab_credits.lua -msgid "Core Developers" -msgstr "코어 개발자" - -#: builtin/mainmenu/tab_credits.lua -msgid "Credits" -msgstr "만든이" - -#: builtin/mainmenu/tab_credits.lua -#, fuzzy -msgid "Open User Data Directory" -msgstr "경로를 선택하세요" - -#: builtin/mainmenu/tab_credits.lua -msgid "" -"Opens the directory that contains user-provided worlds, games, mods,\n" -"and texture packs in a file manager / explorer." -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Contributors" -msgstr "이전 공헌자들" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Core Developers" -msgstr "이전 코어 개발자들" - #: builtin/mainmenu/tab_local.lua msgid "Announce Server" msgstr "서버 알리기" @@ -812,7 +890,7 @@ msgstr "호스트 서버" msgid "Install games from ContentDB" msgstr "ContentDB에서 게임 설치" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Name" msgstr "" @@ -824,7 +902,7 @@ msgstr "새로 만들기" msgid "No world created or selected!" msgstr "월드를 만들거나 선택하지 않았습니다!" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua #, fuzzy msgid "Password" msgstr "새로운 비밀번호" @@ -833,7 +911,7 @@ msgstr "새로운 비밀번호" msgid "Play Game" msgstr "게임하기" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Port" msgstr "포트" @@ -855,8 +933,13 @@ msgid "Start Game" msgstr "게임 시작" #: builtin/mainmenu/tab_online.lua -msgid "Address / Port" -msgstr "주소/포트" +#, fuzzy +msgid "Address" +msgstr "- 주소: " + +#: builtin/mainmenu/tab_online.lua src/client/keycode.cpp +msgid "Clear" +msgstr "지우기" #: builtin/mainmenu/tab_online.lua msgid "Connect" @@ -866,34 +949,46 @@ msgstr "연결" msgid "Creative mode" msgstr "크리에이티브 모드" +#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "Damage enabled" -msgstr "데미지 활성화" +#, fuzzy +msgid "Damage / PvP" +msgstr "데미지" #: builtin/mainmenu/tab_online.lua msgid "Del. Favorite" msgstr "즐겨찾기 삭제" #: builtin/mainmenu/tab_online.lua -msgid "Favorite" +#, fuzzy +msgid "Favorites" msgstr "즐겨찾기" +#: builtin/mainmenu/tab_online.lua +msgid "Incompatible Servers" +msgstr "" + #: builtin/mainmenu/tab_online.lua msgid "Join Game" msgstr "게임 참가" -#: builtin/mainmenu/tab_online.lua -msgid "Name / Password" -msgstr "이름/비밀번호" - #: builtin/mainmenu/tab_online.lua msgid "Ping" msgstr "핑" -#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "PvP enabled" -msgstr "PvP 가능" +#, fuzzy +msgid "Public Servers" +msgstr "서버 알리기" + +#: builtin/mainmenu/tab_online.lua +msgid "Refresh" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +#, fuzzy +msgid "Server Description" +msgstr "서버 설명" #: builtin/mainmenu/tab_settings.lua msgid "2x" @@ -935,10 +1030,31 @@ msgstr "키 변경" msgid "Connected Glass" msgstr "연결된 유리" +#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp +#, fuzzy +msgid "Dynamic shadows" +msgstr "글꼴 그림자" + +#: builtin/mainmenu/tab_settings.lua +msgid "Dynamic shadows: " +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Fancy Leaves" msgstr "아름다운 나뭇잎 효과" +#: builtin/mainmenu/tab_settings.lua +msgid "High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Low" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Medium" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Mipmap" msgstr "밉 맵" @@ -1028,6 +1144,14 @@ msgstr "터치 임계값: (픽셀)" msgid "Trilinear Filter" msgstr "선형 필터" +#: builtin/mainmenu/tab_settings.lua +msgid "Ultra High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Very Low" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Waving Leaves" msgstr "움직이는 나뭇잎 효과" @@ -1100,18 +1224,6 @@ 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" - #: src/client/game.cpp msgid "" "\n" @@ -1354,6 +1466,11 @@ msgstr "MiB/s" msgid "Minimap currently disabled by game or mod" msgstr "게임 또는 모드에 의해 현재 미니맵 비활성화" +#: src/client/game.cpp +#, fuzzy +msgid "Multiplayer" +msgstr "싱글 플레이어" + #: src/client/game.cpp msgid "Noclip mode disabled" msgstr "Noclip 모드 비활성화" @@ -1495,10 +1612,6 @@ msgstr "뒤로" msgid "Caps Lock" msgstr "캡스락" -#: src/client/keycode.cpp -msgid "Clear" -msgstr "지우기" - #: src/client/keycode.cpp msgid "Control" msgstr "컨트롤" @@ -1792,7 +1905,8 @@ msgid "Proceed" msgstr "계속하기" #: src/gui/guiKeyChangeMenu.cpp -msgid "\"Special\" = climb down" +#, fuzzy +msgid "\"Aux1\" = climb down" msgstr "\"특별함\" = 아래로 타고 내려가기" #: src/gui/guiKeyChangeMenu.cpp @@ -1803,10 +1917,18 @@ msgstr "자동전진" msgid "Automatic jumping" msgstr "자동 점프" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Aux1" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Backward" msgstr "뒤로" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Block bounds" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Change camera" msgstr "카메라 변경" @@ -1896,10 +2018,6 @@ msgstr "스크린샷" msgid "Sneak" msgstr "살금살금" -#: src/gui/guiKeyChangeMenu.cpp -msgid "Special" -msgstr "특별함" - #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle HUD" msgstr "HUD 토글" @@ -1986,9 +2104,10 @@ 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 " +"(Android) Use virtual joystick to trigger \"Aux1\" button.\n" +"If enabled, virtual joystick will also tap \"Aux1\" button when out of main " "circle." msgstr "" "(Android) 가상 조이스틱을 사용하여 \"aux\"버튼을 트리거합니다.\n" @@ -2343,6 +2462,16 @@ msgstr "스크린 크기 자동 저장" msgid "Autoscaling mode" msgstr "자동 스케일링 모드" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Aux1 key" +msgstr "점프 키" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Aux1 key for climbing/descending" +msgstr "오르기/내리기 에 사용되는 특수키" + #: src/settings_translation_file.cpp msgid "Backward key" msgstr "뒤로 이동하는 키" @@ -2387,10 +2516,6 @@ msgstr "Biome API 온도 및 습도 소음 매개 변수" msgid "Biome noise" msgstr "Biome 노이즈" -#: src/settings_translation_file.cpp -msgid "Bits per pixel (aka color depth) in fullscreen mode." -msgstr "전체 화면 모드에서 (일명 색 농도) 픽셀 당 비트." - #: src/settings_translation_file.cpp msgid "Block send optimize distance" msgstr "블록 전송 최적화 거리" @@ -2496,6 +2621,11 @@ msgstr "" "빛 굴절 중심 범위 .\n" "0.0은 최소 조명 수준이고 1.0은 최대 조명 수준입니다." +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Chat command time message threshold" +msgstr "채팅 메세지 강제퇴장 임계값" + #: src/settings_translation_file.cpp msgid "Chat font size" msgstr "채팅 글자 크기" @@ -2592,6 +2722,11 @@ msgstr "메뉴에 구름" msgid "Colored fog" msgstr "색깔있는 안개" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Colored shadows" +msgstr "색깔있는 안개" + #: src/settings_translation_file.cpp msgid "" "Comma-separated list of flags to hide in the content repository.\n" @@ -2810,11 +2945,10 @@ msgstr "기본 스택 크기" #: src/settings_translation_file.cpp msgid "" -"Default timeout for cURL, stated in milliseconds.\n" -"Only has an effect if compiled with cURL." +"Define shadow filtering quality\n" +"This simulates the soft shadows effect by applying a PCF or poisson disk\n" +"but also uses more resources." msgstr "" -"cURL에 대한 기본 제한 시간 (밀리 초 단위).\n" -"cURL로 컴파일 된 경우에만 효과가 있습니다." #: src/settings_translation_file.cpp msgid "Defines areas where trees have apples." @@ -2975,6 +3109,12 @@ msgid "" "This support is experimental and API can change." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Enable colored shadows. \n" +"On true translucent nodes cast colored shadows. This is expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable console window" msgstr "" @@ -3000,6 +3140,13 @@ msgstr "모드 보안 적용" msgid "Enable players getting damage and dying." msgstr "플레이어는 데미지를 받고 죽을 수 있습니다." +#: src/settings_translation_file.cpp +msgid "" +"Enable poisson disk filtering.\n" +"On true uses poisson disk to make \"soft shadows\". Otherwise uses PCF " +"filtering." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable random user input (only used for testing)." msgstr "랜덤 사용자 입력 (테스트에 사용)를 사용 합니다." @@ -3135,18 +3282,6 @@ msgstr "낙하 흔들림" msgid "Fallback font path" msgstr "대체 글꼴 경로" -#: src/settings_translation_file.cpp -msgid "Fallback font shadow" -msgstr "대체 글꼴 그림자" - -#: src/settings_translation_file.cpp -msgid "Fallback font shadow alpha" -msgstr "대체 글꼴 그림자 투명도" - -#: src/settings_translation_file.cpp -msgid "Fallback font size" -msgstr "대체 글꼴 크기" - #: src/settings_translation_file.cpp msgid "Fast key" msgstr "빠른 키" @@ -3164,8 +3299,9 @@ msgid "Fast movement" msgstr "빠른 이동" #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"Fast movement (via the \"special\" key).\n" +"Fast movement (via the \"Aux1\" key).\n" "This requires the \"fast\" privilege on the server." msgstr "" "빠른 이동 ( \"특수\"키 사용).\n" @@ -3203,9 +3339,9 @@ 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." +"which PNG optimizers usually discard, often resulting in dark or\n" +"light edges to transparent textures. Apply a filter to clean that up\n" +"at texture load time. This is automatically enabled if mipmapping is enabled." msgstr "" #: src/settings_translation_file.cpp @@ -3300,10 +3436,6 @@ msgstr "글꼴 크기" msgid "Font size of the default font in point (pt)." msgstr "" -#: src/settings_translation_file.cpp -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 "" @@ -3401,10 +3533,6 @@ msgstr "" msgid "Full screen" msgstr "전체 화면" -#: src/settings_translation_file.cpp -msgid "Full screen BPP" -msgstr "전체 화면 BPP" - #: src/settings_translation_file.cpp msgid "Fullscreen mode." msgstr "전체 화면 모드." @@ -3498,7 +3626,9 @@ msgid "Heat noise" msgstr "용암 잡음" #: src/settings_translation_file.cpp -msgid "Height component of the initial window size." +#, fuzzy +msgid "" +"Height component of the initial window size. Ignored in fullscreen mode." msgstr "초기 창 크기의 높이 구성 요소입니다." #: src/settings_translation_file.cpp @@ -3509,10 +3639,6 @@ msgstr "높이 노이즈" msgid "Height select noise" msgstr "" -#: src/settings_translation_file.cpp -msgid "High-precision FPU" -msgstr "" - #: src/settings_translation_file.cpp msgid "Hill steepness" msgstr "" @@ -3744,8 +3870,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"If disabled, \"special\" key is used to fly fast if both fly and fast mode " -"are\n" +"If disabled, \"Aux1\" key is used to fly fast if both fly and fast mode are\n" "enabled." msgstr "" @@ -3766,9 +3891,10 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"If enabled, \"special\" key instead of \"sneak\" key is used for climbing " -"down and\n" +"If enabled, \"Aux1\" key instead of \"Sneak\" key is used for climbing down " +"and\n" "descending." msgstr "" "활성화시, \"sneak\"키 대신 \"특수\"키가 내려가는데 \n" @@ -3816,6 +3942,12 @@ msgid "" "to this distance from the player to the node." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"If the execution of a chat command takes longer than this specified time in\n" +"seconds, add the time information to the chat command message" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "If the file size of debug.txt exceeds the number of megabytes specified in\n" @@ -4928,10 +5060,6 @@ msgid "" "Make fog and sky colors depend on daytime (dawn/sunset) and view direction." msgstr "" -#: src/settings_translation_file.cpp -msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." -msgstr "" - #: src/settings_translation_file.cpp msgid "Makes all liquids opaque" msgstr "모든 액체를 불투명하게 만들기" @@ -5003,6 +5131,10 @@ msgstr "맵 생성 제한" msgid "Map save interval" msgstr "맵 저장 간격" +#: src/settings_translation_file.cpp +msgid "Map update time" +msgstr "" + #: src/settings_translation_file.cpp msgid "Mapblock limit" msgstr "" @@ -5112,6 +5244,10 @@ msgstr "최대 FPS" msgid "Maximum FPS when the window is not focused, or when the game is paused." msgstr "게임이 일시정지될때의 최대 FPS." +#: src/settings_translation_file.cpp +msgid "Maximum distance to render shadows." +msgstr "" + #: src/settings_translation_file.cpp msgid "Maximum forceloaded blocks" msgstr "최대 강제 로딩 블럭" @@ -5220,11 +5356,20 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "Maximum time in ms a file download (e.g. a mod download) may take." +#, fuzzy +msgid "" +"Maximum time a file download (e.g. a mod download) may take, stated in " +"milliseconds." msgstr "" "ms 에서 파일을 다운로드하면 (예 : 모드 다운로드) 최대 시간이 걸릴 수 있습니" "다." +#: src/settings_translation_file.cpp +msgid "" +"Maximum time an interactive request (e.g. server list fetch) may take, " +"stated in milliseconds." +msgstr "" + #: src/settings_translation_file.cpp msgid "Maximum users" msgstr "최대 사용자" @@ -5440,11 +5585,6 @@ 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 " @@ -5548,6 +5688,11 @@ msgstr "플레이어 전송 거리" msgid "Player versus player" msgstr "PVP" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Poisson filtering" +msgstr "이중 선형 필터링" + #: src/settings_translation_file.cpp msgid "" "Port to connect to (UDP).\n" @@ -5912,6 +6057,43 @@ msgstr "" msgid "Set the maximum character length of a chat message sent by clients." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow strength.\n" +"Lower value means lighter shadows, higher value means darker shadows." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow update time.\n" +"Lower value means shadows and map updates faster, but it consume more " +"resources.\n" +"Minimun value 0.001 seconds max value 0.2 seconds" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the soft shadow radius size.\n" +"Lower values mean sharper shadows bigger values softer.\n" +"Minimun value 1.0 and max value 10.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the tilt of Sun/Moon orbit in degrees\n" +"Value of 0 means no tilt / vertical orbit.\n" +"Minimun value 0.0 and max value 60.0" +msgstr "" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "" +"Set to true to enable Shadow Mapping.\n" +"Requires shaders to be enabled." +msgstr "" +"True로 설정하면 흔들리는 나뭇잎 효과가 적용됩니다.\n" +"쉐이더를 활성화 해야 합니다." + #: src/settings_translation_file.cpp msgid "" "Set to true to enable waving leaves.\n" @@ -5936,6 +6118,13 @@ msgstr "" "True로 설정하면 흔들리는 식물 효과가 적용됩니다.\n" "쉐이더를 활성화 해야 합니다." +#: src/settings_translation_file.cpp +msgid "" +"Sets shadow texture quality to 32 bits.\n" +"On false, 16 bits texture will be used.\n" +"This can cause much more artifacts in the shadow." +msgstr "" + #: src/settings_translation_file.cpp msgid "Shader path" msgstr "쉐이더 경로" @@ -5952,6 +6141,24 @@ msgstr "" "이것은 OpenGL video backend에서만 \n" "작동합니다." +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Shadow filter quality" +msgstr "스크린샷 품질" + +#: src/settings_translation_file.cpp +msgid "Shadow map max distance in nodes to render shadows" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture in 32 bits" +msgstr "" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Shadow map texture size" +msgstr "최소 텍스처 크기" + #: src/settings_translation_file.cpp msgid "" "Shadow offset (in pixels) of the default font. If 0, then shadow will not be " @@ -5959,10 +6166,8 @@ msgid "" 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 "글꼴 그림자 오프셋, 만약 0 이면 그림자는 나타나지 않을 것입니다." +msgid "Shadow strength" +msgstr "" #: src/settings_translation_file.cpp msgid "Shape of the minimap. Enabled = round, disabled = square." @@ -6010,6 +6215,10 @@ msgid "" "thread, thus reducing jitter." msgstr "" +#: src/settings_translation_file.cpp +msgid "Sky Body Orbit Tilt" +msgstr "" + #: src/settings_translation_file.cpp msgid "Slice w" msgstr "" @@ -6069,18 +6278,15 @@ msgstr "걷는 속도" msgid "Sneaking speed, in nodes per second." msgstr "" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Soft shadow radius" +msgstr "글꼴 그림자 투명도" + #: src/settings_translation_file.cpp msgid "Sound" msgstr "사운드" -#: src/settings_translation_file.cpp -msgid "Special key" -msgstr "특수 키" - -#: src/settings_translation_file.cpp -msgid "Special key for climbing/descending" -msgstr "오르기/내리기 에 사용되는 특수키" - #: src/settings_translation_file.cpp msgid "" "Specifies URL from which client fetches media instead of using UDP.\n" @@ -6202,6 +6408,13 @@ msgstr "" msgid "Texture path" msgstr "텍스처 경로" +#: src/settings_translation_file.cpp +msgid "" +"Texture size to render the shadow map on.\n" +"This must be a power of two.\n" +"Bigger numbers create better shadowsbut it is also more expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Textures on a node may be aligned either to the node or to the world.\n" @@ -6278,7 +6491,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"The rendering back-end for Irrlicht.\n" +"The rendering back-end.\n" "A restart is required after changing this.\n" "Note: On Android, stick with OGLES1 if unsure! App may fail to start " "otherwise.\n" @@ -6574,7 +6787,7 @@ msgid "Viewing range" msgstr "시야 범위" #: src/settings_translation_file.cpp -msgid "Virtual joystick triggers aux button" +msgid "Virtual joystick triggers Aux1 button" msgstr "" #: src/settings_translation_file.cpp @@ -6666,14 +6879,14 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp +#, fuzzy msgid "" "When using bilinear/trilinear/anisotropic filters, low-resolution textures\n" "can be blurred, so automatically upscale them with nearest-neighbor\n" "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" +"memory. Powers of 2 are recommended. This setting is ONLY applies if\n" +"bilinear/trilinear/anisotropic filtering is enabled.\n" "This is also used as the base node texture size for world-aligned\n" "texture autoscaling." msgstr "" @@ -6739,7 +6952,8 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "Width component of the initial window size." +#, fuzzy +msgid "Width component of the initial window size. Ignored in fullscreen mode." msgstr "폭은 초기 창 크기로 구성되어 있습니다." #: src/settings_translation_file.cpp @@ -6850,11 +7064,11 @@ msgid "cURL file download timeout" msgstr "" #: src/settings_translation_file.cpp -msgid "cURL parallel limit" +msgid "cURL interactive timeout" msgstr "" #: src/settings_translation_file.cpp -msgid "cURL timeout" +msgid "cURL parallel limit" msgstr "" #~ msgid "" @@ -6864,12 +7078,18 @@ msgstr "" #~ "0 = 경사 정보가 존재 (빠름).\n" #~ "1 = 릴리프 매핑 (더 느리고 정확함)." +#~ msgid "Address / Port" +#~ msgstr "주소/포트" + #~ msgid "Are you sure to reset your singleplayer world?" #~ msgstr "싱글 플레이어 월드를 리셋하겠습니까?" #~ msgid "Back" #~ msgstr "뒤로" +#~ msgid "Bits per pixel (aka color depth) in fullscreen mode." +#~ msgstr "전체 화면 모드에서 (일명 색 농도) 픽셀 당 비트." + #~ msgid "Bump Mapping" #~ msgstr "범프 매핑" @@ -6898,9 +7118,22 @@ msgstr "" #~ msgid "Controls width of tunnels, a smaller value creates wider tunnels." #~ msgstr "터널 너비를 조절, 작은 수치는 넓은 터널을 만듭니다." +#~ msgid "Credits" +#~ msgstr "만든이" + #~ msgid "Crosshair color (R,G,B)." #~ msgstr "십자선 색 (빨, 초, 파)." +#~ msgid "Damage enabled" +#~ msgstr "데미지 활성화" + +#~ msgid "" +#~ "Default timeout for cURL, stated in milliseconds.\n" +#~ "Only has an effect if compiled with cURL." +#~ msgstr "" +#~ "cURL에 대한 기본 제한 시간 (밀리 초 단위).\n" +#~ "cURL로 컴파일 된 경우에만 효과가 있습니다." + #~ msgid "" #~ "Defines sampling step of texture.\n" #~ "A higher value results in smoother normal maps." @@ -6942,9 +7175,21 @@ msgstr "" #~ msgid "FPS in pause menu" #~ msgstr "일시정지 메뉴에서 FPS" +#~ msgid "Fallback font shadow" +#~ msgstr "대체 글꼴 그림자" + +#~ msgid "Fallback font shadow alpha" +#~ msgstr "대체 글꼴 그림자 투명도" + +#~ msgid "Fallback font size" +#~ msgstr "대체 글꼴 크기" + #~ msgid "Font shadow alpha (opaqueness, between 0 and 255)." #~ msgstr "글꼴 그림자 투명도 (불투명 함, 0과 255 사이)." +#~ msgid "Full screen BPP" +#~ msgstr "전체 화면 BPP" + #~ msgid "Gamma" #~ msgstr "감마" @@ -6976,6 +7221,9 @@ msgstr "" #~ msgid "Minimap in surface mode, Zoom x4" #~ msgstr "표면 모드의 미니맵, 4배 확대" +#~ msgid "Name / Password" +#~ msgstr "이름/비밀번호" + #~ msgid "Name/Password" #~ msgstr "이름/비밀번호" @@ -7028,6 +7276,9 @@ msgstr "" #~ msgid "Path to save screenshots at." #~ msgstr "스크린샷 저장 경로입니다." +#~ msgid "PvP enabled" +#~ msgstr "PvP 가능" + #~ msgid "Reset singleplayer world" #~ msgstr "싱글 플레이어 월드 초기화" @@ -7038,6 +7289,17 @@ msgstr "" #~ msgid "Shadow limit" #~ msgstr "그림자 제한" +#~ msgid "" +#~ "Shadow offset (in pixels) of the fallback font. If 0, then shadow will " +#~ "not be drawn." +#~ msgstr "글꼴 그림자 오프셋, 만약 0 이면 그림자는 나타나지 않을 것입니다." + +#~ msgid "Special" +#~ msgstr "특별함" + +#~ msgid "Special key" +#~ msgstr "특수 키" + #~ msgid "Start Singleplayer" #~ msgstr "싱글 플레이어 시작" @@ -7061,3 +7323,6 @@ msgstr "" #~ msgid "Yes" #~ msgstr "예" + +#~ msgid "needs_fallback_font" +#~ msgstr "yes" diff --git a/po/ky/minetest.po b/po/ky/minetest.po index 91c6e11b8..504e878e1 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: 2021-02-23 19:03+0100\n" +"POT-Creation-Date: 2021-06-16 18:27+0200\n" "PO-Revision-Date: 2019-11-10 15:04+0000\n" "Last-Translator: Krock \n" "Language-Team: Kyrgyz ' to get more information, or '.help all' to list everything." +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "[all | ]" +msgstr "" + #: builtin/fstk/dialog.lua builtin/fstk/ui.lua src/gui/modalMenu.cpp msgid "OK" msgstr "" @@ -542,7 +615,7 @@ msgstr "" msgid "Browse" msgstr "" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_settings.lua #, fuzzy msgid "Disabled" msgstr "Баарын өчүрүү" @@ -588,7 +661,7 @@ msgstr "" msgid "Scale" msgstr "" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua msgid "Search" msgstr "" @@ -728,6 +801,41 @@ msgstr "" msgid "Try reenabling public serverlist and check your internet connection." msgstr "" +#: builtin/mainmenu/tab_about.lua +msgid "About" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active Contributors" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active renderer:" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Core Developers" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +#, fuzzy +msgid "Open User Data Directory" +msgstr "Дүйнөнү тандаңыз:" + +#: builtin/mainmenu/tab_about.lua +msgid "" +"Opens the directory that contains user-provided worlds, games, mods,\n" +"and texture packs in a file manager / explorer." +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Contributors" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Core Developers" +msgstr "" + #: builtin/mainmenu/tab_content.lua msgid "Browse online content" msgstr "" @@ -770,37 +878,6 @@ msgstr "" msgid "Use Texture Pack" msgstr "" -#: builtin/mainmenu/tab_credits.lua -msgid "Active Contributors" -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Core Developers" -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Credits" -msgstr "Алкыштар" - -#: builtin/mainmenu/tab_credits.lua -#, fuzzy -msgid "Open User Data Directory" -msgstr "Дүйнөнү тандаңыз:" - -#: builtin/mainmenu/tab_credits.lua -msgid "" -"Opens the directory that contains user-provided worlds, games, mods,\n" -"and texture packs in a file manager / explorer." -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Contributors" -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Core Developers" -msgstr "" - #: builtin/mainmenu/tab_local.lua msgid "Announce Server" msgstr "" @@ -830,7 +907,7 @@ msgstr "" msgid "Install games from ContentDB" msgstr "" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Name" msgstr "" @@ -842,7 +919,7 @@ msgstr "Жаңы" msgid "No world created or selected!" msgstr "" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua #, fuzzy msgid "Password" msgstr "Жаңы сырсөз" @@ -852,7 +929,7 @@ msgstr "Жаңы сырсөз" msgid "Play Game" msgstr "Оюнду баштоо/туташуу" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Port" msgstr "" @@ -876,9 +953,13 @@ msgstr "Оюн" #: builtin/mainmenu/tab_online.lua #, fuzzy -msgid "Address / Port" +msgid "Address" msgstr "Дареги/порту" +#: builtin/mainmenu/tab_online.lua src/client/keycode.cpp +msgid "Clear" +msgstr "Тазалоо" + #: builtin/mainmenu/tab_online.lua msgid "Connect" msgstr "Туташуу" @@ -888,10 +969,11 @@ msgstr "Туташуу" msgid "Creative mode" msgstr "Жаратуу режими" +#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua #, fuzzy -msgid "Damage enabled" -msgstr "күйгүзүлгөн" +msgid "Damage / PvP" +msgstr "Убалды күйгүзүү" #: builtin/mainmenu/tab_online.lua #, fuzzy @@ -900,28 +982,33 @@ msgstr "Тандалмалар:" #: builtin/mainmenu/tab_online.lua #, fuzzy -msgid "Favorite" +msgid "Favorites" msgstr "Тандалмалар:" +#: builtin/mainmenu/tab_online.lua +msgid "Incompatible Servers" +msgstr "" + #: builtin/mainmenu/tab_online.lua #, fuzzy msgid "Join Game" msgstr "Оюн" -#: builtin/mainmenu/tab_online.lua -#, fuzzy -msgid "Name / Password" -msgstr "Аты/сырсөзү" - #: builtin/mainmenu/tab_online.lua msgid "Ping" msgstr "" -#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -#, fuzzy -msgid "PvP enabled" -msgstr "күйгүзүлгөн" +msgid "Public Servers" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +msgid "Refresh" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +msgid "Server Description" +msgstr "" #: builtin/mainmenu/tab_settings.lua msgid "2x" @@ -968,11 +1055,31 @@ msgstr "Баскычтарды өзгөртүү" msgid "Connected Glass" msgstr "Туташуу" +#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp +msgid "Dynamic shadows" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Dynamic shadows: " +msgstr "" + #: builtin/mainmenu/tab_settings.lua #, fuzzy msgid "Fancy Leaves" msgstr "Күңүрт суу" +#: builtin/mainmenu/tab_settings.lua +msgid "High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Low" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Medium" +msgstr "" + #: builtin/mainmenu/tab_settings.lua #, fuzzy msgid "Mipmap" @@ -1074,6 +1181,14 @@ msgstr "" msgid "Trilinear Filter" msgstr "Үчсызык чыпкалоосу" +#: builtin/mainmenu/tab_settings.lua +msgid "Ultra High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Very Low" +msgstr "" + #: builtin/mainmenu/tab_settings.lua #, fuzzy msgid "Waving Leaves" @@ -1152,18 +1267,6 @@ 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" - #: src/client/game.cpp msgid "" "\n" @@ -1410,6 +1513,11 @@ msgstr "" msgid "Minimap currently disabled by game or mod" msgstr "" +#: src/client/game.cpp +#, fuzzy +msgid "Multiplayer" +msgstr "Бир кишилик" + #: src/client/game.cpp msgid "Noclip mode disabled" msgstr "" @@ -1557,10 +1665,6 @@ msgstr "Артка" msgid "Caps Lock" msgstr "" -#: src/client/keycode.cpp -msgid "Clear" -msgstr "Тазалоо" - #: src/client/keycode.cpp msgid "Control" msgstr "Ctrl" @@ -1853,7 +1957,7 @@ msgid "Proceed" msgstr "Улантуу" #: src/gui/guiKeyChangeMenu.cpp -msgid "\"Special\" = climb down" +msgid "\"Aux1\" = climb down" msgstr "" #: src/gui/guiKeyChangeMenu.cpp @@ -1865,10 +1969,18 @@ msgstr "Алга" msgid "Automatic jumping" msgstr "" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Aux1" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Backward" msgstr "Артка" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Block bounds" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp #, fuzzy msgid "Change camera" @@ -1962,10 +2074,6 @@ msgstr "Тез сүрөт" msgid "Sneak" msgstr "Уурданып басуу" -#: src/gui/guiKeyChangeMenu.cpp -msgid "Special" -msgstr "" - #: src/gui/guiKeyChangeMenu.cpp #, fuzzy msgid "Toggle HUD" @@ -2057,8 +2165,8 @@ 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 " +"(Android) Use virtual joystick to trigger \"Aux1\" button.\n" +"If enabled, virtual joystick will also tap \"Aux1\" button when out of main " "circle." msgstr "" @@ -2355,6 +2463,15 @@ msgstr "" msgid "Autoscaling mode" msgstr "" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Aux1 key" +msgstr "Секирүү" + +#: src/settings_translation_file.cpp +msgid "Aux1 key for climbing/descending" +msgstr "" + #: src/settings_translation_file.cpp #, fuzzy msgid "Backward key" @@ -2402,10 +2519,6 @@ msgstr "" msgid "Biome noise" msgstr "" -#: src/settings_translation_file.cpp -msgid "Bits per pixel (aka color depth) in fullscreen mode." -msgstr "" - #: src/settings_translation_file.cpp msgid "Block send optimize distance" msgstr "" @@ -2505,6 +2618,10 @@ msgid "" "Where 0.0 is minimum light level, 1.0 is maximum light level." msgstr "" +#: src/settings_translation_file.cpp +msgid "Chat command time message threshold" +msgstr "" + #: src/settings_translation_file.cpp msgid "Chat font size" msgstr "" @@ -2609,6 +2726,10 @@ msgstr "Башкы меню" msgid "Colored fog" msgstr "" +#: src/settings_translation_file.cpp +msgid "Colored shadows" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Comma-separated list of flags to hide in the content repository.\n" @@ -2815,8 +2936,9 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"Default timeout for cURL, stated in milliseconds.\n" -"Only has an effect if compiled with cURL." +"Define shadow filtering quality\n" +"This simulates the soft shadows effect by applying a PCF or poisson disk\n" +"but also uses more resources." msgstr "" #: src/settings_translation_file.cpp @@ -2980,6 +3102,12 @@ msgid "" "This support is experimental and API can change." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Enable colored shadows. \n" +"On true translucent nodes cast colored shadows. This is expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable console window" msgstr "" @@ -3004,6 +3132,13 @@ msgstr "" msgid "Enable players getting damage and dying." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Enable poisson disk filtering.\n" +"On true uses poisson disk to make \"soft shadows\". Otherwise uses PCF " +"filtering." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable random user input (only used for testing)." msgstr "" @@ -3127,18 +3262,6 @@ msgstr "" msgid "Fallback font path" msgstr "" -#: src/settings_translation_file.cpp -msgid "Fallback font shadow" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Fallback font shadow alpha" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Fallback font size" -msgstr "" - #: src/settings_translation_file.cpp msgid "Fast key" msgstr "" @@ -3157,7 +3280,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"Fast movement (via the \"special\" key).\n" +"Fast movement (via the \"Aux1\" key).\n" "This requires the \"fast\" privilege on the server." msgstr "" @@ -3191,9 +3314,9 @@ 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." +"which PNG optimizers usually discard, often resulting in dark or\n" +"light edges to transparent textures. Apply a filter to clean that up\n" +"at texture load time. This is automatically enabled if mipmapping is enabled." msgstr "" #: src/settings_translation_file.cpp @@ -3289,10 +3412,6 @@ msgstr "" msgid "Font size of the default font in point (pt)." msgstr "" -#: src/settings_translation_file.cpp -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 "" @@ -3391,10 +3510,6 @@ msgstr "" msgid "Full screen" msgstr "" -#: src/settings_translation_file.cpp -msgid "Full screen BPP" -msgstr "" - #: src/settings_translation_file.cpp msgid "Fullscreen mode." msgstr "" @@ -3488,7 +3603,8 @@ msgid "Heat noise" msgstr "" #: src/settings_translation_file.cpp -msgid "Height component of the initial window size." +msgid "" +"Height component of the initial window size. Ignored in fullscreen mode." msgstr "" #: src/settings_translation_file.cpp @@ -3500,10 +3616,6 @@ msgstr "Оң Windows" msgid "Height select noise" msgstr "" -#: src/settings_translation_file.cpp -msgid "High-precision FPU" -msgstr "" - #: src/settings_translation_file.cpp msgid "Hill steepness" msgstr "" @@ -3735,8 +3847,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"If disabled, \"special\" key is used to fly fast if both fly and fast mode " -"are\n" +"If disabled, \"Aux1\" key is used to fly fast if both fly and fast mode are\n" "enabled." msgstr "" @@ -3758,8 +3869,8 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"If enabled, \"special\" key instead of \"sneak\" key is used for climbing " -"down and\n" +"If enabled, \"Aux1\" key instead of \"Sneak\" key is used for climbing down " +"and\n" "descending." msgstr "" @@ -3803,6 +3914,12 @@ msgid "" "to this distance from the player to the node." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"If the execution of a chat command takes longer than this specified time in\n" +"seconds, add the time information to the chat command message" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "If the file size of debug.txt exceeds the number of megabytes specified in\n" @@ -4698,10 +4815,6 @@ msgid "" "Make fog and sky colors depend on daytime (dawn/sunset) and view direction." msgstr "" -#: src/settings_translation_file.cpp -msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." -msgstr "" - #: src/settings_translation_file.cpp msgid "Makes all liquids opaque" msgstr "" @@ -4773,6 +4886,10 @@ msgstr "" msgid "Map save interval" msgstr "" +#: src/settings_translation_file.cpp +msgid "Map update time" +msgstr "" + #: src/settings_translation_file.cpp msgid "Mapblock limit" msgstr "" @@ -4881,6 +4998,10 @@ msgstr "" msgid "Maximum FPS when the window is not focused, or when the game is paused." msgstr "" +#: src/settings_translation_file.cpp +msgid "Maximum distance to render shadows." +msgstr "" + #: src/settings_translation_file.cpp msgid "Maximum forceloaded blocks" msgstr "" @@ -4987,7 +5108,15 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "Maximum time in ms a file download (e.g. a mod download) may take." +msgid "" +"Maximum time a file download (e.g. a mod download) may take, stated in " +"milliseconds." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum time an interactive request (e.g. server list fetch) may take, " +"stated in milliseconds." msgstr "" #: src/settings_translation_file.cpp @@ -5203,11 +5332,6 @@ 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 " @@ -5308,6 +5432,11 @@ msgstr "" msgid "Player versus player" msgstr "" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Poisson filtering" +msgstr "Экисызык чыпкалоосу" + #: src/settings_translation_file.cpp msgid "" "Port to connect to (UDP).\n" @@ -5651,6 +5780,40 @@ msgstr "" msgid "Set the maximum character length of a chat message sent by clients." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow strength.\n" +"Lower value means lighter shadows, higher value means darker shadows." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow update time.\n" +"Lower value means shadows and map updates faster, but it consume more " +"resources.\n" +"Minimun value 0.001 seconds max value 0.2 seconds" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the soft shadow radius size.\n" +"Lower values mean sharper shadows bigger values softer.\n" +"Minimun value 1.0 and max value 10.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the tilt of Sun/Moon orbit in degrees\n" +"Value of 0 means no tilt / vertical orbit.\n" +"Minimun value 0.0 and max value 60.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set to true to enable Shadow Mapping.\n" +"Requires shaders to be enabled." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Set to true to enable waving leaves.\n" @@ -5669,6 +5832,13 @@ msgid "" "Requires shaders to be enabled." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Sets shadow texture quality to 32 bits.\n" +"On false, 16 bits texture will be used.\n" +"This can cause much more artifacts in the shadow." +msgstr "" + #: src/settings_translation_file.cpp #, fuzzy msgid "Shader path" @@ -5682,6 +5852,23 @@ msgid "" "This only works with the OpenGL video backend." msgstr "" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Shadow filter quality" +msgstr "Тез сүрөт" + +#: src/settings_translation_file.cpp +msgid "Shadow map max distance in nodes to render shadows" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture in 32 bits" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture size" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Shadow offset (in pixels) of the default font. If 0, then shadow will not be " @@ -5689,9 +5876,7 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "" -"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not " -"be drawn." +msgid "Shadow strength" msgstr "" #: src/settings_translation_file.cpp @@ -5737,6 +5922,10 @@ msgid "" "thread, thus reducing jitter." msgstr "" +#: src/settings_translation_file.cpp +msgid "Sky Body Orbit Tilt" +msgstr "" + #: src/settings_translation_file.cpp msgid "Slice w" msgstr "" @@ -5795,16 +5984,11 @@ msgid "Sneaking speed, in nodes per second." msgstr "" #: src/settings_translation_file.cpp -msgid "Sound" +msgid "Soft shadow radius" msgstr "" #: src/settings_translation_file.cpp -#, fuzzy -msgid "Special key" -msgstr "Уурданып басуу" - -#: src/settings_translation_file.cpp -msgid "Special key for climbing/descending" +msgid "Sound" msgstr "" #: src/settings_translation_file.cpp @@ -5928,6 +6112,13 @@ msgstr "" msgid "Texture path" msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Texture size to render the shadow map on.\n" +"This must be a power of two.\n" +"Bigger numbers create better shadowsbut it is also more expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Textures on a node may be aligned either to the node or to the world.\n" @@ -6001,7 +6192,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"The rendering back-end for Irrlicht.\n" +"The rendering back-end.\n" "A restart is required after changing this.\n" "Note: On Android, stick with OGLES1 if unsure! App may fail to start " "otherwise.\n" @@ -6289,7 +6480,7 @@ msgid "Viewing range" msgstr "" #: src/settings_translation_file.cpp -msgid "Virtual joystick triggers aux button" +msgid "Virtual joystick triggers Aux1 button" msgstr "" #: src/settings_translation_file.cpp @@ -6386,9 +6577,8 @@ msgid "" "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" +"memory. Powers of 2 are recommended. This setting is ONLY applies if\n" +"bilinear/trilinear/anisotropic filtering is enabled.\n" "This is also used as the base node texture size for world-aligned\n" "texture autoscaling." msgstr "" @@ -6444,7 +6634,7 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "Width component of the initial window size." +msgid "Width component of the initial window size. Ignored in fullscreen mode." msgstr "" #: src/settings_translation_file.cpp @@ -6552,13 +6742,17 @@ msgid "cURL file download timeout" msgstr "" #: src/settings_translation_file.cpp -msgid "cURL parallel limit" +msgid "cURL interactive timeout" msgstr "" #: src/settings_translation_file.cpp -msgid "cURL timeout" +msgid "cURL parallel limit" msgstr "" +#, fuzzy +#~ msgid "Address / Port" +#~ msgstr "Дареги/порту" + #, fuzzy #~ msgid "Are you sure to reset your singleplayer world?" #~ msgstr "Бир кишилик" @@ -6581,6 +6775,13 @@ msgstr "" #~ msgid "Configure" #~ msgstr "Ырастоо" +#~ msgid "Credits" +#~ msgstr "Алкыштар" + +#, fuzzy +#~ msgid "Damage enabled" +#~ msgstr "күйгүзүлгөн" + #, fuzzy #~ msgid "Enable VBO" #~ msgstr "Баарын күйгүзүү" @@ -6597,12 +6798,20 @@ msgstr "" #~ msgid "Main menu style" #~ msgstr "Башкы меню" +#, fuzzy +#~ msgid "Name / Password" +#~ msgstr "Аты/сырсөзү" + #~ msgid "Name/Password" #~ msgstr "Аты/сырсөзү" #~ msgid "No" #~ msgstr "Жок" +#, fuzzy +#~ msgid "PvP enabled" +#~ msgstr "күйгүзүлгөн" + #, fuzzy #~ msgid "Reset singleplayer world" #~ msgstr "Бир кишилик" @@ -6611,6 +6820,10 @@ msgstr "" #~ msgid "Select Package File:" #~ msgstr "Дүйнөнү тандаңыз:" +#, fuzzy +#~ msgid "Special key" +#~ msgstr "Уурданып басуу" + #, fuzzy #~ msgid "Start Singleplayer" #~ msgstr "Бир кишилик" @@ -6621,3 +6834,6 @@ msgstr "" #~ msgid "Yes" #~ msgstr "Ооба" + +#~ msgid "needs_fallback_font" +#~ msgstr "yes" diff --git a/po/lt/minetest.po b/po/lt/minetest.po index 98bcff78d..d16babb11 100644 --- a/po/lt/minetest.po +++ b/po/lt/minetest.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: Lithuanian (Minetest)\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-02-23 19:03+0100\n" -"PO-Revision-Date: 2021-02-23 15:50+0000\n" +"POT-Creation-Date: 2021-06-16 18:27+0200\n" +"PO-Revision-Date: 2021-04-10 15:49+0000\n" "Last-Translator: Kornelijus Tvarijanavičius \n" "Language-Team: Lithuanian \n" @@ -13,7 +13,48 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n" "%100<10 || n%100>=20) ? 1 : 2);\n" -"X-Generator: Weblate 4.5\n" +"X-Generator: Weblate 4.6-dev\n" + +#: builtin/client/chatcommands.lua +msgid "Clear the out chat queue" +msgstr "" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Empty command." +msgstr "Komanda" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Exit to main menu" +msgstr "Grįžti į meniu" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Invalid command: " +msgstr "Komanda" + +#: builtin/client/chatcommands.lua +msgid "Issued command: " +msgstr "" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "List online players" +msgstr "Žaisti vienam" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Online players: " +msgstr "Žaisti vienam" + +#: builtin/client/chatcommands.lua +msgid "The out chat queue is now empty." +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "This command is disabled by server." +msgstr "" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -23,6 +64,38 @@ msgstr "Prisikelti" msgid "You died" msgstr "Jūs numirėte" +#: builtin/client/death_formspec.lua +#, fuzzy +msgid "You died." +msgstr "Jūs numirėte" + +#: builtin/common/chatcommands.lua +#, fuzzy +msgid "Available commands:" +msgstr "Komanda" + +#: builtin/common/chatcommands.lua +#, fuzzy +msgid "Available commands: " +msgstr "Komanda" + +#: builtin/common/chatcommands.lua +msgid "Command not available: " +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "Get help for commands" +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "" +"Use '.help ' to get more information, or '.help all' to list everything." +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "[all | ]" +msgstr "" + #: builtin/fstk/dialog.lua builtin/fstk/ui.lua src/gui/modalMenu.cpp msgid "OK" msgstr "" @@ -100,12 +173,11 @@ msgid "Enable modpack" msgstr "Aktyvuoti papildinį" #: 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 "" -"Nepavyko įjungti papildinio „$1“, nes jis turi neleistų rašmenų. Tik " +"Nepavyko įjungti papildinio „$1“, nes jis turi neleistinų rašmenų. Tik " "rašmenys [a-z0-9_] yra leidžiami." #: builtin/mainmenu/dlg_config_world.lua @@ -188,33 +260,28 @@ msgid "All packages" msgstr "" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "Already installed" -msgstr "Klavišas jau naudojamas" +msgstr "Jau įdiegta" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "Back to Main Menu" -msgstr "Pagrindinis meniu" +msgstr "Atgal į Pagrindinį Meniu" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "Base Game:" -msgstr "Slėpti vidinius" +msgstr "Pagrindinis Žaidimas:" #: builtin/mainmenu/dlg_contentstore.lua msgid "ContentDB is not available when Minetest was compiled without cURL" -msgstr "" +msgstr "ContentDB nėra prieinama, kai Minetest sukompiliuojamas be cURL" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "Downloading..." -msgstr "Įkeliama..." +msgstr "Siunčiama..." #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "Failed to download $1" -msgstr "Nepavyko įdiegti $1 į $2" +msgstr "Nepavyko parsiųsti $1" #: builtin/mainmenu/dlg_contentstore.lua #: builtin/mainmenu/dlg_settings_advanced.lua @@ -546,7 +613,7 @@ msgstr "< Atgal į Nustatymus" msgid "Browse" msgstr "Naršyti" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_settings.lua #, fuzzy msgid "Disabled" msgstr "Išjungti papildinį" @@ -592,7 +659,7 @@ msgstr "" msgid "Scale" msgstr "" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua msgid "Search" msgstr "Ieškoti" @@ -741,6 +808,41 @@ msgstr "" "Pabandykite dar kart įjungti viešą serverių sąrašą ir patikrinkite savo " "interneto ryšį." +#: builtin/mainmenu/tab_about.lua +msgid "About" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active Contributors" +msgstr "Aktyvūs pagalbininkai" + +#: builtin/mainmenu/tab_about.lua +msgid "Active renderer:" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Core Developers" +msgstr "Pagrindiniai kūrėjai" + +#: builtin/mainmenu/tab_about.lua +#, fuzzy +msgid "Open User Data Directory" +msgstr "Pasirinkite aplanką" + +#: builtin/mainmenu/tab_about.lua +msgid "" +"Opens the directory that contains user-provided worlds, games, mods,\n" +"and texture packs in a file manager / explorer." +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Contributors" +msgstr "Ankstesni bendradarbiai" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Core Developers" +msgstr "Ankstesni pagrindiniai kūrėjai" + #: builtin/mainmenu/tab_content.lua msgid "Browse online content" msgstr "" @@ -787,37 +889,6 @@ msgstr "Pašalinti pasirinktą papildinį" msgid "Use Texture Pack" msgstr "Tekstūrų paketai" -#: builtin/mainmenu/tab_credits.lua -msgid "Active Contributors" -msgstr "Aktyvūs pagalbininkai" - -#: builtin/mainmenu/tab_credits.lua -msgid "Core Developers" -msgstr "Pagrindiniai kūrėjai" - -#: builtin/mainmenu/tab_credits.lua -msgid "Credits" -msgstr "Padėkos" - -#: builtin/mainmenu/tab_credits.lua -#, fuzzy -msgid "Open User Data Directory" -msgstr "Pasirinkite aplanką" - -#: builtin/mainmenu/tab_credits.lua -msgid "" -"Opens the directory that contains user-provided worlds, games, mods,\n" -"and texture packs in a file manager / explorer." -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Contributors" -msgstr "Ankstesni bendradarbiai" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Core Developers" -msgstr "Ankstesni pagrindiniai kūrėjai" - #: builtin/mainmenu/tab_local.lua msgid "Announce Server" msgstr "Paskelbti Serverį" @@ -848,7 +919,7 @@ msgstr "Serveris" msgid "Install games from ContentDB" msgstr "" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Name" msgstr "" @@ -860,7 +931,7 @@ msgstr "Naujas" msgid "No world created or selected!" msgstr "Nesukurtas ar pasirinktas joks pasaulis!" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua #, fuzzy msgid "Password" msgstr "Naujas slaptažodis" @@ -870,7 +941,7 @@ msgstr "Naujas slaptažodis" msgid "Play Game" msgstr "Pradėti žaidimą" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Port" msgstr "Prievadas" @@ -893,8 +964,13 @@ msgid "Start Game" msgstr "Slėpti vidinius" #: builtin/mainmenu/tab_online.lua -msgid "Address / Port" -msgstr "Adresas / Prievadas" +#, fuzzy +msgid "Address" +msgstr "- Adresas: " + +#: builtin/mainmenu/tab_online.lua src/client/keycode.cpp +msgid "Clear" +msgstr "Išvalyti" #: builtin/mainmenu/tab_online.lua msgid "Connect" @@ -904,9 +980,11 @@ msgstr "Jungtis" msgid "Creative mode" msgstr "Kūrybinė veiksena" +#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "Damage enabled" -msgstr "Žalojimas įjungtas" +#, fuzzy +msgid "Damage / PvP" +msgstr "Leisti sužeidimus" #: builtin/mainmenu/tab_online.lua msgid "Del. Favorite" @@ -914,26 +992,35 @@ msgstr "Pašalinti iš mėgiamų" #: builtin/mainmenu/tab_online.lua #, fuzzy -msgid "Favorite" +msgid "Favorites" msgstr "Mėgiami:" +#: builtin/mainmenu/tab_online.lua +msgid "Incompatible Servers" +msgstr "" + #: builtin/mainmenu/tab_online.lua #, fuzzy msgid "Join Game" msgstr "Slėpti vidinius" -#: builtin/mainmenu/tab_online.lua -msgid "Name / Password" -msgstr "Vardas / Slaptažodis" - #: builtin/mainmenu/tab_online.lua msgid "Ping" msgstr "" -#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "PvP enabled" -msgstr "PvP įjungtas" +#, fuzzy +msgid "Public Servers" +msgstr "Paskelbti Serverį" + +#: builtin/mainmenu/tab_online.lua +msgid "Refresh" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +#, fuzzy +msgid "Server Description" +msgstr "Serverio prievadas" #: builtin/mainmenu/tab_settings.lua msgid "2x" @@ -977,11 +1064,31 @@ msgstr "Nustatyti klavišus" msgid "Connected Glass" msgstr "Jungtis" +#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp +msgid "Dynamic shadows" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Dynamic shadows: " +msgstr "" + #: builtin/mainmenu/tab_settings.lua #, fuzzy msgid "Fancy Leaves" msgstr "Nepermatomi lapai" +#: builtin/mainmenu/tab_settings.lua +msgid "High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Low" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Medium" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Mipmap" msgstr "" @@ -1075,6 +1182,14 @@ msgstr "" msgid "Trilinear Filter" msgstr "" +#: builtin/mainmenu/tab_settings.lua +msgid "Ultra High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Very Low" +msgstr "" + #: builtin/mainmenu/tab_settings.lua #, fuzzy msgid "Waving Leaves" @@ -1150,18 +1265,6 @@ 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 "no" - #: src/client/game.cpp msgid "" "\n" @@ -1416,6 +1519,11 @@ msgstr "MiB/s" msgid "Minimap currently disabled by game or mod" msgstr "" +#: src/client/game.cpp +#, fuzzy +msgid "Multiplayer" +msgstr "Žaisti vienam" + #: src/client/game.cpp msgid "Noclip mode disabled" msgstr "" @@ -1562,10 +1670,6 @@ msgstr "Atgal" msgid "Caps Lock" msgstr "" -#: src/client/keycode.cpp -msgid "Clear" -msgstr "Išvalyti" - #: src/client/keycode.cpp msgid "Control" msgstr "Valdymas" @@ -1861,7 +1965,7 @@ msgstr "Vykdyti" #: src/gui/guiKeyChangeMenu.cpp #, fuzzy -msgid "\"Special\" = climb down" +msgid "\"Aux1\" = climb down" msgstr "„Naudoti“ = kopti žemyn" #: src/gui/guiKeyChangeMenu.cpp @@ -1873,10 +1977,18 @@ msgstr "Pirmyn" msgid "Automatic jumping" msgstr "" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Aux1" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Backward" msgstr "Atgal" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Block bounds" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp #, fuzzy msgid "Change camera" @@ -1969,10 +2081,6 @@ msgstr "" msgid "Sneak" msgstr "Sėlinti" -#: src/gui/guiKeyChangeMenu.cpp -msgid "Special" -msgstr "" - #: src/gui/guiKeyChangeMenu.cpp #, fuzzy msgid "Toggle HUD" @@ -2064,8 +2172,8 @@ 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 " +"(Android) Use virtual joystick to trigger \"Aux1\" button.\n" +"If enabled, virtual joystick will also tap \"Aux1\" button when out of main " "circle." msgstr "" @@ -2361,6 +2469,15 @@ msgstr "" msgid "Autoscaling mode" msgstr "" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Aux1 key" +msgstr "Pašokti" + +#: src/settings_translation_file.cpp +msgid "Aux1 key for climbing/descending" +msgstr "" + #: src/settings_translation_file.cpp #, fuzzy msgid "Backward key" @@ -2407,10 +2524,6 @@ msgstr "" msgid "Biome noise" msgstr "" -#: src/settings_translation_file.cpp -msgid "Bits per pixel (aka color depth) in fullscreen mode." -msgstr "" - #: src/settings_translation_file.cpp msgid "Block send optimize distance" msgstr "" @@ -2509,6 +2622,10 @@ msgid "" "Where 0.0 is minimum light level, 1.0 is maximum light level." msgstr "" +#: src/settings_translation_file.cpp +msgid "Chat command time message threshold" +msgstr "" + #: src/settings_translation_file.cpp msgid "Chat font size" msgstr "" @@ -2615,6 +2732,10 @@ msgstr "Pagrindinis meniu" msgid "Colored fog" msgstr "" +#: src/settings_translation_file.cpp +msgid "Colored shadows" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Comma-separated list of flags to hide in the content repository.\n" @@ -2820,8 +2941,9 @@ msgstr "keisti žaidimą" #: src/settings_translation_file.cpp msgid "" -"Default timeout for cURL, stated in milliseconds.\n" -"Only has an effect if compiled with cURL." +"Define shadow filtering quality\n" +"This simulates the soft shadows effect by applying a PCF or poisson disk\n" +"but also uses more resources." msgstr "" #: src/settings_translation_file.cpp @@ -2984,6 +3106,12 @@ msgid "" "This support is experimental and API can change." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Enable colored shadows. \n" +"On true translucent nodes cast colored shadows. This is expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable console window" msgstr "" @@ -3009,6 +3137,13 @@ msgstr "Papildiniai internete" msgid "Enable players getting damage and dying." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Enable poisson disk filtering.\n" +"On true uses poisson disk to make \"soft shadows\". Otherwise uses PCF " +"filtering." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable random user input (only used for testing)." msgstr "" @@ -3131,18 +3266,6 @@ msgstr "" msgid "Fallback font path" msgstr "" -#: src/settings_translation_file.cpp -msgid "Fallback font shadow" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Fallback font shadow alpha" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Fallback font size" -msgstr "" - #: src/settings_translation_file.cpp msgid "Fast key" msgstr "" @@ -3161,7 +3284,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"Fast movement (via the \"special\" key).\n" +"Fast movement (via the \"Aux1\" key).\n" "This requires the \"fast\" privilege on the server." msgstr "" @@ -3195,9 +3318,9 @@ 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." +"which PNG optimizers usually discard, often resulting in dark or\n" +"light edges to transparent textures. Apply a filter to clean that up\n" +"at texture load time. This is automatically enabled if mipmapping is enabled." msgstr "" #: src/settings_translation_file.cpp @@ -3292,10 +3415,6 @@ msgstr "" msgid "Font size of the default font in point (pt)." msgstr "" -#: src/settings_translation_file.cpp -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 "" @@ -3394,10 +3513,6 @@ msgstr "" msgid "Full screen" msgstr "" -#: src/settings_translation_file.cpp -msgid "Full screen BPP" -msgstr "" - #: src/settings_translation_file.cpp msgid "Fullscreen mode." msgstr "" @@ -3492,7 +3607,8 @@ msgid "Heat noise" msgstr "" #: src/settings_translation_file.cpp -msgid "Height component of the initial window size." +msgid "" +"Height component of the initial window size. Ignored in fullscreen mode." msgstr "" #: src/settings_translation_file.cpp @@ -3504,10 +3620,6 @@ msgstr "Dešinieji langai" msgid "Height select noise" msgstr "" -#: src/settings_translation_file.cpp -msgid "High-precision FPU" -msgstr "" - #: src/settings_translation_file.cpp msgid "Hill steepness" msgstr "" @@ -3739,8 +3851,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"If disabled, \"special\" key is used to fly fast if both fly and fast mode " -"are\n" +"If disabled, \"Aux1\" key is used to fly fast if both fly and fast mode are\n" "enabled." msgstr "" @@ -3762,8 +3873,8 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"If enabled, \"special\" key instead of \"sneak\" key is used for climbing " -"down and\n" +"If enabled, \"Aux1\" key instead of \"Sneak\" key is used for climbing down " +"and\n" "descending." msgstr "" @@ -3807,6 +3918,12 @@ msgid "" "to this distance from the player to the node." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"If the execution of a chat command takes longer than this specified time in\n" +"seconds, add the time information to the chat command message" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "If the file size of debug.txt exceeds the number of megabytes specified in\n" @@ -4702,10 +4819,6 @@ msgid "" "Make fog and sky colors depend on daytime (dawn/sunset) and view direction." msgstr "" -#: src/settings_translation_file.cpp -msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." -msgstr "" - #: src/settings_translation_file.cpp msgid "Makes all liquids opaque" msgstr "" @@ -4777,6 +4890,10 @@ msgstr "" msgid "Map save interval" msgstr "" +#: src/settings_translation_file.cpp +msgid "Map update time" +msgstr "" + #: src/settings_translation_file.cpp msgid "Mapblock limit" msgstr "" @@ -4894,6 +5011,10 @@ msgstr "" msgid "Maximum FPS when the window is not focused, or when the game is paused." msgstr "" +#: src/settings_translation_file.cpp +msgid "Maximum distance to render shadows." +msgstr "" + #: src/settings_translation_file.cpp msgid "Maximum forceloaded blocks" msgstr "" @@ -5000,7 +5121,15 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "Maximum time in ms a file download (e.g. a mod download) may take." +msgid "" +"Maximum time a file download (e.g. a mod download) may take, stated in " +"milliseconds." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum time an interactive request (e.g. server list fetch) may take, " +"stated in milliseconds." msgstr "" #: src/settings_translation_file.cpp @@ -5215,11 +5344,6 @@ 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 " @@ -5320,6 +5444,10 @@ msgstr "" msgid "Player versus player" msgstr "" +#: src/settings_translation_file.cpp +msgid "Poisson filtering" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Port to connect to (UDP).\n" @@ -5664,6 +5792,40 @@ msgstr "" msgid "Set the maximum character length of a chat message sent by clients." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow strength.\n" +"Lower value means lighter shadows, higher value means darker shadows." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow update time.\n" +"Lower value means shadows and map updates faster, but it consume more " +"resources.\n" +"Minimun value 0.001 seconds max value 0.2 seconds" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the soft shadow radius size.\n" +"Lower values mean sharper shadows bigger values softer.\n" +"Minimun value 1.0 and max value 10.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the tilt of Sun/Moon orbit in degrees\n" +"Value of 0 means no tilt / vertical orbit.\n" +"Minimun value 0.0 and max value 60.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set to true to enable Shadow Mapping.\n" +"Requires shaders to be enabled." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Set to true to enable waving leaves.\n" @@ -5682,6 +5844,13 @@ msgid "" "Requires shaders to be enabled." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Sets shadow texture quality to 32 bits.\n" +"On false, 16 bits texture will be used.\n" +"This can cause much more artifacts in the shadow." +msgstr "" + #: src/settings_translation_file.cpp #, fuzzy msgid "Shader path" @@ -5695,6 +5864,22 @@ msgid "" "This only works with the OpenGL video backend." msgstr "" +#: src/settings_translation_file.cpp +msgid "Shadow filter quality" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map max distance in nodes to render shadows" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture in 32 bits" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture size" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Shadow offset (in pixels) of the default font. If 0, then shadow will not be " @@ -5702,9 +5887,7 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "" -"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not " -"be drawn." +msgid "Shadow strength" msgstr "" #: src/settings_translation_file.cpp @@ -5750,6 +5933,10 @@ msgid "" "thread, thus reducing jitter." msgstr "" +#: src/settings_translation_file.cpp +msgid "Sky Body Orbit Tilt" +msgstr "" + #: src/settings_translation_file.cpp msgid "Slice w" msgstr "" @@ -5808,16 +5995,11 @@ msgid "Sneaking speed, in nodes per second." msgstr "" #: src/settings_translation_file.cpp -msgid "Sound" +msgid "Soft shadow radius" msgstr "" #: src/settings_translation_file.cpp -#, fuzzy -msgid "Special key" -msgstr "Nustatyti klavišus" - -#: src/settings_translation_file.cpp -msgid "Special key for climbing/descending" +msgid "Sound" msgstr "" #: src/settings_translation_file.cpp @@ -5941,6 +6123,13 @@ msgstr "" msgid "Texture path" msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Texture size to render the shadow map on.\n" +"This must be a power of two.\n" +"Bigger numbers create better shadowsbut it is also more expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Textures on a node may be aligned either to the node or to the world.\n" @@ -6014,7 +6203,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"The rendering back-end for Irrlicht.\n" +"The rendering back-end.\n" "A restart is required after changing this.\n" "Note: On Android, stick with OGLES1 if unsure! App may fail to start " "otherwise.\n" @@ -6301,7 +6490,7 @@ msgid "Viewing range" msgstr "" #: src/settings_translation_file.cpp -msgid "Virtual joystick triggers aux button" +msgid "Virtual joystick triggers Aux1 button" msgstr "" #: src/settings_translation_file.cpp @@ -6396,9 +6585,8 @@ msgid "" "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" +"memory. Powers of 2 are recommended. This setting is ONLY applies if\n" +"bilinear/trilinear/anisotropic filtering is enabled.\n" "This is also used as the base node texture size for world-aligned\n" "texture autoscaling." msgstr "" @@ -6454,7 +6642,7 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "Width component of the initial window size." +msgid "Width component of the initial window size. Ignored in fullscreen mode." msgstr "" #: src/settings_translation_file.cpp @@ -6562,13 +6750,16 @@ msgid "cURL file download timeout" msgstr "" #: src/settings_translation_file.cpp -msgid "cURL parallel limit" +msgid "cURL interactive timeout" msgstr "" #: src/settings_translation_file.cpp -msgid "cURL timeout" +msgid "cURL parallel limit" msgstr "" +#~ msgid "Address / Port" +#~ msgstr "Adresas / Prievadas" + #~ msgid "Are you sure to reset your singleplayer world?" #~ msgstr "Ar tikrai norite perkurti savo lokalų pasaulį?" @@ -6581,6 +6772,12 @@ msgstr "" #~ msgid "Configure" #~ msgstr "Konfigūruoti" +#~ msgid "Credits" +#~ msgstr "Padėkos" + +#~ msgid "Damage enabled" +#~ msgstr "Žalojimas įjungtas" + #, fuzzy #~ msgid "Downloading and installing $1, please wait..." #~ msgstr "Atsiunčiama $1, prašome palaukti..." @@ -6600,6 +6797,9 @@ msgstr "" #~ msgid "Main menu style" #~ msgstr "Pagrindinis meniu" +#~ msgid "Name / Password" +#~ msgstr "Vardas / Slaptažodis" + #~ msgid "Name/Password" #~ msgstr "Vardas/slaptažodis" @@ -6616,6 +6816,9 @@ msgstr "" #~ msgid "Parallax occlusion scale" #~ msgstr "Paralaksinė okliuzija" +#~ msgid "PvP enabled" +#~ msgstr "PvP įjungtas" + #, fuzzy #~ msgid "Reset singleplayer world" #~ msgstr "Atstatyti vieno žaidėjo pasaulį" @@ -6624,6 +6827,10 @@ msgstr "" #~ msgid "Select Package File:" #~ msgstr "Pasirinkite papildinio failą:" +#, fuzzy +#~ msgid "Special key" +#~ msgstr "Nustatyti klavišus" + #~ msgid "Start Singleplayer" #~ msgstr "Atstatyti vieno žaidėjo pasaulį" @@ -6632,3 +6839,6 @@ msgstr "" #~ msgid "Yes" #~ msgstr "Taip" + +#~ msgid "needs_fallback_font" +#~ msgstr "no" diff --git a/po/lv/minetest.po b/po/lv/minetest.po index e1b4de861..cf8a5f4f3 100644 --- a/po/lv/minetest.po +++ b/po/lv/minetest.po @@ -7,9 +7,9 @@ msgid "" msgstr "" "Project-Id-Version: minetest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-02-23 19:03+0100\n" -"PO-Revision-Date: 2020-07-12 17:41+0000\n" -"Last-Translator: Uko Koknevics \n" +"POT-Creation-Date: 2021-06-16 18:27+0200\n" +"PO-Revision-Date: 2021-04-02 10:26+0000\n" +"Last-Translator: Dainis \n" "Language-Team: Latvian \n" "Language: lv\n" @@ -18,7 +18,47 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n % 10 == 0 || n % 100 >= 11 && n % 100 <= " "19) ? 0 : ((n % 10 == 1 && n % 100 != 11) ? 1 : 2);\n" -"X-Generator: Weblate 4.2-dev\n" +"X-Generator: Weblate 4.6-dev\n" + +#: builtin/client/chatcommands.lua +msgid "Clear the out chat queue" +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "Empty command." +msgstr "" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Exit to main menu" +msgstr "Iziet uz izvēlni" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Invalid command: " +msgstr "Lokālā komanda" + +#: builtin/client/chatcommands.lua +msgid "Issued command: " +msgstr "" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "List online players" +msgstr "Viena spēlētāja režīms" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Online players: " +msgstr "Viena spēlētāja režīms" + +#: builtin/client/chatcommands.lua +msgid "The out chat queue is now empty." +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "This command is disabled by server." +msgstr "" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -28,13 +68,45 @@ msgstr "Atdzīvoties" msgid "You died" msgstr "Jūs nomirāt" +#: builtin/client/death_formspec.lua +#, fuzzy +msgid "You died." +msgstr "Jūs nomirāt" + +#: builtin/common/chatcommands.lua +#, fuzzy +msgid "Available commands:" +msgstr "Lokālā komanda" + +#: builtin/common/chatcommands.lua +#, fuzzy +msgid "Available commands: " +msgstr "Lokālā komanda" + +#: builtin/common/chatcommands.lua +msgid "Command not available: " +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "Get help for commands" +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "" +"Use '.help ' to get more information, or '.help all' to list everything." +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "[all | ]" +msgstr "" + #: builtin/fstk/dialog.lua builtin/fstk/ui.lua src/gui/modalMenu.cpp msgid "OK" msgstr "" #: builtin/fstk/ui.lua msgid "An error occurred in a Lua script:" -msgstr "Radās kļūme Lua skriptā:" +msgstr "Lua skriptā radās kļūme:" #: builtin/fstk/ui.lua msgid "An error occurred:" @@ -249,7 +321,7 @@ msgstr "Nevarēja iegūt papildinājumus" #: builtin/mainmenu/dlg_contentstore.lua msgid "No results" -msgstr "Nav resultātu" +msgstr "Nav rezultātu" #: builtin/mainmenu/dlg_contentstore.lua #, fuzzy @@ -282,7 +354,7 @@ msgstr "Atinstalēt" #: builtin/mainmenu/dlg_contentstore.lua msgid "Update" -msgstr "Atjaunot" +msgstr "Atjaunināt" #: builtin/mainmenu/dlg_contentstore.lua msgid "Update All [$1]" @@ -294,7 +366,7 @@ msgstr "" #: builtin/mainmenu/dlg_create_world.lua msgid "A world named \"$1\" already exists" -msgstr "Pasaule ar nosaukumu “$1” jau eksistē" +msgstr "Pasaule ar nosaukumu “$1” jau pastāv" #: builtin/mainmenu/dlg_create_world.lua msgid "Additional terrain" @@ -544,7 +616,7 @@ msgstr "< Atpakaļ uz Iestatījumu lapu" msgid "Browse" msgstr "Pārlūkot" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_settings.lua msgid "Disabled" msgstr "Atspējots" @@ -588,7 +660,7 @@ msgstr "Atiestatīt uz noklusējumu" msgid "Scale" msgstr "Mērogs" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua msgid "Search" msgstr "Meklēt" @@ -724,6 +796,41 @@ msgstr "" "Pamēģiniet atkārtoti ieslēgt publisko serveru sarakstu un pārbaudiet " "interneta savienojumu." +#: builtin/mainmenu/tab_about.lua +msgid "About" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active Contributors" +msgstr "Aktīvie dalībnieki" + +#: builtin/mainmenu/tab_about.lua +msgid "Active renderer:" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Core Developers" +msgstr "Pamata izstrādātāji" + +#: builtin/mainmenu/tab_about.lua +#, fuzzy +msgid "Open User Data Directory" +msgstr "Izvēlēties mapi" + +#: builtin/mainmenu/tab_about.lua +msgid "" +"Opens the directory that contains user-provided worlds, games, mods,\n" +"and texture packs in a file manager / explorer." +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Contributors" +msgstr "Bijušie dalībnieki" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Core Developers" +msgstr "Bijušie pamata izstrādātāji" + #: builtin/mainmenu/tab_content.lua msgid "Browse online content" msgstr "Pārlūkot tiešsaistes saturu" @@ -764,37 +871,6 @@ msgstr "Atinstalēt papildinājumu" msgid "Use Texture Pack" msgstr "Iespējot tekstūru komplektu" -#: builtin/mainmenu/tab_credits.lua -msgid "Active Contributors" -msgstr "Aktīvie dalībnieki" - -#: builtin/mainmenu/tab_credits.lua -msgid "Core Developers" -msgstr "Pamata izstrādātāji" - -#: builtin/mainmenu/tab_credits.lua -msgid "Credits" -msgstr "Pateicības" - -#: builtin/mainmenu/tab_credits.lua -#, fuzzy -msgid "Open User Data Directory" -msgstr "Izvēlēties mapi" - -#: builtin/mainmenu/tab_credits.lua -msgid "" -"Opens the directory that contains user-provided worlds, games, mods,\n" -"and texture packs in a file manager / explorer." -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Contributors" -msgstr "Bijušie dalībnieki" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Core Developers" -msgstr "Bijušie pamata izstrādātāji" - #: builtin/mainmenu/tab_local.lua msgid "Announce Server" msgstr "Paziņot par serveri" @@ -823,7 +899,7 @@ msgstr "Palaist serveri" msgid "Install games from ContentDB" msgstr "" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Name" msgstr "" @@ -835,7 +911,7 @@ msgstr "Jauns" msgid "No world created or selected!" msgstr "Pasaule nav ne izveidota, ne izvēlēta!" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua #, fuzzy msgid "Password" msgstr "Jaunā parole" @@ -844,7 +920,7 @@ msgstr "Jaunā parole" msgid "Play Game" msgstr "Spēlēt" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Port" msgstr "Ports" @@ -866,8 +942,13 @@ msgid "Start Game" msgstr "Sākt spēli" #: builtin/mainmenu/tab_online.lua -msgid "Address / Port" -msgstr "Adrese / Ports" +#, fuzzy +msgid "Address" +msgstr "- Adrese: " + +#: builtin/mainmenu/tab_online.lua src/client/keycode.cpp +msgid "Clear" +msgstr "Notīrīt" #: builtin/mainmenu/tab_online.lua msgid "Connect" @@ -877,34 +958,46 @@ msgstr "Pieslēgties" msgid "Creative mode" msgstr "Radošais režīms" +#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "Damage enabled" -msgstr "Bojājumi iespējoti" +#, fuzzy +msgid "Damage / PvP" +msgstr "- Bojājumi: " #: builtin/mainmenu/tab_online.lua msgid "Del. Favorite" msgstr "Izdzēst no izlases" #: builtin/mainmenu/tab_online.lua -msgid "Favorite" +#, fuzzy +msgid "Favorites" msgstr "Pievienot izlasei" +#: builtin/mainmenu/tab_online.lua +msgid "Incompatible Servers" +msgstr "" + #: builtin/mainmenu/tab_online.lua msgid "Join Game" msgstr "Pievienoties spēlei" -#: builtin/mainmenu/tab_online.lua -msgid "Name / Password" -msgstr "Vārds / Parole" - #: builtin/mainmenu/tab_online.lua msgid "Ping" msgstr "Pings" -#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "PvP enabled" -msgstr "PvP iespējots" +#, fuzzy +msgid "Public Servers" +msgstr "Paziņot par serveri" + +#: builtin/mainmenu/tab_online.lua +msgid "Refresh" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +#, fuzzy +msgid "Server Description" +msgstr "Servera ports" #: builtin/mainmenu/tab_settings.lua msgid "2x" @@ -946,10 +1039,30 @@ msgstr "Nomainīt kontroles" msgid "Connected Glass" msgstr "Savienots stikls" +#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp +msgid "Dynamic shadows" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Dynamic shadows: " +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Fancy Leaves" msgstr "Skaistas lapas" +#: builtin/mainmenu/tab_settings.lua +msgid "High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Low" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Medium" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Mipmap" msgstr "“Mipmap”" @@ -1039,6 +1152,14 @@ msgstr "Pieskārienslieksnis: (px)" msgid "Trilinear Filter" msgstr "Trilineārais filtrs" +#: builtin/mainmenu/tab_settings.lua +msgid "Ultra High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Very Low" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Waving Leaves" msgstr "Viļņojošas lapas" @@ -1111,18 +1232,6 @@ msgstr "Neizdevās atvērt iestatīto paroļu failu: " msgid "Provided world path doesn't exist: " msgstr "Sniegtā pasaules atrašanās vieta neeksistē: " -#. ~ 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" - #: src/client/game.cpp msgid "" "\n" @@ -1366,6 +1475,11 @@ msgstr "MiB/s" msgid "Minimap currently disabled by game or mod" msgstr "Minikarte šobrīd atspējota vai nu spēlei, vai modam" +#: src/client/game.cpp +#, fuzzy +msgid "Multiplayer" +msgstr "Viena spēlētāja režīms" + #: src/client/game.cpp msgid "Noclip mode disabled" msgstr "“Noclip” režīms izslēgts" @@ -1507,10 +1621,6 @@ msgstr "Backspace" msgid "Caps Lock" msgstr "Caps Lock" -#: src/client/keycode.cpp -msgid "Clear" -msgstr "Notīrīt" - #: src/client/keycode.cpp msgid "Control" msgstr "Ctrl" @@ -1806,7 +1916,8 @@ msgid "Proceed" msgstr "Turpināt" #: src/gui/guiKeyChangeMenu.cpp -msgid "\"Special\" = climb down" +#, fuzzy +msgid "\"Aux1\" = climb down" msgstr "“Speciālais” = kāpt lejā" #: src/gui/guiKeyChangeMenu.cpp @@ -1817,10 +1928,18 @@ msgstr "Auto-iešana" msgid "Automatic jumping" msgstr "Automātiskā lekšana" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Aux1" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Backward" msgstr "Atmuguriski" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Block bounds" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Change camera" msgstr "Mainīt kameru" @@ -1911,10 +2030,6 @@ msgstr "Ekrānšāviņš" msgid "Sneak" msgstr "Lavīties" -#: src/gui/guiKeyChangeMenu.cpp -msgid "Special" -msgstr "Speciālais" - #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle HUD" msgstr "Spēles saskarne" @@ -2000,8 +2115,8 @@ 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 " +"(Android) Use virtual joystick to trigger \"Aux1\" button.\n" +"If enabled, virtual joystick will also tap \"Aux1\" button when out of main " "circle." msgstr "" @@ -2295,6 +2410,14 @@ msgstr "" msgid "Autoscaling mode" msgstr "" +#: src/settings_translation_file.cpp +msgid "Aux1 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Aux1 key for climbing/descending" +msgstr "" + #: src/settings_translation_file.cpp msgid "Backward key" msgstr "" @@ -2339,10 +2462,6 @@ msgstr "" msgid "Biome noise" msgstr "" -#: src/settings_translation_file.cpp -msgid "Bits per pixel (aka color depth) in fullscreen mode." -msgstr "" - #: src/settings_translation_file.cpp msgid "Block send optimize distance" msgstr "" @@ -2441,6 +2560,10 @@ msgid "" "Where 0.0 is minimum light level, 1.0 is maximum light level." msgstr "" +#: src/settings_translation_file.cpp +msgid "Chat command time message threshold" +msgstr "" + #: src/settings_translation_file.cpp msgid "Chat font size" msgstr "" @@ -2537,6 +2660,10 @@ msgstr "" msgid "Colored fog" msgstr "" +#: src/settings_translation_file.cpp +msgid "Colored shadows" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Comma-separated list of flags to hide in the content repository.\n" @@ -2732,8 +2859,9 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"Default timeout for cURL, stated in milliseconds.\n" -"Only has an effect if compiled with cURL." +"Define shadow filtering quality\n" +"This simulates the soft shadows effect by applying a PCF or poisson disk\n" +"but also uses more resources." msgstr "" #: src/settings_translation_file.cpp @@ -2894,6 +3022,12 @@ msgid "" "This support is experimental and API can change." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Enable colored shadows. \n" +"On true translucent nodes cast colored shadows. This is expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable console window" msgstr "" @@ -2918,6 +3052,13 @@ msgstr "" msgid "Enable players getting damage and dying." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Enable poisson disk filtering.\n" +"On true uses poisson disk to make \"soft shadows\". Otherwise uses PCF " +"filtering." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable random user input (only used for testing)." msgstr "" @@ -3040,18 +3181,6 @@ msgstr "" msgid "Fallback font path" msgstr "" -#: src/settings_translation_file.cpp -msgid "Fallback font shadow" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Fallback font shadow alpha" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Fallback font size" -msgstr "" - #: src/settings_translation_file.cpp msgid "Fast key" msgstr "" @@ -3069,10 +3198,13 @@ msgid "Fast movement" msgstr "Ātrā pārvietošanās" #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"Fast movement (via the \"special\" key).\n" +"Fast movement (via the \"Aux1\" key).\n" "This requires the \"fast\" privilege on the server." msgstr "" +"Spēlētājs var lidot ignorējot gravitāciju.\n" +"Šim ir vajadzīga “fly” privilēģija servera pusē." #: src/settings_translation_file.cpp msgid "Field of view" @@ -3104,9 +3236,9 @@ 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." +"which PNG optimizers usually discard, often resulting in dark or\n" +"light edges to transparent textures. Apply a filter to clean that up\n" +"at texture load time. This is automatically enabled if mipmapping is enabled." msgstr "" #: src/settings_translation_file.cpp @@ -3201,10 +3333,6 @@ msgstr "" msgid "Font size of the default font in point (pt)." msgstr "" -#: src/settings_translation_file.cpp -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 "" @@ -3302,10 +3430,6 @@ msgstr "" msgid "Full screen" msgstr "" -#: src/settings_translation_file.cpp -msgid "Full screen BPP" -msgstr "" - #: src/settings_translation_file.cpp msgid "Fullscreen mode." msgstr "" @@ -3399,7 +3523,8 @@ msgid "Heat noise" msgstr "" #: src/settings_translation_file.cpp -msgid "Height component of the initial window size." +msgid "" +"Height component of the initial window size. Ignored in fullscreen mode." msgstr "" #: src/settings_translation_file.cpp @@ -3410,10 +3535,6 @@ msgstr "" msgid "Height select noise" msgstr "" -#: src/settings_translation_file.cpp -msgid "High-precision FPU" -msgstr "" - #: src/settings_translation_file.cpp msgid "Hill steepness" msgstr "" @@ -3645,8 +3766,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"If disabled, \"special\" key is used to fly fast if both fly and fast mode " -"are\n" +"If disabled, \"Aux1\" key is used to fly fast if both fly and fast mode are\n" "enabled." msgstr "" @@ -3668,8 +3788,8 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"If enabled, \"special\" key instead of \"sneak\" key is used for climbing " -"down and\n" +"If enabled, \"Aux1\" key instead of \"Sneak\" key is used for climbing down " +"and\n" "descending." msgstr "" @@ -3717,6 +3837,12 @@ msgid "" "to this distance from the player to the node." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"If the execution of a chat command takes longer than this specified time in\n" +"seconds, add the time information to the chat command message" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "If the file size of debug.txt exceeds the number of megabytes specified in\n" @@ -4605,10 +4731,6 @@ msgid "" "Make fog and sky colors depend on daytime (dawn/sunset) and view direction." msgstr "" -#: src/settings_translation_file.cpp -msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." -msgstr "" - #: src/settings_translation_file.cpp msgid "Makes all liquids opaque" msgstr "" @@ -4680,6 +4802,10 @@ msgstr "" msgid "Map save interval" msgstr "" +#: src/settings_translation_file.cpp +msgid "Map update time" +msgstr "" + #: src/settings_translation_file.cpp msgid "Mapblock limit" msgstr "" @@ -4788,6 +4914,10 @@ msgstr "" msgid "Maximum FPS when the window is not focused, or when the game is paused." msgstr "" +#: src/settings_translation_file.cpp +msgid "Maximum distance to render shadows." +msgstr "" + #: src/settings_translation_file.cpp msgid "Maximum forceloaded blocks" msgstr "" @@ -4894,7 +5024,15 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "Maximum time in ms a file download (e.g. a mod download) may take." +msgid "" +"Maximum time a file download (e.g. a mod download) may take, stated in " +"milliseconds." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum time an interactive request (e.g. server list fetch) may take, " +"stated in milliseconds." msgstr "" #: src/settings_translation_file.cpp @@ -5107,11 +5245,6 @@ 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 " @@ -5212,6 +5345,10 @@ msgstr "" msgid "Player versus player" msgstr "" +#: src/settings_translation_file.cpp +msgid "Poisson filtering" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Port to connect to (UDP).\n" @@ -5546,6 +5683,40 @@ msgstr "" msgid "Set the maximum character length of a chat message sent by clients." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow strength.\n" +"Lower value means lighter shadows, higher value means darker shadows." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow update time.\n" +"Lower value means shadows and map updates faster, but it consume more " +"resources.\n" +"Minimun value 0.001 seconds max value 0.2 seconds" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the soft shadow radius size.\n" +"Lower values mean sharper shadows bigger values softer.\n" +"Minimun value 1.0 and max value 10.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the tilt of Sun/Moon orbit in degrees\n" +"Value of 0 means no tilt / vertical orbit.\n" +"Minimun value 0.0 and max value 60.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set to true to enable Shadow Mapping.\n" +"Requires shaders to be enabled." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Set to true to enable waving leaves.\n" @@ -5564,6 +5735,13 @@ msgid "" "Requires shaders to be enabled." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Sets shadow texture quality to 32 bits.\n" +"On false, 16 bits texture will be used.\n" +"This can cause much more artifacts in the shadow." +msgstr "" + #: src/settings_translation_file.cpp msgid "Shader path" msgstr "" @@ -5576,6 +5754,22 @@ msgid "" "This only works with the OpenGL video backend." msgstr "" +#: src/settings_translation_file.cpp +msgid "Shadow filter quality" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map max distance in nodes to render shadows" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture in 32 bits" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture size" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Shadow offset (in pixels) of the default font. If 0, then shadow will not be " @@ -5583,9 +5777,7 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "" -"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not " -"be drawn." +msgid "Shadow strength" msgstr "" #: src/settings_translation_file.cpp @@ -5631,6 +5823,10 @@ msgid "" "thread, thus reducing jitter." msgstr "" +#: src/settings_translation_file.cpp +msgid "Sky Body Orbit Tilt" +msgstr "" + #: src/settings_translation_file.cpp msgid "Slice w" msgstr "" @@ -5685,18 +5881,14 @@ msgstr "" msgid "Sneaking speed, in nodes per second." msgstr "" +#: src/settings_translation_file.cpp +msgid "Soft shadow radius" +msgstr "" + #: src/settings_translation_file.cpp msgid "Sound" msgstr "" -#: src/settings_translation_file.cpp -msgid "Special key" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Special key for climbing/descending" -msgstr "" - #: src/settings_translation_file.cpp msgid "" "Specifies URL from which client fetches media instead of using UDP.\n" @@ -5818,6 +6010,13 @@ msgstr "" msgid "Texture path" msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Texture size to render the shadow map on.\n" +"This must be a power of two.\n" +"Bigger numbers create better shadowsbut it is also more expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Textures on a node may be aligned either to the node or to the world.\n" @@ -5891,7 +6090,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"The rendering back-end for Irrlicht.\n" +"The rendering back-end.\n" "A restart is required after changing this.\n" "Note: On Android, stick with OGLES1 if unsure! App may fail to start " "otherwise.\n" @@ -6178,7 +6377,7 @@ msgid "Viewing range" msgstr "" #: src/settings_translation_file.cpp -msgid "Virtual joystick triggers aux button" +msgid "Virtual joystick triggers Aux1 button" msgstr "" #: src/settings_translation_file.cpp @@ -6269,9 +6468,8 @@ msgid "" "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" +"memory. Powers of 2 are recommended. This setting is ONLY applies if\n" +"bilinear/trilinear/anisotropic filtering is enabled.\n" "This is also used as the base node texture size for world-aligned\n" "texture autoscaling." msgstr "" @@ -6327,7 +6525,7 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "Width component of the initial window size." +msgid "Width component of the initial window size. Ignored in fullscreen mode." msgstr "" #: src/settings_translation_file.cpp @@ -6434,13 +6632,16 @@ msgid "cURL file download timeout" msgstr "" #: src/settings_translation_file.cpp -msgid "cURL parallel limit" +msgid "cURL interactive timeout" msgstr "" #: src/settings_translation_file.cpp -msgid "cURL timeout" +msgid "cURL parallel limit" msgstr "" +#~ msgid "Address / Port" +#~ msgstr "Adrese / Ports" + #~ msgid "Are you sure to reset your singleplayer world?" #~ msgstr "" #~ "Vai esat pārliecināts, ka vēlaties atiestatīt savu viena spēlētāja " @@ -6458,6 +6659,12 @@ msgstr "" #~ msgid "Configure" #~ msgstr "Iestatīt" +#~ msgid "Credits" +#~ msgstr "Pateicības" + +#~ msgid "Damage enabled" +#~ msgstr "Bojājumi iespējoti" + #~ msgid "Downloading and installing $1, please wait..." #~ msgstr "Lejuplādējas un instalējas $1, lūdzu uzgaidiet..." @@ -6479,6 +6686,9 @@ msgstr "" #~ msgid "Minimap in surface mode, Zoom x4" #~ msgstr "Minikarte virsmas režīmā, palielinājums x4" +#~ msgid "Name / Password" +#~ msgstr "Vārds / Parole" + #~ msgid "Name/Password" #~ msgstr "Vārds/Parole" @@ -6491,11 +6701,20 @@ msgstr "" #~ msgid "Parallax Occlusion" #~ msgstr "Tekstūru dziļums" +#~ msgid "PvP enabled" +#~ msgstr "PvP iespējots" + #~ msgid "Reset singleplayer world" #~ msgstr "Atiestatīt viena spēlētāja pasauli" +#~ msgid "Special" +#~ msgstr "Speciālais" + #~ msgid "Start Singleplayer" #~ msgstr "Sākt viena spēlētāja spēli" #~ msgid "Yes" #~ msgstr "Jā" + +#~ msgid "needs_fallback_font" +#~ msgstr "no" diff --git a/po/minetest.pot b/po/minetest.pot index b5556d3f3..53b706f5f 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: 2021-02-23 19:03+0100\n" +"POT-Creation-Date: 2021-06-16 18:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,6 +17,46 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +#: builtin/client/chatcommands.lua +msgid "Issued command: " +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "Empty command." +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "Invalid command: " +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "List online players" +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "This command is disabled by server." +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "Online players: " +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "Exit to main menu" +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "Clear the out chat queue" +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "The out chat queue is now empty." +msgstr "" + +#: builtin/client/death_formspec.lua +msgid "You died." +msgstr "" + #: builtin/client/death_formspec.lua src/client/game.cpp msgid "You died" msgstr "" @@ -25,6 +65,31 @@ msgstr "" msgid "Respawn" msgstr "" +#: builtin/common/chatcommands.lua +msgid "Available commands: " +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "" +"Use '.help ' to get more information, or '.help all' to list everything." +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "Available commands:" +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "Command not available: " +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "[all | ]" +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "Get help for commands" +msgstr "" + #: builtin/fstk/dialog.lua builtin/fstk/ui.lua src/gui/modalMenu.cpp msgid "OK" msgstr "" @@ -511,7 +576,7 @@ msgstr "" msgid "Rename Modpack:" msgstr "" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_settings.lua msgid "Disabled" msgstr "" @@ -622,7 +687,7 @@ msgstr "" msgid "Select file" msgstr "" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua msgid "Search" msgstr "" @@ -702,6 +767,40 @@ msgstr "" msgid "Public server list is disabled" msgstr "" +#: builtin/mainmenu/tab_about.lua +msgid "About" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Core Developers" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active Contributors" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Core Developers" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Contributors" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active renderer:" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "" +"Opens the directory that contains user-provided worlds, games, mods,\n" +"and texture packs in a file manager / explorer." +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Open User Data Directory" +msgstr "" + #: builtin/mainmenu/tab_content.lua msgid "Installed Packages:" msgstr "" @@ -742,36 +841,6 @@ msgstr "" msgid "Content" msgstr "" -#: builtin/mainmenu/tab_credits.lua -msgid "Credits" -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Core Developers" -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Active Contributors" -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Core Developers" -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Contributors" -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "" -"Opens the directory that contains user-provided worlds, games, mods,\n" -"and texture packs in a file manager / explorer." -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Open User Data Directory" -msgstr "" - #: builtin/mainmenu/tab_local.lua msgid "Install games from ContentDB" msgstr "" @@ -808,11 +877,11 @@ msgstr "" msgid "Announce Server" msgstr "" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Name" msgstr "" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Password" msgstr "" @@ -820,7 +889,7 @@ msgstr "" msgid "Bind Address" msgstr "" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Port" msgstr "" @@ -840,12 +909,20 @@ msgstr "" msgid "Start Game" msgstr "" -#: builtin/mainmenu/tab_online.lua -msgid "Address / Port" +#: builtin/mainmenu/tab_online.lua src/client/keycode.cpp +msgid "Clear" msgstr "" #: builtin/mainmenu/tab_online.lua -msgid "Name / Password" +msgid "Refresh" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +msgid "Address" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +msgid "Server Description" msgstr "" #: builtin/mainmenu/tab_online.lua @@ -856,10 +933,6 @@ msgstr "" msgid "Del. Favorite" msgstr "" -#: builtin/mainmenu/tab_online.lua -msgid "Favorite" -msgstr "" - #: builtin/mainmenu/tab_online.lua msgid "Ping" msgstr "" @@ -868,13 +941,21 @@ msgstr "" msgid "Creative mode" msgstr "" -#: builtin/mainmenu/tab_online.lua -msgid "Damage enabled" -msgstr "" - #. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "PvP enabled" +msgid "Damage / PvP" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +msgid "Favorites" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +msgid "Public Servers" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +msgid "Incompatible Servers" msgstr "" #: builtin/mainmenu/tab_online.lua @@ -941,6 +1022,26 @@ msgstr "" msgid "8x" msgstr "" +#: builtin/mainmenu/tab_settings.lua +msgid "Very Low" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Low" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Medium" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Ultra High" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Smooth Lighting" msgstr "" @@ -1017,6 +1118,14 @@ msgstr "" msgid "Waving Plants" msgstr "" +#: builtin/mainmenu/tab_settings.lua +msgid "Dynamic shadows: " +msgstr "" + +#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp +msgid "Dynamic shadows" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "To enable shaders the OpenGL driver needs to be used." msgstr "" @@ -1097,6 +1206,14 @@ msgstr "" msgid "Creating client..." msgstr "" +#: src/client/game.cpp +msgid "Singleplayer" +msgstr "" + +#: src/client/game.cpp +msgid "Multiplayer" +msgstr "" + #: src/client/game.cpp msgid "Resolving address..." msgstr "" @@ -1364,10 +1481,6 @@ msgstr "" msgid "- Port: " msgstr "" -#: src/client/game.cpp -msgid "Singleplayer" -msgstr "" - #: src/client/game.cpp msgid "On" msgstr "" @@ -1456,10 +1569,6 @@ msgstr "" msgid "Tab" msgstr "" -#: src/client/keycode.cpp -msgid "Clear" -msgstr "" - #: src/client/keycode.cpp msgid "Return" msgstr "" @@ -1736,7 +1845,7 @@ msgid "Keybindings. (If this menu screws up, remove stuff from minetest.conf)" msgstr "" #: src/gui/guiKeyChangeMenu.cpp -msgid "\"Special\" = climb down" +msgid "\"Aux1\" = climb down" msgstr "" #: src/gui/guiKeyChangeMenu.cpp @@ -1764,7 +1873,7 @@ msgid "Backward" msgstr "" #: src/gui/guiKeyChangeMenu.cpp -msgid "Special" +msgid "Aux1" msgstr "" #: src/gui/guiKeyChangeMenu.cpp @@ -1863,6 +1972,10 @@ msgstr "" msgid "Local command" msgstr "" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Block bounds" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle HUD" msgstr "" @@ -1957,7 +2070,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"Fast movement (via the \"special\" key).\n" +"Fast movement (via the \"Aux1\" key).\n" "This requires the \"fast\" privilege on the server." msgstr "" @@ -2015,13 +2128,13 @@ msgid "Mouse sensitivity multiplier." msgstr "" #: src/settings_translation_file.cpp -msgid "Special key for climbing/descending" +msgid "Aux1 key for climbing/descending" msgstr "" #: src/settings_translation_file.cpp msgid "" -"If enabled, \"special\" key instead of \"sneak\" key is used for climbing " -"down and\n" +"If enabled, \"Aux1\" key instead of \"Sneak\" key is used for climbing down " +"and\n" "descending." msgstr "" @@ -2039,8 +2152,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"If disabled, \"special\" key is used to fly fast if both fly and fast mode " -"are\n" +"If disabled, \"Aux1\" key is used to fly fast if both fly and fast mode are\n" "enabled." msgstr "" @@ -2105,13 +2217,13 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "Virtual joystick triggers aux button" +msgid "Virtual joystick triggers Aux1 button" msgstr "" #: src/settings_translation_file.cpp msgid "" -"(Android) Use virtual joystick to trigger \"aux\" button.\n" -"If enabled, virtual joystick will also tap \"aux\" button when out of main " +"(Android) Use virtual joystick to trigger \"Aux1\" button.\n" +"If enabled, virtual joystick will also tap \"Aux1\" button when out of main " "circle." msgstr "" @@ -2266,7 +2378,7 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "Special key" +msgid "Aux1 key" msgstr "" #: src/settings_translation_file.cpp @@ -3087,9 +3199,9 @@ 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." +"which PNG optimizers usually discard, often resulting in dark or\n" +"light edges to transparent textures. Apply a filter to clean that up\n" +"at texture load time. This is automatically enabled if mipmapping is enabled." msgstr "" #: src/settings_translation_file.cpp @@ -3102,9 +3214,8 @@ msgid "" "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" +"memory. Powers of 2 are recommended. This setting is ONLY applies if\n" +"bilinear/trilinear/anisotropic filtering is enabled.\n" "This is also used as the base node texture size for world-aligned\n" "texture autoscaling." msgstr "" @@ -3235,6 +3346,118 @@ msgid "" "Requires shaders to be enabled." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Set to true to enable Shadow Mapping.\n" +"Requires shaders to be enabled." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow strength" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow strength.\n" +"Lower value means lighter shadows, higher value means darker shadows." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map max distance in nodes to render shadows" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum distance to render shadows." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture size" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Texture size to render the shadow map on.\n" +"This must be a power of two.\n" +"Bigger numbers create better shadowsbut it is also more expensive." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture in 32 bits" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Sets shadow texture quality to 32 bits.\n" +"On false, 16 bits texture will be used.\n" +"This can cause much more artifacts in the shadow." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Poisson filtering" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Enable poisson disk filtering.\n" +"On true uses poisson disk to make \"soft shadows\". Otherwise uses PCF " +"filtering." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow filter quality" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Define shadow filtering quality\n" +"This simulates the soft shadows effect by applying a PCF or poisson disk\n" +"but also uses more resources." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Colored shadows" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Enable colored shadows. \n" +"On true translucent nodes cast colored shadows. This is expensive." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Map update time" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow update time.\n" +"Lower value means shadows and map updates faster, but it consume more " +"resources.\n" +"Minimun value 0.001 seconds max value 0.2 seconds" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Soft shadow radius" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the soft shadow radius size.\n" +"Lower values mean sharper shadows bigger values softer.\n" +"Minimun value 1.0 and max value 10.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Sky Body Orbit Tilt" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the tilt of Sun/Moon orbit in degrees\n" +"Value of 0 means no tilt / vertical orbit.\n" +"Minimun value 0.0 and max value 60.0" +msgstr "" + #: src/settings_translation_file.cpp msgid "Advanced" msgstr "" @@ -3303,7 +3526,7 @@ msgid "Screen width" msgstr "" #: src/settings_translation_file.cpp -msgid "Width component of the initial window size." +msgid "Width component of the initial window size. Ignored in fullscreen mode." msgstr "" #: src/settings_translation_file.cpp @@ -3311,7 +3534,8 @@ msgid "Screen height" msgstr "" #: src/settings_translation_file.cpp -msgid "Height component of the initial window size." +msgid "" +"Height component of the initial window size. Ignored in fullscreen mode." msgstr "" #: src/settings_translation_file.cpp @@ -3330,14 +3554,6 @@ msgstr "" msgid "Fullscreen mode." msgstr "" -#: src/settings_translation_file.cpp -msgid "Full screen BPP" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Bits per pixel (aka color depth) in fullscreen mode." -msgstr "" - #: src/settings_translation_file.cpp msgid "VSync" msgstr "" @@ -3433,7 +3649,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"The rendering back-end for Irrlicht.\n" +"The rendering back-end.\n" "A restart is required after changing this.\n" "Note: On Android, stick with OGLES1 if unsure! App may fail to start " "otherwise.\n" @@ -3929,33 +4145,6 @@ msgstr "" msgid "Bold and italic monospace font path" msgstr "" -#: src/settings_translation_file.cpp -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 "" @@ -4546,6 +4735,16 @@ msgid "" "@name, @message, @timestamp (optional)" msgstr "" +#: src/settings_translation_file.cpp +msgid "Chat command time message threshold" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"If the execution of a chat command takes longer than this specified time in\n" +"seconds, add the time information to the chat command message" +msgstr "" + #: src/settings_translation_file.cpp msgid "Shutdown message" msgstr "" @@ -5198,13 +5397,13 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "cURL timeout" +msgid "cURL interactive timeout" msgstr "" #: src/settings_translation_file.cpp msgid "" -"Default timeout for cURL, stated in milliseconds.\n" -"Only has an effect if compiled with cURL." +"Maximum time an interactive request (e.g. server list fetch) may take, " +"stated in milliseconds." msgstr "" #: src/settings_translation_file.cpp @@ -5225,15 +5424,9 @@ msgid "cURL file download timeout" msgstr "" #: src/settings_translation_file.cpp -msgid "Maximum time in ms a file download (e.g. a mod download) may take." -msgstr "" - -#: src/settings_translation_file.cpp -msgid "High-precision FPU" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." +msgid "" +"Maximum time a file download (e.g. a mod download) may take, stated in " +"milliseconds." msgstr "" #: src/settings_translation_file.cpp @@ -6358,3 +6551,12 @@ msgid "" "be queued.\n" "This should be lower than curl_parallel_limit." msgstr "" + +#: src/gui/guiChatConsole.cpp +msgid "Opening webpage" +msgstr "" + +#: src/gui/guiChatConsole.cpp +msgid "Failed to open webpage" +msgstr "" + diff --git a/po/mr/minetest.po b/po/mr/minetest.po new file mode 100644 index 000000000..7c7f189cd --- /dev/null +++ b/po/mr/minetest.po @@ -0,0 +1,6558 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the minetest package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: minetest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-06-16 18:27+0200\n" +"PO-Revision-Date: 2021-06-10 14:35+0000\n" +"Last-Translator: Avyukt More \n" +"Language-Team: Marathi \n" +"Language: mr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.7-dev\n" + +#: builtin/client/chatcommands.lua +msgid "Clear the out chat queue" +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "Empty command." +msgstr "" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Exit to main menu" +msgstr "मुख्य पानावर परत जा" + +#: builtin/client/chatcommands.lua +msgid "Invalid command: " +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "Issued command: " +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "List online players" +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "Online players: " +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "The out chat queue is now empty." +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "This command is disabled by server." +msgstr "" + +#: 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/client/death_formspec.lua +#, fuzzy +msgid "You died." +msgstr "तू मेलास" + +#: builtin/common/chatcommands.lua +msgid "Available commands:" +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "Available commands: " +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "Command not available: " +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "Get help for commands" +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "" +"Use '.help ' to get more information, or '.help all' to list everything." +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "[all | ]" +msgstr "" + +#: builtin/fstk/dialog.lua builtin/fstk/ui.lua src/gui/modalMenu.cpp +msgid "OK" +msgstr "ठीक आहे" + +#: builtin/fstk/ui.lua +msgid "An error occurred in a Lua script:" +msgstr "त्रुटी आढळली" + +#: builtin/fstk/ui.lua +msgid "An error occurred:" +msgstr "एक त्रुटी आली:" + +#: builtin/fstk/ui.lua +msgid "Main menu" +msgstr "मुख्य पान" + +#: builtin/fstk/ui.lua +msgid "Reconnect" +msgstr "पुन्हा सामील व्हा" + +#: builtin/fstk/ui.lua +msgid "The server has requested a reconnect:" +msgstr "पुन्हा सामील होण्यासाठी विनंती करीत आहे:" + +#: builtin/mainmenu/common.lua +msgid "Protocol version mismatch. " +msgstr "सर्व्हरची आवृत्ती जुळत नाही " + +#: builtin/mainmenu/common.lua +msgid "Server enforces protocol version $1. " +msgstr "सर्व्हर फक्त आवृत्ती $1 वर कार्य करतो " + +#: builtin/mainmenu/common.lua +msgid "Server supports protocol versions between $1 and $2. " +msgstr "सर्व्हर $1 आणि $2 दरम्यान प्रोटोकॉल आवृत्तीचे समर्थन करतो. " + +#: builtin/mainmenu/common.lua +msgid "We only support protocol version $1." +msgstr "आम्ही केवळ आवृत्ती $1 चे समर्थन करतो." + +#: builtin/mainmenu/common.lua +msgid "We support protocol versions between version $1 and $2." +msgstr "आम्ही केवळ आवृत्ती $1 आणि आवृत्ती $2 चे समर्थन करतो." + +#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/dlg_contentstore.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/dlg_contentstore.lua +#: builtin/mainmenu/tab_content.lua +msgid "Dependencies:" +msgstr "अवलंबित्व:" + +#: builtin/mainmenu/dlg_config_world.lua +msgid "Disable all" +msgstr "सर्व काही थांबवा" + +#: builtin/mainmenu/dlg_config_world.lua +msgid "Disable modpack" +msgstr "मॉडपॅक वापरणे थांबवा" + +#: builtin/mainmenu/dlg_config_world.lua +msgid "Enable all" +msgstr "सर्व वापरा" + +#: builtin/mainmenu/dlg_config_world.lua +msgid "Enable modpack" +msgstr "मॉडपॅक वापरा" + +#: builtin/mainmenu/dlg_config_world.lua +msgid "" +"Failed to enable mod \"$1\" as it contains disallowed characters. Only " +"characters [a-z0-9_] are allowed." +msgstr "मॉड \"$1\" वापरु नाही शकत... कारण त्या नावात चुकीचे अक्षरे आहेत." + +#: builtin/mainmenu/dlg_config_world.lua +msgid "Find More Mods" +msgstr "आणखी मॉड शोधा" + +#: builtin/mainmenu/dlg_config_world.lua +msgid "Mod:" +msgstr "मॉड:" + +#: builtin/mainmenu/dlg_config_world.lua +msgid "No (optional) dependencies" +msgstr "अवलंबन नाही" + +#: builtin/mainmenu/dlg_config_world.lua +msgid "No game description provided." +msgstr "वर्णन केलेले नाही." + +#: builtin/mainmenu/dlg_config_world.lua +msgid "No hard dependencies" +msgstr "अवलंबन नाही" + +#: builtin/mainmenu/dlg_config_world.lua +msgid "No modpack description provided." +msgstr "वर्णन केलेले नाही." + +#: builtin/mainmenu/dlg_config_world.lua +msgid "No optional dependencies" +msgstr "कोणताही मॉड बदलणार नाही" + +#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua +msgid "Optional dependencies:" +msgstr "बदलणारे मॉड:" + +#: builtin/mainmenu/dlg_config_world.lua +#: builtin/mainmenu/dlg_settings_advanced.lua src/gui/guiKeyChangeMenu.cpp +msgid "Save" +msgstr "बदल जतन करा" + +#: builtin/mainmenu/dlg_config_world.lua +msgid "World:" +msgstr "जग:" + +#: builtin/mainmenu/dlg_config_world.lua +msgid "enabled" +msgstr "वापरा" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "\"$1\" already exists. Would you like to overwrite it?" +msgstr "$१ आधीच डाउन्लोआडेड आहे. आपण ते अधिलिखित करू इच्छिता?" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "$1 and $2 dependencies will be installed." +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "$1 by $2" +msgstr "$1 $2 करून" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "" +"$1 downloading,\n" +"$2 queued" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "$1 downloading..." +msgstr "$1 डाउनलोड होत आहे..." + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "$1 required dependencies could not be found." +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "$1 will be installed, and $2 dependencies will be skipped." +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "All packages" +msgstr "सर्व संकुले" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "Already installed" +msgstr "आधीच स्थापित" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "Back to Main Menu" +msgstr "मुख्य पानावर परत जा" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "Base Game:" +msgstr "मुख्य खेळ:" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "ContentDB is not available when Minetest was compiled without cURL" +msgstr "जेव्हा मिनटेस्ट सीआरएलशिवाय संकलित केले होते तेव्हा सामग्री डीबी उपलब्ध नाही" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "Downloading..." +msgstr "डाउनलोड करत आहे..." + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "Failed to download $1" +msgstr "$१ डाउनलोड करू नाही शकत" + +#: builtin/mainmenu/dlg_contentstore.lua +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Games" +msgstr "खेळ" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "Install" +msgstr "डाउनलोड" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "Install $1" +msgstr "डाउनलोड $1" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "Install missing dependencies" +msgstr "गहाळ अवलंबित्व डाउनलोड करा" + +#: builtin/mainmenu/dlg_contentstore.lua +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Mods" +msgstr "मॉड" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "No packages could be retrieved" +msgstr "काहीच सापडत नाही" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "No results" +msgstr "कोणतीही गोष्ट नाहीत" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "No updates" +msgstr "अपडेट नाहीत" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "Not found" +msgstr "सापडले नाही" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "Overwrite" +msgstr "अधिलिखित" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "Please check that the base game is correct." +msgstr "कृपया मुख्य खेळ योग्य आहे याची तपासणी करा." + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "Queued" +msgstr "रांगेत लागले आहेत" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "Texture packs" +msgstr "टेक्सचर पॅक" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "Uninstall" +msgstr "काढा" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "Update" +msgstr "अपडेट" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "Update All [$1]" +msgstr "सर्व अपडेट करा [$1]" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "View more information in a web browser" +msgstr "अंतर्जाल शोधक वर माहिती काढा" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "A world named \"$1\" already exists" +msgstr "\"$1\" नावाचे जग आधीच अस्तित्वात आहे" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Additional terrain" +msgstr "अतिरिक्त भूभाग" + +#: builtin/mainmenu/dlg_create_world.lua src/settings_translation_file.cpp +msgid "Altitude chill" +msgstr "थंडी" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Altitude dry" +msgstr "कोरडे हवामान" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Biome blending" +msgstr "हवामान आणि आपत्ती यांच्यात फरक" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Biomes" +msgstr "भिन्न हवामान आणि आपत्ती" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Caverns" +msgstr "खाण" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Caves" +msgstr "गुहा" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Create" +msgstr "तयार करा" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Decorations" +msgstr "सजावट" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Download a game, such as Minetest Game, from minetest.net" +msgstr "minetest.net वरून Minetest Game डाउनलोड करा" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Download one from minetest.net" +msgstr "minetest.net वरुन डाउनलोड करा" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Dungeons" +msgstr "अंधारकोठडी" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Flat terrain" +msgstr "सपाट जमीन" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Floating landmasses in the sky" +msgstr "हवेत उडणारे जमीन" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Floatlands (experimental)" +msgstr "हवेत उडणारे जमीन" + +#: builtin/mainmenu/dlg_create_world.lua src/settings_translation_file.cpp +msgid "Game" +msgstr "खेळ" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Generate non-fractal terrain: Oceans and underground" +msgstr "समुद्र आणि भूमिगत भूभाग" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Hills" +msgstr "टेकड्या" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Humid rivers" +msgstr "दमट नद्या" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Increases humidity around rivers" +msgstr "नद्यांच्या आसपास अधिक आर्द्रता" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Lakes" +msgstr "तलाव" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Low humidity and high heat causes shallow or dry rivers" +msgstr "कमी आर्द्रता आणि जास्त उष्णता यामुळे उथळ किंवा कोरड्या नद्या" + +#: builtin/mainmenu/dlg_create_world.lua src/settings_translation_file.cpp +msgid "Mapgen" +msgstr "नकाशा निर्माता" + +#: builtin/mainmenu/dlg_create_world.lua src/settings_translation_file.cpp +msgid "Mapgen flags" +msgstr "नकाशा जनरेटर ध्वज" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Mapgen-specific flags" +msgstr "नकाशा जनरेटर विशिष्ट ध्वजांकित करा" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Mountains" +msgstr "पर्वत" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Mud flow" +msgstr "चिखल प्रवाह" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Network of tunnels and caves" +msgstr "बोगदे आणि गुहांच्ये जाळे" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "No game selected" +msgstr "कोणताही खेळ निवडलेला नाही" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Reduces heat with altitude" +msgstr "कमी उष्णता" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Reduces humidity with altitude" +msgstr "कमी आर्द्रता" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Rivers" +msgstr "नद्या" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Sea level rivers" +msgstr "समुद्र पातळीवरील नद्या" + +#: builtin/mainmenu/dlg_create_world.lua +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Seed" +msgstr "सीड" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Smooth transition between biomes" +msgstr "भिन्न हवामान आणि आपत्ती यांच्यात सपाट संक्रमण" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "" +"Structures appearing on the terrain (no effect on trees and jungle grass " +"created by v6)" +msgstr "v6 ने तयार केलेल्या झाडे आणि जंगल गवत यावर कोणताही परिणाम होणार नाही" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Structures appearing on the terrain, typically trees and plants" +msgstr "भूप्रदेशावर दिसणारी रचना, विशेषत: झाडे" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Temperate, Desert" +msgstr "समशीतोष्ण, वाळवंट" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Temperate, Desert, Jungle" +msgstr "समशीतोष्ण, वाळवंट, जंगल" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Temperate, Desert, Jungle, Tundra, Taiga" +msgstr "समशीतोष्ण वाळवंट, जंगल, टुंड्रा, तैगा" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Terrain surface erosion" +msgstr "जमीन पृष्ठभाग धूप" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Trees and jungle grass" +msgstr "झाडे आणि गवत" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Vary river depth" +msgstr "नद्यांची खोली बदलते" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Very large caverns deep in the underground" +msgstr "खोल खाण" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Warning: The Development Test is meant for developers." +msgstr "चेतावणी: Development Test विकासकांसाठी आहे." + +#: builtin/mainmenu/dlg_create_world.lua +msgid "World name" +msgstr "जगाचे नाव" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "You have no games installed." +msgstr "आपल्याकडे कोणताही खेळ नाही." + +#: builtin/mainmenu/dlg_delete_content.lua +msgid "Are you sure you want to delete \"$1\"?" +msgstr "आपली खात्री आहे की आपण \"$1\" काढू इच्छिता?" + +#: builtin/mainmenu/dlg_delete_content.lua +#: builtin/mainmenu/dlg_delete_world.lua builtin/mainmenu/tab_local.lua +#: src/client/keycode.cpp +msgid "Delete" +msgstr "काढा" + +#: builtin/mainmenu/dlg_delete_content.lua +msgid "pkgmgr: failed to delete \"$1\"" +msgstr "pkgmgr: \"$1\" नाही कडू शकत" + +#: builtin/mainmenu/dlg_delete_content.lua +msgid "pkgmgr: invalid path \"$1\"" +msgstr "pkgmgr: अवैध मार्ग \"$1\"" + +#: builtin/mainmenu/dlg_delete_world.lua +msgid "Delete World \"$1\"?" +msgstr "जग \"$1\" काढा?" + +#: builtin/mainmenu/dlg_rename_modpack.lua +msgid "Accept" +msgstr "स्वीकारा" + +#: builtin/mainmenu/dlg_rename_modpack.lua +msgid "Rename Modpack:" +msgstr "मॉडपॅक पुनर्नामित करा:" + +#: builtin/mainmenu/dlg_rename_modpack.lua +msgid "" +"This modpack has an explicit name given in its modpack.conf which will " +"override any renaming here." +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "(No description of setting given)" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "2D Noise" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "< Back to Settings page" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Browse" +msgstr "ब्राउझ करा" + +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_settings.lua +msgid "Disabled" +msgstr "थंबवा" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Edit" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Enabled" +msgstr "वापरा" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Lacunarity" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Octaves" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp +msgid "Offset" +msgstr "ऑफसेट" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Persistance" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Please enter a valid integer." +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Please enter a valid number." +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Restore Default" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp +msgid "Scale" +msgstr "मोज" + +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua +msgid "Search" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Select directory" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Select file" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Show technical names" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "The value must be at least $1." +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "The value must not be larger than $1." +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "X" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "X spread" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Y" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Y spread" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Z" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Z spread" +msgstr "" + +#. ~ "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 "" + +#: builtin/mainmenu/pkgmgr.lua +msgid "$1 mods" +msgstr "" + +#: builtin/mainmenu/pkgmgr.lua +msgid "Failed to install $1 to $2" +msgstr "" + +#: builtin/mainmenu/pkgmgr.lua +msgid "Install Mod: Unable to find real mod name for: $1" +msgstr "" + +#: builtin/mainmenu/pkgmgr.lua +msgid "Install Mod: Unable to find suitable folder name for modpack $1" +msgstr "" + +#: builtin/mainmenu/pkgmgr.lua +msgid "Install: Unsupported file type \"$1\" or broken archive" +msgstr "" + +#: builtin/mainmenu/pkgmgr.lua +msgid "Install: file: \"$1\"" +msgstr "" + +#: builtin/mainmenu/pkgmgr.lua +msgid "Unable to find a valid mod or modpack" +msgstr "" + +#: builtin/mainmenu/pkgmgr.lua +msgid "Unable to install a $1 as a texture pack" +msgstr "" + +#: builtin/mainmenu/pkgmgr.lua +msgid "Unable to install a game as a $1" +msgstr "" + +#: builtin/mainmenu/pkgmgr.lua +msgid "Unable to install a mod as a $1" +msgstr "" + +#: builtin/mainmenu/pkgmgr.lua +msgid "Unable to install a modpack as a $1" +msgstr "" + +#: builtin/mainmenu/serverlistmgr.lua src/client/game.cpp +msgid "Loading..." +msgstr "" + +#: builtin/mainmenu/serverlistmgr.lua +msgid "Public server list is disabled" +msgstr "" + +#: builtin/mainmenu/serverlistmgr.lua +msgid "Try reenabling public serverlist and check your internet connection." +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "About" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active Contributors" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active renderer:" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Core Developers" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Open User Data Directory" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "" +"Opens the directory that contains user-provided worlds, games, mods,\n" +"and texture packs in a file manager / explorer." +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Contributors" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Core Developers" +msgstr "" + +#: builtin/mainmenu/tab_content.lua +msgid "Browse online content" +msgstr "" + +#: builtin/mainmenu/tab_content.lua +msgid "Content" +msgstr "" + +#: builtin/mainmenu/tab_content.lua +msgid "Disable Texture Pack" +msgstr "" + +#: builtin/mainmenu/tab_content.lua +msgid "Information:" +msgstr "" + +#: builtin/mainmenu/tab_content.lua +msgid "Installed Packages:" +msgstr "" + +#: builtin/mainmenu/tab_content.lua +msgid "No dependencies." +msgstr "" + +#: builtin/mainmenu/tab_content.lua +msgid "No package description available" +msgstr "" + +#: builtin/mainmenu/tab_content.lua +msgid "Rename" +msgstr "" + +#: builtin/mainmenu/tab_content.lua +msgid "Uninstall Package" +msgstr "" + +#: builtin/mainmenu/tab_content.lua +msgid "Use Texture Pack" +msgstr "" + +#: builtin/mainmenu/tab_local.lua +msgid "Announce Server" +msgstr "" + +#: builtin/mainmenu/tab_local.lua +msgid "Bind Address" +msgstr "" + +#: builtin/mainmenu/tab_local.lua +msgid "Creative Mode" +msgstr "" + +#: builtin/mainmenu/tab_local.lua +msgid "Enable Damage" +msgstr "" + +#: builtin/mainmenu/tab_local.lua +msgid "Host Game" +msgstr "" + +#: builtin/mainmenu/tab_local.lua +msgid "Host Server" +msgstr "" + +#: builtin/mainmenu/tab_local.lua +msgid "Install games from ContentDB" +msgstr "" + +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua +msgid "Name" +msgstr "" + +#: builtin/mainmenu/tab_local.lua +msgid "New" +msgstr "" + +#: builtin/mainmenu/tab_local.lua +msgid "No world created or selected!" +msgstr "" + +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua +msgid "Password" +msgstr "" + +#: builtin/mainmenu/tab_local.lua +msgid "Play Game" +msgstr "" + +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua +msgid "Port" +msgstr "" + +#: builtin/mainmenu/tab_local.lua +msgid "Select Mods" +msgstr "" + +#: builtin/mainmenu/tab_local.lua +msgid "Select World:" +msgstr "" + +#: builtin/mainmenu/tab_local.lua +msgid "Server Port" +msgstr "" + +#: builtin/mainmenu/tab_local.lua +msgid "Start Game" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +msgid "Address" +msgstr "" + +#: builtin/mainmenu/tab_online.lua src/client/keycode.cpp +msgid "Clear" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +msgid "Connect" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +msgid "Creative mode" +msgstr "" + +#. ~ PvP = Player versus Player +#: builtin/mainmenu/tab_online.lua +msgid "Damage / PvP" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +msgid "Del. Favorite" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +msgid "Favorites" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +msgid "Incompatible Servers" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +msgid "Join Game" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +msgid "Ping" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +#, fuzzy +msgid "Public Servers" +msgstr "दमट नद्या" + +#: builtin/mainmenu/tab_online.lua +msgid "Refresh" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +msgid "Server Description" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "2x" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "3D Clouds" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "4x" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "8x" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "All Settings" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Antialiasing:" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Autosave Screen Size" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Bilinear Filter" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua src/client/game.cpp +msgid "Change Keys" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Connected Glass" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp +msgid "Dynamic shadows" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Dynamic shadows: " +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Fancy Leaves" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Low" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Medium" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Mipmap" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Mipmap + Aniso. Filter" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "No Filter" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "No Mipmap" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Node Highlighting" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Node Outlining" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "None" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Opaque Leaves" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Opaque Water" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Particles" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Screen:" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Settings" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp +msgid "Shaders" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Shaders (experimental)" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Shaders (unavailable)" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Simple Leaves" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Smooth Lighting" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Texturing:" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "To enable shaders the OpenGL driver needs to be used." +msgstr "" + +#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp +msgid "Tone Mapping" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Touchthreshold: (px)" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Trilinear Filter" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Ultra High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Very Low" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Waving Leaves" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Waving Liquids" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Waving Plants" +msgstr "" + +#: src/client/client.cpp +msgid "Connection timed out." +msgstr "" + +#: src/client/client.cpp +msgid "Done!" +msgstr "" + +#: src/client/client.cpp +msgid "Initializing nodes" +msgstr "" + +#: src/client/client.cpp +msgid "Initializing nodes..." +msgstr "" + +#: src/client/client.cpp +msgid "Loading textures..." +msgstr "" + +#: src/client/client.cpp +msgid "Rebuilding shaders..." +msgstr "" + +#: src/client/clientlauncher.cpp +msgid "Connection error (timed out?)" +msgstr "" + +#: src/client/clientlauncher.cpp +msgid "Could not find or load game \"" +msgstr "" + +#: src/client/clientlauncher.cpp +msgid "Invalid gamespec." +msgstr "" + +#: src/client/clientlauncher.cpp +msgid "Main Menu" +msgstr "" + +#: src/client/clientlauncher.cpp +msgid "No world selected and no address provided. Nothing to do." +msgstr "" + +#: src/client/clientlauncher.cpp +msgid "Player name too long." +msgstr "" + +#: src/client/clientlauncher.cpp +msgid "Please choose a name!" +msgstr "" + +#: src/client/clientlauncher.cpp +msgid "Provided password file failed to open: " +msgstr "" + +#: src/client/clientlauncher.cpp +msgid "Provided world path doesn't exist: " +msgstr "" + +#: src/client/game.cpp +msgid "" +"\n" +"Check debug.txt for details." +msgstr "" + +#: src/client/game.cpp +msgid "- Address: " +msgstr "" + +#: src/client/game.cpp +msgid "- Creative Mode: " +msgstr "" + +#: src/client/game.cpp +msgid "- Damage: " +msgstr "" + +#: src/client/game.cpp +msgid "- Mode: " +msgstr "" + +#: src/client/game.cpp +msgid "- Port: " +msgstr "" + +#: src/client/game.cpp +msgid "- Public: " +msgstr "" + +#. ~ PvP = Player versus Player +#: src/client/game.cpp +msgid "- PvP: " +msgstr "" + +#: src/client/game.cpp +msgid "- Server Name: " +msgstr "" + +#: src/client/game.cpp +msgid "Automatic forward disabled" +msgstr "" + +#: src/client/game.cpp +msgid "Automatic forward enabled" +msgstr "" + +#: src/client/game.cpp +msgid "Camera update disabled" +msgstr "" + +#: src/client/game.cpp +msgid "Camera update enabled" +msgstr "" + +#: src/client/game.cpp +msgid "Change Password" +msgstr "" + +#: src/client/game.cpp +msgid "Cinematic mode disabled" +msgstr "" + +#: src/client/game.cpp +msgid "Cinematic mode enabled" +msgstr "" + +#: src/client/game.cpp +msgid "Client side scripting is disabled" +msgstr "" + +#: src/client/game.cpp +msgid "Connecting to server..." +msgstr "" + +#: src/client/game.cpp +msgid "Continue" +msgstr "" + +#: src/client/game.cpp +#, c-format +msgid "" +"Controls:\n" +"- %s: move forwards\n" +"- %s: move backwards\n" +"- %s: move left\n" +"- %s: move right\n" +"- %s: jump/climb up\n" +"- %s: dig/punch\n" +"- %s: place/use\n" +"- %s: sneak/climb down\n" +"- %s: drop item\n" +"- %s: inventory\n" +"- Mouse: turn/look\n" +"- Mouse wheel: select item\n" +"- %s: chat\n" +msgstr "" + +#: src/client/game.cpp +msgid "Creating client..." +msgstr "" + +#: src/client/game.cpp +msgid "Creating server..." +msgstr "" + +#: src/client/game.cpp +msgid "Debug info and profiler graph hidden" +msgstr "" + +#: src/client/game.cpp +msgid "Debug info shown" +msgstr "" + +#: src/client/game.cpp +msgid "Debug info, profiler graph, and wireframe hidden" +msgstr "" + +#: src/client/game.cpp +msgid "" +"Default Controls:\n" +"No menu visible:\n" +"- single tap: button activate\n" +"- double tap: place/use\n" +"- slide finger: look around\n" +"Menu/Inventory visible:\n" +"- double tap (outside):\n" +" -->close\n" +"- touch stack, touch slot:\n" +" --> move stack\n" +"- touch&drag, tap 2nd finger\n" +" --> place single item to slot\n" +msgstr "" + +#: src/client/game.cpp +msgid "Disabled unlimited viewing range" +msgstr "" + +#: src/client/game.cpp +msgid "Enabled unlimited viewing range" +msgstr "" + +#: src/client/game.cpp +msgid "Exit to Menu" +msgstr "" + +#: src/client/game.cpp +msgid "Exit to OS" +msgstr "" + +#: src/client/game.cpp +msgid "Fast mode disabled" +msgstr "" + +#: src/client/game.cpp +msgid "Fast mode enabled" +msgstr "" + +#: src/client/game.cpp +msgid "Fast mode enabled (note: no 'fast' privilege)" +msgstr "" + +#: src/client/game.cpp +msgid "Fly mode disabled" +msgstr "" + +#: src/client/game.cpp +msgid "Fly mode enabled" +msgstr "" + +#: src/client/game.cpp +msgid "Fly mode enabled (note: no 'fly' privilege)" +msgstr "" + +#: src/client/game.cpp +msgid "Fog disabled" +msgstr "" + +#: src/client/game.cpp +msgid "Fog enabled" +msgstr "" + +#: src/client/game.cpp +msgid "Game info:" +msgstr "" + +#: src/client/game.cpp +msgid "Game paused" +msgstr "" + +#: src/client/game.cpp +msgid "Hosting server" +msgstr "" + +#: src/client/game.cpp +msgid "Item definitions..." +msgstr "" + +#: src/client/game.cpp +msgid "KiB/s" +msgstr "" + +#: src/client/game.cpp +msgid "Media..." +msgstr "" + +#: src/client/game.cpp +msgid "MiB/s" +msgstr "" + +#: src/client/game.cpp +msgid "Minimap currently disabled by game or mod" +msgstr "" + +#: src/client/game.cpp +msgid "Multiplayer" +msgstr "" + +#: src/client/game.cpp +msgid "Noclip mode disabled" +msgstr "" + +#: src/client/game.cpp +msgid "Noclip mode enabled" +msgstr "" + +#: src/client/game.cpp +msgid "Noclip mode enabled (note: no 'noclip' privilege)" +msgstr "" + +#: src/client/game.cpp +msgid "Node definitions..." +msgstr "" + +#: src/client/game.cpp +msgid "Off" +msgstr "" + +#: src/client/game.cpp +msgid "On" +msgstr "" + +#: src/client/game.cpp +msgid "Pitch move mode disabled" +msgstr "" + +#: src/client/game.cpp +msgid "Pitch move mode enabled" +msgstr "" + +#: src/client/game.cpp +msgid "Profiler graph shown" +msgstr "" + +#: src/client/game.cpp +msgid "Remote server" +msgstr "" + +#: src/client/game.cpp +msgid "Resolving address..." +msgstr "" + +#: src/client/game.cpp +msgid "Shutting down..." +msgstr "" + +#: src/client/game.cpp +msgid "Singleplayer" +msgstr "" + +#: src/client/game.cpp +msgid "Sound Volume" +msgstr "" + +#: src/client/game.cpp +msgid "Sound muted" +msgstr "" + +#: src/client/game.cpp +msgid "Sound system is disabled" +msgstr "" + +#: src/client/game.cpp +msgid "Sound system is not supported on this build" +msgstr "" + +#: src/client/game.cpp +msgid "Sound unmuted" +msgstr "" + +#: src/client/game.cpp +#, c-format +msgid "Viewing range changed to %d" +msgstr "" + +#: src/client/game.cpp +#, c-format +msgid "Viewing range is at maximum: %d" +msgstr "" + +#: src/client/game.cpp +#, c-format +msgid "Viewing range is at minimum: %d" +msgstr "" + +#: src/client/game.cpp +#, c-format +msgid "Volume changed to %d%%" +msgstr "" + +#: src/client/game.cpp +msgid "Wireframe shown" +msgstr "" + +#: src/client/game.cpp +msgid "Zoom currently disabled by game or mod" +msgstr "" + +#: src/client/game.cpp +msgid "ok" +msgstr "" + +#: src/client/gameui.cpp +msgid "Chat hidden" +msgstr "" + +#: src/client/gameui.cpp +msgid "Chat shown" +msgstr "" + +#: src/client/gameui.cpp +msgid "HUD hidden" +msgstr "" + +#: src/client/gameui.cpp +msgid "HUD shown" +msgstr "" + +#: src/client/gameui.cpp +msgid "Profiler hidden" +msgstr "" + +#: src/client/gameui.cpp +#, c-format +msgid "Profiler shown (page %d of %d)" +msgstr "" + +#: src/client/keycode.cpp +msgid "Apps" +msgstr "" + +#: src/client/keycode.cpp +msgid "Backspace" +msgstr "" + +#: src/client/keycode.cpp +msgid "Caps Lock" +msgstr "" + +#: src/client/keycode.cpp +msgid "Control" +msgstr "" + +#: src/client/keycode.cpp +msgid "Down" +msgstr "" + +#: src/client/keycode.cpp +msgid "End" +msgstr "" + +#: src/client/keycode.cpp +msgid "Erase EOF" +msgstr "" + +#: src/client/keycode.cpp +msgid "Execute" +msgstr "" + +#: src/client/keycode.cpp +msgid "Help" +msgstr "" + +#: src/client/keycode.cpp +msgid "Home" +msgstr "" + +#: src/client/keycode.cpp +msgid "IME Accept" +msgstr "" + +#: src/client/keycode.cpp +msgid "IME Convert" +msgstr "" + +#: src/client/keycode.cpp +msgid "IME Escape" +msgstr "" + +#: src/client/keycode.cpp +msgid "IME Mode Change" +msgstr "" + +#: src/client/keycode.cpp +msgid "IME Nonconvert" +msgstr "" + +#: src/client/keycode.cpp +msgid "Insert" +msgstr "" + +#: src/client/keycode.cpp src/gui/guiKeyChangeMenu.cpp +msgid "Left" +msgstr "" + +#: src/client/keycode.cpp +msgid "Left Button" +msgstr "" + +#: src/client/keycode.cpp +msgid "Left Control" +msgstr "" + +#: src/client/keycode.cpp +msgid "Left Menu" +msgstr "" + +#: src/client/keycode.cpp +msgid "Left Shift" +msgstr "" + +#: src/client/keycode.cpp +msgid "Left Windows" +msgstr "" + +#. ~ Key name, common on Windows keyboards +#: src/client/keycode.cpp +msgid "Menu" +msgstr "" + +#: src/client/keycode.cpp +msgid "Middle Button" +msgstr "" + +#: src/client/keycode.cpp +msgid "Num Lock" +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad *" +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad +" +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad -" +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad ." +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad /" +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad 0" +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad 1" +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad 2" +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad 3" +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad 4" +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad 5" +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad 6" +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad 7" +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad 8" +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad 9" +msgstr "" + +#: src/client/keycode.cpp +msgid "OEM Clear" +msgstr "" + +#: src/client/keycode.cpp +msgid "Page down" +msgstr "" + +#: src/client/keycode.cpp +msgid "Page up" +msgstr "" + +#: src/client/keycode.cpp +msgid "Pause" +msgstr "" + +#: src/client/keycode.cpp +msgid "Play" +msgstr "" + +#. ~ "Print screen" key +#: src/client/keycode.cpp +msgid "Print" +msgstr "" + +#: src/client/keycode.cpp +msgid "Return" +msgstr "" + +#: src/client/keycode.cpp src/gui/guiKeyChangeMenu.cpp +msgid "Right" +msgstr "" + +#: src/client/keycode.cpp +msgid "Right Button" +msgstr "" + +#: src/client/keycode.cpp +msgid "Right Control" +msgstr "" + +#: src/client/keycode.cpp +msgid "Right Menu" +msgstr "" + +#: src/client/keycode.cpp +msgid "Right Shift" +msgstr "" + +#: src/client/keycode.cpp +msgid "Right Windows" +msgstr "" + +#: src/client/keycode.cpp +msgid "Scroll Lock" +msgstr "" + +#. ~ Key name +#: src/client/keycode.cpp +msgid "Select" +msgstr "" + +#: src/client/keycode.cpp +msgid "Shift" +msgstr "" + +#: src/client/keycode.cpp +msgid "Sleep" +msgstr "" + +#: src/client/keycode.cpp +msgid "Snapshot" +msgstr "" + +#: src/client/keycode.cpp +msgid "Space" +msgstr "" + +#: src/client/keycode.cpp +msgid "Tab" +msgstr "" + +#: src/client/keycode.cpp +msgid "Up" +msgstr "" + +#: src/client/keycode.cpp +msgid "X Button 1" +msgstr "" + +#: src/client/keycode.cpp +msgid "X Button 2" +msgstr "" + +#: src/client/keycode.cpp src/gui/guiKeyChangeMenu.cpp +msgid "Zoom" +msgstr "" + +#: src/client/minimap.cpp +msgid "Minimap hidden" +msgstr "" + +#: src/client/minimap.cpp +#, c-format +msgid "Minimap in radar mode, Zoom x%d" +msgstr "" + +#: src/client/minimap.cpp +#, c-format +msgid "Minimap in surface mode, Zoom x%d" +msgstr "" + +#: src/client/minimap.cpp +msgid "Minimap in texture mode" +msgstr "" + +#: src/gui/guiConfirmRegistration.cpp src/gui/guiPasswordChange.cpp +msgid "Passwords do not match!" +msgstr "" + +#: src/gui/guiConfirmRegistration.cpp +msgid "Register and Join" +msgstr "" + +#: src/gui/guiConfirmRegistration.cpp +#, c-format +msgid "" +"You are about to join this server with the name \"%s\" for the first time.\n" +"If you proceed, a new account using your credentials will be created on this " +"server.\n" +"Please retype your password and click 'Register and Join' to confirm account " +"creation, or click 'Cancel' to abort." +msgstr "" + +#: src/gui/guiFormSpecMenu.cpp +msgid "Proceed" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "\"Aux1\" = climb down" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Autoforward" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp src/settings_translation_file.cpp +msgid "Automatic jumping" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Aux1" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Backward" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Block bounds" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Change camera" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Chat" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Command" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Console" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Dec. range" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Dec. volume" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Double tap \"jump\" to toggle fly" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Drop" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Forward" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Inc. range" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Inc. volume" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Inventory" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Jump" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Key already in use" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Keybindings. (If this menu screws up, remove stuff from minetest.conf)" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Local command" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Mute" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Next item" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Prev. item" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Range select" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp src/settings_translation_file.cpp +msgid "Screenshot" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Sneak" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Toggle HUD" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Toggle chat log" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Toggle fast" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Toggle fly" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Toggle fog" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Toggle minimap" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Toggle noclip" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Toggle pitchmove" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "press key" +msgstr "" + +#: src/gui/guiPasswordChange.cpp +msgid "Change" +msgstr "" + +#: src/gui/guiPasswordChange.cpp +msgid "Confirm Password" +msgstr "" + +#: src/gui/guiPasswordChange.cpp +msgid "New Password" +msgstr "" + +#: src/gui/guiPasswordChange.cpp +msgid "Old Password" +msgstr "" + +#: src/gui/guiVolumeChange.cpp +msgid "Exit" +msgstr "" + +#: src/gui/guiVolumeChange.cpp +msgid "Muted" +msgstr "" + +#: src/gui/guiVolumeChange.cpp +msgid "Sound Volume: " +msgstr "" + +#. ~ Imperative, as in "Enter/type in text". +#. Don't forget the space. +#: src/gui/modalMenu.cpp +msgid "Enter " +msgstr "" + +#. ~ 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 "" + +#: src/settings_translation_file.cpp +msgid "" +"(Android) Fixes the position of virtual joystick.\n" +"If disabled, virtual joystick will center to first-touch's position." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"(Android) Use virtual joystick to trigger \"Aux1\" button.\n" +"If enabled, virtual joystick will also tap \"Aux1\" button when out of main " +"circle." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"(X,Y,Z) offset of fractal from world center in units of 'scale'.\n" +"Can be used to move a desired point to (0, 0) to create a\n" +"suitable spawn point, or to allow 'zooming in' on a desired\n" +"point by increasing 'scale'.\n" +"The default is tuned for a suitable spawn point for Mandelbrot\n" +"sets with default parameters, it may need altering in other\n" +"situations.\n" +"Range roughly -2 to 2. Multiply by 'scale' for offset in nodes." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"(X,Y,Z) scale of fractal in nodes.\n" +"Actual fractal size will be 2 to 3 times larger.\n" +"These numbers can be made very large, the fractal does\n" +"not have to fit inside the world.\n" +"Increase these to 'zoom' into the detail of the fractal.\n" +"Default is for a vertically-squashed shape suitable for\n" +"an island, set all 3 numbers equal for the raw shape." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "2D noise that controls the shape/size of ridged mountains." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "2D noise that controls the shape/size of rolling hills." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "2D noise that controls the shape/size of step mountains." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "2D noise that controls the size/occurrence of ridged mountain ranges." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "2D noise that controls the size/occurrence of rolling hills." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "2D noise that controls the size/occurrence of step mountain ranges." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "2D noise that locates the river valleys and channels." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "3D clouds" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "3D mode" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "3D mode parallax strength" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "3D noise defining giant caverns." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"3D noise defining mountain structure and height.\n" +"Also defines structure of floatland mountain terrain." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"3D noise defining structure of floatlands.\n" +"If altered from the default, the noise 'scale' (0.7 by default) may need\n" +"to be adjusted, as floatland tapering functions best when this noise has\n" +"a value range of approximately -2.0 to 2.0." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "3D noise defining structure of river canyon walls." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "3D noise defining terrain." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "3D noise for mountain overhangs, cliffs, etc. Usually small variations." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "3D noise that determines number of dungeons per mapchunk." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"3D support.\n" +"Currently supported:\n" +"- none: no 3d output.\n" +"- anaglyph: cyan/magenta color 3d.\n" +"- interlaced: odd/even line based polarisation screen support.\n" +"- topbottom: split screen top/bottom.\n" +"- sidebyside: split screen side by side.\n" +"- crossview: Cross-eyed 3d\n" +"- pageflip: quadbuffer based 3d.\n" +"Note that the interlaced mode requires shaders to be enabled." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"A chosen map seed for a new map, leave empty for random.\n" +"Will be overridden when creating a new world in the main menu." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "A message to be displayed to all clients when the server crashes." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "A message to be displayed to all clients when the server shuts down." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "ABM interval" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "ABM time budget" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Absolute limit of queued blocks to emerge" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Acceleration in air" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Acceleration of gravity, in nodes per second per second." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Active Block Modifiers" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Active block management interval" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Active block range" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Active object send range" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Address to connect to.\n" +"Leave this blank to start a local server.\n" +"Note that the address field in the main menu overrides this setting." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Adds particles when digging a node." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Adjust dpi configuration to your screen (non X11/Android only) e.g. for 4k " +"screens." +msgstr "" + +#: src/settings_translation_file.cpp +#, c-format +msgid "" +"Adjusts the density of the floatland layer.\n" +"Increase value to increase density. Can be positive or negative.\n" +"Value = 0.0: 50% of volume is floatland.\n" +"Value = 2.0 (can be higher depending on 'mgv7_np_floatland', always test\n" +"to be sure) creates a solid floatland layer." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Advanced" +msgstr "" + +#: src/settings_translation_file.cpp +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 "Always fly and fast" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Ambient occlusion gamma" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Amount of messages a player may send per 10 seconds." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Amplifies the valleys." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Anisotropic filtering" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Announce server" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Announce to this serverlist." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Append item name" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Append item name to tooltip." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Apple trees noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Arm inertia" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Arm inertia, gives a more realistic movement of\n" +"the arm when the camera moves." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Ask to reconnect after crash" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"At this distance the server will aggressively optimize which blocks are sent " +"to\n" +"clients.\n" +"Small values potentially improve performance a lot, at the expense of " +"visible\n" +"rendering glitches (some blocks will not be rendered under water and in " +"caves,\n" +"as well as sometimes on land).\n" +"Setting this to a value greater than max_block_send_distance disables this\n" +"optimization.\n" +"Stated in mapblocks (16 nodes)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Automatic forward key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Automatically jump up single-node obstacles." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Automatically report to the serverlist." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Autosave screen size" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Autoscaling mode" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Aux1 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Aux1 key for climbing/descending" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Backward key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Base ground level" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Base terrain height." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Basic" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Basic privileges" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Beach noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Beach noise threshold" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Bilinear filtering" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Bind address" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Biome API temperature and humidity noise parameters" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Biome noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "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 "" + +#: src/settings_translation_file.cpp +msgid "Builtin" +msgstr "" + +#: src/settings_translation_file.cpp +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 "Camera smoothing" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Camera smoothing in cinematic mode" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Camera update toggle key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Cave noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Cave noise #1" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Cave noise #2" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Cave width" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Cave1 noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Cave2 noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Cavern limit" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Cavern noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Cavern taper" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Cavern threshold" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Cavern upper limit" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Center of light curve boost range.\n" +"Where 0.0 is minimum light level, 1.0 is maximum light level." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Chat command time message threshold" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Chat font size" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Chat key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Chat log level" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Chat message count limit" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Chat message format" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Chat message kick threshold" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Chat message max length" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Chat toggle key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Chatcommands" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Chunk size" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Cinematic mode" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Cinematic mode key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Clean transparent textures" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Client" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Client and Server" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Client modding" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Client side modding restrictions" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Client side node lookup range restriction" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Climbing speed" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Cloud radius" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Clouds" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Clouds are a client side effect." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Clouds in menu" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Colored fog" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Colored shadows" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Comma-separated list of flags to hide in the content repository.\n" +"\"nonfree\" can be used to hide packages which do not qualify as 'free " +"software',\n" +"as defined by the Free Software Foundation.\n" +"You can also specify content ratings.\n" +"These flags are independent from Minetest versions,\n" +"so see a full list at https://content.minetest.net/help/content_flags/" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Comma-separated list of mods that are allowed to access HTTP APIs, which\n" +"allow them to upload and download data to/from the internet." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Comma-separated list of trusted mods that are allowed to access insecure\n" +"functions even when mod security is on (via request_insecure_environment())." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Command key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Connect glass" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Connect to external media server" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Connects glass if supported by node." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Console alpha" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Console color" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Console height" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "ContentDB Flag Blacklist" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "ContentDB Max Concurrent Downloads" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "ContentDB URL" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Continuous forward" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Continuous forward movement, toggled by autoforward key.\n" +"Press the autoforward key again or the backwards movement to disable." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Controls" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Controls length of day/night cycle.\n" +"Examples:\n" +"72 = 20min, 360 = 4min, 1 = 24hour, 0 = day/night/whatever stays unchanged." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Controls sinking speed in liquid." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Controls steepness/depth of lake depressions." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Controls steepness/height of hills." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Controls 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" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Creative" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Crosshair alpha" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Crosshair alpha (opaqueness, between 0 and 255).\n" +"Also controls the object crosshair color" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Crosshair color" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Crosshair color (R,G,B).\n" +"Also controls the object crosshair color" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "DPI" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Damage" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Debug info toggle key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Debug log file size threshold" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Debug log level" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Dec. volume key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Decrease this to increase liquid resistance to movement." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Dedicated server step" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Default acceleration" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Default game" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Default game when creating a new world.\n" +"This will be overridden when creating a world from the main menu." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Default password" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Default privileges" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Default report format" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Default stack size" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Define shadow filtering quality\n" +"This simulates the soft shadows effect by applying a PCF or poisson disk\n" +"but also uses more resources." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Defines areas where trees have apples." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Defines areas with sandy beaches." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Defines distribution of higher terrain and steepness of cliffs." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Defines distribution of higher terrain." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Defines full size of caverns, smaller values create larger caverns." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Defines large-scale river channel structure." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Defines location and terrain of optional hills and lakes." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Defines the base ground level." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Defines the depth of the river channel." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Defines the maximal player transfer distance in blocks (0 = unlimited)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Defines the width of the river channel." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Defines the width of the river valley." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Defines tree areas and tree density." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Delay between mesh updates on the client in ms. Increasing this will slow\n" +"down the rate of mesh updates, thus reducing jitter on slower clients." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Delay in sending blocks after building" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Delay showing tooltips, stated in milliseconds." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Deprecated Lua API handling" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Depth below which you'll find giant caverns." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Depth below which you'll find large caves." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Description of server, to be displayed when players join and in the " +"serverlist." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Desert noise threshold" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Deserts occur when np_biome exceeds this value.\n" +"When the 'snowbiomes' flag is enabled, this is ignored." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Desynchronize block animation" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Dig key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Digging particles" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Disable anticheat" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Disallow empty passwords" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Domain name of server, to be displayed in the serverlist." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Double tap jump for fly" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Double-tapping the jump key toggles fly mode." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Drop item key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Dump the mapgen debug information." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Dungeon maximum Y" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Dungeon minimum Y" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Dungeon noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Enable 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 "" + +#: src/settings_translation_file.cpp +msgid "" +"Enable colored shadows. \n" +"On true translucent nodes cast colored shadows. This is expensive." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Enable console window" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Enable creative mode for all players" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Enable joysticks" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Enable mod channels support." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Enable mod security" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Enable players getting damage and dying." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Enable poisson disk filtering.\n" +"On true uses poisson disk to make \"soft shadows\". Otherwise uses PCF " +"filtering." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Enable random user input (only used for testing)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Enable register confirmation" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Enable register confirmation when connecting to server.\n" +"If disabled, new account will be registered automatically." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Enable smooth lighting with simple ambient occlusion.\n" +"Disable for speed or for different looks." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Enable to disallow old clients from connecting.\n" +"Older clients are compatible in the sense that they will not crash when " +"connecting\n" +"to new servers, but they may not support all new features that you are " +"expecting." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Enable usage of remote media server (if provided by server).\n" +"Remote servers offer a significantly faster way to download media (e.g. " +"textures)\n" +"when connecting to the server." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Enable 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 "" + +#: src/settings_translation_file.cpp +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 "" +"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 "" + +#: src/settings_translation_file.cpp +msgid "Enables caching of facedir rotated meshes." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Enables minimap." +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 "" + +#: src/settings_translation_file.cpp +msgid "Entity methods" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Exponent of the floatland tapering. Alters the tapering behaviour.\n" +"Value = 1.0 creates a uniform, linear tapering.\n" +"Values > 1.0 create a smooth tapering suitable for the default separated\n" +"floatlands.\n" +"Values < 1.0 (for example 0.25) create a more defined surface level with\n" +"flatter lowlands, suitable for a solid floatland layer." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "FPS when unfocused or paused" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "FSAA" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Factor noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fall bobbing factor" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fallback font path" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fast key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fast mode acceleration" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fast mode speed" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fast movement" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Fast movement (via the \"Aux1\" key).\n" +"This requires the \"fast\" privilege on the server." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Field of view" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Field of view in degrees." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"File in client/serverlist/ that contains your favorite servers displayed in " +"the\n" +"Multiplayer Tab." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Filler depth" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Filler depth noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Filmic tone mapping" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Filtered textures can blend RGB values with fully-transparent neighbors,\n" +"which PNG optimizers usually discard, often resulting in dark or\n" +"light edges to transparent textures. Apply a filter to clean that up\n" +"at texture load time. This is automatically enabled if mipmapping is enabled." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Filtering" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "First of 4 2D noises that together define hill/mountain range height." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "First of two 3D noises that together define tunnels." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fixed map seed" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fixed virtual joystick" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Floatland density" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Floatland maximum Y" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Floatland minimum Y" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Floatland noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Floatland taper exponent" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Floatland tapering distance" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Floatland water level" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fly key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Flying" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fog" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fog start" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fog toggle key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Font 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 "Font shadow alpha" +msgstr "" + +#: src/settings_translation_file.cpp +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 size of the monospace font in point (pt)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Font size of the recent chat text and chat prompt in point (pt).\n" +"Value 0 will use the default font size." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Format of player chat messages. The following strings are valid " +"placeholders:\n" +"@name, @message, @timestamp (optional)" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Format of screenshots." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Formspec Default Background Color" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Formspec Default Background Opacity" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Formspec Full-Screen Background Color" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Formspec Full-Screen Background Opacity" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Formspec default background color (R,G,B)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Formspec default background opacity (between 0 and 255)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Formspec full-screen background color (R,G,B)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Formspec full-screen background opacity (between 0 and 255)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Forward key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fourth of 4 2D noises that together define hill/mountain range height." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fractal type" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fraction of the visible distance at which fog starts to be rendered" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "FreeType fonts" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"From how far blocks are generated for clients, stated in mapblocks (16 " +"nodes)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"From how far blocks are sent to clients, stated in mapblocks (16 nodes)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"From how far clients know about objects, stated in mapblocks (16 nodes).\n" +"\n" +"Setting this larger than active_block_range will also cause the server\n" +"to maintain active objects up to this distance in the direction the\n" +"player is looking. (This can avoid mobs suddenly disappearing from view)" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Full screen" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fullscreen mode." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "GUI scaling" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "GUI scaling filter" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "GUI scaling filter txr2img" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Global callbacks" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Global map generation attributes.\n" +"In Mapgen v6 the 'decorations' flag controls all decorations except trees\n" +"and junglegrass, in all other mapgens this flag controls all decorations." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Gradient of light curve at maximum light level.\n" +"Controls the contrast of the highest light levels." +msgstr "" + +#: src/settings_translation_file.cpp +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 "Graphics" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Gravity" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Ground level" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Ground noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "HTTP mods" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "HUD scale factor" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "HUD toggle key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Handling for deprecated Lua API calls:\n" +"- none: Do not log deprecated calls\n" +"- log: mimic and log backtrace of deprecated call (default).\n" +"- error: abort on usage of deprecated call (suggested for mod developers)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Have the profiler instrument itself:\n" +"* Instrument an empty function.\n" +"This estimates the overhead, that instrumentation is adding (+1 function " +"call).\n" +"* Instrument the sampler being used to update the statistics." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Heat blend noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Heat noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Height component of the initial window size. Ignored in fullscreen mode." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Height noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Height select noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hill steepness" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hill threshold" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hilliness1 noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hilliness2 noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hilliness3 noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hilliness4 noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Homepage of server, to be displayed in the serverlist." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Horizontal acceleration in air when jumping or falling,\n" +"in nodes per second per second." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Horizontal and vertical acceleration in fast mode,\n" +"in nodes per second per second." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Horizontal and vertical acceleration on ground or when climbing,\n" +"in nodes per second per second." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar next key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar previous key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 1 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 10 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 11 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 12 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 13 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 14 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 15 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 16 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 17 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 18 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 19 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 2 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 20 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 21 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 22 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 23 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 24 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 25 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 26 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 27 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 28 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 29 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 3 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 30 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 31 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 32 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 4 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 5 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 6 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 7 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 8 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 9 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "How deep to make rivers." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"How 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 "" + +#: src/settings_translation_file.cpp +msgid "How wide to make rivers." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Humidity blend noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Humidity noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Humidity variation for biomes." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "IPv6" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "IPv6 server" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"If FPS would go higher than this, limit it by sleeping\n" +"to not waste CPU power for no benefit." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"If disabled, \"Aux1\" key is used to fly fast if both fly and fast mode are\n" +"enabled." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"If enabled the server will perform map block occlusion culling based on\n" +"on the eye position of the player. This can reduce the number of blocks\n" +"sent to the client 50-80%. The client will not longer receive most " +"invisible\n" +"so that the utility of noclip mode is reduced." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"If enabled together with fly mode, player is able to fly through solid " +"nodes.\n" +"This requires the \"noclip\" privilege on the server." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"If enabled, \"Aux1\" key instead of \"Sneak\" key is used for climbing down " +"and\n" +"descending." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"If enabled, actions are recorded for rollback.\n" +"This option is only read when server starts." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "If enabled, disable cheat prevention in multiplayer." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"If enabled, invalid world data won't cause the server to shut down.\n" +"Only enable this if you know what you are doing." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"If enabled, makes move directions relative to the player's pitch when flying " +"or swimming." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "If enabled, new players cannot join with an empty password." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"If enabled, you can place blocks at the position (feet + eye level) where " +"you stand.\n" +"This is helpful when working with nodeboxes in small areas." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"If the CSM restriction for node range is enabled, get_node calls are " +"limited\n" +"to this distance from the player to the node." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"If the execution of a chat command takes longer than this specified time in\n" +"seconds, add the time information to the chat command message" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"If the file size of debug.txt exceeds the number of megabytes specified in\n" +"this setting when it is opened, the file is moved to debug.txt.1,\n" +"deleting an older debug.txt.1 if it exists.\n" +"debug.txt is only moved if this setting is positive." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "If this is set, players will always (re)spawn at the given position." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Ignore world errors" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "In-Game" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "In-game chat console background alpha (opaqueness, between 0 and 255)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "In-game chat console background color (R,G,B)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "In-game chat console height, between 0.1 (10%) and 1.0 (100%)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Inc. volume key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Initial vertical speed when jumping, in nodes per second." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Instrument builtin.\n" +"This is usually only needed by core/builtin contributors" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Instrument chatcommands on registration." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Instrument global callback functions on registration.\n" +"(anything you pass to a minetest.register_*() function)" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Instrument the action function of Active Block Modifiers on registration." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Instrument the action function of Loading Block Modifiers on registration." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Instrument the methods of entities on registration." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Instrumentation" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Interval of saving important changes in the world, stated in seconds." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Interval of sending time of day to clients." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Inventory items animations" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Inventory key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Invert mouse" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Invert vertical mouse movement." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "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 "" + +#: src/settings_translation_file.cpp +msgid "Iterations" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Iterations of the recursive function.\n" +"Increasing this increases the amount of fine detail, but also\n" +"increases processing load.\n" +"At iterations = 20 this mapgen has a similar load to mapgen V7." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Joystick ID" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Joystick button repetition interval" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Joystick deadzone" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Joystick frustum sensitivity" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Joystick type" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Julia set only.\n" +"W component of hypercomplex constant.\n" +"Alters the shape of the fractal.\n" +"Has no effect on 3D fractals.\n" +"Range roughly -2 to 2." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Julia set only.\n" +"X component of hypercomplex constant.\n" +"Alters the shape of the fractal.\n" +"Range roughly -2 to 2." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Julia set only.\n" +"Y component of hypercomplex constant.\n" +"Alters the shape of the fractal.\n" +"Range roughly -2 to 2." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Julia set only.\n" +"Z component of hypercomplex constant.\n" +"Alters the shape of the fractal.\n" +"Range roughly -2 to 2." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Julia w" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Julia x" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Julia y" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Julia z" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Jump key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Jumping speed" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for decreasing the viewing range.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for decreasing the volume.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for digging.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for dropping the currently selected item.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for increasing the viewing range.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for increasing the volume.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for jumping.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for moving fast in fast mode.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for moving the player backward.\n" +"Will also disable autoforward, when active.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for moving the player forward.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for moving the player left.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for moving the player right.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for muting the game.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for opening the chat window to type commands.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for opening the chat window to type local commands.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for opening the chat window.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for opening the inventory.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for placing.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 11th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 12th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 13th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 14th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 15th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 16th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 17th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 18th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 19th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 20th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 21st hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 22nd hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 23rd hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 24th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 25th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 26th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 27th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 28th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 29th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 30th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 31st hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 32nd hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the eighth hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the fifth hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the first hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the fourth hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the next item in the hotbar.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the ninth hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the previous item in the hotbar.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the second hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the seventh hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the sixth hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the tenth hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the third hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for sneaking.\n" +"Also used for climbing down and descending in water if aux1_descends is " +"disabled.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for switching between first- and third-person camera.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for taking screenshots.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling autoforward.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling cinematic mode.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling display of minimap.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling fast mode.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling flying.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling noclip mode.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling pitch move mode.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling the camera update. Only used for development\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling the display of chat.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling the display of debug info.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling the display of fog.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling the display of the HUD.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling the display of the large chat console.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling the display of the profiler. Used for development.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling unlimited view range.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key to use view zoom when possible.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Kick players who sent more than X messages per 10 seconds." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Lake steepness" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Lake threshold" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Language" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Large cave depth" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Large 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 "Large chat console key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Leaves style" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Leaves style:\n" +"- Fancy: all faces visible\n" +"- Simple: only outer faces, if defined special_tiles are used\n" +"- Opaque: disable transparency" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Left key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Length of a server tick and the interval at which objects are generally " +"updated over\n" +"network." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Length of 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 "" + +#: src/settings_translation_file.cpp +msgid "Length of time between NodeTimer execution cycles" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Length of time between active block management cycles" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Level of logging to be written to debug.txt:\n" +"- (no logging)\n" +"- none (messages with no level)\n" +"- error\n" +"- warning\n" +"- action\n" +"- info\n" +"- verbose" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Light curve 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 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 map generation, in nodes, in all 6 directions from (0, 0, 0).\n" +"Only mapchunks completely within the mapgen limit are generated.\n" +"Value is stored per-world." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Limits number of parallel HTTP requests. Affects:\n" +"- Media fetch if server uses remote_media setting.\n" +"- Serverlist download and server announcement.\n" +"- Downloads performed by main menu (e.g. mod manager).\n" +"Only has an effect if compiled with cURL." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Liquid fluidity" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Liquid fluidity smoothing" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Liquid loop max" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Liquid queue purge time" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Liquid sinking" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Liquid update interval in seconds." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Liquid update tick" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Load the game profiler" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Load the game profiler to collect game profiling data.\n" +"Provides a /profiler command to access the compiled profile.\n" +"Useful for mod developers and server operators." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Loading Block Modifiers" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Lower Y limit of dungeons." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Lower Y limit of floatlands." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Main menu script" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Make fog and sky colors depend on daytime (dawn/sunset) and view direction." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Makes all liquids opaque" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Map Compression Level for Disk Storage" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Map Compression Level for Network Transfer" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Map directory" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Map generation attributes specific to Mapgen Carpathian." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Map generation attributes specific to Mapgen 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 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 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 "" + +#: src/settings_translation_file.cpp +msgid "" +"Map generation attributes specific to Mapgen v6.\n" +"The 'snowbiomes' flag enables the new 5 biome system.\n" +"When the 'snowbiomes' flag is enabled jungles are automatically enabled and\n" +"the 'jungles' flag is ignored." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Map generation attributes specific to Mapgen v7.\n" +"'ridges': Rivers.\n" +"'floatlands': Floating land masses in the atmosphere.\n" +"'caverns': Giant caves deep underground." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Map generation limit" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Map save interval" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Map update time" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapblock limit" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapblock mesh generation delay" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapblock mesh generator's MapBlock cache size in MB" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapblock unload timeout" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen Carpathian" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen Carpathian specific flags" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen Flat" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen Flat specific flags" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen Fractal" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen Fractal specific flags" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen V5" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen V5 specific flags" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen V6" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen V6 specific flags" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen V7" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen V7 specific flags" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen Valleys" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen Valleys specific flags" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen debug" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen name" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Max block generate distance" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Max block send distance" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Max liquids processed per step." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Max. clearobjects extra blocks" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Max. packets per iteration" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum FPS" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum FPS when the window is not focused, or when the game is paused." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum distance to render shadows." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum forceloaded blocks" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum hotbar width" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum 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 resistance. Controls deceleration when entering liquid at\n" +"high speed." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum number of blocks that are simultaneously sent per client.\n" +"The maximum total count is calculated dynamically:\n" +"max_total = ceil((#clients + max_users) * per_client / 4)" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum number of blocks that can be queued for loading." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum number of blocks to be queued that are to be generated.\n" +"This limit is enforced per player." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum number of blocks to be queued that are to be loaded from file.\n" +"This limit is enforced per player." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum number of concurrent downloads. Downloads exceeding this limit will " +"be queued.\n" +"This should be lower than curl_parallel_limit." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum number of forceloaded mapblocks." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum number of mapblocks for client to be kept in memory.\n" +"Set to -1 for unlimited amount." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum number of packets sent per send step, if you have a slow connection\n" +"try reducing it, but don't reduce it to a number below double of targeted\n" +"client number." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum number of players that can be connected simultaneously." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum number of recent chat messages to show" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum number of statically stored objects in a block." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum objects per block" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum proportion of current window to be used for hotbar.\n" +"Useful if there's something to be displayed right or left of hotbar." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum simultaneous block sends per client" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum size of the out chat queue" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum size of the out chat queue.\n" +"0 to disable queueing and -1 to make the queue size unlimited." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum time a file download (e.g. a mod download) may take, stated in " +"milliseconds." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum time an interactive request (e.g. server list fetch) may take, " +"stated in milliseconds." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum users" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Menus" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mesh cache" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Message of the day" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Message of the day displayed to players connecting." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Method used to highlight selected object." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Minimal level of logging to be written to chat." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Minimap" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Minimap key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Minimap scan height" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Minimum 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 "" + +#: src/settings_translation_file.cpp +msgid "Mipmapping" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mod channels" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Modifies the size of the hudbar elements." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Monospace font path" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Monospace font size" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mountain height noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mountain noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mountain variation noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mountain zero level" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mouse sensitivity" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mouse sensitivity multiplier." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mud noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Multiplier for fall bobbing.\n" +"For example: 0 for no view bobbing; 1.0 for normal; 2.0 for double." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mute key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mute sound" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Name of map generator to be used when creating a new world.\n" +"Creating a world in the main menu will override this.\n" +"Current mapgens in a highly unstable state:\n" +"- The optional floatlands of v7 (disabled by default)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Name of the player.\n" +"When running a server, clients connecting with this name are admins.\n" +"When starting from the main menu, this is overridden." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Name of the server, to be displayed when players join and in the serverlist." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Near plane" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Network" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Network port to listen (UDP).\n" +"This value will be overridden when starting from the main menu." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "New users need to input this password." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Noclip" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Noclip key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Node highlighting" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "NodeTimer interval" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Noises" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Number of emerge threads" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Number of emerge threads to use.\n" +"Value 0:\n" +"- Automatic selection. The number of emerge threads will be\n" +"- 'number of processors - 2', with a lower limit of 1.\n" +"Any other value:\n" +"- Specifies the number of emerge threads, with a lower limit of 1.\n" +"WARNING: Increasing the number of emerge threads increases engine mapgen\n" +"speed, but this may harm game performance by interfering with other\n" +"processes, especially in singleplayer and/or when running Lua code in\n" +"'on_generated'. For many users the optimum setting may be '1'." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Number of extra blocks that can be loaded by /clearobjects at once.\n" +"This is a trade-off between sqlite transaction overhead and\n" +"memory consumption (4096=100MB, as a rule of thumb)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Online Content Repository" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Opaque liquids" +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 "" +"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 "" +"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. Can be an absolute or relative path.\n" +"The folder will be created if it doesn't already exist." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Path to shader directory. If no path is defined, default location will be " +"used." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Path to texture directory. All textures are first searched from here." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"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 "Per-player limit of queued blocks load from disk" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Per-player limit of queued blocks to generate" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Physics" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Pitch move key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Pitch move mode" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Place key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Place repetition interval" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Player is able to fly without being affected by gravity.\n" +"This requires the \"fly\" privilege on the server." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Player name" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Player transfer distance" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Player versus player" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Poisson filtering" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Port to connect to (UDP).\n" +"Note that the port field in the main menu overrides this setting." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Prevent digging and placing from repeating when holding the mouse buttons.\n" +"Enable this when you dig or place too often by accident." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Prevent mods from doing insecure things like running shell commands." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Print the engine's profiling data in regular intervals (in seconds).\n" +"0 = disable. Useful for developers." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Privileges that players with basic_privs can grant" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Profiler" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Profiler toggle key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Profiling" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Prometheus listener address" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Prometheus listener address.\n" +"If minetest is compiled with ENABLE_PROMETHEUS option enabled,\n" +"enable metrics listener for Prometheus on that address.\n" +"Metrics can be fetch on http://127.0.0.1:30000/metrics" +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 " +"corners." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Raises terrain to make valleys around the rivers." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Random input" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Range select key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Recent Chat Messages" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Regular font path" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Remote media" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Remote port" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Remove color codes from incoming chat messages\n" +"Use this to stop players from being able to use color in their messages" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Replaces the default main menu with a custom one." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Report path" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Restricts the access of certain client-side functions on servers.\n" +"Combine the byteflags below to restrict client-side features, or set to 0\n" +"for no restrictions:\n" +"LOAD_CLIENT_MODS: 1 (disable loading client-provided mods)\n" +"CHAT_MESSAGES: 2 (disable send_chat_message call client-side)\n" +"READ_ITEMDEFS: 4 (disable get_item_def call client-side)\n" +"READ_NODEDEFS: 8 (disable get_node_def call client-side)\n" +"LOOKUP_NODES_LIMIT: 16 (limits get_node call client-side to\n" +"csm_restriction_noderange)\n" +"READ_PLAYERINFO: 32 (disable get_player_names call client-side)" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Ridge mountain spread noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Ridge noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Ridge underwater noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Ridged mountain size noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Right key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "River channel depth" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "River channel width" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "River depth" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "River noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "River size" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "River valley width" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Rollback recording" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Rolling hill size noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Rolling hills spread noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Round minimap" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Safe digging and placing" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Sandy beaches occur when np_beach exceeds this value." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Save the map received by the client on disk." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Save window size automatically when modified." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Saving map received from server" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Scale GUI by a user specified value.\n" +"Use a nearest-neighbor-anti-alias filter to scale the GUI.\n" +"This will smooth over some of the rough edges, and blend\n" +"pixels when scaling down, at the cost of blurring some\n" +"edge pixels when images are scaled by non-integer sizes." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Screen height" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Screen width" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Screenshot folder" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Screenshot format" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Screenshot quality" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Screenshot quality. Only used for JPEG format.\n" +"1 means worst quality; 100 means best quality.\n" +"Use 0 for default quality." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Seabed noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Second of 4 2D noises that together define hill/mountain range height." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Second of two 3D noises that together define tunnels." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Security" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "See https://www.sqlite.org/pragma.html#pragma_synchronous" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Selection box border color (R,G,B)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Selection box color" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Selection box width" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Selects one of 18 fractal types.\n" +"1 = 4D \"Roundy\" Mandelbrot set.\n" +"2 = 4D \"Roundy\" Julia set.\n" +"3 = 4D \"Squarry\" Mandelbrot set.\n" +"4 = 4D \"Squarry\" Julia set.\n" +"5 = 4D \"Mandy Cousin\" Mandelbrot set.\n" +"6 = 4D \"Mandy Cousin\" Julia set.\n" +"7 = 4D \"Variation\" Mandelbrot set.\n" +"8 = 4D \"Variation\" Julia set.\n" +"9 = 3D \"Mandelbrot/Mandelbar\" Mandelbrot set.\n" +"10 = 3D \"Mandelbrot/Mandelbar\" Julia set.\n" +"11 = 3D \"Christmas Tree\" Mandelbrot set.\n" +"12 = 3D \"Christmas Tree\" Julia set.\n" +"13 = 3D \"Mandelbulb\" Mandelbrot set.\n" +"14 = 3D \"Mandelbulb\" Julia set.\n" +"15 = 3D \"Cosine Mandelbulb\" Mandelbrot set.\n" +"16 = 3D \"Cosine Mandelbulb\" Julia set.\n" +"17 = 4D \"Mandelbulb\" Mandelbrot set.\n" +"18 = 4D \"Mandelbulb\" Julia set." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Server / Singleplayer" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Server URL" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Server address" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Server description" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Server name" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Server port" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Server side occlusion culling" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Serverlist URL" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Serverlist file" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the language. Leave empty to use the system language.\n" +"A restart is required after changing this." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Set the maximum character length of a chat message sent by clients." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow strength.\n" +"Lower value means lighter shadows, higher value means darker shadows." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow update time.\n" +"Lower value means shadows and map updates faster, but it consume more " +"resources.\n" +"Minimun value 0.001 seconds max value 0.2 seconds" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the soft shadow radius size.\n" +"Lower values mean sharper shadows bigger values softer.\n" +"Minimun value 1.0 and max value 10.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the tilt of Sun/Moon orbit in degrees\n" +"Value of 0 means no tilt / vertical orbit.\n" +"Minimun value 0.0 and max value 60.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set to true to enable Shadow Mapping.\n" +"Requires shaders to be enabled." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set to true to enable waving leaves.\n" +"Requires shaders to be enabled." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"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 to enable waving plants.\n" +"Requires shaders to be enabled." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Sets shadow texture quality to 32 bits.\n" +"On false, 16 bits texture will be used.\n" +"This can cause much more artifacts in the shadow." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shader path" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Shaders allow advanced visual effects and may increase performance on some " +"video\n" +"cards.\n" +"This only works with the OpenGL video backend." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow filter quality" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map max distance in nodes to render shadows" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture in 32 bits" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture size" +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 "Shadow strength" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shape of the minimap. Enabled = round, disabled = square." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Show debug info" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Show entity selection boxes" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Show entity selection boxes\n" +"A restart is required after changing this." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Show nametag backgrounds by default" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shutdown message" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Size of mapchunks generated by mapgen, stated in mapblocks (16 nodes).\n" +"WARNING!: There is no benefit, and there are several dangers, in\n" +"increasing this value above 5.\n" +"Reducing this value increases cave and dungeon density.\n" +"Altering this value is for special usage, leaving it unchanged is\n" +"recommended." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Size of the MapBlock cache of the mesh generator. Increasing this will\n" +"increase the cache hit %, reducing the data being copied from the main\n" +"thread, thus reducing jitter." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Sky Body Orbit Tilt" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Slice w" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Slope and fill work together to modify the heights." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Small 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 "" + +#: src/settings_translation_file.cpp +msgid "Small-scale temperature variation for blending biomes on borders." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Smooth lighting" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Smooths camera when looking around. Also called look or mouse smoothing.\n" +"Useful for recording videos." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Smooths rotation of camera in cinematic mode. 0 to disable." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Smooths rotation of camera. 0 to disable." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Sneak key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Sneaking speed" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Sneaking speed, in nodes per second." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Soft shadow radius" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Sound" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Specifies URL from which client fetches media instead of using UDP.\n" +"$filename should be accessible from $remote_media$filename via cURL\n" +"(obviously, remote_media should end with a slash).\n" +"Files that are not present will be fetched the usual way." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Specifies the default stack size of nodes, items and tools.\n" +"Note that mods or games may explicitly set a stack for certain (or all) " +"items." +msgstr "" + +#: src/settings_translation_file.cpp +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 "Static spawnpoint" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Steepness noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Step mountain size noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Step mountain spread noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Strength of 3D mode parallax." +msgstr "" + +#: src/settings_translation_file.cpp +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 "Strict protocol checking" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Strip color codes" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Surface level of optional water placed on a solid floatland layer.\n" +"Water is disabled by default and will only be placed if this value is set\n" +"to above 'mgv7_floatland_ymax' - 'mgv7_floatland_taper' (the start of the\n" +"upper tapering).\n" +"***WARNING, POTENTIAL DANGER TO WORLDS AND SERVER PERFORMANCE***:\n" +"When enabling water placement the floatlands must be configured and tested\n" +"to be a solid layer by setting 'mgv7_floatland_density' to 2.0 (or other\n" +"required value depending on 'mgv7_np_floatland'), to avoid\n" +"server-intensive extreme water flow and to avoid vast flooding of the\n" +"world surface below." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Synchronous SQLite" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Temperature variation for biomes." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Terrain alternative noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Terrain base noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Terrain height" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Terrain higher noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Terrain noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Terrain noise threshold for hills.\n" +"Controls proportion of world area covered by hills.\n" +"Adjust towards 0.0 for a larger proportion." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Terrain noise threshold for lakes.\n" +"Controls proportion of world area covered by lakes.\n" +"Adjust towards 0.0 for a larger proportion." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Terrain persistence noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Texture path" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Texture size to render the shadow map on.\n" +"This must be a power of two.\n" +"Bigger numbers create better shadowsbut it is also more expensive." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Textures on a node may be aligned either to the node or to the world.\n" +"The former mode suits better things like machines, furniture, etc., while\n" +"the latter makes stairs and microblocks fit surroundings better.\n" +"However, as this possibility is new, thus may not be used by older servers,\n" +"this option allows enforcing it for certain node types. Note though that\n" +"that is considered EXPERIMENTAL and may not work properly." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "The URL for the content repository" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "The deadzone of the joystick" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"The default format in which profiles are being saved,\n" +"when calling `/profiler save [format]` without format." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "The depth of dirt or other biome filler node." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"The file path relative to your worldpath in which profiles will be saved to." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "The identifier of the joystick to use" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "The length in pixels it takes for touch screen interaction to start." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"The 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 "" + +#: src/settings_translation_file.cpp +msgid "" +"The privileges that new users automatically get.\n" +"See /privs in game for a full list on your server and mod configuration." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"The radius of the volume of blocks around every player that is subject to " +"the\n" +"active block stuff, stated in mapblocks (16 nodes).\n" +"In active blocks objects are loaded and ABMs run.\n" +"This is also the minimum range in which active objects (mobs) are " +"maintained.\n" +"This should be configured together with active_object_send_range_blocks." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"The rendering back-end.\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.\n" +"Shaders are supported by OpenGL (desktop only) and OGLES2 (experimental)" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"The sensitivity of the joystick axes for moving the\n" +"ingame view frustum around." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"The strength (darkness) of node ambient-occlusion shading.\n" +"Lower is darker, Higher is lighter. The valid range of values for this\n" +"setting is 0.25 to 4.0 inclusive. If the value is out of range it will be\n" +"set to the nearest valid value." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"The time (in seconds) that the liquids queue may grow beyond processing\n" +"capacity until an attempt is made to decrease its size by dumping old queue\n" +"items. A value of 0 disables the functionality." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"The time budget allowed for ABMs to execute on each step\n" +"(as a fraction of the ABM Interval)" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"The time in seconds it takes between repeated events\n" +"when holding down a joystick button combination." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"The time in seconds it takes between repeated node placements when holding\n" +"the place button." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "The type of joystick" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"The vertical distance over which heat drops by 20 if 'altitude_chill' is\n" +"enabled. Also the vertical distance over which humidity drops by 10 if\n" +"'altitude_dry' is enabled." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Third of 4 2D noises that together define hill/mountain range height." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Time in seconds for item entity (dropped items) to live.\n" +"Setting it to -1 disables the feature." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Time of day when a new world is started, in millihours (0-23999)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Time send interval" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Time speed" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Timeout for client to remove unused map data from memory." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"To reduce lag, block transfers are slowed down when a player is building " +"something.\n" +"This determines how long they are slowed down after placing or removing a " +"node." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Toggle camera mode key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Tooltip delay" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Touch screen threshold" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Trees noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Trilinear filtering" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"True = 256\n" +"False = 128\n" +"Usable to make minimap smoother on slower machines." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Trusted mods" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "URL to the server list displayed in the Multiplayer Tab." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Undersampling" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Undersampling is similar to using a lower screen resolution, but it applies\n" +"to the game world only, keeping the GUI intact.\n" +"It should give a significant performance boost at the cost of less detailed " +"image.\n" +"Higher values result in a less detailed image." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Unlimited player transfer distance" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Unload unused server data" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Upper Y limit of dungeons." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Upper Y limit of floatlands." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Use 3D cloud look instead of flat." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Use a cloud animation for the main menu background." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Use anisotropic filtering when viewing at textures from an angle." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Use bilinear filtering when scaling textures." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Use mip mapping to scale textures. May slightly increase performance,\n" +"especially when using a high resolution texture pack.\n" +"Gamma correct downscaling is not supported." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Use multi-sample antialiasing (MSAA) to smooth out block edges.\n" +"This algorithm smooths out the 3D viewport while keeping the image sharp,\n" +"but it doesn't affect the insides of textures\n" +"(which is especially noticeable with transparent textures).\n" +"Visible spaces appear between nodes when shaders are disabled.\n" +"If set to 0, MSAA is disabled.\n" +"A restart is required after changing this option." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Use trilinear filtering when scaling textures." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "VBO" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "VSync" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Valley depth" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Valley fill" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Valley profile" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Valley slope" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Variation of biome filler depth." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Variation of maximum mountain height (in nodes)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Variation of number of caves." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Variation of terrain vertical scale.\n" +"When noise is < -0.55 terrain is near-flat." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Varies depth of biome surface nodes." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Varies roughness of terrain.\n" +"Defines the 'persistence' value for terrain_base and terrain_alt noises." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Varies steepness of cliffs." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Vertical climbing speed, in nodes per second." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Vertical screen synchronization." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Video driver" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "View bobbing factor" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "View distance in nodes." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "View range decrease key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "View range increase key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "View zoom key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Viewing range" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Virtual joystick triggers Aux1 button" +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 "" +"W coordinate of the generated 3D slice of a 4D fractal.\n" +"Determines which 3D slice of the 4D shape is generated.\n" +"Alters the shape of the fractal.\n" +"Has no effect on 3D fractals.\n" +"Range roughly -2 to 2." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Walking and flying speed, in nodes per second." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Walking speed" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Walking, flying and climbing speed in fast mode, in nodes per second." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Water level" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Water surface level of the world." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Waving Nodes" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Waving leaves" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Waving liquids" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Waving liquids wave height" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Waving liquids wave speed" +msgstr "" + +#: src/settings_translation_file.cpp +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" +"to hardware (e.g. render-to-texture for nodes in inventory)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"When gui_scaling_filter_txr2img is true, copy those images\n" +"from hardware to software for scaling. When false, fall back\n" +"to the old scaling method, for video drivers that don't\n" +"properly support downloading textures back from hardware." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"When using bilinear/trilinear/anisotropic filters, low-resolution textures\n" +"can be blurred, so automatically upscale them with nearest-neighbor\n" +"interpolation to preserve crisp pixels. This sets the minimum texture size\n" +"for the upscaled textures; higher values look sharper, but require more\n" +"memory. Powers of 2 are recommended. This setting is ONLY applies if\n" +"bilinear/trilinear/anisotropic filtering is enabled.\n" +"This is also used as the base node texture size for world-aligned\n" +"texture autoscaling." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Whether FreeType fonts are used, requires FreeType support to be compiled " +"in.\n" +"If disabled, bitmap and XML vectors fonts are used instead." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Whether nametag backgrounds should be shown by default.\n" +"Mods may still set a background." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Whether node texture animations should be desynchronized per mapblock." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Whether players are shown to clients without any range limit.\n" +"Deprecated, use the setting player_transfer_distance instead." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Whether to allow players to damage and kill each other." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Whether to ask clients to reconnect after a (Lua) crash.\n" +"Set this to true if your server is set up to restart automatically." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Whether to fog out the end of the visible area." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Whether to 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 "" + +#: src/settings_translation_file.cpp +msgid "Width component of the initial window size. Ignored in fullscreen mode." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Width of the selection box lines around nodes." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Windows systems only: Start Minetest with the command line window in the " +"background.\n" +"Contains the same information as the file debug.txt (default name)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"World directory (everything in the world is stored here).\n" +"Not needed if starting from the main menu." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "World start time" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"World-aligned textures may be scaled to span several nodes. However,\n" +"the server may not send the scale you want, especially if you use\n" +"a specially-designed texture pack; with this option, the client tries\n" +"to determine the scale automatically basing on the texture size.\n" +"See also texture_min_size.\n" +"Warning: This option is EXPERIMENTAL!" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "World-aligned textures mode" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Y of flat ground." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Y of mountain density gradient zero level. Used to shift mountains " +"vertically." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Y of upper limit of large caves." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Y-distance over which caverns expand to full size." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Y-distance over which floatlands taper from full density to nothing.\n" +"Tapering starts at this distance from the Y limit.\n" +"For a solid floatland layer, this controls the height of hills/mountains.\n" +"Must be less than or equal to half the distance between the Y limits." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Y-level of average terrain surface." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Y-level of cavern upper limit." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Y-level of 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 "" +"ZLib compression level to use when saving mapblocks to disk.\n" +"-1 - Zlib's default compression level\n" +"0 - no compresson, fastest\n" +"9 - best compression, slowest\n" +"(levels 1-3 use Zlib's \"fast\" method, 4-9 use the normal method)" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"ZLib compression level to use when sending mapblocks to the client.\n" +"-1 - Zlib's default compression level\n" +"0 - no compresson, fastest\n" +"9 - best compression, slowest\n" +"(levels 1-3 use Zlib's \"fast\" method, 4-9 use the normal method)" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "cURL file download timeout" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "cURL interactive timeout" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "cURL parallel limit" +msgstr "" diff --git a/po/ms/minetest.po b/po/ms/minetest.po index d35e063cc..5985a4220 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: 2021-02-23 19:03+0100\n" -"PO-Revision-Date: 2021-02-01 05:52+0000\n" +"POT-Creation-Date: 2021-06-16 18:27+0200\n" +"PO-Revision-Date: 2021-06-01 16:17+0000\n" "Last-Translator: Yaya - Nurul Azeera Hidayah @ Muhammad Nur Hidayat " "Yasuyoshi \n" "Language-Team: Malay ' to get more information, or '.help all' to list everything." +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "[all | ]" +msgstr "" + #: builtin/fstk/dialog.lua builtin/fstk/ui.lua src/gui/modalMenu.cpp msgid "OK" msgstr "OK" @@ -533,7 +607,7 @@ msgstr "< Kembali ke halaman Tetapan" msgid "Browse" msgstr "Layar" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_settings.lua msgid "Disabled" msgstr "Dilumpuhkan" @@ -577,7 +651,7 @@ msgstr "Pulihkan Tetapan Asal" msgid "Scale" msgstr "Skala" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua msgid "Search" msgstr "Cari" @@ -701,9 +775,8 @@ msgid "Loading..." msgstr "Sedang memuatkan..." #: builtin/mainmenu/serverlistmgr.lua -#, fuzzy msgid "Public server list is disabled" -msgstr "Skrip pihak klien dilumpuhkan" +msgstr "Senarai pelayan awam dilumpuhkan" #: builtin/mainmenu/serverlistmgr.lua msgid "Try reenabling public serverlist and check your internet connection." @@ -711,6 +784,43 @@ msgstr "" "Cuba aktifkan semula senarai pelayan awam dan periksa sambungan internet " "anda." +#: builtin/mainmenu/tab_about.lua +msgid "About" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active Contributors" +msgstr "Penyumbang Aktif" + +#: builtin/mainmenu/tab_about.lua +#, fuzzy +msgid "Active renderer:" +msgstr "Jarak penghantaran objek aktif" + +#: builtin/mainmenu/tab_about.lua +msgid "Core Developers" +msgstr "Pembangun Teras" + +#: builtin/mainmenu/tab_about.lua +msgid "Open User Data Directory" +msgstr "Buka Direktori Data Pengguna" + +#: builtin/mainmenu/tab_about.lua +msgid "" +"Opens the directory that contains user-provided worlds, games, mods,\n" +"and texture packs in a file manager / explorer." +msgstr "" +"Membuka direktori yang mengandungi dunia, permainan, mods, dan pek\n" +"tekstur yang disediakan oleh pengguna, dalam pengurus / pelayar fail." + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Contributors" +msgstr "Penyumbang Terdahulu" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Core Developers" +msgstr "Pembangun Teras Terdahulu" + #: builtin/mainmenu/tab_content.lua msgid "Browse online content" msgstr "Layari kandungan dalam talian" @@ -751,38 +861,6 @@ msgstr "Nyahpasang Pakej" msgid "Use Texture Pack" msgstr "Guna Pek Tekstur" -#: builtin/mainmenu/tab_credits.lua -msgid "Active Contributors" -msgstr "Penyumbang Aktif" - -#: builtin/mainmenu/tab_credits.lua -msgid "Core Developers" -msgstr "Pembangun Teras" - -#: builtin/mainmenu/tab_credits.lua -msgid "Credits" -msgstr "Penghargaan" - -#: builtin/mainmenu/tab_credits.lua -msgid "Open User Data Directory" -msgstr "Buka Direktori Data Pengguna" - -#: builtin/mainmenu/tab_credits.lua -msgid "" -"Opens the directory that contains user-provided worlds, games, mods,\n" -"and texture packs in a file manager / explorer." -msgstr "" -"Membuka direktori yang mengandungi dunia, permainan, mods, dan pek\n" -"tekstur yang disediakan oleh pengguna, dalam pengurus / pelayar fail." - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Contributors" -msgstr "Penyumbang Terdahulu" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Core Developers" -msgstr "Pembangun Teras Terdahulu" - #: builtin/mainmenu/tab_local.lua msgid "Announce Server" msgstr "Umumkan Pelayan" @@ -811,7 +889,7 @@ msgstr "Hos Pelayan" msgid "Install games from ContentDB" msgstr "Pasangkan permainan daripada ContentDB" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Name" msgstr "Nama" @@ -823,7 +901,7 @@ msgstr "Buat Baru" msgid "No world created or selected!" msgstr "Tiada dunia dicipta atau dipilih!" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Password" msgstr "Kata Laluan" @@ -831,7 +909,7 @@ msgstr "Kata Laluan" msgid "Play Game" msgstr "Mula Main" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Port" msgstr "Port" @@ -852,8 +930,13 @@ msgid "Start Game" msgstr "Mulakan Permainan" #: builtin/mainmenu/tab_online.lua -msgid "Address / Port" -msgstr "Alamat / Port" +#, fuzzy +msgid "Address" +msgstr "- Alamat: " + +#: builtin/mainmenu/tab_online.lua src/client/keycode.cpp +msgid "Clear" +msgstr "Padam" #: builtin/mainmenu/tab_online.lua msgid "Connect" @@ -863,34 +946,46 @@ msgstr "Sambung" msgid "Creative mode" msgstr "Mod Kreatif" +#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "Damage enabled" -msgstr "Boleh Cedera" +#, fuzzy +msgid "Damage / PvP" +msgstr "Boleh cedera" #: builtin/mainmenu/tab_online.lua msgid "Del. Favorite" msgstr "Padam Kegemaran" #: builtin/mainmenu/tab_online.lua -msgid "Favorite" +#, fuzzy +msgid "Favorites" msgstr "Kegemaran" +#: builtin/mainmenu/tab_online.lua +msgid "Incompatible Servers" +msgstr "" + #: builtin/mainmenu/tab_online.lua msgid "Join Game" msgstr "Sertai Permainan" -#: builtin/mainmenu/tab_online.lua -msgid "Name / Password" -msgstr "Nama / Kata laluan" - #: builtin/mainmenu/tab_online.lua msgid "Ping" msgstr "Ping" -#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "PvP enabled" -msgstr "Boleh Berlawan PvP" +#, fuzzy +msgid "Public Servers" +msgstr "Umumkan Pelayan" + +#: builtin/mainmenu/tab_online.lua +msgid "Refresh" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +#, fuzzy +msgid "Server Description" +msgstr "Perihal pelayan" #: builtin/mainmenu/tab_settings.lua msgid "2x" @@ -932,10 +1027,31 @@ msgstr "Tukar Kekunci" msgid "Connected Glass" msgstr "Kaca Bersambungan" +#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp +#, fuzzy +msgid "Dynamic shadows" +msgstr "Bayang fon" + +#: builtin/mainmenu/tab_settings.lua +msgid "Dynamic shadows: " +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Fancy Leaves" msgstr "Daun Beragam" +#: builtin/mainmenu/tab_settings.lua +msgid "High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Low" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Medium" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Mipmap" msgstr "Peta Mip" @@ -1024,6 +1140,14 @@ msgstr "Nilai Ambang Sentuhan: (px)" msgid "Trilinear Filter" msgstr "Penapisan Trilinear" +#: builtin/mainmenu/tab_settings.lua +msgid "Ultra High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Very Low" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Waving Leaves" msgstr "Daun Bergoyang" @@ -1097,18 +1221,6 @@ 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" - #: src/client/game.cpp msgid "" "\n" @@ -1353,6 +1465,11 @@ msgstr "MiB/s" msgid "Minimap currently disabled by game or mod" msgstr "Peta mini dilumpuhkan oleh permainan atau mods" +#: src/client/game.cpp +#, fuzzy +msgid "Multiplayer" +msgstr "Pemain Perseorangan" + #: src/client/game.cpp msgid "Noclip mode disabled" msgstr "Mod tembus blok dilumpuhkan" @@ -1494,10 +1611,6 @@ msgstr "Backspace" msgid "Caps Lock" msgstr "Kunci Huruf Besar" -#: src/client/keycode.cpp -msgid "Clear" -msgstr "Padam" - #: src/client/keycode.cpp msgid "Control" msgstr "Ctrl" @@ -1791,7 +1904,8 @@ msgid "Proceed" msgstr "Teruskan" #: src/gui/guiKeyChangeMenu.cpp -msgid "\"Special\" = climb down" +#, fuzzy +msgid "\"Aux1\" = climb down" msgstr "\"Istimewa\" = panjat turun" #: src/gui/guiKeyChangeMenu.cpp @@ -1802,10 +1916,18 @@ msgstr "Autopergerakan" msgid "Automatic jumping" msgstr "Lompat automatik" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Aux1" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Backward" msgstr "Ke Belakang" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Block bounds" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Change camera" msgstr "Tukar kamera" @@ -1896,10 +2018,6 @@ msgstr "Tangkap layar" msgid "Sneak" msgstr "Selinap" -#: src/gui/guiKeyChangeMenu.cpp -msgid "Special" -msgstr "Istimewa" - #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle HUD" msgstr "Togol papar pandu (HUD)" @@ -1987,9 +2105,10 @@ msgstr "" "berdasarkan kedudukan sentuhan pertama." #: 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 " +"(Android) Use virtual joystick to trigger \"Aux1\" button.\n" +"If enabled, virtual joystick will also tap \"Aux1\" button when out of main " "circle." msgstr "" "(Android) Guna kayu bedik maya untuk picu butang \"aux\".\n" @@ -2320,11 +2439,11 @@ msgstr "" "Pada jarak ini, pelayan akan mengoptimumkan secara agresif blok yang mana\n" "akan dihantar kepada klien.\n" "Nilai lebih kecil berkemungkinan boleh meningkatkan prestasi dengan banyak,\n" -"dengan mengorbankan glic penerjemahan tampak (sesetengah blok tidak akan\n" -"diterjemah di bawah air dan dalam gua, kekadang turut berlaku atas " +"dengan mengorbankan glic penterjemahan tampak (sesetengah blok tidak akan\n" +"diterjemahkan di bawah air dan dalam gua, kekadang turut berlaku atas " "daratan).\n" "Menetapkan nilai ini lebih bear daripada nilai max_block_send_distance akan\n" -"melumpuhkan pengoptimunan ini.\n" +"melumpuhkan pengoptimuman ini.\n" "Nyatakan dalam unit blokpeta (16 nod)." #: src/settings_translation_file.cpp @@ -2347,6 +2466,16 @@ msgstr "Autosimpan saiz skrin" msgid "Autoscaling mode" msgstr "Mod skala automatik" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Aux1 key" +msgstr "Kekunci lompat" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Aux1 key for climbing/descending" +msgstr "Kekunci untuk memanjat/menurun" + #: src/settings_translation_file.cpp msgid "Backward key" msgstr "Kekunci ke belakang" @@ -2391,10 +2520,6 @@ msgstr "Parameter suhu API biom dan hingar kelembapan" msgid "Biome noise" msgstr "Hingar biom" -#: src/settings_translation_file.cpp -msgid "Bits per pixel (aka color depth) in fullscreen mode." -msgstr "Bit per piksel (atau kedalaman warna) dalam mod skrin penuh." - #: src/settings_translation_file.cpp msgid "Block send optimize distance" msgstr "Jarak optimum penghantaran blok" @@ -2500,6 +2625,11 @@ msgstr "" "Pertengahan julat tolakan lengkung cahaya.\n" "Di mana 0.0 ialah aras cahaya minimum, 1.0 ialah maksimum." +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Chat command time message threshold" +msgstr "Nilai ambang tendang mesej sembang" + #: src/settings_translation_file.cpp msgid "Chat font size" msgstr "Saiz fon sembang" @@ -2596,6 +2726,11 @@ msgstr "Awan dalam menu" msgid "Colored fog" msgstr "Kabut berwarna" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Colored shadows" +msgstr "Kabut berwarna" + #: src/settings_translation_file.cpp msgid "" "Comma-separated list of flags to hide in the content repository.\n" @@ -2823,11 +2958,10 @@ msgstr "Saiz tindanan lalai" #: src/settings_translation_file.cpp msgid "" -"Default timeout for cURL, stated in milliseconds.\n" -"Only has an effect if compiled with cURL." +"Define shadow filtering quality\n" +"This simulates the soft shadows effect by applying a PCF or poisson disk\n" +"but also uses more resources." msgstr "" -"Had masa lalai untuk cURL, dinyatakan dalam milisaat.\n" -"Hanya berkesan jika dikompil dengan pilihan cURL." #: src/settings_translation_file.cpp msgid "Defines areas where trees have apples." @@ -3003,14 +3137,19 @@ msgstr "" "Membolehkan sokongan pembuatan mods Lua dekat klien.\n" "Sokongan ini dalam ujikaji dan API boleh berubah." +#: src/settings_translation_file.cpp +msgid "" +"Enable colored shadows. \n" +"On true translucent nodes cast colored shadows. This is expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable console window" msgstr "Membolehkan tetingkap konsol" #: src/settings_translation_file.cpp -#, fuzzy msgid "Enable creative mode for all players" -msgstr "Membolehkan mod kreatif untuk peta baru dicipta." +msgstr "Membolehkan mod kreatif untuk semua pemain" #: src/settings_translation_file.cpp msgid "Enable joysticks" @@ -3028,6 +3167,13 @@ msgstr "Membolehkan keselamatan mods" msgid "Enable players getting damage and dying." msgstr "Membolehkan pemain menerima kecederaan dan mati." +#: src/settings_translation_file.cpp +msgid "" +"Enable poisson disk filtering.\n" +"On true uses poisson disk to make \"soft shadows\". Otherwise uses PCF " +"filtering." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable random user input (only used for testing)." msgstr "Membolehkan input pengguna secara rawak (hanya untuk percubaan)." @@ -3185,18 +3331,6 @@ msgstr "Faktor apungan kejatuhan" msgid "Fallback font path" msgstr "Laluan fon berbalik" -#: src/settings_translation_file.cpp -msgid "Fallback font shadow" -msgstr "Bayang fon berbalik" - -#: src/settings_translation_file.cpp -msgid "Fallback font shadow alpha" -msgstr "Nilai alfa bayang fon berbalik" - -#: src/settings_translation_file.cpp -msgid "Fallback font size" -msgstr "Saiz fon berbalik" - #: src/settings_translation_file.cpp msgid "Fast key" msgstr "Kekunci pergerakan pantas" @@ -3214,8 +3348,9 @@ msgid "Fast movement" msgstr "Pergerakan pantas" #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"Fast movement (via the \"special\" key).\n" +"Fast movement (via the \"Aux1\" key).\n" "This requires the \"fast\" privilege on the server." msgstr "" "Bergerak pantas (dengan kekunci \"istimewa\").\n" @@ -3251,11 +3386,12 @@ msgid "Filmic tone mapping" msgstr "Pemetaan tona sinematik" #: 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" -"light edge to transparent textures. Apply this filter to clean that up\n" -"at texture load time." +"which PNG optimizers usually discard, often resulting in dark or\n" +"light edges to transparent textures. Apply a filter to clean that up\n" +"at texture load time. This is automatically enabled if mipmapping is enabled." msgstr "" "Tekstur yang ditapis boleh sebatikan nilai RGB dengan jiran yang lut sinar " "sepenuhnya,\n" @@ -3358,10 +3494,6 @@ msgstr "Saiz fon" msgid "Font size of the default font in point (pt)." msgstr "Saiz fon bagi fon lalai dalan unit titik (pt)." -#: src/settings_translation_file.cpp -msgid "Font size of the fallback font in point (pt)." -msgstr "Saiz fon bagi fon berbalik dalam unit titik (pt)." - #: src/settings_translation_file.cpp msgid "Font size of the monospace font in point (pt)." msgstr "Saiz fon bagi fon monospace dalam unit titik (pt)." @@ -3480,10 +3612,6 @@ msgstr "" msgid "Full screen" msgstr "Skrin penuh" -#: src/settings_translation_file.cpp -msgid "Full screen BPP" -msgstr "BPP skrin penuh" - #: src/settings_translation_file.cpp msgid "Fullscreen mode." msgstr "Mod skrin penuh." @@ -3596,7 +3724,9 @@ msgid "Heat noise" msgstr "Hingar haba" #: src/settings_translation_file.cpp -msgid "Height component of the initial window size." +#, fuzzy +msgid "" +"Height component of the initial window size. Ignored in fullscreen mode." msgstr "Komponen tinggi saiz tetingkap awal." #: src/settings_translation_file.cpp @@ -3607,10 +3737,6 @@ msgstr "Hingar ketinggian" msgid "Height select noise" msgstr "Hingar pilihan ketinggian" -#: src/settings_translation_file.cpp -msgid "High-precision FPU" -msgstr "Unit titik terapung (FPU) ketepatan tinggi" - #: src/settings_translation_file.cpp msgid "Hill steepness" msgstr "Kecuraman bukit" @@ -3856,9 +3982,9 @@ msgstr "" "tidurkannya supaya tidak bazirkan kuasa CPU dengan sia-sia." #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"If disabled, \"special\" key is used to fly fast if both fly and fast mode " -"are\n" +"If disabled, \"Aux1\" key is used to fly fast if both fly and fast mode are\n" "enabled." msgstr "" "Jika dilumpuhkan, kekunci \"istimewa\" akan digunakan untuk terbang laju\n" @@ -3888,9 +4014,10 @@ msgstr "" "Ini memerlukan keistimewaan \"tembus blok\" dalam pelayan tersebut." #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"If enabled, \"special\" key instead of \"sneak\" key is used for climbing " -"down and\n" +"If enabled, \"Aux1\" key instead of \"Sneak\" key is used for climbing down " +"and\n" "descending." msgstr "" "Jika dibolehkan, kekunci \"istimewa\" akan digunakan untuk panjat ke bawah " @@ -3952,6 +4079,12 @@ msgstr "" "Jika sekatan CSM untuk jarak nod dibolehkan, panggulan get_node akan\n" "dihadkan ke jarak ini daripada pemain kepada nod." +#: src/settings_translation_file.cpp +msgid "" +"If the execution of a chat command takes longer than this specified time in\n" +"seconds, add the time information to the chat command message" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "If the file size of debug.txt exceeds the number of megabytes specified in\n" @@ -5126,11 +5259,6 @@ msgstr "" "Buatkan warna kabut dan langit bergantung kepada waktu (fajar/matahari " "terbenam) dan arah pandang." -#: src/settings_translation_file.cpp -msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." -msgstr "" -"Membuatkan DirectX bekerja dengan LuaJIT. Lumpuhkan tetapan jika bermasalah." - #: src/settings_translation_file.cpp msgid "Makes all liquids opaque" msgstr "Buatkan semua cecair menjadi legap" @@ -5221,6 +5349,11 @@ msgstr "Had penjanaan peta" msgid "Map save interval" msgstr "Selang masa penyimpanan peta" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Map update time" +msgstr "Detik kemas kini cecair" + #: src/settings_translation_file.cpp msgid "Mapblock limit" msgstr "Had blok peta" @@ -5331,6 +5464,10 @@ msgstr "" "Bingkai per saat (FPS) maksimum apabila tetingkap tidak difokuskan, atau " "apabila permainan dijedakan." +#: src/settings_translation_file.cpp +msgid "Maximum distance to render shadows." +msgstr "" + #: src/settings_translation_file.cpp msgid "Maximum forceloaded blocks" msgstr "Jumlah maksimum blok yang dipaksa muat" @@ -5460,10 +5597,19 @@ msgstr "" "had." #: src/settings_translation_file.cpp -msgid "Maximum time in ms a file download (e.g. a mod download) may take." +#, fuzzy +msgid "" +"Maximum time a file download (e.g. a mod download) may take, stated in " +"milliseconds." msgstr "" "Masa maksimum dalam unit ms untuk muat turun fail (cth. muat turun mods)." +#: src/settings_translation_file.cpp +msgid "" +"Maximum time an interactive request (e.g. server list fetch) may take, " +"stated in milliseconds." +msgstr "" + #: src/settings_translation_file.cpp msgid "Maximum users" msgstr "Had jumlah pengguna" @@ -5707,11 +5853,6 @@ 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 " @@ -5834,6 +5975,11 @@ msgstr "Jarak pemindahan pemain" msgid "Player versus player" msgstr "Pemain lawan pemain" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Poisson filtering" +msgstr "Penapisan bilinear" + #: src/settings_translation_file.cpp msgid "" "Port to connect to (UDP).\n" @@ -6232,6 +6378,43 @@ msgstr "" msgid "Set the maximum character length of a chat message sent by clients." msgstr "Tetapkan panjang aksara maksimum mesej sembang dihantar oleh klien." +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow strength.\n" +"Lower value means lighter shadows, higher value means darker shadows." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow update time.\n" +"Lower value means shadows and map updates faster, but it consume more " +"resources.\n" +"Minimun value 0.001 seconds max value 0.2 seconds" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the soft shadow radius size.\n" +"Lower values mean sharper shadows bigger values softer.\n" +"Minimun value 1.0 and max value 10.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the tilt of Sun/Moon orbit in degrees\n" +"Value of 0 means no tilt / vertical orbit.\n" +"Minimun value 0.0 and max value 60.0" +msgstr "" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "" +"Set to true to enable Shadow Mapping.\n" +"Requires shaders to be enabled." +msgstr "" +"Tetapkan kepada \"true\" untuk membolehkan daun bergoyang.\n" +"Memerlukan pembayang untuk dibolehkan." + #: src/settings_translation_file.cpp msgid "" "Set to true to enable waving leaves.\n" @@ -6256,6 +6439,13 @@ msgstr "" "Tetapkan kepada \"true\" untuk membolehkan tumbuhan bergoyang.\n" "Memerlukan pembayang untuk dibolehkan." +#: src/settings_translation_file.cpp +msgid "" +"Sets shadow texture quality to 32 bits.\n" +"On false, 16 bits texture will be used.\n" +"This can cause much more artifacts in the shadow." +msgstr "" + #: src/settings_translation_file.cpp msgid "Shader path" msgstr "Laluan pembayang" @@ -6271,6 +6461,24 @@ msgstr "" "untuk sesetengah kad video.\n" "Namun ia hanya berfungsi dengan pembahagian belakang video OpenGL." +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Shadow filter quality" +msgstr "Kualiti tangkap layar" + +#: src/settings_translation_file.cpp +msgid "Shadow map max distance in nodes to render shadows" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture in 32 bits" +msgstr "" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Shadow map texture size" +msgstr "Saiz tekstur minimum" + #: src/settings_translation_file.cpp msgid "" "Shadow offset (in pixels) of the default font. If 0, then shadow will not be " @@ -6280,12 +6488,8 @@ msgstr "" "dilukis." #: src/settings_translation_file.cpp -msgid "" -"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not " -"be drawn." +msgid "Shadow strength" 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." @@ -6308,9 +6512,8 @@ msgstr "" "Anda perlu mulakan semula selepas mengubah tetapan ini." #: src/settings_translation_file.cpp -#, fuzzy msgid "Show nametag backgrounds by default" -msgstr "Fon tebal secara lalainya" +msgstr "Tunjuk latar belakang tag nama secara lalainya" #: src/settings_translation_file.cpp msgid "Shutdown message" @@ -6342,6 +6545,10 @@ msgstr "" "meningkatkan jumlah % hit cache, mengurangkan data yang perlu disalin\n" "daripada jalur utama, lalu mengurangkan ketaran." +#: src/settings_translation_file.cpp +msgid "Sky Body Orbit Tilt" +msgstr "" + #: src/settings_translation_file.cpp msgid "Slice w" msgstr "Hirisan w" @@ -6402,18 +6609,15 @@ msgstr "Kelajuan menyelinap" msgid "Sneaking speed, in nodes per second." msgstr "Kelajuan menyelinap, dalam unit nod per saat." +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Soft shadow radius" +msgstr "Nilai alfa bayang fon" + #: src/settings_translation_file.cpp msgid "Sound" msgstr "Bunyi" -#: src/settings_translation_file.cpp -msgid "Special key" -msgstr "Kekunci istimewa" - -#: src/settings_translation_file.cpp -msgid "Special key for climbing/descending" -msgstr "Kekunci untuk memanjat/menurun" - #: src/settings_translation_file.cpp msgid "" "Specifies URL from which client fetches media instead of using UDP.\n" @@ -6571,6 +6775,13 @@ msgstr "Hingar penerusan rupa bumi" msgid "Texture path" msgstr "Laluan tekstur" +#: src/settings_translation_file.cpp +msgid "" +"Texture size to render the shadow map on.\n" +"This must be a power of two.\n" +"Bigger numbers create better shadowsbut it is also more expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Textures on a node may be aligned either to the node or to the world.\n" @@ -6588,7 +6799,7 @@ msgstr "" "pelayan lama,\n" "pilihan ini membolehkan pemaksaan ia untuk jenis nod tertentu. Ambil " "perhatian\n" -"bahawa ianya dianggap DALAM UJIKAJI dan mungkin tidak berfungsi dengan betul." +"bahawa ia dianggap DALAM UJIKAJI dan mungkin tidak berfungsi dengan betul." #: src/settings_translation_file.cpp msgid "The URL for the content repository" @@ -6669,8 +6880,9 @@ msgstr "" "(active_object_send_range_blocks)." #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"The rendering back-end for Irrlicht.\n" +"The rendering back-end.\n" "A restart is required after changing this.\n" "Note: On Android, stick with OGLES1 if unsure! App may fail to start " "otherwise.\n" @@ -6793,8 +7005,8 @@ msgid "" msgstr "" "Untuk mengurangkan lembapnya tindak balas, pemindahan blok diperlahankan " "apabila pemain membina sesuatu.\n" -"Tetapan ini menetapkan berapa lama ianya diperlahankan setelah meletakkan " -"atau mengalihkan sesebuah nod." +"Tetapan ini menetapkan berapa lama ia diperlahankan setelah meletakkan atau " +"mengalihkan sesebuah nod." #: src/settings_translation_file.cpp msgid "Toggle camera mode key" @@ -7016,7 +7228,8 @@ msgid "Viewing range" msgstr "Jarak pandang" #: src/settings_translation_file.cpp -msgid "Virtual joystick triggers aux button" +#, fuzzy +msgid "Virtual joystick triggers Aux1 button" msgstr "Kayu bedik maya memicu butang aux" #: src/settings_translation_file.cpp @@ -7105,7 +7318,8 @@ msgstr "" "semua\n" "imej GUI perlu ditapis dalam perisian, tetapi sesetengah imej dijana secara " "terus\n" -"ke perkakasan (contohnya, penerjemahan-ke-tekstur untuk nod dalam inventori)." +"ke perkakasan (contohnya, penterjemahan-ke-tekstur untuk nod dalam " +"inventori)." #: src/settings_translation_file.cpp msgid "" @@ -7124,14 +7338,14 @@ msgstr "" "perkakasan." #: src/settings_translation_file.cpp +#, fuzzy msgid "" "When using bilinear/trilinear/anisotropic filters, low-resolution textures\n" "can be blurred, so automatically upscale them with nearest-neighbor\n" "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" +"memory. Powers of 2 are recommended. This setting is ONLY applies if\n" +"bilinear/trilinear/anisotropic filtering is enabled.\n" "This is also used as the base node texture size for world-aligned\n" "texture autoscaling." msgstr "" @@ -7165,6 +7379,8 @@ msgid "" "Whether nametag backgrounds should be shown by default.\n" "Mods may still set a background." msgstr "" +"Sama ada latar belakang tag nama patut ditunjukkan secara lalainya.\n" +"Mods masih boleh tetapkan latar belakang." #: src/settings_translation_file.cpp msgid "Whether node texture animations should be desynchronized per mapblock." @@ -7219,7 +7435,8 @@ msgstr "" "seperti menekan butang F5)." #: src/settings_translation_file.cpp -msgid "Width component of the initial window size." +#, fuzzy +msgid "Width component of the initial window size. Ignored in fullscreen mode." msgstr "Komponen lebar saiz tetingkap awal." #: src/settings_translation_file.cpp @@ -7356,12 +7573,13 @@ msgid "cURL file download timeout" msgstr "Had masa muat turun fail cURL" #: src/settings_translation_file.cpp -msgid "cURL parallel limit" -msgstr "Had cURL selari" +#, fuzzy +msgid "cURL interactive timeout" +msgstr "Had masa cURL" #: src/settings_translation_file.cpp -msgid "cURL timeout" -msgstr "Had masa cURL" +msgid "cURL parallel limit" +msgstr "Had cURL selari" #~ msgid "" #~ "0 = parallax occlusion with slope information (faster).\n" @@ -7370,6 +7588,9 @@ msgstr "Had masa cURL" #~ "0 = oklusi paralaks dengan maklumat cerun (lebih cepat).\n" #~ "1 = pemetaan bentuk muka bumi (lebih lambat, lebih tepat)." +#~ msgid "Address / Port" +#~ msgstr "Alamat / Port" + #~ msgid "" #~ "Adjust the gamma encoding for the light tables. Higher numbers are " #~ "brighter.\n" @@ -7390,6 +7611,9 @@ msgstr "Had masa cURL" #~ msgid "Back" #~ msgstr "Backspace" +#~ msgid "Bits per pixel (aka color depth) in fullscreen mode." +#~ msgstr "Bit per piksel (atau kedalaman warna) dalam mod skrin penuh." + #~ msgid "Bump Mapping" #~ msgstr "Pemetaan Bertompok" @@ -7431,12 +7655,25 @@ msgstr "Had masa cURL" #~ msgstr "" #~ "Mengawal lebar terowong, nilai lebih kecil mencipta terowong lebih lebar." +#~ msgid "Credits" +#~ msgstr "Penghargaan" + #~ msgid "Crosshair color (R,G,B)." #~ msgstr "Warna bagi kursor rerambut silang (R,G,B)." +#~ msgid "Damage enabled" +#~ msgstr "Boleh Cedera" + #~ msgid "Darkness sharpness" #~ msgstr "Ketajaman kegelapan" +#~ msgid "" +#~ "Default timeout for cURL, stated in milliseconds.\n" +#~ "Only has an effect if compiled with cURL." +#~ msgstr "" +#~ "Had masa lalai untuk cURL, dinyatakan dalam milisaat.\n" +#~ "Hanya berkesan jika dikompil dengan pilihan cURL." + #~ msgid "" #~ "Defines areas of floatland smooth terrain.\n" #~ "Smooth floatlands occur when noise > 0." @@ -7504,6 +7741,15 @@ msgstr "Had masa cURL" #~ msgid "FPS in pause menu" #~ msgstr "FPS di menu jeda" +#~ msgid "Fallback font shadow" +#~ msgstr "Bayang fon berbalik" + +#~ msgid "Fallback font shadow alpha" +#~ msgstr "Nilai alfa bayang fon berbalik" + +#~ msgid "Fallback font size" +#~ msgstr "Saiz fon berbalik" + #~ msgid "Floatland base height noise" #~ msgstr "Hingar ketinggian asas tanah terapung" @@ -7513,6 +7759,12 @@ msgstr "Had masa cURL" #~ msgid "Font shadow alpha (opaqueness, between 0 and 255)." #~ msgstr "Nilai alfa bayang fon (kelegapan, antara 0 dan 255)." +#~ msgid "Font size of the fallback font in point (pt)." +#~ msgstr "Saiz fon bagi fon berbalik dalam unit titik (pt)." + +#~ msgid "Full screen BPP" +#~ msgstr "BPP skrin penuh" + #~ msgid "Gamma" #~ msgstr "Gama" @@ -7522,6 +7774,9 @@ msgstr "Had masa cURL" #~ msgid "Generate normalmaps" #~ msgstr "Jana peta normal" +#~ msgid "High-precision FPU" +#~ msgstr "Unit titik terapung (FPU) ketepatan tinggi" + #~ msgid "IPv6 support." #~ msgstr "Sokongan IPv6." @@ -7540,6 +7795,11 @@ msgstr "Had masa cURL" #~ msgid "Main menu style" #~ msgstr "Gaya menu utama" +#~ msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." +#~ msgstr "" +#~ "Membuatkan DirectX bekerja dengan LuaJIT. Lumpuhkan tetapan jika " +#~ "bermasalah." + #~ msgid "Minimap in radar mode, Zoom x2" #~ msgstr "Peta mini dalam mod radar, Zum 2x" @@ -7552,6 +7812,9 @@ msgstr "Had masa cURL" #~ msgid "Minimap in surface mode, Zoom x4" #~ msgstr "Peta mini dalam mod permukaan, Zum 4x" +#~ msgid "Name / Password" +#~ msgstr "Nama / Kata laluan" + #~ msgid "Name/Password" #~ msgstr "Nama/Kata laluan" @@ -7570,6 +7833,12 @@ msgstr "Had masa cURL" #~ msgid "Ok" #~ msgstr "Ok" +#~ 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." + #~ msgid "Overall bias of parallax occlusion effect, usually scale/2." #~ msgstr "" #~ "Pengaruh kesan oklusi paralaks pada keseluruhannya, kebiasaannya skala/2." @@ -7607,6 +7876,9 @@ msgstr "Had masa cURL" #~ msgid "Projecting dungeons" #~ msgstr "Kurungan bawah tanah melunjur" +#~ msgid "PvP enabled" +#~ msgstr "Boleh Berlawan PvP" + #~ msgid "Reset singleplayer world" #~ msgstr "Set semula dunia pemain perseorangan" @@ -7616,6 +7888,19 @@ msgstr "Had masa cURL" #~ msgid "Shadow limit" #~ msgstr "Had bayang" +#~ 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." + +#~ msgid "Special" +#~ msgstr "Istimewa" + +#~ msgid "Special key" +#~ msgstr "Kekunci istimewa" + #~ msgid "Start Singleplayer" #~ msgstr "Mula Main Seorang" @@ -7666,3 +7951,6 @@ msgstr "Had masa cURL" #~ msgid "Yes" #~ msgstr "Ya" + +#~ msgid "needs_fallback_font" +#~ msgstr "no" diff --git a/po/ms_Arab/minetest.po b/po/ms_Arab/minetest.po index 42d758b7d..20e3d1120 100644 --- a/po/ms_Arab/minetest.po +++ b/po/ms_Arab/minetest.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: minetest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-02-23 19:03+0100\n" +"POT-Creation-Date: 2021-06-16 18:27+0200\n" "PO-Revision-Date: 2020-10-20 18:26+0000\n" "Last-Translator: Yaya - Nurul Azeera Hidayah @ Muhammad Nur Hidayat " "Yasuyoshi \n" @@ -20,6 +20,47 @@ msgstr "" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Weblate 4.3.1\n" +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Clear the out chat queue" +msgstr "ساٴيز مکسيموم باريس ݢيلير کلوار سيمبڠ" + +#: builtin/client/chatcommands.lua +msgid "Empty command." +msgstr "" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Exit to main menu" +msgstr "کلوار کمينو" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Invalid command: " +msgstr "ارهن تمڤتن" + +#: builtin/client/chatcommands.lua +msgid "Issued command: " +msgstr "" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "List online players" +msgstr "ڤماٴين ڤرسأورڠن" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Online players: " +msgstr "ڤماٴين ڤرسأورڠن" + +#: builtin/client/chatcommands.lua +msgid "The out chat queue is now empty." +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "This command is disabled by server." +msgstr "" + #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" msgstr "لاهير سمولا" @@ -28,6 +69,38 @@ msgstr "لاهير سمولا" msgid "You died" msgstr "اندا تله منيڠݢل" +#: builtin/client/death_formspec.lua +#, fuzzy +msgid "You died." +msgstr "اندا تله منيڠݢل" + +#: builtin/common/chatcommands.lua +#, fuzzy +msgid "Available commands:" +msgstr "ارهن تمڤتن" + +#: builtin/common/chatcommands.lua +#, fuzzy +msgid "Available commands: " +msgstr "ارهن تمڤتن" + +#: builtin/common/chatcommands.lua +msgid "Command not available: " +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "Get help for commands" +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "" +"Use '.help ' to get more information, or '.help all' to list everything." +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "[all | ]" +msgstr "" + #: builtin/fstk/dialog.lua builtin/fstk/ui.lua src/gui/modalMenu.cpp msgid "OK" msgstr "OK" @@ -543,7 +616,7 @@ msgstr "< کمبالي کهلامن تتڤن" msgid "Browse" msgstr "لاير" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_settings.lua msgid "Disabled" msgstr "دلومڤوهکن" @@ -587,7 +660,7 @@ msgstr "ڤوليهکن تتڤن اصل" msgid "Scale" msgstr "سکال" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua msgid "Search" msgstr "چاري" @@ -719,6 +792,42 @@ msgstr "سکريڤ ڤيهق کليئن دلومڤوهکن" msgid "Try reenabling public serverlist and check your internet connection." msgstr "چوب اکتيفکن سمولا سناراي ڤلاين عوام فان ڤريقسا سمبوڠن اينترنيت اندا." +#: builtin/mainmenu/tab_about.lua +msgid "About" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active Contributors" +msgstr "ڤڽومبڠ اکتيف" + +#: builtin/mainmenu/tab_about.lua +#, fuzzy +msgid "Active renderer:" +msgstr "جارق ڤڠهنترن اوبجيک اکتيف" + +#: builtin/mainmenu/tab_about.lua +msgid "Core Developers" +msgstr "ڤمباڠون تراس" + +#: builtin/mainmenu/tab_about.lua +#, fuzzy +msgid "Open User Data Directory" +msgstr "ڤيليه ديريکتوري" + +#: builtin/mainmenu/tab_about.lua +msgid "" +"Opens the directory that contains user-provided worlds, games, mods,\n" +"and texture packs in a file manager / explorer." +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Contributors" +msgstr "ڤڽومبڠ تردهولو" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Core Developers" +msgstr "ڤمباڠون تراس تردهولو" + #: builtin/mainmenu/tab_content.lua msgid "Browse online content" msgstr "لايري کندوڠن دالم تالين" @@ -759,37 +868,6 @@ msgstr "ڽهڤاسڠ ڤاکيج" msgid "Use Texture Pack" msgstr "ݢونا ڤيک تيکستور" -#: builtin/mainmenu/tab_credits.lua -msgid "Active Contributors" -msgstr "ڤڽومبڠ اکتيف" - -#: builtin/mainmenu/tab_credits.lua -msgid "Core Developers" -msgstr "ڤمباڠون تراس" - -#: builtin/mainmenu/tab_credits.lua -msgid "Credits" -msgstr "ڤڠهرݢاٴن" - -#: builtin/mainmenu/tab_credits.lua -#, fuzzy -msgid "Open User Data Directory" -msgstr "ڤيليه ديريکتوري" - -#: builtin/mainmenu/tab_credits.lua -msgid "" -"Opens the directory that contains user-provided worlds, games, mods,\n" -"and texture packs in a file manager / explorer." -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Contributors" -msgstr "ڤڽومبڠ تردهولو" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Core Developers" -msgstr "ڤمباڠون تراس تردهولو" - #: builtin/mainmenu/tab_local.lua msgid "Announce Server" msgstr "اومومکن ڤلاين" @@ -818,7 +896,7 @@ msgstr "هوس ڤلاين" msgid "Install games from ContentDB" msgstr "ڤاسڠکن ڤرماٴينن درڤد ContentDB" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Name" msgstr "" @@ -830,7 +908,7 @@ msgstr "بوات بارو" msgid "No world created or selected!" msgstr "تيادا دنيا دچيڤت اتاو دڤيليه!" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua #, fuzzy msgid "Password" msgstr "کات لالوان لام" @@ -839,7 +917,7 @@ msgstr "کات لالوان لام" msgid "Play Game" msgstr "مولا ماٴين" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Port" msgstr "ڤورت" @@ -861,8 +939,13 @@ msgid "Start Game" msgstr "مولاکن ڤرماٴينن" #: builtin/mainmenu/tab_online.lua -msgid "Address / Port" -msgstr "علامت \\ ڤورت" +#, fuzzy +msgid "Address" +msgstr "- علامت: " + +#: builtin/mainmenu/tab_online.lua src/client/keycode.cpp +msgid "Clear" +msgstr "ڤادم" #: builtin/mainmenu/tab_online.lua msgid "Connect" @@ -872,8 +955,10 @@ msgstr "سمبوڠ" msgid "Creative mode" msgstr "مود کرياتيف" +#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "Damage enabled" +#, fuzzy +msgid "Damage / PvP" msgstr "بوليه چدرا" #: builtin/mainmenu/tab_online.lua @@ -881,25 +966,35 @@ msgid "Del. Favorite" msgstr "ڤادم کݢمرن" #: builtin/mainmenu/tab_online.lua -msgid "Favorite" +#, fuzzy +msgid "Favorites" msgstr "کݢمرن" +#: builtin/mainmenu/tab_online.lua +msgid "Incompatible Servers" +msgstr "" + #: builtin/mainmenu/tab_online.lua msgid "Join Game" msgstr "سرتاٴي ڤرماٴينن" -#: builtin/mainmenu/tab_online.lua -msgid "Name / Password" -msgstr "نام \\ کات لالوان" - #: builtin/mainmenu/tab_online.lua msgid "Ping" msgstr "ڤيڠ" -#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "PvP enabled" -msgstr "بوليه برلاوان PvP" +#, fuzzy +msgid "Public Servers" +msgstr "اومومکن ڤلاين" + +#: builtin/mainmenu/tab_online.lua +msgid "Refresh" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +#, fuzzy +msgid "Server Description" +msgstr "ڤريهل ڤلاين ڤرماٴينن" #: builtin/mainmenu/tab_settings.lua msgid "2x" @@ -941,10 +1036,31 @@ msgstr "توکر ککونچي" msgid "Connected Glass" msgstr "کاچ برسمبوڠن" +#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp +#, fuzzy +msgid "Dynamic shadows" +msgstr "بايڠ فون" + +#: builtin/mainmenu/tab_settings.lua +msgid "Dynamic shadows: " +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Fancy Leaves" msgstr "داون براݢم" +#: builtin/mainmenu/tab_settings.lua +msgid "High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Low" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Medium" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Mipmap" msgstr "ڤتا ميڤ" @@ -1034,6 +1150,14 @@ msgstr "نيلاي امبڠ سنتوهن: (px)" msgid "Trilinear Filter" msgstr "ڤناڤيسن تريلينيار" +#: builtin/mainmenu/tab_settings.lua +msgid "Ultra High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Very Low" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Waving Leaves" msgstr "داٴون برݢويڠ" @@ -1106,18 +1230,6 @@ 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" - #: src/client/game.cpp msgid "" "\n" @@ -1360,6 +1472,11 @@ msgstr "MiB/s" msgid "Minimap currently disabled by game or mod" msgstr "ڤتا ميني دلومڤوهکن اوليه ڤرماٴينن اتاو مودس" +#: src/client/game.cpp +#, fuzzy +msgid "Multiplayer" +msgstr "ڤماٴين ڤرسأورڠن" + #: src/client/game.cpp msgid "Noclip mode disabled" msgstr "مود تمبوس بلوک دلومڤوهکن" @@ -1501,10 +1618,6 @@ msgstr "Backspace" msgid "Caps Lock" msgstr "کونچي حروف بسر" -#: src/client/keycode.cpp -msgid "Clear" -msgstr "ڤادم" - #: src/client/keycode.cpp msgid "Control" msgstr "Ctrl" @@ -1798,7 +1911,8 @@ msgid "Proceed" msgstr "تروسکن" #: src/gui/guiKeyChangeMenu.cpp -msgid "\"Special\" = climb down" +#, fuzzy +msgid "\"Aux1\" = climb down" msgstr "\"ايستيميوا\" = ڤنجت تورون" #: src/gui/guiKeyChangeMenu.cpp @@ -1809,10 +1923,18 @@ msgstr "أوتوڤرݢرقن" msgid "Automatic jumping" msgstr "لومڤت أوتوماتيک" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Aux1" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Backward" msgstr "کبلاکڠ" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Block bounds" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Change camera" msgstr "توکر کاميرا" @@ -1902,10 +2024,6 @@ msgstr "تڠکڤ لاير" msgid "Sneak" msgstr "سلينڤ" -#: src/gui/guiKeyChangeMenu.cpp -msgid "Special" -msgstr "ايستيميوا" - #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle HUD" msgstr "توݢول ڤاڤر ڤندو (HUD)" @@ -1993,9 +2111,10 @@ 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 " +"(Android) Use virtual joystick to trigger \"Aux1\" button.\n" +"If enabled, virtual joystick will also tap \"Aux1\" button when out of main " "circle." msgstr "" "(Android) ݢوناکن کايو بديق ماي اونتوق ڤيچو بوتڠ \"aux\".\n" @@ -2324,6 +2443,16 @@ msgstr "أوتوسيمڤن سايز سکرين" msgid "Autoscaling mode" msgstr "مود سکال أوتوماتيک" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Aux1 key" +msgstr "ککونچي لومڤت" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Aux1 key for climbing/descending" +msgstr "ککونچي اونتوق ممنجت\\منورون" + #: src/settings_translation_file.cpp msgid "Backward key" msgstr "ککونچي کبلاکڠ" @@ -2368,10 +2497,6 @@ msgstr "" msgid "Biome noise" msgstr "" -#: src/settings_translation_file.cpp -msgid "Bits per pixel (aka color depth) in fullscreen mode." -msgstr "بيت ڤر ڤيکسيل (اتاو کدالمن ورنا) دالم مود سکرين ڤنوه." - #: src/settings_translation_file.cpp msgid "Block send optimize distance" msgstr "" @@ -2476,6 +2601,11 @@ msgstr "" "ڤرتڠهن جولت تولقن لڠکوڠ چهاي.\n" "دمان 0.0 اياله ارس چهاي مينيموم⹁ 1.0 اياله مکسيموم." +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Chat command time message threshold" +msgstr "نيلاي امبڠ تندڠ ميسيج سيمبڠ" + #: src/settings_translation_file.cpp msgid "Chat font size" msgstr "سايز فون سيمبڠ" @@ -2572,6 +2702,11 @@ msgstr "اون دالم مينو" msgid "Colored fog" msgstr "کابوت برورنا" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Colored shadows" +msgstr "کابوت برورنا" + #: src/settings_translation_file.cpp msgid "" "Comma-separated list of flags to hide in the content repository.\n" @@ -2776,8 +2911,9 @@ msgstr "ساٴيز تيندنن لالاي" #: src/settings_translation_file.cpp msgid "" -"Default timeout for cURL, stated in milliseconds.\n" -"Only has an effect if compiled with cURL." +"Define shadow filtering quality\n" +"This simulates the soft shadows effect by applying a PCF or poisson disk\n" +"but also uses more resources." msgstr "" #: src/settings_translation_file.cpp @@ -2948,6 +3084,12 @@ msgstr "" "ممبوليهکن سوکوڠن ڤمبواتن مودس Lua دکت کليئن.\n" "سوکوڠن اين دالم اوجيکاجي دان API بوليه براوبه." +#: src/settings_translation_file.cpp +msgid "" +"Enable colored shadows. \n" +"On true translucent nodes cast colored shadows. This is expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable console window" msgstr "ممبوليهکن تتيڠکڤ کونسول" @@ -2973,6 +3115,13 @@ msgstr "" msgid "Enable players getting damage and dying." msgstr "ممبوليهکن ڤماٴين منريما کچدراٴن دان ماتي." +#: src/settings_translation_file.cpp +msgid "" +"Enable poisson disk filtering.\n" +"On true uses poisson disk to make \"soft shadows\". Otherwise uses PCF " +"filtering." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable random user input (only used for testing)." msgstr "ممبوليهکن اينڤوت ڤڠݢونا سچارا راوق (هاڽ اونتوق ڤرچوباٴن)." @@ -3124,18 +3273,6 @@ msgstr "فکتور اڤوڠن کجاتوهن" msgid "Fallback font path" msgstr "لالوان فون برباليق" -#: src/settings_translation_file.cpp -msgid "Fallback font shadow" -msgstr "بايڠ فون برباليق" - -#: src/settings_translation_file.cpp -msgid "Fallback font shadow alpha" -msgstr "نيلاي الفا بايڠ فون برباليق" - -#: src/settings_translation_file.cpp -msgid "Fallback font size" -msgstr "سايز فون برباليق" - #: src/settings_translation_file.cpp msgid "Fast key" msgstr "ککونچي ڤرݢرقن ڤنتس" @@ -3153,8 +3290,9 @@ msgid "Fast movement" msgstr "ڤرݢرقن ڤنتس" #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"Fast movement (via the \"special\" key).\n" +"Fast movement (via the \"Aux1\" key).\n" "This requires the \"fast\" privilege on the server." msgstr "" "برݢرق ڤنتس (دڠن ککونچي \"ايستيميوا\").\n" @@ -3190,11 +3328,12 @@ msgid "Filmic tone mapping" msgstr "ڤمتاٴن تونا سينماتيک" #: src/settings_translation_file.cpp +#, fuzzy msgid "" "Filtered textures can blend RGB values with fully-transparent neighbors,\n" -"which PNG optimizers usually discard, sometimes resulting in a dark or\n" -"light edge to transparent textures. Apply this filter to clean that up\n" -"at texture load time." +"which PNG optimizers usually discard, often resulting in dark or\n" +"light edges to transparent textures. Apply a filter to clean that up\n" +"at texture load time. This is automatically enabled if mipmapping is enabled." msgstr "" "تيکستور يڠ دتاڤيس بوليه سباتيکن نيلاي RGB دڠن جيرن يڠ لوت سينر سڤنوهڽ⹁\n" "يڠ مان ڤڠاوڤتيموم PNG سريڠ ابايکن⹁ کادڠکال مڽببکن سيسي ݢلڤ اتاو تراڠ ڤد\n" @@ -3293,10 +3432,6 @@ msgstr "سايز فون" msgid "Font size of the default font in point (pt)." msgstr "سايز فون باݢي فون لالاي دالم اونيت تيتيق (pt)." -#: src/settings_translation_file.cpp -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 "سايز فون باݢي فون monospace دالم اونيت تيتيق (pt)." @@ -3405,10 +3540,6 @@ msgstr "" msgid "Full screen" msgstr "سکرين ڤنوه" -#: src/settings_translation_file.cpp -msgid "Full screen BPP" -msgstr "BPP سکرين ڤنوه" - #: src/settings_translation_file.cpp msgid "Fullscreen mode." msgstr "مود سکرين ڤنوه." @@ -3506,7 +3637,9 @@ msgid "Heat noise" msgstr "" #: src/settings_translation_file.cpp -msgid "Height component of the initial window size." +#, fuzzy +msgid "" +"Height component of the initial window size. Ignored in fullscreen mode." msgstr "کومڤونن تيڠݢي سايز تتيڠکڤ اول." #: src/settings_translation_file.cpp @@ -3517,10 +3650,6 @@ msgstr "" msgid "Height select noise" msgstr "" -#: src/settings_translation_file.cpp -msgid "High-precision FPU" -msgstr "" - #: src/settings_translation_file.cpp msgid "Hill steepness" msgstr "" @@ -3760,9 +3889,9 @@ msgstr "" "حدکن اي دڠن تيدورکنڽ سوڤايا تيدق بازيرکن کواسا CPU دڠن سيا٢." #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"If disabled, \"special\" key is used to fly fast if both fly and fast mode " -"are\n" +"If disabled, \"Aux1\" key is used to fly fast if both fly and fast mode are\n" "enabled." msgstr "" "جيک دلومڤوهکن⹁ ککونچي \"ايستيميوا\" اکن دݢوناکن اونتوق تربڠ لاجو\n" @@ -3787,9 +3916,10 @@ msgstr "" "اين ممرلوکن کأيستيميواٴن \"تمبوس بلوک\" دالم ڤلاين ترسبوت." #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"If enabled, \"special\" key instead of \"sneak\" key is used for climbing " -"down and\n" +"If enabled, \"Aux1\" key instead of \"Sneak\" key is used for climbing down " +"and\n" "descending." msgstr "" "جيک دبوليهکن⹁ ککونچي \"ايستيميوا\" اکن دݢوناکن اونتوق ڤنجت کباوه دان\n" @@ -3841,6 +3971,12 @@ msgid "" "to this distance from the player to the node." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"If the execution of a chat command takes longer than this specified time in\n" +"seconds, add the time information to the chat command message" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "If the file size of debug.txt exceeds the number of megabytes specified in\n" @@ -4960,10 +5096,6 @@ msgid "" msgstr "" "بواتکن ورنا کابوت دان لاڠيت برݢنتوڠ کڤد وقتو (فجر\\ماتاهاري) دان اره ڤندڠ." -#: src/settings_translation_file.cpp -msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." -msgstr "" - #: src/settings_translation_file.cpp msgid "Makes all liquids opaque" msgstr "بواتکن سموا چچاٴير منجادي لݢڤ" @@ -5035,6 +5167,10 @@ msgstr "" msgid "Map save interval" msgstr "سلڠ ماس ڤڽيمڤنن ڤتا" +#: src/settings_translation_file.cpp +msgid "Map update time" +msgstr "" + #: src/settings_translation_file.cpp msgid "Mapblock limit" msgstr "حد بلوک ڤتا" @@ -5145,6 +5281,10 @@ msgstr "FPS مکسيما" msgid "Maximum FPS when the window is not focused, or when the game is paused." msgstr "بيڠکاي ڤر ساٴت (FPS) مکسيما اڤابيلا ڤرماٴينن دجيداکن." +#: src/settings_translation_file.cpp +msgid "Maximum distance to render shadows." +msgstr "" + #: src/settings_translation_file.cpp msgid "Maximum forceloaded blocks" msgstr "جومله مکسيموم بلوک يڠ دڤقسا موات" @@ -5264,7 +5404,15 @@ msgstr "" "حد." #: src/settings_translation_file.cpp -msgid "Maximum time in ms a file download (e.g. a mod download) may take." +msgid "" +"Maximum time a file download (e.g. a mod download) may take, stated in " +"milliseconds." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum time an interactive request (e.g. server list fetch) may take, " +"stated in milliseconds." msgstr "" #: src/settings_translation_file.cpp @@ -5483,11 +5631,6 @@ msgid "" "Opaqueness (alpha) of the shadow behind the default font, between 0 and 255." msgstr "کلݢڤن (الفا) بايڠ بلاکڠ فون لالاي⹁ نيلاي انتارا 0 دان 225." -#: src/settings_translation_file.cpp -msgid "" -"Opaqueness (alpha) of the shadow behind the fallback font, between 0 and 255." -msgstr "کلݢڤن (الفا) بايڠ بلاکڠ فون برباليق⹁ نيلاي انتارا 0 دان 225." - #: src/settings_translation_file.cpp msgid "" "Open the pause menu when the window's focus is lost. Does not pause if a " @@ -5608,6 +5751,11 @@ msgstr "جارق وميندهن ڤماٴين" msgid "Player versus player" msgstr "ڤماٴين لاون ڤماٴين" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Poisson filtering" +msgstr "ڤناڤيسن بيلينيار" + #: src/settings_translation_file.cpp msgid "" "Port to connect to (UDP).\n" @@ -5964,6 +6112,43 @@ msgstr "" msgid "Set the maximum character length of a chat message sent by clients." msgstr "تتڤکن ڤنجڠ اکسارا مکسيموم ميسيج سيمبڠ دهنتر اوليه کليئن." +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow strength.\n" +"Lower value means lighter shadows, higher value means darker shadows." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow update time.\n" +"Lower value means shadows and map updates faster, but it consume more " +"resources.\n" +"Minimun value 0.001 seconds max value 0.2 seconds" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the soft shadow radius size.\n" +"Lower values mean sharper shadows bigger values softer.\n" +"Minimun value 1.0 and max value 10.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the tilt of Sun/Moon orbit in degrees\n" +"Value of 0 means no tilt / vertical orbit.\n" +"Minimun value 0.0 and max value 60.0" +msgstr "" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "" +"Set to true to enable Shadow Mapping.\n" +"Requires shaders to be enabled." +msgstr "" +"تتڤکن کڤد \"true\" اونتوق ممبوليهکن داٴون برݢويڠ.\n" +"ممرلوکن ڤمبايڠ اونتوق دبوليهکن." + #: src/settings_translation_file.cpp msgid "" "Set to true to enable waving leaves.\n" @@ -5988,6 +6173,13 @@ msgstr "" "تتڤکن کڤد \"true\" اونتوق ممبوليهکن تومبوهن برݢويڠ.\n" "ممرلوکن ڤمبايڠ اونتوق دبوليهکن." +#: src/settings_translation_file.cpp +msgid "" +"Sets shadow texture quality to 32 bits.\n" +"On false, 16 bits texture will be used.\n" +"This can cause much more artifacts in the shadow." +msgstr "" + #: src/settings_translation_file.cpp msgid "Shader path" msgstr "لالوان ڤمبايڠ" @@ -6003,6 +6195,24 @@ msgstr "" "ڤريستاسي اونتوق سستڠه کد ۏيديو.\n" "نامون اي هاڽ برفوڠسي دڠن ڤمبهاݢين بلاکڠ ۏيديو OpenGL." +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Shadow filter quality" +msgstr "کواليتي تڠکڤ لاير" + +#: src/settings_translation_file.cpp +msgid "Shadow map max distance in nodes to render shadows" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture in 32 bits" +msgstr "" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Shadow map texture size" +msgstr "سايز تيکستور مينيموم" + #: src/settings_translation_file.cpp msgid "" "Shadow offset (in pixels) of the default font. If 0, then shadow will not be " @@ -6011,11 +6221,8 @@ msgstr "" "اوفسيت بايڠ فون لالاي (دالم اونيت ڤيکسل). جيک 0⹁ ماک بايڠ تيدق اکن دلوکيس." #: src/settings_translation_file.cpp -msgid "" -"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not " -"be drawn." +msgid "Shadow strength" msgstr "" -"اوفسيت بايڠ فون برباليق (دالم اونيت ڤيکسل). جيک 0⹁ ماک بايڠ تيدق اکن دلوکيس." #: src/settings_translation_file.cpp msgid "Shape of the minimap. Enabled = round, disabled = square." @@ -6064,6 +6271,10 @@ msgstr "" "اکن منيڠکتکن جومله % هيت کيش⹁ مڠورڠکن داتا يڠ ڤرلو دسالين\n" "درڤد جالور اوتام⹁ لالو مڠورڠکن کترن." +#: src/settings_translation_file.cpp +msgid "Sky Body Orbit Tilt" +msgstr "" + #: src/settings_translation_file.cpp msgid "Slice w" msgstr "" @@ -6122,18 +6333,15 @@ msgstr "" msgid "Sneaking speed, in nodes per second." msgstr "" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Soft shadow radius" +msgstr "نيلاي الفا بايڠ فون" + #: src/settings_translation_file.cpp msgid "Sound" msgstr "بوڽي" -#: src/settings_translation_file.cpp -msgid "Special key" -msgstr "ککونچي ايستيميوا" - -#: src/settings_translation_file.cpp -msgid "Special key for climbing/descending" -msgstr "ککونچي اونتوق ممنجت\\منورون" - #: src/settings_translation_file.cpp msgid "" "Specifies URL from which client fetches media instead of using UDP.\n" @@ -6268,6 +6476,13 @@ msgstr "" msgid "Texture path" msgstr "لالوان تيکستور" +#: src/settings_translation_file.cpp +msgid "" +"Texture size to render the shadow map on.\n" +"This must be a power of two.\n" +"Bigger numbers create better shadowsbut it is also more expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Textures on a node may be aligned either to the node or to the world.\n" @@ -6363,7 +6578,7 @@ msgstr "" #: src/settings_translation_file.cpp #, fuzzy msgid "" -"The rendering back-end for Irrlicht.\n" +"The rendering back-end.\n" "A restart is required after changing this.\n" "Note: On Android, stick with OGLES1 if unsure! App may fail to start " "otherwise.\n" @@ -6682,7 +6897,8 @@ msgid "Viewing range" msgstr "جارق ڤندڠ" #: src/settings_translation_file.cpp -msgid "Virtual joystick triggers aux button" +#, fuzzy +msgid "Virtual joystick triggers Aux1 button" msgstr "کايو بديق ماي مميچو بوتڠ aux" #: src/settings_translation_file.cpp @@ -6778,14 +6994,14 @@ msgstr "" "مڽوکوڠ دڠن سمڤورنا فوڠسي موات تورون سمولا تيکستور درڤد ڤرکاکسن." #: src/settings_translation_file.cpp +#, fuzzy msgid "" "When using bilinear/trilinear/anisotropic filters, low-resolution textures\n" "can be blurred, so automatically upscale them with nearest-neighbor\n" "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" +"memory. Powers of 2 are recommended. This setting is ONLY applies if\n" +"bilinear/trilinear/anisotropic filtering is enabled.\n" "This is also used as the base node texture size for world-aligned\n" "texture autoscaling." msgstr "" @@ -6863,7 +7079,8 @@ msgstr "" "تتڤکن سام اد هندق منونجوقکن معلومت ڽهڤڤيجت (کسنڽ سام سڤرتي منکن بوتڠ F5)." #: src/settings_translation_file.cpp -msgid "Width component of the initial window size." +#, fuzzy +msgid "Width component of the initial window size. Ignored in fullscreen mode." msgstr "کومڤونن ليبر سايز تتيڠکڤ اول." #: src/settings_translation_file.cpp @@ -6980,11 +7197,11 @@ msgid "cURL file download timeout" msgstr "" #: src/settings_translation_file.cpp -msgid "cURL parallel limit" +msgid "cURL interactive timeout" msgstr "" #: src/settings_translation_file.cpp -msgid "cURL timeout" +msgid "cURL parallel limit" msgstr "" #~ msgid "" @@ -6994,9 +7211,15 @@ msgstr "" #~ "0 = اوکلوسي ڤارالکس دڠن معلومت چرون (لبيه چڤت).\n" #~ "1 = ڤمتاٴن بنتوق موک بومي (لبيه لمبت⹁ لبيه تڤت)." +#~ msgid "Address / Port" +#~ msgstr "علامت \\ ڤورت" + #~ msgid "Are you sure to reset your singleplayer world?" #~ msgstr "اداکه اندا ماهو سيت سمولا دنيا ڤماٴين ڤرساورڠن؟" +#~ msgid "Bits per pixel (aka color depth) in fullscreen mode." +#~ msgstr "بيت ڤر ڤيکسيل (اتاو کدالمن ورنا) دالم مود سکرين ڤنوه." + #~ msgid "Bump Mapping" #~ msgstr "ڤمتاٴن برتومڤوق" @@ -7009,9 +7232,15 @@ msgstr "" #~ msgid "Configure" #~ msgstr "کونفيݢوراسي" +#~ msgid "Credits" +#~ msgstr "ڤڠهرݢاٴن" + #~ msgid "Crosshair color (R,G,B)." #~ msgstr "ورنا باݢي کورسور ررمبوت سيلڠ (R,G,B)." +#~ msgid "Damage enabled" +#~ msgstr "بوليه چدرا" + #~ msgid "" #~ "Defines sampling step of texture.\n" #~ "A higher value results in smoother normal maps." @@ -7053,6 +7282,21 @@ msgstr "" #~ msgid "FPS in pause menu" #~ msgstr "FPS دمينو جيدا" +#~ msgid "Fallback font shadow" +#~ msgstr "بايڠ فون برباليق" + +#~ msgid "Fallback font shadow alpha" +#~ msgstr "نيلاي الفا بايڠ فون برباليق" + +#~ msgid "Fallback font size" +#~ msgstr "سايز فون برباليق" + +#~ msgid "Font size of the fallback font in point (pt)." +#~ msgstr "سايز فون باݢي فون برباليق دالم اونيت تيتيق (pt)." + +#~ msgid "Full screen BPP" +#~ msgstr "BPP سکرين ڤنوه" + #~ msgid "Generate Normal Maps" #~ msgstr "جان ڤتا نورمل" @@ -7074,6 +7318,9 @@ msgstr "" #~ msgid "Minimap in surface mode, Zoom x4" #~ msgstr "ڤتا ميني دالم مود ڤرموکاٴن⹁ زوم 4x" +#~ msgid "Name / Password" +#~ msgstr "نام \\ کات لالوان" + #~ msgid "Name/Password" #~ msgstr "نام\\کات لالوان" @@ -7089,6 +7336,11 @@ msgstr "" #~ msgid "Number of parallax occlusion iterations." #~ msgstr "جومله للرن اوکلوسي ڤارالکس." +#~ msgid "" +#~ "Opaqueness (alpha) of the shadow behind the fallback font, between 0 and " +#~ "255." +#~ msgstr "کلݢڤن (الفا) بايڠ بلاکڠ فون برباليق⹁ نيلاي انتارا 0 دان 225." + #~ msgid "Overall bias of parallax occlusion effect, usually scale/2." #~ msgstr "ڤڠاروه کسن اوکلوسي ڤارالکس ڤد کسلوروهنڽ⹁ کبياساٴنڽ سکال\\2." @@ -7113,9 +7365,25 @@ msgstr "" #~ msgid "Parallax occlusion scale" #~ msgstr "سکال اوکلوسي ڤارالکس" +#~ msgid "PvP enabled" +#~ msgstr "بوليه برلاوان PvP" + #~ msgid "Reset singleplayer world" #~ msgstr "سيت سمولا دنيا ڤماٴين ڤرساورڠن" +#~ msgid "" +#~ "Shadow offset (in pixels) of the fallback font. If 0, then shadow will " +#~ "not be drawn." +#~ msgstr "" +#~ "اوفسيت بايڠ فون برباليق (دالم اونيت ڤيکسل). جيک 0⹁ ماک بايڠ تيدق اکن " +#~ "دلوکيس." + +#~ msgid "Special" +#~ msgstr "ايستيميوا" + +#~ msgid "Special key" +#~ msgstr "ککونچي ايستيميوا" + #~ msgid "Start Singleplayer" #~ msgstr "مولا ماٴين ساورڠ" @@ -7127,3 +7395,6 @@ msgstr "" #~ msgid "Yes" #~ msgstr "ياٴ" + +#~ msgid "needs_fallback_font" +#~ msgstr "yes" diff --git a/po/nb/minetest.po b/po/nb/minetest.po index 3762509a4..2497e570c 100644 --- a/po/nb/minetest.po +++ b/po/nb/minetest.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: Norwegian Bokmål (Minetest)\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-02-23 19:03+0100\n" -"PO-Revision-Date: 2021-01-10 01:32+0000\n" +"POT-Creation-Date: 2021-06-16 18:27+0200\n" +"PO-Revision-Date: 2021-05-09 08:57+0000\n" "Last-Translator: Allan Nordhøy \n" "Language-Team: Norwegian Bokmål \n" @@ -12,7 +12,48 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.4.1-dev\n" +"X-Generator: Weblate 4.7-dev\n" + +#: builtin/client/chatcommands.lua +msgid "Clear the out chat queue" +msgstr "" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Empty command." +msgstr "Sludrekommandoer" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Exit to main menu" +msgstr "Avslutt til meny" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Invalid command: " +msgstr "Lokal kommando" + +#: builtin/client/chatcommands.lua +msgid "Issued command: " +msgstr "" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "List online players" +msgstr "Enkeltspiller" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Online players: " +msgstr "Enkeltspiller" + +#: builtin/client/chatcommands.lua +msgid "The out chat queue is now empty." +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "This command is disabled by server." +msgstr "" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -22,6 +63,38 @@ msgstr "Gjenoppstå" msgid "You died" msgstr "Du døde" +#: builtin/client/death_formspec.lua +#, fuzzy +msgid "You died." +msgstr "Du døde" + +#: builtin/common/chatcommands.lua +#, fuzzy +msgid "Available commands:" +msgstr "Lokal kommando" + +#: builtin/common/chatcommands.lua +#, fuzzy +msgid "Available commands: " +msgstr "Lokal kommando" + +#: builtin/common/chatcommands.lua +msgid "Command not available: " +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "Get help for commands" +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "" +"Use '.help ' to get more information, or '.help all' to list everything." +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "[all | ]" +msgstr "" + #: builtin/fstk/dialog.lua builtin/fstk/ui.lua src/gui/modalMenu.cpp msgid "OK" msgstr "OK" @@ -535,7 +608,7 @@ msgstr "< Tilbake til innstillinger" msgid "Browse" msgstr "See gjennom" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_settings.lua msgid "Disabled" msgstr "Deaktivert" @@ -579,7 +652,7 @@ msgstr "Gjenopprette standard" msgid "Scale" msgstr "Skala" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua msgid "Search" msgstr "Søk" @@ -713,6 +786,42 @@ msgstr "" "Prøv å aktivere offentlig tjenerliste på nytt og sjekk Internettforbindelsen " "din." +#: builtin/mainmenu/tab_about.lua +msgid "About" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active Contributors" +msgstr "Aktive bidragsytere" + +#: builtin/mainmenu/tab_about.lua +#, fuzzy +msgid "Active renderer:" +msgstr "Område for sending av aktive objekt" + +#: builtin/mainmenu/tab_about.lua +msgid "Core Developers" +msgstr "Kjerneutviklere" + +#: builtin/mainmenu/tab_about.lua +#, fuzzy +msgid "Open User Data Directory" +msgstr "Velg mappe" + +#: builtin/mainmenu/tab_about.lua +msgid "" +"Opens the directory that contains user-provided worlds, games, mods,\n" +"and texture packs in a file manager / explorer." +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Contributors" +msgstr "Tidligere bidragsytere" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Core Developers" +msgstr "Tidligere kjerneutviklere" + #: builtin/mainmenu/tab_content.lua msgid "Browse online content" msgstr "Utforsk nettbasert innhold" @@ -753,37 +862,6 @@ msgstr "Avinstaller pakke" msgid "Use Texture Pack" msgstr "Bruk teksturpakke" -#: builtin/mainmenu/tab_credits.lua -msgid "Active Contributors" -msgstr "Aktive bidragsytere" - -#: builtin/mainmenu/tab_credits.lua -msgid "Core Developers" -msgstr "Kjerneutviklere" - -#: builtin/mainmenu/tab_credits.lua -msgid "Credits" -msgstr "Bidragsytere" - -#: builtin/mainmenu/tab_credits.lua -#, fuzzy -msgid "Open User Data Directory" -msgstr "Velg mappe" - -#: builtin/mainmenu/tab_credits.lua -msgid "" -"Opens the directory that contains user-provided worlds, games, mods,\n" -"and texture packs in a file manager / explorer." -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Contributors" -msgstr "Tidligere bidragsytere" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Core Developers" -msgstr "Tidligere kjerneutviklere" - #: builtin/mainmenu/tab_local.lua msgid "Announce Server" msgstr "Annonseringstjener" @@ -812,7 +890,7 @@ msgstr "Vertstjener" msgid "Install games from ContentDB" msgstr "Installer spill fra ContentDB" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Name" msgstr "" @@ -824,7 +902,7 @@ msgstr "Ny" msgid "No world created or selected!" msgstr "Ingen verden opprettet eller valgt!" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua #, fuzzy msgid "Password" msgstr "Nytt passord" @@ -833,7 +911,7 @@ msgstr "Nytt passord" msgid "Play Game" msgstr "Spill" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Port" msgstr "Port" @@ -855,8 +933,13 @@ msgid "Start Game" msgstr "Start spill" #: builtin/mainmenu/tab_online.lua -msgid "Address / Port" -msgstr "Adresse / port" +#, fuzzy +msgid "Address" +msgstr "- Adresse: " + +#: builtin/mainmenu/tab_online.lua src/client/keycode.cpp +msgid "Clear" +msgstr "Tøm" #: builtin/mainmenu/tab_online.lua msgid "Connect" @@ -866,34 +949,46 @@ msgstr "Koble til" msgid "Creative mode" msgstr "Kreativ modus" +#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "Damage enabled" -msgstr "Skade aktivert" +#, fuzzy +msgid "Damage / PvP" +msgstr "Skade" #: builtin/mainmenu/tab_online.lua msgid "Del. Favorite" msgstr "Slett favoritt" #: builtin/mainmenu/tab_online.lua -msgid "Favorite" +#, fuzzy +msgid "Favorites" msgstr "Favoritt" +#: builtin/mainmenu/tab_online.lua +msgid "Incompatible Servers" +msgstr "" + #: builtin/mainmenu/tab_online.lua msgid "Join Game" msgstr "Ta del i spill" -#: builtin/mainmenu/tab_online.lua -msgid "Name / Password" -msgstr "Navn / passord" - #: builtin/mainmenu/tab_online.lua msgid "Ping" msgstr "Latens" -#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "PvP enabled" -msgstr "Alle mot alle er på" +#, fuzzy +msgid "Public Servers" +msgstr "Annonseringstjener" + +#: builtin/mainmenu/tab_online.lua +msgid "Refresh" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +#, fuzzy +msgid "Server Description" +msgstr "Serverbeskrivelse" #: builtin/mainmenu/tab_settings.lua msgid "2x" @@ -935,10 +1030,31 @@ msgstr "Endre taster" msgid "Connected Glass" msgstr "Forbundet glass" +#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp +#, fuzzy +msgid "Dynamic shadows" +msgstr "Skriftskygge" + +#: builtin/mainmenu/tab_settings.lua +msgid "Dynamic shadows: " +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Fancy Leaves" msgstr "Forseggjorte blader" +#: builtin/mainmenu/tab_settings.lua +msgid "High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Low" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Medium" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Mipmap" msgstr "Mipmap" @@ -1028,6 +1144,14 @@ msgstr "Trykkterskel: (px)" msgid "Trilinear Filter" msgstr "Trilineært filter" +#: builtin/mainmenu/tab_settings.lua +msgid "Ultra High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Very Low" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Waving Leaves" msgstr "Bølgende blader" @@ -1100,18 +1224,6 @@ 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" - #: src/client/game.cpp msgid "" "\n" @@ -1194,7 +1306,7 @@ msgid "Continue" msgstr "Fortsett" #: src/client/game.cpp -#, fuzzy, c-format +#, c-format msgid "" "Controls:\n" "- %s: move forwards\n" @@ -1211,20 +1323,20 @@ msgid "" "- Mouse wheel: select item\n" "- %s: chat\n" msgstr "" -"Controls:\n" +"Kontroller:\n" "- %s: flytt forover\n" "- %s: flytt bakover\n" "- %s: flytt mot venstre\n" "- %s: flytt mot høyre\n" -"- %s: hopp/klatre\n" -"- %s: snik/bøy deg ned\n" -"- %s: slipp tingen\n" +"- %s: hopp/klatre oppover\n" +"- %s: grav/slå\n" +"- %s: plasser/bruk\n" +"- %s: snik/klatre nedover\n" +"- %s: slipp ting\n" "- %s: inventar\n" "- Mus: snu/se\n" -"- Mus venstre: grav/slå\n" -"- Mus høyre: plasser/bruk\n" -"- Mus hjul: velg ting\n" -"- %s: nettprat\n" +"- Musehjul: velg ting\n" +"- %s: sludring\n" #: src/client/game.cpp msgid "Creating client..." @@ -1354,6 +1466,11 @@ msgstr "MiB/s" msgid "Minimap currently disabled by game or mod" msgstr "" +#: src/client/game.cpp +#, fuzzy +msgid "Multiplayer" +msgstr "Enkeltspiller" + #: src/client/game.cpp msgid "Noclip mode disabled" msgstr "" @@ -1496,10 +1613,6 @@ msgstr "Tilbaketast" msgid "Caps Lock" msgstr "Caps Lock" -#: src/client/keycode.cpp -msgid "Clear" -msgstr "Tøm" - #: src/client/keycode.cpp msgid "Control" msgstr "Kontroll" @@ -1793,7 +1906,8 @@ msgid "Proceed" msgstr "Fortsett" #: src/gui/guiKeyChangeMenu.cpp -msgid "\"Special\" = climb down" +#, fuzzy +msgid "\"Aux1\" = climb down" msgstr "«Spesial» = klatre ned" #: src/gui/guiKeyChangeMenu.cpp @@ -1804,10 +1918,18 @@ msgstr "Automatisk fremover" msgid "Automatic jumping" msgstr "Automatisk hopping" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Aux1" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Backward" msgstr "Tilbake" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Block bounds" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Change camera" msgstr "Endre visning" @@ -1898,10 +2020,6 @@ msgstr "Skjermdump" msgid "Sneak" msgstr "Snike" -#: src/gui/guiKeyChangeMenu.cpp -msgid "Special" -msgstr "Spesial" - #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle HUD" msgstr "HUD (hurtigtilgang) av/på" @@ -1989,9 +2107,10 @@ msgstr "" "første berøring." #: 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 " +"(Android) Use virtual joystick to trigger \"Aux1\" button.\n" +"If enabled, virtual joystick will also tap \"Aux1\" button when out of main " "circle." msgstr "" "(Android) Bruk virtuell styrepinne til å utløse \"aux\"-knapp.\n" @@ -2343,6 +2462,16 @@ msgstr "Lagre skjermstørrelse automatisk" msgid "Autoscaling mode" msgstr "Autoskaleringsmodus" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Aux1 key" +msgstr "Hoppetast" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Aux1 key for climbing/descending" +msgstr "Spesialtast for klatring/nedklatring" + #: src/settings_translation_file.cpp msgid "Backward key" msgstr "Rettetast" @@ -2387,10 +2516,6 @@ msgstr "Temperatur- og fuktighetsparametre for biotop-APIet" msgid "Biome noise" msgstr "Biotoplyd" -#: src/settings_translation_file.cpp -msgid "Bits per pixel (aka color depth) in fullscreen mode." -msgstr "Biter per piksel (dvs. fargedybde) i fullskjermsmodus." - #: src/settings_translation_file.cpp msgid "Block send optimize distance" msgstr "Avstand for optimalizering av mapblocksending" @@ -2496,6 +2621,11 @@ msgstr "" "Midtpunkt på lysforsterkningskurven,\n" "der 0.0 er minimumsnivået for lysstyrke mens 1.0 er maksimumsnivået." +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Chat command time message threshold" +msgstr "Terskel for utvisning fra chat" + #: src/settings_translation_file.cpp #, fuzzy msgid "Chat font size" @@ -2594,6 +2724,11 @@ msgstr "Skyer i meny" msgid "Colored fog" msgstr "Farget tåke" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Colored shadows" +msgstr "Farget tåke" + #: src/settings_translation_file.cpp msgid "" "Comma-separated list of flags to hide in the content repository.\n" @@ -2809,8 +2944,9 @@ msgstr "Forvalgt spill" #: src/settings_translation_file.cpp msgid "" -"Default timeout for cURL, stated in milliseconds.\n" -"Only has an effect if compiled with cURL." +"Define shadow filtering quality\n" +"This simulates the soft shadows effect by applying a PCF or poisson disk\n" +"but also uses more resources." msgstr "" #: src/settings_translation_file.cpp @@ -2974,6 +3110,12 @@ msgid "" "This support is experimental and API can change." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Enable colored shadows. \n" +"On true translucent nodes cast colored shadows. This is expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable console window" msgstr "Skru på konsollvindu" @@ -2999,6 +3141,13 @@ msgstr "" msgid "Enable players getting damage and dying." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Enable poisson disk filtering.\n" +"On true uses poisson disk to make \"soft shadows\". Otherwise uses PCF " +"filtering." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable random user input (only used for testing)." msgstr "" @@ -3124,18 +3273,6 @@ msgstr "" msgid "Fallback font path" msgstr "Filsti for reserveskrifttype" -#: src/settings_translation_file.cpp -msgid "Fallback font shadow" -msgstr "Tilbakefallsskriftsskygge" - -#: src/settings_translation_file.cpp -msgid "Fallback font shadow alpha" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Fallback font size" -msgstr "Tilbakefallsskriftstørrelse" - #: src/settings_translation_file.cpp msgid "Fast key" msgstr "Hurtigtast" @@ -3154,7 +3291,7 @@ msgstr "Rask bevegelse" #: src/settings_translation_file.cpp msgid "" -"Fast movement (via the \"special\" key).\n" +"Fast movement (via the \"Aux1\" key).\n" "This requires the \"fast\" privilege on the server." msgstr "" @@ -3190,9 +3327,9 @@ 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." +"which PNG optimizers usually discard, often resulting in dark or\n" +"light edges to transparent textures. Apply a filter to clean that up\n" +"at texture load time. This is automatically enabled if mipmapping is enabled." msgstr "" #: src/settings_translation_file.cpp @@ -3292,10 +3429,6 @@ msgstr "Skriftstørrelse" msgid "Font size of the default font in point (pt)." msgstr "" -#: src/settings_translation_file.cpp -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 "" @@ -3393,10 +3526,6 @@ msgstr "" msgid "Full screen" msgstr "Fullskjerm" -#: src/settings_translation_file.cpp -msgid "Full screen BPP" -msgstr "" - #: src/settings_translation_file.cpp msgid "Fullscreen mode." msgstr "Fullskjermsmodus." @@ -3490,7 +3619,8 @@ msgid "Heat noise" msgstr "Varmestøy" #: src/settings_translation_file.cpp -msgid "Height component of the initial window size." +msgid "" +"Height component of the initial window size. Ignored in fullscreen mode." msgstr "" #: src/settings_translation_file.cpp @@ -3501,10 +3631,6 @@ msgstr "Høydelyd" msgid "Height select noise" msgstr "" -#: src/settings_translation_file.cpp -msgid "High-precision FPU" -msgstr "" - #: src/settings_translation_file.cpp msgid "Hill steepness" msgstr "Bratthet for ås" @@ -3736,8 +3862,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"If disabled, \"special\" key is used to fly fast if both fly and fast mode " -"are\n" +"If disabled, \"Aux1\" key is used to fly fast if both fly and fast mode are\n" "enabled." msgstr "" @@ -3759,8 +3884,8 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"If enabled, \"special\" key instead of \"sneak\" key is used for climbing " -"down and\n" +"If enabled, \"Aux1\" key instead of \"Sneak\" key is used for climbing down " +"and\n" "descending." msgstr "" @@ -3804,6 +3929,12 @@ msgid "" "to this distance from the player to the node." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"If the execution of a chat command takes longer than this specified time in\n" +"seconds, add the time information to the chat command message" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "If the file size of debug.txt exceeds the number of megabytes specified in\n" @@ -4869,10 +5000,6 @@ msgid "" "Make fog and sky colors depend on daytime (dawn/sunset) and view direction." msgstr "" -#: src/settings_translation_file.cpp -msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." -msgstr "" - #: src/settings_translation_file.cpp msgid "Makes all liquids opaque" msgstr "" @@ -4944,6 +5071,10 @@ msgstr "" msgid "Map save interval" msgstr "Lagringsintervall for kart" +#: src/settings_translation_file.cpp +msgid "Map update time" +msgstr "" + #: src/settings_translation_file.cpp msgid "Mapblock limit" msgstr "" @@ -5059,6 +5190,10 @@ msgstr "Maks FPS («frames» - bilder per sekund)" msgid "Maximum FPS when the window is not focused, or when the game is paused." msgstr "Maks FPS når spillet står i pause." +#: src/settings_translation_file.cpp +msgid "Maximum distance to render shadows." +msgstr "" + #: src/settings_translation_file.cpp msgid "Maximum forceloaded blocks" msgstr "" @@ -5167,7 +5302,15 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "Maximum time in ms a file download (e.g. a mod download) may take." +msgid "" +"Maximum time a file download (e.g. a mod download) may take, stated in " +"milliseconds." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum time an interactive request (e.g. server list fetch) may take, " +"stated in milliseconds." msgstr "" #: src/settings_translation_file.cpp @@ -5380,11 +5523,6 @@ 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 " @@ -5485,6 +5623,11 @@ msgstr "" msgid "Player versus player" msgstr "" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Poisson filtering" +msgstr "Bilineær filtrering" + #: src/settings_translation_file.cpp msgid "" "Port to connect to (UDP).\n" @@ -5824,6 +5967,43 @@ msgstr "" msgid "Set the maximum character length of a chat message sent by clients." msgstr "Angi maksimalt antall tegn i chatmelding sendt av klienter." +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow strength.\n" +"Lower value means lighter shadows, higher value means darker shadows." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow update time.\n" +"Lower value means shadows and map updates faster, but it consume more " +"resources.\n" +"Minimun value 0.001 seconds max value 0.2 seconds" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the soft shadow radius size.\n" +"Lower values mean sharper shadows bigger values softer.\n" +"Minimun value 1.0 and max value 10.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the tilt of Sun/Moon orbit in degrees\n" +"Value of 0 means no tilt / vertical orbit.\n" +"Minimun value 0.0 and max value 60.0" +msgstr "" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "" +"Set to true to enable Shadow Mapping.\n" +"Requires shaders to be enabled." +msgstr "" +"Angi som sann for å slå på bladrasling.\n" +"Krever at skyggelegging er påslått." + #: src/settings_translation_file.cpp msgid "" "Set to true to enable waving leaves.\n" @@ -5848,6 +6028,13 @@ msgstr "" "Angi som sann for å slå på plantesvaiing.\n" "Krever at skyggelegging er aktivert." +#: src/settings_translation_file.cpp +msgid "" +"Sets shadow texture quality to 32 bits.\n" +"On false, 16 bits texture will be used.\n" +"This can cause much more artifacts in the shadow." +msgstr "" + #: src/settings_translation_file.cpp msgid "Shader path" msgstr "" @@ -5860,6 +6047,22 @@ msgid "" "This only works with the OpenGL video backend." msgstr "" +#: src/settings_translation_file.cpp +msgid "Shadow filter quality" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map max distance in nodes to render shadows" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture in 32 bits" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture size" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Shadow offset (in pixels) of the default font. If 0, then shadow will not be " @@ -5867,9 +6070,7 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "" -"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not " -"be drawn." +msgid "Shadow strength" msgstr "" #: src/settings_translation_file.cpp @@ -5919,6 +6120,10 @@ msgid "" "thread, thus reducing jitter." msgstr "" +#: src/settings_translation_file.cpp +msgid "Sky Body Orbit Tilt" +msgstr "" + #: src/settings_translation_file.cpp msgid "Slice w" msgstr "" @@ -5974,18 +6179,15 @@ msgstr "Hoppehastighet" msgid "Sneaking speed, in nodes per second." msgstr "" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Soft shadow radius" +msgstr "Skriftskygge" + #: src/settings_translation_file.cpp msgid "Sound" msgstr "Lyd" -#: src/settings_translation_file.cpp -msgid "Special key" -msgstr "Spesialtast" - -#: src/settings_translation_file.cpp -msgid "Special key for climbing/descending" -msgstr "Spesialtast for klatring/nedklatring" - #: src/settings_translation_file.cpp msgid "" "Specifies URL from which client fetches media instead of using UDP.\n" @@ -6116,6 +6318,13 @@ msgstr "" msgid "Texture path" msgstr "Filsti for teksturer" +#: src/settings_translation_file.cpp +msgid "" +"Texture size to render the shadow map on.\n" +"This must be a power of two.\n" +"Bigger numbers create better shadowsbut it is also more expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Textures on a node may be aligned either to the node or to the world.\n" @@ -6194,7 +6403,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"The rendering back-end for Irrlicht.\n" +"The rendering back-end.\n" "A restart is required after changing this.\n" "Note: On Android, stick with OGLES1 if unsure! App may fail to start " "otherwise.\n" @@ -6486,7 +6695,7 @@ msgid "Viewing range" msgstr "Synsrekkevidde" #: src/settings_translation_file.cpp -msgid "Virtual joystick triggers aux button" +msgid "Virtual joystick triggers Aux1 button" msgstr "" #: src/settings_translation_file.cpp @@ -6583,9 +6792,8 @@ msgid "" "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" +"memory. Powers of 2 are recommended. This setting is ONLY applies if\n" +"bilinear/trilinear/anisotropic filtering is enabled.\n" "This is also used as the base node texture size for world-aligned\n" "texture autoscaling." msgstr "" @@ -6641,7 +6849,7 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "Width component of the initial window size." +msgid "Width component of the initial window size. Ignored in fullscreen mode." msgstr "" #: src/settings_translation_file.cpp @@ -6751,13 +6959,17 @@ msgstr "" msgid "cURL file download timeout" msgstr "Tidsutløp for filnedlasting med cURL" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "cURL interactive timeout" +msgstr "cURL-tidsgrense" + #: src/settings_translation_file.cpp msgid "cURL parallel limit" msgstr "Maksimal parallellisering i cURL" -#: src/settings_translation_file.cpp -msgid "cURL timeout" -msgstr "cURL-tidsgrense" +#~ msgid "Address / Port" +#~ msgstr "Adresse / port" #~ msgid "Are you sure to reset your singleplayer world?" #~ msgstr "" @@ -6766,6 +6978,9 @@ msgstr "cURL-tidsgrense" #~ msgid "Back" #~ msgstr "Tilbake" +#~ msgid "Bits per pixel (aka color depth) in fullscreen mode." +#~ msgstr "Biter per piksel (dvs. fargedybde) i fullskjermsmodus." + #~ msgid "Bump Mapping" #~ msgstr "Teksturtilføyning" @@ -6793,9 +7008,15 @@ msgstr "cURL-tidsgrense" #~ msgid "Configure" #~ msgstr "Sett opp" +#~ msgid "Credits" +#~ msgstr "Bidragsytere" + #~ msgid "Crosshair color (R,G,B)." #~ msgstr "Trådkorsfarge (R, G, B)." +#~ msgid "Damage enabled" +#~ msgstr "Skade aktivert" + #~ msgid "Downloading and installing $1, please wait..." #~ msgstr "Laster ned og installerer $1, vent…" @@ -6805,6 +7026,12 @@ msgstr "cURL-tidsgrense" #~ msgid "Enables filmic tone mapping" #~ msgstr "Aktiver filmatisk toneoversettelse" +#~ msgid "Fallback font shadow" +#~ msgstr "Tilbakefallsskriftsskygge" + +#~ msgid "Fallback font size" +#~ msgstr "Tilbakefallsskriftstørrelse" + #~ msgid "Generate Normal Maps" #~ msgstr "Generer normale kart" @@ -6818,6 +7045,9 @@ msgstr "cURL-tidsgrense" #~ msgid "Main menu style" #~ msgstr "Hovedmeny" +#~ msgid "Name / Password" +#~ msgstr "Navn / passord" + #~ msgid "Name/Password" #~ msgstr "Navn/passord" @@ -6833,12 +7063,21 @@ msgstr "cURL-tidsgrense" #~ msgid "Path to save screenshots at." #~ msgstr "Filsti til lagring av skjermdumper." +#~ msgid "PvP enabled" +#~ msgstr "Alle mot alle er på" + #~ msgid "Reset singleplayer world" #~ msgstr "Tilbakestill enkeltspillerverden" #~ msgid "Select Package File:" #~ msgstr "Velg pakkefil:" +#~ msgid "Special" +#~ msgstr "Spesial" + +#~ msgid "Special key" +#~ msgstr "Spesialtast" + #~ msgid "Start Singleplayer" #~ msgstr "Start enkeltspiller" @@ -6853,3 +7092,6 @@ msgstr "cURL-tidsgrense" #~ msgid "Yes" #~ msgstr "Ja" + +#~ msgid "needs_fallback_font" +#~ msgstr "no" diff --git a/po/nl/minetest.po b/po/nl/minetest.po index f1982536a..37ffdcc24 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: 2021-02-23 19:03+0100\n" +"POT-Creation-Date: 2021-06-16 18:27+0200\n" "PO-Revision-Date: 2021-02-01 05:52+0000\n" "Last-Translator: eol \n" "Language-Team: Dutch ' to get more information, or '.help all' to list everything." +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "[all | ]" +msgstr "" + #: builtin/fstk/dialog.lua builtin/fstk/ui.lua src/gui/modalMenu.cpp msgid "OK" msgstr "Oke" @@ -537,7 +611,7 @@ msgstr "< Terug naar instellingen" msgid "Browse" msgstr "Bladeren" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_settings.lua msgid "Disabled" msgstr "Uitgeschakeld" @@ -581,7 +655,7 @@ msgstr "Herstel de Standaardwaarde" msgid "Scale" msgstr "Schaal" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua msgid "Search" msgstr "Zoeken" @@ -716,6 +790,43 @@ msgstr "" "Probeer de publieke serverlijst opnieuw in te schakelen en controleer de " "internet verbinding." +#: builtin/mainmenu/tab_about.lua +msgid "About" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active Contributors" +msgstr "Andere actieve ontwikkelaars" + +#: builtin/mainmenu/tab_about.lua +#, fuzzy +msgid "Active renderer:" +msgstr "Bereik waarbinnen actieve objecten gestuurd worden" + +#: builtin/mainmenu/tab_about.lua +msgid "Core Developers" +msgstr "Hoofdontwikkelaars" + +#: builtin/mainmenu/tab_about.lua +msgid "Open User Data Directory" +msgstr "Open de gebruikersdatamap" + +#: builtin/mainmenu/tab_about.lua +msgid "" +"Opens the directory that contains user-provided worlds, games, mods,\n" +"and texture packs in a file manager / explorer." +msgstr "" +"Open de map die de door de gebruiker aangeleverde werelden, spellen, mods\n" +"en textuur pakketten bevat in een bestandsbeheer toepassing / verkenner." + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Contributors" +msgstr "Vroegere ontwikkelaars" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Core Developers" +msgstr "Vroegere hoofdontwikkelaars" + #: builtin/mainmenu/tab_content.lua msgid "Browse online content" msgstr "Content op internet bekijken" @@ -756,38 +867,6 @@ msgstr "Pakket verwijderen" msgid "Use Texture Pack" msgstr "Gebruik textuurverzamelingen" -#: builtin/mainmenu/tab_credits.lua -msgid "Active Contributors" -msgstr "Andere actieve ontwikkelaars" - -#: builtin/mainmenu/tab_credits.lua -msgid "Core Developers" -msgstr "Hoofdontwikkelaars" - -#: builtin/mainmenu/tab_credits.lua -msgid "Credits" -msgstr "Credits" - -#: builtin/mainmenu/tab_credits.lua -msgid "Open User Data Directory" -msgstr "Open de gebruikersdatamap" - -#: builtin/mainmenu/tab_credits.lua -msgid "" -"Opens the directory that contains user-provided worlds, games, mods,\n" -"and texture packs in a file manager / explorer." -msgstr "" -"Open de map die de door de gebruiker aangeleverde werelden, spellen, mods\n" -"en textuur pakketten bevat in een bestandsbeheer toepassing / verkenner." - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Contributors" -msgstr "Vroegere ontwikkelaars" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Core Developers" -msgstr "Vroegere hoofdontwikkelaars" - #: builtin/mainmenu/tab_local.lua msgid "Announce Server" msgstr "Server aanmelden bij de server-lijst" @@ -816,7 +895,7 @@ msgstr "Server Hosten" msgid "Install games from ContentDB" msgstr "Installeer spellen van ContentDB" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Name" msgstr "Naam" @@ -828,7 +907,7 @@ msgstr "Nieuw" msgid "No world created or selected!" msgstr "Geen wereldnaam opgegeven of geen wereld aangemaakt!" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Password" msgstr "Wachtwoord" @@ -836,7 +915,7 @@ msgstr "Wachtwoord" msgid "Play Game" msgstr "Spel Starten" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Port" msgstr "Poort" @@ -857,8 +936,13 @@ msgid "Start Game" msgstr "Start spel" #: builtin/mainmenu/tab_online.lua -msgid "Address / Port" -msgstr "Server adres / Poort" +#, fuzzy +msgid "Address" +msgstr "- Adres: " + +#: builtin/mainmenu/tab_online.lua src/client/keycode.cpp +msgid "Clear" +msgstr "Wissen" #: builtin/mainmenu/tab_online.lua msgid "Connect" @@ -868,34 +952,46 @@ msgstr "Verbinden" msgid "Creative mode" msgstr "Creatieve modus" +#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "Damage enabled" -msgstr "Verwondingen ingeschakeld" +#, fuzzy +msgid "Damage / PvP" +msgstr "Verwondingen/schade" #: builtin/mainmenu/tab_online.lua msgid "Del. Favorite" msgstr "Verwijder Favoriete" #: builtin/mainmenu/tab_online.lua -msgid "Favorite" +#, fuzzy +msgid "Favorites" msgstr "Favorieten" +#: builtin/mainmenu/tab_online.lua +msgid "Incompatible Servers" +msgstr "" + #: builtin/mainmenu/tab_online.lua msgid "Join Game" msgstr "Join spel" -#: builtin/mainmenu/tab_online.lua -msgid "Name / Password" -msgstr "Naam / Wachtwoord" - #: builtin/mainmenu/tab_online.lua msgid "Ping" msgstr "Ping" -#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "PvP enabled" -msgstr "Spelergevechten ingeschakeld" +#, fuzzy +msgid "Public Servers" +msgstr "Server aanmelden bij de server-lijst" + +#: builtin/mainmenu/tab_online.lua +msgid "Refresh" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +#, fuzzy +msgid "Server Description" +msgstr "Omschrijving van de server" #: builtin/mainmenu/tab_settings.lua msgid "2x" @@ -937,10 +1033,31 @@ msgstr "Toetsen aanpassen" msgid "Connected Glass" msgstr "Verbonden Glas" +#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp +#, fuzzy +msgid "Dynamic shadows" +msgstr "Fontschaduw" + +#: builtin/mainmenu/tab_settings.lua +msgid "Dynamic shadows: " +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Fancy Leaves" msgstr "Mooie bladeren" +#: builtin/mainmenu/tab_settings.lua +msgid "High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Low" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Medium" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Mipmap" msgstr "Mipmap" @@ -1029,6 +1146,14 @@ msgstr "Toetsgrenswaarde: (px)" msgid "Trilinear Filter" msgstr "Tri-Lineare Filtering" +#: builtin/mainmenu/tab_settings.lua +msgid "Ultra High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Very Low" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Waving Leaves" msgstr "Bewegende bladeren" @@ -1101,18 +1226,6 @@ msgstr "Opgegeven wachtwoordbestand kan niet worden geopend: " 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 -msgid "needs_fallback_font" -msgstr "no" - #: src/client/game.cpp msgid "" "\n" @@ -1355,6 +1468,11 @@ msgstr "MiB/s" msgid "Minimap currently disabled by game or mod" msgstr "Mini-kaart momenteel uitgeschakeld door spel of mod" +#: src/client/game.cpp +#, fuzzy +msgid "Multiplayer" +msgstr "Singleplayer" + #: src/client/game.cpp msgid "Noclip mode disabled" msgstr "Noclip-modus uitgeschakeld" @@ -1496,10 +1614,6 @@ msgstr "Terug" msgid "Caps Lock" msgstr "Hoofdletter vergrendeling" -#: src/client/keycode.cpp -msgid "Clear" -msgstr "Wissen" - #: src/client/keycode.cpp msgid "Control" msgstr "Control" @@ -1795,7 +1909,8 @@ msgid "Proceed" msgstr "Doorgaan" #: src/gui/guiKeyChangeMenu.cpp -msgid "\"Special\" = climb down" +#, fuzzy +msgid "\"Aux1\" = climb down" msgstr "\"Speciaal\" = naar beneden klimmen" #: src/gui/guiKeyChangeMenu.cpp @@ -1806,10 +1921,18 @@ msgstr "Automatisch Vooruit" msgid "Automatic jumping" msgstr "Automatisch springen" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Aux1" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Backward" msgstr "Achteruit" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Block bounds" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Change camera" msgstr "Camera veranderen" @@ -1900,10 +2023,6 @@ msgstr "Screenshot" msgid "Sneak" msgstr "Sluipen" -#: src/gui/guiKeyChangeMenu.cpp -msgid "Special" -msgstr "Speciaal" - #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle HUD" msgstr "Schakel HUD in/uit" @@ -1991,9 +2110,10 @@ msgstr "" "van de eerste aanraking." #: 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 " +"(Android) Use virtual joystick to trigger \"Aux1\" button.\n" +"If enabled, virtual joystick will also tap \"Aux1\" button when out of main " "circle." msgstr "" "(Android) Gebruik virtuele joystick om de \"aux\" -knop te activeren. \n" @@ -2364,6 +2484,16 @@ msgstr "Scherm afmetingen automatisch bewaren" msgid "Autoscaling mode" msgstr "Automatische schaalmodus" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Aux1 key" +msgstr "Springen toets" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Aux1 key for climbing/descending" +msgstr "Gebruik de 'speciaal'-toets voor klimmen en dalen" + #: src/settings_translation_file.cpp msgid "Backward key" msgstr "Achteruit" @@ -2408,10 +2538,6 @@ msgstr "Biome API parameters voor temperatuur- en vochtigheidsruis" msgid "Biome noise" msgstr "Biome-ruis" -#: src/settings_translation_file.cpp -msgid "Bits per pixel (aka color depth) in fullscreen mode." -msgstr "Aantal bits per pixel (oftewel: kleurdiepte) in full-screen modus." - #: src/settings_translation_file.cpp msgid "Block send optimize distance" msgstr "Blok verzend optimalisatie afstand" @@ -2517,6 +2643,11 @@ msgstr "" "Midden van het lichtcurve-boostbereik. \n" "Waar 0,0 het minimale lichtniveau is, is 1,0 het maximale lichtniveau." +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Chat command time message threshold" +msgstr "Drempel voor kick van chatbericht" + #: src/settings_translation_file.cpp msgid "Chat font size" msgstr "Chat lettergrootte" @@ -2613,6 +2744,11 @@ msgstr "Wolken in het menu" msgid "Colored fog" msgstr "Gekleurde mist" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Colored shadows" +msgstr "Gekleurde mist" + #: src/settings_translation_file.cpp msgid "" "Comma-separated list of flags to hide in the content repository.\n" @@ -2842,11 +2978,10 @@ msgstr "Standaard voorwerpenstapel grootte" #: src/settings_translation_file.cpp msgid "" -"Default timeout for cURL, stated in milliseconds.\n" -"Only has an effect if compiled with cURL." +"Define shadow filtering quality\n" +"This simulates the soft shadows effect by applying a PCF or poisson disk\n" +"but also uses more resources." msgstr "" -"Standaard time-out voor cURL, in milliseconden.\n" -"Wordt alleen gebruikt indien gecompileerd met cURL ingebouwd." #: src/settings_translation_file.cpp msgid "Defines areas where trees have apples." @@ -3020,6 +3155,12 @@ msgstr "" "Schakel Lua modding ondersteuning op cliënt in.\n" "Deze ondersteuning is experimenteel en de API kan wijzigen." +#: src/settings_translation_file.cpp +msgid "" +"Enable colored shadows. \n" +"On true translucent nodes cast colored shadows. This is expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable console window" msgstr "Schakel het console venster in" @@ -3045,6 +3186,13 @@ msgstr "Veilige modus voor mods aanzetten" msgid "Enable players getting damage and dying." msgstr "Schakel verwondingen en sterven van spelers aan." +#: src/settings_translation_file.cpp +msgid "" +"Enable poisson disk filtering.\n" +"On true uses poisson disk to make \"soft shadows\". Otherwise uses PCF " +"filtering." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable random user input (only used for testing)." msgstr "Schakel willkeurige invoer aan (enkel voor testen)." @@ -3206,18 +3354,6 @@ msgstr "Val dobberende factor" msgid "Fallback font path" msgstr "Terugvallettertype" -#: src/settings_translation_file.cpp -msgid "Fallback font shadow" -msgstr "Terugval-font schaduw" - -#: src/settings_translation_file.cpp -msgid "Fallback font shadow alpha" -msgstr "Terugval-font schaduw alphawaarde" - -#: src/settings_translation_file.cpp -msgid "Fallback font size" -msgstr "Terugval-fontgrootte" - #: src/settings_translation_file.cpp msgid "Fast key" msgstr "Snel toets" @@ -3235,8 +3371,9 @@ msgid "Fast movement" msgstr "Snelle modus" #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"Fast movement (via the \"special\" key).\n" +"Fast movement (via the \"Aux1\" key).\n" "This requires the \"fast\" privilege on the server." msgstr "" "Snelle beweging (via de \"speciaal\" toets). \n" @@ -3273,11 +3410,12 @@ msgid "Filmic tone mapping" msgstr "Filmisch tone-mapping" #: src/settings_translation_file.cpp +#, fuzzy msgid "" "Filtered textures can blend RGB values with fully-transparent neighbors,\n" -"which PNG optimizers usually discard, sometimes resulting in a dark or\n" -"light edge to transparent textures. Apply this filter to clean that up\n" -"at texture load time." +"which PNG optimizers usually discard, often resulting in dark or\n" +"light edges to transparent textures. Apply a filter to clean that up\n" +"at texture load time. This is automatically enabled if mipmapping is enabled." msgstr "" "Gefilterde texturen kunnen RGB-waarden vermengen met transparante buren,\n" "die door PNG-optimalisators vaak verwijderd worden. Dit kan donkere of " @@ -3379,10 +3517,6 @@ msgstr "Lettergrootte" msgid "Font size of the default font in point (pt)." msgstr "Lettergrootte van het standaardlettertype in punt (pt)." -#: src/settings_translation_file.cpp -msgid "Font size of the fallback font in point (pt)." -msgstr "Lettergrootte van het fallback-lettertype in punt (pt)." - #: src/settings_translation_file.cpp msgid "Font size of the monospace font in point (pt)." msgstr "Lettergrootte van het monospace-lettertype in punt (pt)." @@ -3499,10 +3633,6 @@ msgstr "" msgid "Full screen" msgstr "Volledig scherm" -#: src/settings_translation_file.cpp -msgid "Full screen BPP" -msgstr "BPP bij volledig scherm" - #: src/settings_translation_file.cpp msgid "Fullscreen mode." msgstr "Volledig scherm modus." @@ -3619,7 +3749,9 @@ msgid "Heat noise" msgstr "Hitte geluid" #: src/settings_translation_file.cpp -msgid "Height component of the initial window size." +#, fuzzy +msgid "" +"Height component of the initial window size. Ignored in fullscreen mode." msgstr "Aanvangshoogte van het venster." #: src/settings_translation_file.cpp @@ -3630,10 +3762,6 @@ msgstr "Hoogtegeluid" msgid "Height select noise" msgstr "Hoogte-selectie geluid" -#: src/settings_translation_file.cpp -msgid "High-precision FPU" -msgstr "Hoge-nauwkeurigheid FPU" - #: src/settings_translation_file.cpp msgid "Hill steepness" msgstr "Steilheid van de heuvels" @@ -3878,9 +4006,9 @@ msgstr "" "kracht verspild wordt zonder dat het toegevoegde waarde heeft." #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"If disabled, \"special\" key is used to fly fast if both fly and fast mode " -"are\n" +"If disabled, \"Aux1\" key is used to fly fast if both fly and fast mode are\n" "enabled." msgstr "" "Indien uitgeschakeld, dan wordt met de \"speciaal\" toets snel gevlogen " @@ -3913,9 +4041,10 @@ msgstr "" "Dit vereist het \"noclip\" voorrecht op de server." #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"If enabled, \"special\" key instead of \"sneak\" key is used for climbing " -"down and\n" +"If enabled, \"Aux1\" key instead of \"Sneak\" key is used for climbing down " +"and\n" "descending." msgstr "" "Indien aangeschakeld, dan wordt de \"speciaal\" toets gebruikt voor\n" @@ -3976,6 +4105,12 @@ msgstr "" "beperkt \n" "tot deze afstand van de speler tot het blok." +#: src/settings_translation_file.cpp +msgid "" +"If the execution of a chat command takes longer than this specified time in\n" +"seconds, add the time information to the chat command message" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "If the file size of debug.txt exceeds the number of megabytes specified in\n" @@ -5155,11 +5290,6 @@ msgstr "" "Mist en hemelkleur afhankelijk van tijd van de dag (zonsopkomst/ondergang) " "en kijkrichting." -#: src/settings_translation_file.cpp -msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." -msgstr "" -"Maakt dat DirectX werkt met LuaJIT. Schakel dit uit als het problemen geeft." - #: src/settings_translation_file.cpp msgid "Makes all liquids opaque" msgstr "Maak alle vloeistoffen ondoorzichtig" @@ -5251,6 +5381,11 @@ msgstr "Wereld-grens" msgid "Map save interval" msgstr "Interval voor opslaan wereld" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Map update time" +msgstr "Vloeistof verspreidingssnelheid" + #: src/settings_translation_file.cpp msgid "Mapblock limit" msgstr "Max aantal wereldblokken" @@ -5363,6 +5498,10 @@ msgstr "" "Maximum FPS als het venster niet gefocussed is, of wanneer het spel " "gepauzeerd is." +#: src/settings_translation_file.cpp +msgid "Maximum distance to render shadows." +msgstr "" + #: src/settings_translation_file.cpp msgid "Maximum forceloaded blocks" msgstr "Maximaal aantal geforceerd geladen blokken" @@ -5496,11 +5635,20 @@ msgstr "" "'0' om de wachtrij uit te schakelen en '-1' om de wachtrij oneindig te maken." #: src/settings_translation_file.cpp -msgid "Maximum time in ms a file download (e.g. a mod download) may take." +#, fuzzy +msgid "" +"Maximum time a file download (e.g. a mod download) may take, stated in " +"milliseconds." msgstr "" "Maximale duur voor een download van een bestand (bijv. een mod). In " "milliseconden." +#: src/settings_translation_file.cpp +msgid "" +"Maximum time an interactive request (e.g. server list fetch) may take, " +"stated in milliseconds." +msgstr "" + #: src/settings_translation_file.cpp msgid "Maximum users" msgstr "Maximaal aantal gebruikers" @@ -5757,13 +5905,6 @@ msgstr "" "Ondoorzichtigheid (alpha) van de schaduw achter het standaardlettertype, " "tussen 0 en 255." -#: src/settings_translation_file.cpp -msgid "" -"Opaqueness (alpha) of the shadow behind the fallback font, between 0 and 255." -msgstr "" -"Ondoorzichtigheid (alpha) van de schaduw achter het fallback-lettertype, " -"tussen 0 en 255." - #: src/settings_translation_file.cpp msgid "" "Open the pause menu when the window's focus is lost. Does not pause if a " @@ -5893,6 +6034,11 @@ msgstr "Speler verplaatsingsafstand" msgid "Player versus player" msgstr "Speler tegen speler" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Poisson filtering" +msgstr "Bi-Lineaire filtering" + #: src/settings_translation_file.cpp msgid "" "Port to connect to (UDP).\n" @@ -6286,6 +6432,43 @@ msgstr "" msgid "Set the maximum character length of a chat message sent by clients." msgstr "Maximaal aantal tekens voor chatberichten van gebruikers instellen." +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow strength.\n" +"Lower value means lighter shadows, higher value means darker shadows." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow update time.\n" +"Lower value means shadows and map updates faster, but it consume more " +"resources.\n" +"Minimun value 0.001 seconds max value 0.2 seconds" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the soft shadow radius size.\n" +"Lower values mean sharper shadows bigger values softer.\n" +"Minimun value 1.0 and max value 10.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the tilt of Sun/Moon orbit in degrees\n" +"Value of 0 means no tilt / vertical orbit.\n" +"Minimun value 0.0 and max value 60.0" +msgstr "" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "" +"Set to true to enable Shadow Mapping.\n" +"Requires shaders to be enabled." +msgstr "" +"Bewegende bladeren staan aan indien 'true'.\n" +"Dit vereist dat 'shaders' ook aanstaan." + #: src/settings_translation_file.cpp msgid "" "Set to true to enable waving leaves.\n" @@ -6310,6 +6493,13 @@ msgstr "" "Bewegende planten staan aan indien 'true'.\n" "Dit vereist dat 'shaders' ook aanstaan." +#: src/settings_translation_file.cpp +msgid "" +"Sets shadow texture quality to 32 bits.\n" +"On false, 16 bits texture will be used.\n" +"This can cause much more artifacts in the shadow." +msgstr "" + #: src/settings_translation_file.cpp msgid "Shader path" msgstr "Shader pad" @@ -6325,6 +6515,24 @@ msgstr "" "videokaarten de prestaties verbeteren.\n" "Alleen mogelijk met OpenGL." +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Shadow filter quality" +msgstr "Screenshot kwaliteit" + +#: src/settings_translation_file.cpp +msgid "Shadow map max distance in nodes to render shadows" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture in 32 bits" +msgstr "" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Shadow map texture size" +msgstr "Minimale textuur-grootte" + #: src/settings_translation_file.cpp msgid "" "Shadow offset (in pixels) of the default font. If 0, then shadow will not be " @@ -6334,12 +6542,8 @@ msgstr "" "getekend." #: src/settings_translation_file.cpp -msgid "" -"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not " -"be drawn." +msgid "Shadow strength" msgstr "" -"Fontschaduw afstand van het standaard lettertype (in beeldpunten). Indien 0, " -"dan wordt geen schaduw getekend." #: src/settings_translation_file.cpp msgid "Shape of the minimap. Enabled = round, disabled = square." @@ -6398,6 +6602,10 @@ msgstr "" "de kans op een cache hit, waardoor minder data van de main thread\n" "wordt gekopieerd waardoor flikkeren verminderd." +#: src/settings_translation_file.cpp +msgid "Sky Body Orbit Tilt" +msgstr "" + #: src/settings_translation_file.cpp msgid "Slice w" msgstr "Doorsnede w" @@ -6456,18 +6664,15 @@ msgstr "Sluipsnelheid" msgid "Sneaking speed, in nodes per second." msgstr "Sluipsnelheid, in blokken per seconde." +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Soft shadow radius" +msgstr "Fontschaduw alphawaarde" + #: src/settings_translation_file.cpp msgid "Sound" msgstr "Geluid" -#: src/settings_translation_file.cpp -msgid "Special key" -msgstr "Speciaal ( Aux ) toets" - -#: src/settings_translation_file.cpp -msgid "Special key for climbing/descending" -msgstr "Gebruik de 'speciaal'-toets voor klimmen en dalen" - #: src/settings_translation_file.cpp msgid "" "Specifies URL from which client fetches media instead of using UDP.\n" @@ -6625,6 +6830,13 @@ msgstr "Terrein persistentie ruis" msgid "Texture path" msgstr "Textuur pad" +#: src/settings_translation_file.cpp +msgid "" +"Texture size to render the shadow map on.\n" +"This must be a power of two.\n" +"Bigger numbers create better shadowsbut it is also more expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Textures on a node may be aligned either to the node or to the world.\n" @@ -6727,8 +6939,9 @@ msgstr "" "Dit moet samen met active_object_send_range_blocks worden geconfigureerd." #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"The rendering back-end for Irrlicht.\n" +"The rendering back-end.\n" "A restart is required after changing this.\n" "Note: On Android, stick with OGLES1 if unsure! App may fail to start " "otherwise.\n" @@ -7080,7 +7293,8 @@ msgid "Viewing range" msgstr "Zichtafstand" #: src/settings_translation_file.cpp -msgid "Virtual joystick triggers aux button" +#, fuzzy +msgid "Virtual joystick triggers Aux1 button" msgstr "Virtuele joystick activeert aux-knop" #: src/settings_translation_file.cpp @@ -7182,14 +7396,14 @@ msgstr "" "terug naar het werkgeheugen." #: src/settings_translation_file.cpp +#, fuzzy msgid "" "When using bilinear/trilinear/anisotropic filters, low-resolution textures\n" "can be blurred, so automatically upscale them with nearest-neighbor\n" "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" +"memory. Powers of 2 are recommended. This setting is ONLY applies if\n" +"bilinear/trilinear/anisotropic filtering is enabled.\n" "This is also used as the base node texture size for world-aligned\n" "texture autoscaling." msgstr "" @@ -7276,7 +7490,8 @@ msgstr "" "toets)." #: src/settings_translation_file.cpp -msgid "Width component of the initial window size." +#, fuzzy +msgid "Width component of the initial window size. Ignored in fullscreen mode." msgstr "Aanvangsbreedte van het venster." #: src/settings_translation_file.cpp @@ -7420,12 +7635,13 @@ msgid "cURL file download timeout" msgstr "timeout voor cURL download" #: src/settings_translation_file.cpp -msgid "cURL parallel limit" -msgstr "Maximaal parallellisme in cURL" +#, fuzzy +msgid "cURL interactive timeout" +msgstr "cURL time-out" #: src/settings_translation_file.cpp -msgid "cURL timeout" -msgstr "cURL time-out" +msgid "cURL parallel limit" +msgstr "Maximaal parallellisme in cURL" #~ msgid "" #~ "0 = parallax occlusion with slope information (faster).\n" @@ -7434,6 +7650,9 @@ msgstr "cURL time-out" #~ "0 = parallax occlusie met helling-informatie (sneller).\n" #~ "1 = 'reliëf mapping' (lanzamer, nauwkeuriger)." +#~ msgid "Address / Port" +#~ msgstr "Server adres / Poort" + #, fuzzy #~ msgid "" #~ "Adjust the gamma encoding for the light tables. Higher numbers are " @@ -7450,6 +7669,9 @@ msgstr "cURL time-out" #~ msgid "Back" #~ msgstr "Terug" +#~ msgid "Bits per pixel (aka color depth) in fullscreen mode." +#~ msgstr "Aantal bits per pixel (oftewel: kleurdiepte) in full-screen modus." + #~ msgid "Bump Mapping" #~ msgstr "Bumpmapping" @@ -7489,13 +7711,26 @@ msgstr "cURL time-out" #~ msgstr "" #~ "Bepaalt breedte van tunnels, een kleinere waarde maakt bredere tunnels." +#~ msgid "Credits" +#~ msgstr "Credits" + #~ msgid "Crosshair color (R,G,B)." #~ msgstr "Draadkruis-kleur (R,G,B)." +#~ msgid "Damage enabled" +#~ msgstr "Verwondingen ingeschakeld" + #, fuzzy #~ msgid "Darkness sharpness" #~ msgstr "Steilheid Van de meren" +#~ msgid "" +#~ "Default timeout for cURL, stated in milliseconds.\n" +#~ "Only has an effect if compiled with cURL." +#~ msgstr "" +#~ "Standaard time-out voor cURL, in milliseconden.\n" +#~ "Wordt alleen gebruikt indien gecompileerd met cURL ingebouwd." + #~ msgid "" #~ "Defines areas of floatland smooth terrain.\n" #~ "Smooth floatlands occur when noise > 0." @@ -7554,6 +7789,15 @@ msgstr "cURL time-out" #~ msgid "FPS in pause menu" #~ msgstr "FPS in het pauze-menu" +#~ msgid "Fallback font shadow" +#~ msgstr "Terugval-font schaduw" + +#~ msgid "Fallback font shadow alpha" +#~ msgstr "Terugval-font schaduw alphawaarde" + +#~ msgid "Fallback font size" +#~ msgstr "Terugval-fontgrootte" + #~ msgid "Floatland base height noise" #~ msgstr "Drijvend land basis hoogte ruis" @@ -7563,6 +7807,12 @@ msgstr "cURL time-out" #~ msgid "Font shadow alpha (opaqueness, between 0 and 255)." #~ msgstr "Fontschaduw alphawaarde (ondoorzichtigheid, tussen 0 en 255)." +#~ msgid "Font size of the fallback font in point (pt)." +#~ msgstr "Lettergrootte van het fallback-lettertype in punt (pt)." + +#~ msgid "Full screen BPP" +#~ msgstr "BPP bij volledig scherm" + #, fuzzy #~ msgid "Gamma" #~ msgstr "Gamma" @@ -7573,6 +7823,9 @@ msgstr "cURL time-out" #~ msgid "Generate normalmaps" #~ msgstr "Genereer normaalmappen" +#~ msgid "High-precision FPU" +#~ msgstr "Hoge-nauwkeurigheid FPU" + #~ msgid "IPv6 support." #~ msgstr "IPv6 ondersteuning." @@ -7589,6 +7842,11 @@ msgstr "cURL time-out" #~ msgid "Main menu style" #~ msgstr "Hoofdmenu stijl" +#~ msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." +#~ msgstr "" +#~ "Maakt dat DirectX werkt met LuaJIT. Schakel dit uit als het problemen " +#~ "geeft." + #~ msgid "Minimap in radar mode, Zoom x2" #~ msgstr "Mini-kaart in radar modus, Zoom x2" @@ -7601,6 +7859,9 @@ msgstr "cURL time-out" #~ msgid "Minimap in surface mode, Zoom x4" #~ msgstr "Minimap in oppervlaktemodus, Zoom x4" +#~ msgid "Name / Password" +#~ msgstr "Naam / Wachtwoord" + #~ msgid "Name/Password" #~ msgstr "Naam / Wachtwoord" @@ -7619,6 +7880,13 @@ msgstr "cURL time-out" #~ msgid "Ok" #~ msgstr "Oké" +#~ msgid "" +#~ "Opaqueness (alpha) of the shadow behind the fallback font, between 0 and " +#~ "255." +#~ msgstr "" +#~ "Ondoorzichtigheid (alpha) van de schaduw achter het fallback-lettertype, " +#~ "tussen 0 en 255." + #~ msgid "Overall bias of parallax occlusion effect, usually scale/2." #~ msgstr "" #~ "Algemene afwijking van het parallax occlusie effect. Normaal: schaal/2." @@ -7653,6 +7921,9 @@ msgstr "cURL time-out" #~ msgid "Path to save screenshots at." #~ msgstr "Pad waar screenshots bewaard worden." +#~ msgid "PvP enabled" +#~ msgstr "Spelergevechten ingeschakeld" + #~ msgid "Reset singleplayer world" #~ msgstr "Reset Singleplayer wereld" @@ -7663,6 +7934,19 @@ msgstr "cURL time-out" #~ msgid "Shadow limit" #~ msgstr "Schaduw limiet" +#~ msgid "" +#~ "Shadow offset (in pixels) of the fallback font. If 0, then shadow will " +#~ "not be drawn." +#~ msgstr "" +#~ "Fontschaduw afstand van het standaard lettertype (in beeldpunten). Indien " +#~ "0, dan wordt geen schaduw getekend." + +#~ msgid "Special" +#~ msgstr "Speciaal" + +#~ msgid "Special key" +#~ msgstr "Speciaal ( Aux ) toets" + #~ msgid "Start Singleplayer" #~ msgstr "Start Singleplayer" @@ -7707,3 +7991,6 @@ msgstr "cURL time-out" #~ msgid "Yes" #~ msgstr "Ja" + +#~ msgid "needs_fallback_font" +#~ msgstr "no" diff --git a/po/nn/minetest.po b/po/nn/minetest.po index 4ad47fbf8..746ac0d00 100644 --- a/po/nn/minetest.po +++ b/po/nn/minetest.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Norwegian Nynorsk (Minetest)\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-02-23 19:03+0100\n" +"POT-Creation-Date: 2021-06-16 18:27+0200\n" "PO-Revision-Date: 2021-02-20 05:50+0000\n" "Last-Translator: Tor Egil Hoftun Kvæstad \n" "Language-Team: Norwegian Nynorsk ' to get more information, or '.help all' to list everything." +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "[all | ]" +msgstr "" + #: builtin/fstk/dialog.lua builtin/fstk/ui.lua src/gui/modalMenu.cpp msgid "OK" msgstr "OK" @@ -531,7 +603,7 @@ msgstr "< Tilbake til innstillingssida" msgid "Browse" msgstr "Bla gjennom" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_settings.lua msgid "Disabled" msgstr "Deaktivert" @@ -575,7 +647,7 @@ msgstr "Reetabler det normale" msgid "Scale" msgstr "Skala" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua msgid "Search" msgstr "Søk" @@ -716,6 +788,41 @@ msgstr "" "Forsøkje å kople attende den offentlege tenarmaskin-lista og sjekk sambands " "koplingen." +#: builtin/mainmenu/tab_about.lua +msgid "About" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active Contributors" +msgstr "Aktive bidragsytarar" + +#: builtin/mainmenu/tab_about.lua +msgid "Active renderer:" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Core Developers" +msgstr "Kjerne-utviklarar" + +#: builtin/mainmenu/tab_about.lua +#, fuzzy +msgid "Open User Data Directory" +msgstr "Velje ein mappe" + +#: builtin/mainmenu/tab_about.lua +msgid "" +"Opens the directory that contains user-provided worlds, games, mods,\n" +"and texture packs in a file manager / explorer." +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Contributors" +msgstr "Tidlegare bidragsytarar" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Core Developers" +msgstr "Tidlegare kjerne-utviklarar" + #: builtin/mainmenu/tab_content.lua msgid "Browse online content" msgstr "Bla i nett-innhald" @@ -756,37 +863,6 @@ msgstr "Avinstallér pakka" msgid "Use Texture Pack" msgstr "Bruk teksturpakke" -#: builtin/mainmenu/tab_credits.lua -msgid "Active Contributors" -msgstr "Aktive bidragsytarar" - -#: builtin/mainmenu/tab_credits.lua -msgid "Core Developers" -msgstr "Kjerne-utviklarar" - -#: builtin/mainmenu/tab_credits.lua -msgid "Credits" -msgstr "Medvirkende" - -#: builtin/mainmenu/tab_credits.lua -#, fuzzy -msgid "Open User Data Directory" -msgstr "Velje ein mappe" - -#: builtin/mainmenu/tab_credits.lua -msgid "" -"Opens the directory that contains user-provided worlds, games, mods,\n" -"and texture packs in a file manager / explorer." -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Contributors" -msgstr "Tidlegare bidragsytarar" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Core Developers" -msgstr "Tidlegare kjerne-utviklarar" - #: builtin/mainmenu/tab_local.lua msgid "Announce Server" msgstr "Annonsér tenarmaskin" @@ -817,7 +893,7 @@ msgstr "Bli tenarmaskin's vert" msgid "Install games from ContentDB" msgstr "Installer spel frå ContentDB" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Name" msgstr "Namn" @@ -829,7 +905,7 @@ msgstr "Ny" msgid "No world created or selected!" msgstr "Inga verd skapt eller valt!" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Password" msgstr "Passord" @@ -837,7 +913,7 @@ msgstr "Passord" msgid "Play Game" msgstr "Ha i gang spel" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Port" msgstr "Port" @@ -858,8 +934,13 @@ msgid "Start Game" msgstr "Start spel" #: builtin/mainmenu/tab_online.lua -msgid "Address / Port" -msgstr "Adresse / port" +#, fuzzy +msgid "Address" +msgstr "- Adresse: " + +#: builtin/mainmenu/tab_online.lua src/client/keycode.cpp +msgid "Clear" +msgstr "Rydd til side" #: builtin/mainmenu/tab_online.lua msgid "Connect" @@ -869,34 +950,46 @@ msgstr "Kople i hop" msgid "Creative mode" msgstr "Kreativ stode" +#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "Damage enabled" -msgstr "Skade aktivert" +#, fuzzy +msgid "Damage / PvP" +msgstr "- Skade: " #: builtin/mainmenu/tab_online.lua msgid "Del. Favorite" msgstr "Slett Favoritt" #: builtin/mainmenu/tab_online.lua -msgid "Favorite" +#, fuzzy +msgid "Favorites" msgstr "Favoritt" +#: builtin/mainmenu/tab_online.lua +msgid "Incompatible Servers" +msgstr "" + #: builtin/mainmenu/tab_online.lua msgid "Join Game" msgstr "Bli med i spel" -#: builtin/mainmenu/tab_online.lua -msgid "Name / Password" -msgstr "Namn/Passord" - #: builtin/mainmenu/tab_online.lua msgid "Ping" msgstr "Ping" -#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "PvP enabled" -msgstr "Spelar mot spelar aktivert" +#, fuzzy +msgid "Public Servers" +msgstr "Annonsér tenarmaskin" + +#: builtin/mainmenu/tab_online.lua +msgid "Refresh" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +#, fuzzy +msgid "Server Description" +msgstr "Tenarport" #: builtin/mainmenu/tab_settings.lua msgid "2x" @@ -939,10 +1032,30 @@ msgstr "Endre nykeler" msgid "Connected Glass" msgstr "Kopla i hop glass" +#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp +msgid "Dynamic shadows" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Dynamic shadows: " +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Fancy Leaves" msgstr "Fancy blader" +#: builtin/mainmenu/tab_settings.lua +msgid "High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Low" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Medium" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Mipmap" msgstr "Mipkart" @@ -1038,6 +1151,14 @@ msgstr "Berøringsterskel: (px)" msgid "Trilinear Filter" msgstr "Tri-lineær filtréring" +#: builtin/mainmenu/tab_settings.lua +msgid "Ultra High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Very Low" +msgstr "" + #: builtin/mainmenu/tab_settings.lua #, fuzzy msgid "Waving Leaves" @@ -1117,18 +1238,6 @@ 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 "no" - #: src/client/game.cpp msgid "" "\n" @@ -1372,6 +1481,11 @@ msgstr "MiB/s" msgid "Minimap currently disabled by game or mod" msgstr "Minikart er for tiden deaktivert tå spelet eller ein modifikasjon" +#: src/client/game.cpp +#, fuzzy +msgid "Multiplayer" +msgstr "Enkeltspelar oppleving" + #: src/client/game.cpp msgid "Noclip mode disabled" msgstr "Ikkjeklipp modus er avtatt" @@ -1514,10 +1628,6 @@ msgstr "Attende" msgid "Caps Lock" msgstr "Kapital-tegn på/av knapp" -#: src/client/keycode.cpp -msgid "Clear" -msgstr "Rydd til side" - #: src/client/keycode.cpp msgid "Control" msgstr "Styring" @@ -1812,7 +1922,8 @@ msgid "Proceed" msgstr "Fortset" #: src/gui/guiKeyChangeMenu.cpp -msgid "\"Special\" = climb down" +#, fuzzy +msgid "\"Aux1\" = climb down" msgstr "\"Spesiell\" = klatre ned" #: src/gui/guiKeyChangeMenu.cpp @@ -1823,10 +1934,18 @@ msgstr "Automatiske framsteg" msgid "Automatic jumping" msgstr "Automatiske hopp" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Aux1" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Backward" msgstr "Bakover" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Block bounds" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Change camera" msgstr "Byt kamera" @@ -1917,10 +2036,6 @@ msgstr "Skjermbilde" msgid "Sneak" msgstr "Sniking" -#: src/gui/guiKeyChangeMenu.cpp -msgid "Special" -msgstr "Spesial" - #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle HUD" msgstr "Slå av/på HUD" @@ -2007,8 +2122,8 @@ 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 " +"(Android) Use virtual joystick to trigger \"Aux1\" button.\n" +"If enabled, virtual joystick will also tap \"Aux1\" button when out of main " "circle." msgstr "" @@ -2305,6 +2420,14 @@ msgstr "" msgid "Autoscaling mode" msgstr "Autoskaleringsmodus" +#: src/settings_translation_file.cpp +msgid "Aux1 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Aux1 key for climbing/descending" +msgstr "" + #: src/settings_translation_file.cpp msgid "Backward key" msgstr "" @@ -2349,10 +2472,6 @@ msgstr "" msgid "Biome noise" msgstr "" -#: src/settings_translation_file.cpp -msgid "Bits per pixel (aka color depth) in fullscreen mode." -msgstr "" - #: src/settings_translation_file.cpp msgid "Block send optimize distance" msgstr "" @@ -2451,6 +2570,10 @@ msgid "" "Where 0.0 is minimum light level, 1.0 is maximum light level." msgstr "" +#: src/settings_translation_file.cpp +msgid "Chat command time message threshold" +msgstr "" + #: src/settings_translation_file.cpp msgid "Chat font size" msgstr "Tekststørrelse for nettprat" @@ -2547,6 +2670,11 @@ msgstr "Skyer i meny" msgid "Colored fog" msgstr "Farga tåke" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Colored shadows" +msgstr "Farga tåke" + #: src/settings_translation_file.cpp msgid "" "Comma-separated list of flags to hide in the content repository.\n" @@ -2744,8 +2872,9 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"Default timeout for cURL, stated in milliseconds.\n" -"Only has an effect if compiled with cURL." +"Define shadow filtering quality\n" +"This simulates the soft shadows effect by applying a PCF or poisson disk\n" +"but also uses more resources." msgstr "" #: src/settings_translation_file.cpp @@ -2906,6 +3035,12 @@ msgid "" "This support is experimental and API can change." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Enable colored shadows. \n" +"On true translucent nodes cast colored shadows. This is expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable console window" msgstr "" @@ -2930,6 +3065,13 @@ msgstr "" msgid "Enable players getting damage and dying." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Enable poisson disk filtering.\n" +"On true uses poisson disk to make \"soft shadows\". Otherwise uses PCF " +"filtering." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable random user input (only used for testing)." msgstr "" @@ -3052,18 +3194,6 @@ msgstr "" msgid "Fallback font path" msgstr "" -#: src/settings_translation_file.cpp -msgid "Fallback font shadow" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Fallback font shadow alpha" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Fallback font size" -msgstr "" - #: src/settings_translation_file.cpp msgid "Fast key" msgstr "" @@ -3082,7 +3212,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"Fast movement (via the \"special\" key).\n" +"Fast movement (via the \"Aux1\" key).\n" "This requires the \"fast\" privilege on the server." msgstr "" @@ -3116,9 +3246,9 @@ 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." +"which PNG optimizers usually discard, often resulting in dark or\n" +"light edges to transparent textures. Apply a filter to clean that up\n" +"at texture load time. This is automatically enabled if mipmapping is enabled." msgstr "" #: src/settings_translation_file.cpp @@ -3213,10 +3343,6 @@ msgstr "" msgid "Font size of the default font in point (pt)." msgstr "" -#: src/settings_translation_file.cpp -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 "" @@ -3314,10 +3440,6 @@ msgstr "" msgid "Full screen" msgstr "" -#: src/settings_translation_file.cpp -msgid "Full screen BPP" -msgstr "" - #: src/settings_translation_file.cpp msgid "Fullscreen mode." msgstr "" @@ -3411,7 +3533,8 @@ msgid "Heat noise" msgstr "" #: src/settings_translation_file.cpp -msgid "Height component of the initial window size." +msgid "" +"Height component of the initial window size. Ignored in fullscreen mode." msgstr "" #: src/settings_translation_file.cpp @@ -3422,10 +3545,6 @@ msgstr "" msgid "Height select noise" msgstr "" -#: src/settings_translation_file.cpp -msgid "High-precision FPU" -msgstr "" - #: src/settings_translation_file.cpp msgid "Hill steepness" msgstr "" @@ -3657,8 +3776,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"If disabled, \"special\" key is used to fly fast if both fly and fast mode " -"are\n" +"If disabled, \"Aux1\" key is used to fly fast if both fly and fast mode are\n" "enabled." msgstr "" @@ -3680,8 +3798,8 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"If enabled, \"special\" key instead of \"sneak\" key is used for climbing " -"down and\n" +"If enabled, \"Aux1\" key instead of \"Sneak\" key is used for climbing down " +"and\n" "descending." msgstr "" @@ -3725,6 +3843,12 @@ msgid "" "to this distance from the player to the node." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"If the execution of a chat command takes longer than this specified time in\n" +"seconds, add the time information to the chat command message" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "If the file size of debug.txt exceeds the number of megabytes specified in\n" @@ -4613,10 +4737,6 @@ msgid "" "Make fog and sky colors depend on daytime (dawn/sunset) and view direction." msgstr "" -#: src/settings_translation_file.cpp -msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." -msgstr "" - #: src/settings_translation_file.cpp msgid "Makes all liquids opaque" msgstr "" @@ -4688,6 +4808,10 @@ msgstr "" msgid "Map save interval" msgstr "" +#: src/settings_translation_file.cpp +msgid "Map update time" +msgstr "" + #: src/settings_translation_file.cpp msgid "Mapblock limit" msgstr "" @@ -4796,6 +4920,10 @@ msgstr "" msgid "Maximum FPS when the window is not focused, or when the game is paused." msgstr "" +#: src/settings_translation_file.cpp +msgid "Maximum distance to render shadows." +msgstr "" + #: src/settings_translation_file.cpp msgid "Maximum forceloaded blocks" msgstr "" @@ -4902,7 +5030,15 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "Maximum time in ms a file download (e.g. a mod download) may take." +msgid "" +"Maximum time a file download (e.g. a mod download) may take, stated in " +"milliseconds." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum time an interactive request (e.g. server list fetch) may take, " +"stated in milliseconds." msgstr "" #: src/settings_translation_file.cpp @@ -5115,11 +5251,6 @@ 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 " @@ -5218,6 +5349,10 @@ msgstr "" msgid "Player versus player" msgstr "" +#: src/settings_translation_file.cpp +msgid "Poisson filtering" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Port to connect to (UDP).\n" @@ -5552,6 +5687,40 @@ msgstr "" msgid "Set the maximum character length of a chat message sent by clients." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow strength.\n" +"Lower value means lighter shadows, higher value means darker shadows." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow update time.\n" +"Lower value means shadows and map updates faster, but it consume more " +"resources.\n" +"Minimun value 0.001 seconds max value 0.2 seconds" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the soft shadow radius size.\n" +"Lower values mean sharper shadows bigger values softer.\n" +"Minimun value 1.0 and max value 10.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the tilt of Sun/Moon orbit in degrees\n" +"Value of 0 means no tilt / vertical orbit.\n" +"Minimun value 0.0 and max value 60.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set to true to enable Shadow Mapping.\n" +"Requires shaders to be enabled." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Set to true to enable waving leaves.\n" @@ -5570,6 +5739,13 @@ msgid "" "Requires shaders to be enabled." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Sets shadow texture quality to 32 bits.\n" +"On false, 16 bits texture will be used.\n" +"This can cause much more artifacts in the shadow." +msgstr "" + #: src/settings_translation_file.cpp msgid "Shader path" msgstr "" @@ -5582,6 +5758,22 @@ msgid "" "This only works with the OpenGL video backend." msgstr "" +#: src/settings_translation_file.cpp +msgid "Shadow filter quality" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map max distance in nodes to render shadows" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture in 32 bits" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture size" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Shadow offset (in pixels) of the default font. If 0, then shadow will not be " @@ -5589,9 +5781,7 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "" -"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not " -"be drawn." +msgid "Shadow strength" msgstr "" #: src/settings_translation_file.cpp @@ -5637,6 +5827,10 @@ msgid "" "thread, thus reducing jitter." msgstr "" +#: src/settings_translation_file.cpp +msgid "Sky Body Orbit Tilt" +msgstr "" + #: src/settings_translation_file.cpp msgid "Slice w" msgstr "" @@ -5691,18 +5885,15 @@ msgstr "" msgid "Sneaking speed, in nodes per second." msgstr "" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Soft shadow radius" +msgstr "Skyradius" + #: src/settings_translation_file.cpp msgid "Sound" msgstr "" -#: src/settings_translation_file.cpp -msgid "Special key" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Special key for climbing/descending" -msgstr "" - #: src/settings_translation_file.cpp msgid "" "Specifies URL from which client fetches media instead of using UDP.\n" @@ -5824,6 +6015,13 @@ msgstr "" msgid "Texture path" msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Texture size to render the shadow map on.\n" +"This must be a power of two.\n" +"Bigger numbers create better shadowsbut it is also more expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Textures on a node may be aligned either to the node or to the world.\n" @@ -5897,7 +6095,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"The rendering back-end for Irrlicht.\n" +"The rendering back-end.\n" "A restart is required after changing this.\n" "Note: On Android, stick with OGLES1 if unsure! App may fail to start " "otherwise.\n" @@ -6184,7 +6382,7 @@ msgid "Viewing range" msgstr "" #: src/settings_translation_file.cpp -msgid "Virtual joystick triggers aux button" +msgid "Virtual joystick triggers Aux1 button" msgstr "" #: src/settings_translation_file.cpp @@ -6279,9 +6477,8 @@ msgid "" "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" +"memory. Powers of 2 are recommended. This setting is ONLY applies if\n" +"bilinear/trilinear/anisotropic filtering is enabled.\n" "This is also used as the base node texture size for world-aligned\n" "texture autoscaling." msgstr "" @@ -6337,7 +6534,7 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "Width component of the initial window size." +msgid "Width component of the initial window size. Ignored in fullscreen mode." msgstr "" #: src/settings_translation_file.cpp @@ -6444,13 +6641,16 @@ msgid "cURL file download timeout" msgstr "" #: src/settings_translation_file.cpp -msgid "cURL parallel limit" +msgid "cURL interactive timeout" msgstr "" #: src/settings_translation_file.cpp -msgid "cURL timeout" +msgid "cURL parallel limit" msgstr "" +#~ msgid "Address / Port" +#~ msgstr "Adresse / port" + #~ msgid "Are you sure to reset your singleplayer world?" #~ msgstr "Er du sikker på at du vill tilbakestille enkel-spelar verd?" @@ -6466,6 +6666,12 @@ msgstr "" #~ msgid "Configure" #~ msgstr "Konfigurér" +#~ msgid "Credits" +#~ msgstr "Medvirkende" + +#~ msgid "Damage enabled" +#~ msgstr "Skade aktivert" + #~ msgid "Downloading and installing $1, please wait..." #~ msgstr "Henter og installerer $1, ver vennleg og vent..." @@ -6487,6 +6693,9 @@ msgstr "" #~ msgid "Minimap in surface mode, Zoom x4" #~ msgstr "Minikart i overflate modus, Zoom x4" +#~ msgid "Name / Password" +#~ msgstr "Namn/Passord" + #~ msgid "Name/Password" #~ msgstr "Namn/passord" @@ -6499,12 +6708,18 @@ msgstr "" #~ msgid "Parallax Occlusion" #~ msgstr "Parralax okklusjon" +#~ msgid "PvP enabled" +#~ msgstr "Spelar mot spelar aktivert" + #~ msgid "Reset singleplayer world" #~ msgstr "Tilbakegå enkelspelar verd" #~ msgid "Select Package File:" #~ msgstr "Velje eit pakke dokument:" +#~ msgid "Special" +#~ msgstr "Spesial" + #~ msgid "Start Singleplayer" #~ msgstr "Start enkeltspelar oppleving" @@ -6513,3 +6728,6 @@ msgstr "" #~ msgid "Yes" #~ msgstr "Ja" + +#~ msgid "needs_fallback_font" +#~ msgstr "no" diff --git a/po/pl/minetest.po b/po/pl/minetest.po index 4c5d166e8..586c83d0c 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: 2021-02-23 19:03+0100\n" -"PO-Revision-Date: 2020-12-27 00:29+0000\n" -"Last-Translator: Atrate \n" +"POT-Creation-Date: 2021-06-16 18:27+0200\n" +"PO-Revision-Date: 2021-03-28 20:29+0000\n" +"Last-Translator: ResuUman \n" "Language-Team: Polish \n" "Language: pl\n" @@ -13,7 +13,49 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "|| n%100>=20) ? 1 : 2;\n" -"X-Generator: Weblate 4.4.1-dev\n" +"X-Generator: Weblate 4.6-dev\n" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Clear the out chat queue" +msgstr "Maksymalny rozmiar kolejki wiadomości czatu" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Empty command." +msgstr "Komenda" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Exit to main menu" +msgstr "Wyjście do menu" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Invalid command: " +msgstr "Lokalne polecenie" + +#: builtin/client/chatcommands.lua +msgid "Issued command: " +msgstr "" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "List online players" +msgstr "Pojedynczy gracz" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Online players: " +msgstr "Pojedynczy gracz" + +#: builtin/client/chatcommands.lua +msgid "The out chat queue is now empty." +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "This command is disabled by server." +msgstr "" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -23,6 +65,38 @@ msgstr "Wróć do gry" msgid "You died" msgstr "Umarłeś" +#: builtin/client/death_formspec.lua +#, fuzzy +msgid "You died." +msgstr "Umarłeś" + +#: builtin/common/chatcommands.lua +#, fuzzy +msgid "Available commands:" +msgstr "Lokalne polecenie" + +#: builtin/common/chatcommands.lua +#, fuzzy +msgid "Available commands: " +msgstr "Lokalne polecenie" + +#: builtin/common/chatcommands.lua +msgid "Command not available: " +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "Get help for commands" +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "" +"Use '.help ' to get more information, or '.help all' to list everything." +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "[all | ]" +msgstr "" + #: builtin/fstk/dialog.lua builtin/fstk/ui.lua src/gui/modalMenu.cpp msgid "OK" msgstr "OK" @@ -108,8 +182,9 @@ msgstr "" "znaki. Tylko znaki od [a-z, 0-9 i _] są dozwolone." #: builtin/mainmenu/dlg_config_world.lua +#, fuzzy msgid "Find More Mods" -msgstr "" +msgstr "Znajdź więcej modów" #: builtin/mainmenu/dlg_config_world.lua msgid "Mod:" @@ -133,7 +208,7 @@ msgstr "Brak dostępnych informacji o modzie." #: builtin/mainmenu/dlg_config_world.lua msgid "No optional dependencies" -msgstr "Brak dodatkowych zależności." +msgstr "Brak dodatkowych zależności" #: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua msgid "Optional dependencies:" @@ -154,21 +229,26 @@ msgstr "włączone" #: builtin/mainmenu/dlg_contentstore.lua msgid "\"$1\" already exists. Would you like to overwrite it?" -msgstr "" +msgstr "\"$1\" aktualnie istnieje. Czy chcesz go nadpisać?" #: builtin/mainmenu/dlg_contentstore.lua +#, fuzzy msgid "$1 and $2 dependencies will be installed." -msgstr "" +msgstr "Zależności $1 i $2 będą zainstalowane." #: builtin/mainmenu/dlg_contentstore.lua +#, fuzzy msgid "$1 by $2" -msgstr "" +msgstr "$1 przez $2" #: builtin/mainmenu/dlg_contentstore.lua +#, fuzzy msgid "" "$1 downloading,\n" "$2 queued" msgstr "" +"$1 pobierany,\n" +"$2 w kolejce" #: builtin/mainmenu/dlg_contentstore.lua #, fuzzy @@ -176,12 +256,13 @@ msgid "$1 downloading..." msgstr "Ładowanie..." #: builtin/mainmenu/dlg_contentstore.lua +#, fuzzy msgid "$1 required dependencies could not be found." -msgstr "" +msgstr "$1 wymaga zależności, których nie można znaleźć." #: builtin/mainmenu/dlg_contentstore.lua msgid "$1 will be installed, and $2 dependencies will be skipped." -msgstr "" +msgstr "$1 zostanie zainstalowany, a zależności $2 zostaną pominięte." #: builtin/mainmenu/dlg_contentstore.lua msgid "All packages" @@ -197,9 +278,8 @@ msgid "Back to Main Menu" msgstr "Powrót do menu głównego" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "Base Game:" -msgstr "Utwórz grę" +msgstr "Gra podstawowa:" #: builtin/mainmenu/dlg_contentstore.lua msgid "ContentDB is not available when Minetest was compiled without cURL" @@ -229,9 +309,8 @@ msgid "Install $1" msgstr "Instaluj" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "Install missing dependencies" -msgstr "Dodatkowe zależności:" +msgstr "Zainstaluj brakujące zależności" #: builtin/mainmenu/dlg_contentstore.lua #: builtin/mainmenu/dlg_settings_advanced.lua @@ -258,15 +337,15 @@ msgstr "Wycisz dźwięk" #: builtin/mainmenu/dlg_contentstore.lua msgid "Overwrite" -msgstr "" +msgstr "Nadpisz" #: builtin/mainmenu/dlg_contentstore.lua msgid "Please check that the base game is correct." -msgstr "" +msgstr "Proszę sprawdzić, czy gra podstawowa jest poprawnie zainstalowana." #: builtin/mainmenu/dlg_contentstore.lua msgid "Queued" -msgstr "" +msgstr "W kolejce" #: builtin/mainmenu/dlg_contentstore.lua msgid "Texture packs" @@ -282,11 +361,11 @@ msgstr "Aktualizacja" #: builtin/mainmenu/dlg_contentstore.lua msgid "Update All [$1]" -msgstr "" +msgstr "Zaktualizuj wszystko [$1]" #: builtin/mainmenu/dlg_contentstore.lua msgid "View more information in a web browser" -msgstr "" +msgstr "Pokaż więcej informacji w przeglądarce" #: builtin/mainmenu/dlg_create_world.lua msgid "A world named \"$1\" already exists" @@ -303,7 +382,7 @@ msgstr "Wysokość mrozu" #: builtin/mainmenu/dlg_create_world.lua msgid "Altitude dry" -msgstr "" +msgstr "Wysokość suchości" #: builtin/mainmenu/dlg_create_world.lua #, fuzzy @@ -364,7 +443,7 @@ msgstr "Gra" #: builtin/mainmenu/dlg_create_world.lua msgid "Generate non-fractal terrain: Oceans and underground" -msgstr "" +msgstr "Generuj niefraktalny teren: oceany i podziemia" #: builtin/mainmenu/dlg_create_world.lua msgid "Hills" @@ -412,16 +491,15 @@ msgstr "" #: builtin/mainmenu/dlg_create_world.lua msgid "Network of tunnels and caves" -msgstr "Sieć jaskiń i korytarzy." +msgstr "Sieć jaskiń i korytarzy" #: builtin/mainmenu/dlg_create_world.lua msgid "No game selected" msgstr "Nie wybrano gry" #: builtin/mainmenu/dlg_create_world.lua -#, fuzzy msgid "Reduces heat with altitude" -msgstr "Spadek temperatury wraz z wysokością" +msgstr "Redukuje ciepło wraz z wysokością" #: builtin/mainmenu/dlg_create_world.lua msgid "Reduces humidity with altitude" @@ -443,13 +521,15 @@ msgstr "Ziarno losowości" #: builtin/mainmenu/dlg_create_world.lua msgid "Smooth transition between biomes" -msgstr "" +msgstr "Płynne przejście między biomami" #: builtin/mainmenu/dlg_create_world.lua msgid "" "Structures appearing on the terrain (no effect on trees and jungle grass " "created by v6)" msgstr "" +"Struktury pojawiające się na terenie (brak wpływu na drzewa i trawę w " +"dżungli stworzone przez v6)" #: builtin/mainmenu/dlg_create_world.lua msgid "Structures appearing on the terrain, typically trees and plants" @@ -553,7 +633,7 @@ msgstr "< Wróć do ekranu ustawień" msgid "Browse" msgstr "Przeglądaj" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_settings.lua msgid "Disabled" msgstr "Wyłączone" @@ -597,7 +677,7 @@ msgstr "Przywróć domyślne" msgid "Scale" msgstr "Skaluj" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua msgid "Search" msgstr "Szukaj" @@ -732,6 +812,42 @@ msgstr "" "Spróbuj ponownie włączyć publiczną listę serwerów i sprawdź swoje połączenie " "z siecią Internet." +#: builtin/mainmenu/tab_about.lua +msgid "About" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active Contributors" +msgstr "Aktywni współautorzy" + +#: builtin/mainmenu/tab_about.lua +#, fuzzy +msgid "Active renderer:" +msgstr "Zasięg wysyłania aktywnego obiektu" + +#: builtin/mainmenu/tab_about.lua +msgid "Core Developers" +msgstr "Twórcy" + +#: builtin/mainmenu/tab_about.lua +#, fuzzy +msgid "Open User Data Directory" +msgstr "Wybierz katalog" + +#: builtin/mainmenu/tab_about.lua +msgid "" +"Opens the directory that contains user-provided worlds, games, mods,\n" +"and texture packs in a file manager / explorer." +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Contributors" +msgstr "Byli współautorzy" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Core Developers" +msgstr "Poprzedni Główni Deweloperzy" + #: builtin/mainmenu/tab_content.lua msgid "Browse online content" msgstr "Przeglądaj zawartość online" @@ -772,37 +888,6 @@ msgstr "Usuń modyfikację" msgid "Use Texture Pack" msgstr "Użyj paczki tekstur" -#: builtin/mainmenu/tab_credits.lua -msgid "Active Contributors" -msgstr "Aktywni współautorzy" - -#: builtin/mainmenu/tab_credits.lua -msgid "Core Developers" -msgstr "Twórcy" - -#: builtin/mainmenu/tab_credits.lua -msgid "Credits" -msgstr "Autorzy" - -#: builtin/mainmenu/tab_credits.lua -#, fuzzy -msgid "Open User Data Directory" -msgstr "Wybierz katalog" - -#: builtin/mainmenu/tab_credits.lua -msgid "" -"Opens the directory that contains user-provided worlds, games, mods,\n" -"and texture packs in a file manager / explorer." -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Contributors" -msgstr "Byli współautorzy" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Core Developers" -msgstr "Poprzedni Główni Deweloperzy" - #: builtin/mainmenu/tab_local.lua msgid "Announce Server" msgstr "Rozgłoś serwer" @@ -831,7 +916,7 @@ msgstr "Udostępnij serwer" msgid "Install games from ContentDB" msgstr "" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Name" msgstr "" @@ -843,7 +928,7 @@ msgstr "Nowy" msgid "No world created or selected!" msgstr "Nie wybrano bądź nie utworzono świata!" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua #, fuzzy msgid "Password" msgstr "Nowe hasło" @@ -852,14 +937,13 @@ msgstr "Nowe hasło" msgid "Play Game" msgstr "Graj" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Port" msgstr "Port" #: builtin/mainmenu/tab_local.lua -#, fuzzy msgid "Select Mods" -msgstr "Wybierz świat:" +msgstr "Wybierz Mody" #: builtin/mainmenu/tab_local.lua msgid "Select World:" @@ -874,8 +958,13 @@ msgid "Start Game" msgstr "Rozpocznij grę" #: builtin/mainmenu/tab_online.lua -msgid "Address / Port" -msgstr "Adres / Port" +#, fuzzy +msgid "Address" +msgstr "Adres " + +#: builtin/mainmenu/tab_online.lua src/client/keycode.cpp +msgid "Clear" +msgstr "Delete" #: builtin/mainmenu/tab_online.lua msgid "Connect" @@ -885,34 +974,46 @@ msgstr "Połącz" msgid "Creative mode" msgstr "Tryb kreatywny" +#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "Damage enabled" -msgstr "Obrażenia włączone" +#, fuzzy +msgid "Damage / PvP" +msgstr "Włącz obrażenia" #: builtin/mainmenu/tab_online.lua msgid "Del. Favorite" msgstr "Usuń ulubiony" #: builtin/mainmenu/tab_online.lua -msgid "Favorite" +#, fuzzy +msgid "Favorites" msgstr "Ulubione" +#: builtin/mainmenu/tab_online.lua +msgid "Incompatible Servers" +msgstr "" + #: builtin/mainmenu/tab_online.lua msgid "Join Game" msgstr "Dołącz do gry" -#: builtin/mainmenu/tab_online.lua -msgid "Name / Password" -msgstr "Nazwa gracza / Hasło" - #: builtin/mainmenu/tab_online.lua msgid "Ping" msgstr "Ping" -#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "PvP enabled" -msgstr "PvP włączone" +#, fuzzy +msgid "Public Servers" +msgstr "Rozgłoś serwer" + +#: builtin/mainmenu/tab_online.lua +msgid "Refresh" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +#, fuzzy +msgid "Server Description" +msgstr "Opis serwera" #: builtin/mainmenu/tab_settings.lua msgid "2x" @@ -954,10 +1055,31 @@ msgstr "Zmień klawisze" msgid "Connected Glass" msgstr "Szkło połączone" +#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp +#, fuzzy +msgid "Dynamic shadows" +msgstr "Cień czcionki" + +#: builtin/mainmenu/tab_settings.lua +msgid "Dynamic shadows: " +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Fancy Leaves" msgstr "Ozdobne liście" +#: builtin/mainmenu/tab_settings.lua +msgid "High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Low" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Medium" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Mipmap" msgstr "Mipmapy" @@ -1047,6 +1169,14 @@ msgstr "Próg dotyku (px)" msgid "Trilinear Filter" msgstr "Filtrowanie trójliniowe" +#: builtin/mainmenu/tab_settings.lua +msgid "Ultra High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Very Low" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Waving Leaves" msgstr "Falujące liście" @@ -1119,18 +1249,6 @@ 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 "no" - #: src/client/game.cpp msgid "" "\n" @@ -1373,6 +1491,11 @@ msgstr "MiB/s" msgid "Minimap currently disabled by game or mod" msgstr "Minimapa aktualnie wyłączona przez grę lub mod" +#: src/client/game.cpp +#, fuzzy +msgid "Multiplayer" +msgstr "Pojedynczy gracz" + #: src/client/game.cpp msgid "Noclip mode disabled" msgstr "Tryb noclip wyłączony" @@ -1514,10 +1637,6 @@ msgstr "Backspace" msgid "Caps Lock" msgstr "Klawisz Caps Lock" -#: src/client/keycode.cpp -msgid "Clear" -msgstr "Delete" - #: src/client/keycode.cpp msgid "Control" msgstr "Control" @@ -1772,12 +1891,12 @@ msgstr "Minimapa ukryta" #: src/client/minimap.cpp #, fuzzy, c-format msgid "Minimap in radar mode, Zoom x%d" -msgstr "Minimapa w trybie radaru, Zoom x1" +msgstr "Minimapa w trybie radaru, Zoom x%d" #: src/client/minimap.cpp #, fuzzy, c-format msgid "Minimap in surface mode, Zoom x%d" -msgstr "Minimapa w trybie powierzchniowym, powiększenie x1" +msgstr "Minimapa w trybie powierzchniowym, powiększenie x%d" #: src/client/minimap.cpp #, fuzzy @@ -1812,7 +1931,8 @@ msgid "Proceed" msgstr "Kontynuuj" #: src/gui/guiKeyChangeMenu.cpp -msgid "\"Special\" = climb down" +#, fuzzy +msgid "\"Aux1\" = climb down" msgstr "\"Specjalny\" = wspinaj się" #: src/gui/guiKeyChangeMenu.cpp @@ -1823,10 +1943,18 @@ msgstr "Automatyczne chodzenie do przodu" msgid "Automatic jumping" msgstr "Automatyczne skoki" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Aux1" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Backward" msgstr "Tył" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Block bounds" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Change camera" msgstr "Zmień kamerę" @@ -1917,10 +2045,6 @@ msgstr "Zrzut ekranu" msgid "Sneak" msgstr "Skradanie" -#: src/gui/guiKeyChangeMenu.cpp -msgid "Special" -msgstr "Specialne" - #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle HUD" msgstr "Przełącz HUD" @@ -2009,9 +2133,10 @@ msgstr "" "dotknięcia." #: 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 " +"(Android) Use virtual joystick to trigger \"Aux1\" button.\n" +"If enabled, virtual joystick will also tap \"Aux1\" button when out of main " "circle." msgstr "" "(Android) Użyj wirtualnego joysticka, aby zaaktywować przycisk \"aux\".\n" @@ -2019,7 +2144,6 @@ msgstr "" "znajduje się poza głównym okręgiem." #: src/settings_translation_file.cpp -#, fuzzy msgid "" "(X,Y,Z) offset of fractal from world center in units of 'scale'.\n" "Can be used to move a desired point to (0, 0) to create a\n" @@ -2031,7 +2155,7 @@ msgid "" "Range roughly -2 to 2. Multiply by 'scale' for offset in nodes." msgstr "" "(X, Y, Z) margines fraktalu od centrum świata w jednostkach \"skali\".\n" -"Używany by przesunąć odpowiednie miejsce do punktu spawnu podłoża blisko " +"Używany by przesunąć odpowiednie miejsce do punktu spawnu podłoża blisko " "punktu (0, 0).\n" "Domyślny jest odpowiedni dla zbiorów Mandelbrota, lecz wymaga edycji dla " "zbiorów Julii.\n" @@ -2198,9 +2322,8 @@ msgid "Acceleration in air" msgstr "Przyspieszenie w powietrzu" #: src/settings_translation_file.cpp -#, fuzzy msgid "Acceleration of gravity, in nodes per second per second." -msgstr "Przyśpieszenie grawitacyjne, w blokach na sekundę." +msgstr "Przyśpieszenie grawitacyjne, w blokach na sekundę do kwadratu." #: src/settings_translation_file.cpp msgid "Active Block Modifiers" @@ -2355,11 +2478,8 @@ msgid "Automatic forward key" msgstr "Klawisz automatycznego poruszania się do przodu" #: src/settings_translation_file.cpp -#, fuzzy msgid "Automatically jump up single-node obstacles." -msgstr "" -"Automatycznie przeskakuj jedno-blokowe przeszkody.\n" -"type: bool" +msgstr "Automatycznie przeskakuj jedno-blokowe przeszkody." #: src/settings_translation_file.cpp msgid "Automatically report to the serverlist." @@ -2373,6 +2493,16 @@ msgstr "Automatyczny zapis rozmiaru okienka" msgid "Autoscaling mode" msgstr "Tryb automatycznego skalowania" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Aux1 key" +msgstr "Skok" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Aux1 key for climbing/descending" +msgstr "Klawisz używany do wspinania" + #: src/settings_translation_file.cpp msgid "Backward key" msgstr "Wstecz" @@ -2417,10 +2547,6 @@ msgstr "Parametry hałasu temperatury i wilgotności API Biome" msgid "Biome noise" msgstr "Szum biomu" -#: src/settings_translation_file.cpp -msgid "Bits per pixel (aka color depth) in fullscreen mode." -msgstr "Bity na piksel (głębia koloru) w trybie pełnoekranowym." - #: src/settings_translation_file.cpp msgid "Block send optimize distance" msgstr "Dystans optymalizacji wysyłanych bloków" @@ -2436,9 +2562,8 @@ msgid "Bold and italic monospace font path" msgstr "Ścieżka czcionki typu Monospace" #: src/settings_translation_file.cpp -#, fuzzy msgid "Bold font path" -msgstr "Ścieżka fontu pogrubionego." +msgstr "Ścieżka fontu pogrubionego" #: src/settings_translation_file.cpp #, fuzzy @@ -2530,6 +2655,11 @@ msgid "" "Where 0.0 is minimum light level, 1.0 is maximum light level." msgstr "" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Chat command time message threshold" +msgstr "Próg wiadomości wyrzucenia z czatu" + #: src/settings_translation_file.cpp #, fuzzy msgid "Chat font size" @@ -2632,6 +2762,11 @@ msgstr "Chmury w menu" msgid "Colored fog" msgstr "Kolorowa mgła" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Colored shadows" +msgstr "Kolorowa mgła" + #: src/settings_translation_file.cpp msgid "" "Comma-separated list of flags to hide in the content repository.\n" @@ -2688,7 +2823,6 @@ msgid "Console height" msgstr "Wysokość konsoli" #: src/settings_translation_file.cpp -#, fuzzy msgid "ContentDB Flag Blacklist" msgstr "Flaga czarnej listy ContentDB" @@ -2731,7 +2865,6 @@ msgstr "" "zostaje niezmienione." #: src/settings_translation_file.cpp -#, fuzzy msgid "Controls sinking speed in liquid." msgstr "Wpływa na prędkość zanurzania w płynie." @@ -2767,7 +2900,9 @@ msgstr "Kanał alfa celownika" msgid "" "Crosshair alpha (opaqueness, between 0 and 255).\n" "Also controls the object crosshair color" -msgstr "Kanał alfa celownika (pomiędzy 0 a 255)." +msgstr "" +"Kanał alfa celownika (pomiędzy 0 a 255).\n" +"Wpływa również na kolor celownika obiektów" #: src/settings_translation_file.cpp msgid "Crosshair color" @@ -2848,11 +2983,10 @@ msgstr "Domyślna gra" #: src/settings_translation_file.cpp msgid "" -"Default timeout for cURL, stated in milliseconds.\n" -"Only has an effect if compiled with cURL." +"Define shadow filtering quality\n" +"This simulates the soft shadows effect by applying a PCF or poisson disk\n" +"but also uses more resources." msgstr "" -"Domyślny limit czasu dla cURL, w milisekundach.\n" -"Ma znaczenie tylko gdy skompilowane z cURL." #: src/settings_translation_file.cpp msgid "Defines areas where trees have apples." @@ -3017,11 +3151,12 @@ msgid "Dungeon noise" msgstr "" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Enable IPv6 support (for both client and server).\n" "Required for IPv6 connections to work at all." -msgstr "Włącz protokół sieciowy IPv6 (dla gry oraz dla jej serwera)." +msgstr "" +"Włącz protokół sieciowy IPv6 (dla gry oraz dla jej serwera).\n" +"Wymagane dla połączeń z protokołem sieciowym IPv6." #: src/settings_translation_file.cpp msgid "" @@ -3031,6 +3166,12 @@ msgstr "" "Odblokuj wsparcie modyfikacji Lua.\n" "To wsparcie jest eksperymentalne i API może ulec zmianie." +#: src/settings_translation_file.cpp +msgid "" +"Enable colored shadows. \n" +"On true translucent nodes cast colored shadows. This is expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable console window" msgstr "Odblokuj okno konsoli" @@ -3038,7 +3179,7 @@ msgstr "Odblokuj okno konsoli" #: src/settings_translation_file.cpp #, fuzzy msgid "Enable creative mode for all players" -msgstr "Zezwól na tryb kreatywny dla nowo powstałych map." +msgstr "Zezwól na tryb kreatywny dla wszystkich graczy" #: src/settings_translation_file.cpp msgid "Enable joysticks" @@ -3056,6 +3197,13 @@ msgstr "Włącz tryb mod security" msgid "Enable players getting damage and dying." msgstr "Włącz obrażenia i umieranie graczy." +#: src/settings_translation_file.cpp +msgid "" +"Enable poisson disk filtering.\n" +"On true uses poisson disk to make \"soft shadows\". Otherwise uses PCF " +"filtering." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable random user input (only used for testing)." msgstr "Włącz losowe wejście użytkownika (tylko dla testowania)." @@ -3111,8 +3259,8 @@ msgid "" "Enable vertex buffer objects.\n" "This should greatly improve graphics performance." msgstr "" -"Uaktywnij \"vertex buffer objects\" aby zmniejszyć wymagania wobec karty " -"grafiki." +"Uaktywnij \"vertex buffer objects\". \n" +"Powinno to znacznie polepszyć wydajność karty graficznej." #: src/settings_translation_file.cpp msgid "" @@ -3182,7 +3330,7 @@ msgstr "" #: src/settings_translation_file.cpp #, fuzzy msgid "FPS when unfocused or paused" -msgstr "Maksymalny FPS gdy gra spauzowana." +msgstr "Maksymalny FPS gdy gra spauzowana" #: src/settings_translation_file.cpp msgid "FSAA" @@ -3201,18 +3349,6 @@ msgstr "Współczynnik spadku drgań" msgid "Fallback font path" msgstr "Zastępcza czcionka" -#: src/settings_translation_file.cpp -msgid "Fallback font shadow" -msgstr "Zastępczy cień czcionki" - -#: src/settings_translation_file.cpp -msgid "Fallback font shadow alpha" -msgstr "Zastępcza przeźroczystość cienia czcionki" - -#: src/settings_translation_file.cpp -msgid "Fallback font size" -msgstr "Zastępczy rozmiar czcionki" - #: src/settings_translation_file.cpp msgid "Fast key" msgstr "Klawisz szybkiego poruszania" @@ -3230,12 +3366,13 @@ msgid "Fast movement" msgstr "Szybkie poruszanie" #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"Fast movement (via the \"special\" key).\n" +"Fast movement (via the \"Aux1\" key).\n" "This requires the \"fast\" privilege on the server." msgstr "" "Szybki ruch (za pomocą przycisku „specjalnego”).\n" -"Wymaga to uprawnienia „fast” na serwerze." +"Wymaga to uprawnienia „fast” na serwerze." #: src/settings_translation_file.cpp msgid "Field of view" @@ -3246,13 +3383,15 @@ msgid "Field of view in degrees." msgstr "Pole widzenia w stopniach." #: src/settings_translation_file.cpp +#, fuzzy msgid "" "File in client/serverlist/ that contains your favorite servers displayed in " "the\n" "Multiplayer Tab." msgstr "" -"Plik w kliencie (lista serwerów) który zawiera ulubione ulubione serwery " -"wyświetlane w zakładce Multiplayer." +"Plik w kliencie (lista serwerów), który zawiera ulubione serwery " +"wyświetlane \n" +"w zakładce Trybu wieloosobowego." #: src/settings_translation_file.cpp msgid "Filler depth" @@ -3270,15 +3409,16 @@ msgstr "Mapowanie Filmic tone" #, 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" -"light edge to transparent textures. Apply this filter to clean that up\n" -"at texture load time." +"which PNG optimizers usually discard, often resulting in dark or\n" +"light edges to transparent textures. Apply a filter to clean that up\n" +"at texture load time. This is automatically enabled if mipmapping is enabled." msgstr "" "Filtrowanie tekstur może wymieszać wartości RGB piksela z w pełni " "przeźroczystymi sąsiadami,\n" "które optymalizatory PNG najczęściej odrzucają, co czasem powoduje " "ciemniejsze lub jaśniejsze\n" -"krawędzie w przeźroczystych teksturach. Zastosuj ten filtr aby wyczyścić to " +"krawędzie w przeźroczystych teksturach. Zastosuj ten filtr aby wyczyścić " +"to \n" "w czasie ładowania tekstur." #: src/settings_translation_file.cpp @@ -3381,10 +3521,6 @@ msgstr "Rozmiar czcionki" msgid "Font size of the default font in point (pt)." msgstr "" -#: src/settings_translation_file.cpp -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 "" @@ -3497,10 +3633,6 @@ msgstr "" msgid "Full screen" msgstr "Pełny ekran" -#: src/settings_translation_file.cpp -msgid "Full screen BPP" -msgstr "Głębia koloru w trybie pełnoekranowym" - #: src/settings_translation_file.cpp msgid "Fullscreen mode." msgstr "Tryb pełnoekranowy." @@ -3522,33 +3654,34 @@ msgid "Global callbacks" msgstr "Globalne wywołania zwrotne" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Global map generation attributes.\n" "In Mapgen v6 the 'decorations' flag controls all decorations except trees\n" "and junglegrass, in all other mapgens this flag controls all decorations." msgstr "" "Globalne właściwości generowania map.\n" -"W generatorze map v6 flaga \"decorations\" kontroluje wszystkie dekoracje\n" -"z wyjątkiem drzew i trawy dżungli. we wszystkich innych generatorach flaga\n" -"ta kontroluje wszystkie dekoracje.\n" -"Flagi, które nie są wymienione w ciągu flagi nie są modyfikowane z " -"domyślnych.\n" -"Flagi rozpoczynające się od \"no\" są stosowane aby jawnie ją wyłączyć." +"W generatorze map v6 flaga \"decorations\" kontroluje wszystkie dekoracje z " +"wyjątkiem drzew \n" +"i trawy dżungli. we wszystkich innych generatorach flaga ta kontroluje " +"wszystkie dekoracje." #: src/settings_translation_file.cpp #, fuzzy msgid "" "Gradient of light curve at maximum light level.\n" "Controls the contrast of the highest light levels." -msgstr "Gradient krzywej światła w maksymalnej pozycji." +msgstr "" +"Gradient krzywej światła w maksymalnej pozycji.\n" +"Wpływa na kontrast najwyższych poziomów jasności." #: src/settings_translation_file.cpp #, fuzzy msgid "" "Gradient of light curve at minimum light level.\n" "Controls the contrast of the lowest light levels." -msgstr "Gradient krzywej światła w minimalnej pozycji." +msgstr "" +"Gradient krzywej światła w minimalnej pozycji.\n" +"Wpływa na kontrast najniższych poziomów jasności." #: src/settings_translation_file.cpp msgid "Graphics" @@ -3617,7 +3750,9 @@ msgid "Heat noise" msgstr "Szum gorąca" #: src/settings_translation_file.cpp -msgid "Height component of the initial window size." +#, fuzzy +msgid "" +"Height component of the initial window size. Ignored in fullscreen mode." msgstr "Wysokość początkowego rozmiaru okna." #: src/settings_translation_file.cpp @@ -3628,10 +3763,6 @@ msgstr "Szum wysokości" msgid "Height select noise" msgstr "Rożnorodność wysokości" -#: src/settings_translation_file.cpp -msgid "High-precision FPU" -msgstr "FPU Wysokiej precyzji" - #: src/settings_translation_file.cpp msgid "Hill steepness" msgstr "Stromość zbocza" @@ -3671,7 +3802,7 @@ msgid "" "in nodes per second per second." msgstr "" "Przyśpieszenie poziome podczas skoku lub upadku,\n" -"w blokach na sekundę." +"w blokach na sekundę do kwadratu." #: src/settings_translation_file.cpp #, fuzzy @@ -3680,7 +3811,7 @@ msgid "" "in nodes per second per second." msgstr "" "Poziome i pionowe przyśpieszenie w trybie szybkim,\n" -"w blokach na sekundę." +"w blokach na sekundę do kwadratu." #: src/settings_translation_file.cpp #, fuzzy @@ -3689,7 +3820,7 @@ msgid "" "in nodes per second per second." msgstr "" "Poziome i pionowe przyśpieszenie na ziemi lub podczas wchodzenia,\n" -"w blokach na sekunde." +"w blokach na sekundę do kwadratu." #: src/settings_translation_file.cpp msgid "Hotbar next key" @@ -3862,7 +3993,7 @@ msgstr "Następny klawisz paska działań" #: src/settings_translation_file.cpp #, fuzzy msgid "How deep to make rivers." -msgstr "Jak głębokie robić rzeki" +msgstr "Jak głębokie tworzyć rzeki." #: src/settings_translation_file.cpp msgid "" @@ -3882,7 +4013,7 @@ msgstr "" #: src/settings_translation_file.cpp #, fuzzy msgid "How wide to make rivers." -msgstr "Jak szerokie są rzeki" +msgstr "Jak szerokie są rzeki." #: src/settings_translation_file.cpp msgid "Humidity blend noise" @@ -3915,14 +4046,14 @@ msgstr "" #: src/settings_translation_file.cpp #, fuzzy msgid "" -"If disabled, \"special\" key is used to fly fast if both fly and fast mode " -"are\n" +"If disabled, \"Aux1\" key is used to fly fast if both fly and fast mode are\n" "enabled." msgstr "" "Jeśli wyłączone to klawisz \"używania\" jest wykorzystany aby latać szybko " -"oraz przy włączonym trybie szybkiego poruszania." +"jeśli tryb szybkiego poruszania oraz latania jest włączony." #: src/settings_translation_file.cpp +#, fuzzy msgid "" "If enabled the server will perform map block occlusion culling based on\n" "on the eye position of the player. This can reduce the number of blocks\n" @@ -3931,10 +4062,11 @@ msgid "" "so that the utility of noclip mode is reduced." msgstr "" "Jeśli opcja jest włączona to serwer spowoduje zamknięcie usuwania bloków " -"mapy na podstawie pozycji gracza.\n" -"Zredukuje to o 50-80% liczbę bloków wysyłanych na serwer.\n" -"Klient już nie będzie widział większości ukrytych bloków, tak więc zostanie " -"ograniczona przydatność trybu noclip." +"mapy na podstawie \n" +"pozycji gracza. Zredukuje to o 50-80% liczbę bloków \n" +"wysyłanych na serwer. Klient już nie będzie widział większości ukrytych " +"bloków, \n" +"tak więc zostanie ograniczona przydatność trybu noclip." #: src/settings_translation_file.cpp msgid "" @@ -3949,12 +4081,13 @@ msgstr "" #: src/settings_translation_file.cpp #, fuzzy msgid "" -"If enabled, \"special\" key instead of \"sneak\" key is used for climbing " -"down and\n" +"If enabled, \"Aux1\" key instead of \"Sneak\" key is used for climbing down " +"and\n" "descending." msgstr "" -"Jeżeli włączone, klawisz \"użycia\" zamiast klawiszu \"skradania\" będzie " -"użyty do schodzenia w dół i opadania." +"Jeżeli włączone, klawisz \"użycia\" zamiast klawisza \"skradania\" będzie " +"użyty do schodzenia w dół i \n" +"opadania." #: src/settings_translation_file.cpp msgid "" @@ -4006,6 +4139,12 @@ msgid "" "to this distance from the player to the node." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"If the execution of a chat command takes longer than this specified time in\n" +"seconds, add the time information to the chat command message" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "If the file size of debug.txt exceeds the number of megabytes specified in\n" @@ -4045,7 +4184,8 @@ msgstr "Klawisz zwiększania głośności" #: src/settings_translation_file.cpp #, fuzzy msgid "Initial vertical speed when jumping, in nodes per second." -msgstr "Początkowa prędkość pionowa podczas skoku, w blokach na sekundę." +msgstr "" +"Początkowa prędkość pionowa podczas skoku, w blokach na sekundę do kwadratu." #: src/settings_translation_file.cpp #, fuzzy @@ -4061,12 +4201,13 @@ msgid "Instrument chatcommands on registration." msgstr "Instrument poleceń czatu przy rejestracji." #: src/settings_translation_file.cpp +#, fuzzy msgid "" "Instrument global callback functions on registration.\n" "(anything you pass to a minetest.register_*() function)" msgstr "" -"Poinstruuj globalne funkcje zwrotne przy rejestracji (wszystko co prześlesz " -"do funkcji minetest.register_*() )" +"Poinstruuj globalne funkcje zwrotne przy rejestracji \n" +"(wszystko co prześlesz do funkcji minetest.register_*() )" #: src/settings_translation_file.cpp msgid "" @@ -4170,8 +4311,9 @@ msgid "" "Has no effect on 3D fractals.\n" "Range roughly -2 to 2." msgstr "" -"Wyłącznie dla Zbioru Julii: komponent W stałej hiperzespolonej, która " -"determinuje kształt Julii.\n" +"Wyłącznie dla Zbioru Julii: \n" +"komponent W stałej hiperzespolonej, \n" +"która determinuje fraktali.\n" "Nie ma wpływu na fraktale trójwymiarowe.\n" "Zakres to w przybliżeniu -2 do 2." @@ -4183,8 +4325,9 @@ msgid "" "Alters the shape of the fractal.\n" "Range roughly -2 to 2." msgstr "" -"Wyłącznie dla Zbioru Julii: komponent X stałej hiperzespolonej, która " -"determinuje kształt Julii.\n" +"Wyłącznie dla Zbioru Julii: \n" +"komponent X stałej hiperzespolonej, \n" +"która determinuje kształt fraktali.\n" "Zakres to w przybliżeniu -2 do 2." #: src/settings_translation_file.cpp @@ -4195,8 +4338,8 @@ msgid "" "Alters the shape of the fractal.\n" "Range roughly -2 to 2." msgstr "" -"Wyłącznie dla Zbioru Julii: komponent Y stałej hiperzespolonej, która " -"determinuje kształt Julii.\n" +"Wyłącznie dla Zbioru Julii: komponent Y stałej hiperzespolonej, \n" +"która determinuje kształt fraktali.\n" "Zakres to w przybliżeniu -2 do 2." #: src/settings_translation_file.cpp @@ -4207,8 +4350,9 @@ msgid "" "Alters the shape of the fractal.\n" "Range roughly -2 to 2." msgstr "" -"Wyłącznie dla Zbioru Julii: komponent Z stałej hiperzespolonej, która " -"determinuje kształt Julii.\n" +"Wyłącznie dla Zbioru Julii: \n" +"komponent Z stałej hiperzespolonej, \n" +"która determinuje kształt fraktali.\n" "Zakres to w przybliżeniu -2 do 2." #: src/settings_translation_file.cpp @@ -4325,6 +4469,7 @@ msgid "" "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" "Klawisz poruszania się wstecz.\n" +"Gdy jest aktywny to wyłącza również automatyczne chodzenie do przodu.\n" "Zobacz http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" @@ -5050,14 +5195,14 @@ msgid "Left key" msgstr "W lewo" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Length of a server tick and the interval at which objects are generally " "updated over\n" "network." msgstr "" "Długość interwału czasowego serwera w trakcie którego obiekty są ogólnie " -"aktualizowane przez sieć." +"aktualizowane \n" +"przez sieć." #: src/settings_translation_file.cpp #, fuzzy @@ -5078,9 +5223,8 @@ msgid "Length of time between NodeTimer execution cycles" msgstr "Długość czasu pomiędzy wykonywanymi cyklami NodeTimer" #: src/settings_translation_file.cpp -#, fuzzy msgid "Length of time between active block management cycles" -msgstr "Czas pomiędzy cyklami zarządzania aktywnymi blokami." +msgstr "Czas pomiędzy cyklami zarządzania aktywnymi blokami" #: src/settings_translation_file.cpp #, fuzzy @@ -5109,9 +5253,8 @@ msgid "Light curve boost" msgstr "Przyśpieszenie środkowe krzywej światła" #: src/settings_translation_file.cpp -#, fuzzy msgid "Light curve boost center" -msgstr "Centrum środkowego przyśpieszenia krzywej światła" +msgstr "Centrum środkowego przyśpieszenia krzywej światła" #: src/settings_translation_file.cpp #, fuzzy @@ -5129,9 +5272,8 @@ msgid "Light curve high gradient" msgstr "Przyśpieszenie środkowe krzywej światła" #: src/settings_translation_file.cpp -#, fuzzy msgid "Light curve low gradient" -msgstr "Centrum środkowego przyśpieszenia krzywej światła" +msgstr "Centrum środkowego przyśpieszenia krzywej światła" #: src/settings_translation_file.cpp msgid "" @@ -5225,10 +5367,6 @@ msgstr "" "Ustawia mgłę i kolor nieba zależny od pory dnia (świt/zachód słońca) oraz " "kierunku patrzenia." -#: src/settings_translation_file.cpp -msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." -msgstr "Sprawia, że DirectX działa z LuaJIT. Wyłącz jeśli występują kłopoty." - #: src/settings_translation_file.cpp msgid "Makes all liquids opaque" msgstr "Zmienia ciecze w nieprzeźroczyste" @@ -5251,16 +5389,12 @@ msgid "Map generation attributes specific to Mapgen Carpathian." msgstr "Właściwości generowania mapy określające Mapgen Carpathian." #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Map generation attributes specific to Mapgen Flat.\n" "Occasional lakes and hills can be added to the flat world." msgstr "" "Specyficzne cechy dla Mapgen płaskiego terenu.\n" -"Do płaskiego świata mogą być dodane przypadkowe jeziora i wzgórza.\n" -"Oznakowania nie będące określonymi w ciągu oznakowań nie są zmieniane z " -"domyślnych.\n" -"Oznakowania zaczynające się od 'no' używane są do ich blokowania." +"Do płaskiego świata mogą być dodane przypadkowe jeziora i wzgórza." #: src/settings_translation_file.cpp #, fuzzy @@ -5270,7 +5404,8 @@ msgid "" "ocean, islands and underground." msgstr "" "Właściwości generowania mapy określające Mapgen v7.\n" -"\"grzbiety\" aktywują rzeki." +"\"grzbiety\" aktywują tworzenie niefraktalnego terenu:\n" +"oceanu, wysp oraz podziemi." #: src/settings_translation_file.cpp msgid "" @@ -5322,6 +5457,11 @@ msgstr "Limit generacji mapy" msgid "Map save interval" msgstr "Interwał zapisu mapy" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Map update time" +msgstr "Interwał czasowy aktualizacji cieczy" + #: src/settings_translation_file.cpp msgid "Mapblock limit" msgstr "Limit bloków mapy" @@ -5445,6 +5585,10 @@ msgstr "Maksymalny FPS" msgid "Maximum FPS when the window is not focused, or when the game is paused." msgstr "Maksymalny FPS gdy gra spauzowana." +#: src/settings_translation_file.cpp +msgid "Maximum distance to render shadows." +msgstr "" + #: src/settings_translation_file.cpp msgid "Maximum forceloaded blocks" msgstr "Maksymalna ilość bloków załadowanych w sposób wymuszony" @@ -5574,9 +5718,18 @@ msgstr "" "Wartość 0, wyłącza kolejkę, -1 to nieograniczony rozmiar kolejki." #: src/settings_translation_file.cpp -msgid "Maximum time in ms a file download (e.g. a mod download) may take." +#, fuzzy +msgid "" +"Maximum time a file download (e.g. a mod download) may take, stated in " +"milliseconds." msgstr "Maksymalny czas na pobranie pliku (np.: moda) w ms." +#: src/settings_translation_file.cpp +msgid "" +"Maximum time an interactive request (e.g. server list fetch) may take, " +"stated in milliseconds." +msgstr "" + #: src/settings_translation_file.cpp msgid "Maximum users" msgstr "Maksymalna ilość użytkowników" @@ -5805,11 +5958,6 @@ 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 " @@ -5922,6 +6070,11 @@ msgstr "Odległość przesyłania graczy" msgid "Player versus player" msgstr "PvP" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Poisson filtering" +msgstr "Filtrowanie dwuliniowe" + #: src/settings_translation_file.cpp msgid "" "Port to connect to (UDP).\n" @@ -6317,6 +6470,43 @@ msgid "Set the maximum character length of a chat message sent by clients." msgstr "" "Ustaw maksymalny ciąg znaków wiadomości czatu wysyłanych przez klientów." +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow strength.\n" +"Lower value means lighter shadows, higher value means darker shadows." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow update time.\n" +"Lower value means shadows and map updates faster, but it consume more " +"resources.\n" +"Minimun value 0.001 seconds max value 0.2 seconds" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the soft shadow radius size.\n" +"Lower values mean sharper shadows bigger values softer.\n" +"Minimun value 1.0 and max value 10.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the tilt of Sun/Moon orbit in degrees\n" +"Value of 0 means no tilt / vertical orbit.\n" +"Minimun value 0.0 and max value 60.0" +msgstr "" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "" +"Set to true to enable Shadow Mapping.\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 "" @@ -6344,6 +6534,13 @@ msgstr "" "Ustawienie pozytywnej wartości włącza falowanie roślin.\n" "Wymaga shaderów." +#: src/settings_translation_file.cpp +msgid "" +"Sets shadow texture quality to 32 bits.\n" +"On false, 16 bits texture will be used.\n" +"This can cause much more artifacts in the shadow." +msgstr "" + #: src/settings_translation_file.cpp msgid "Shader path" msgstr "Shadery" @@ -6359,6 +6556,24 @@ msgstr "" "wydajność niektórych kart graficznych.\n" "Działa tylko na grafice OpenGL ." +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Shadow filter quality" +msgstr "Jakość zrzutu ekranu" + +#: src/settings_translation_file.cpp +msgid "Shadow map max distance in nodes to render shadows" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture in 32 bits" +msgstr "" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Shadow map texture size" +msgstr "Minimalna wielkość tekstury dla filtrów" + #: src/settings_translation_file.cpp #, fuzzy msgid "" @@ -6367,11 +6582,8 @@ msgid "" 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." +msgid "Shadow strength" +msgstr "" #: src/settings_translation_file.cpp msgid "Shape of the minimap. Enabled = round, disabled = square." @@ -6421,6 +6633,10 @@ msgstr "" "Rozmiar pamięci bloków mapy generatora siatki. Zwiększenie zmieni rozmiar % " "pamięci, ograniczając dane kopiowane z głównego wątku oraz ilość drgań." +#: src/settings_translation_file.cpp +msgid "Sky Body Orbit Tilt" +msgstr "" + #: src/settings_translation_file.cpp msgid "Slice w" msgstr "Kawałek w" @@ -6482,20 +6698,15 @@ msgstr "Szybkość skradania" msgid "Sneaking speed, in nodes per second." msgstr "Prędkość skradania, w blokach na sekundę." +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Soft shadow radius" +msgstr "Przeźroczystość cienia czcionki" + #: src/settings_translation_file.cpp msgid "Sound" msgstr "Dźwięk" -#: src/settings_translation_file.cpp -#, fuzzy -msgid "Special key" -msgstr "Skradanie" - -#: src/settings_translation_file.cpp -#, fuzzy -msgid "Special key for climbing/descending" -msgstr "Klawisz używany do wspinania" - #: src/settings_translation_file.cpp msgid "" "Specifies URL from which client fetches media instead of using UDP.\n" @@ -6635,6 +6846,13 @@ msgstr "Stały szum terenu" msgid "Texture path" msgstr "Paczki tekstur" +#: src/settings_translation_file.cpp +msgid "" +"Texture size to render the shadow map on.\n" +"This must be a power of two.\n" +"Bigger numbers create better shadowsbut it is also more expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Textures on a node may be aligned either to the node or to the world.\n" @@ -6717,7 +6935,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"The rendering back-end for Irrlicht.\n" +"The rendering back-end.\n" "A restart is required after changing this.\n" "Note: On Android, stick with OGLES1 if unsure! App may fail to start " "otherwise.\n" @@ -7045,7 +7263,7 @@ msgstr "Pole widzenia" #: src/settings_translation_file.cpp #, fuzzy -msgid "Virtual joystick triggers aux button" +msgid "Virtual joystick triggers Aux1 button" msgstr "Joystick wirtualny aktywuje przycisk aux" #: src/settings_translation_file.cpp @@ -7161,9 +7379,8 @@ msgid "" "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" +"memory. Powers of 2 are recommended. This setting is ONLY applies if\n" +"bilinear/trilinear/anisotropic filtering is enabled.\n" "This is also used as the base node texture size for world-aligned\n" "texture autoscaling." msgstr "" @@ -7239,7 +7456,8 @@ msgstr "" "Wyświetlanie efektów debugowania klienta(klawisz F5 ma tą samą funkcję)." #: src/settings_translation_file.cpp -msgid "Width component of the initial window size." +#, fuzzy +msgid "Width component of the initial window size. Ignored in fullscreen mode." msgstr "Rozdzielczość pionowa rozmiaru okna gry." #: src/settings_translation_file.cpp @@ -7355,12 +7573,13 @@ msgid "cURL file download timeout" msgstr "cURL przekroczono limit pobierania pliku" #: src/settings_translation_file.cpp -msgid "cURL parallel limit" -msgstr "Limit równoległy cURL" +#, fuzzy +msgid "cURL interactive timeout" +msgstr "Limit czasu cURL" #: src/settings_translation_file.cpp -msgid "cURL timeout" -msgstr "Limit czasu cURL" +msgid "cURL parallel limit" +msgstr "Limit równoległy cURL" #~ msgid "" #~ "0 = parallax occlusion with slope information (faster).\n" @@ -7369,6 +7588,9 @@ msgstr "Limit czasu cURL" #~ "0 = parallax occlusion z informacją nachylenia (szybsze).\n" #~ "1 = relief mapping (wolniejsze, bardziej dokładne)." +#~ msgid "Address / Port" +#~ msgstr "Adres / Port" + #~ msgid "" #~ "Adjust the gamma encoding for the light tables. Higher numbers are " #~ "brighter.\n" @@ -7389,6 +7611,9 @@ msgstr "Limit czasu cURL" #~ msgid "Back" #~ msgstr "Backspace" +#~ msgid "Bits per pixel (aka color depth) in fullscreen mode." +#~ msgstr "Bity na piksel (głębia koloru) w trybie pełnoekranowym." + #~ msgid "Bump Mapping" #~ msgstr "Mapowanie wypukłości" @@ -7429,12 +7654,25 @@ msgstr "Limit czasu cURL" #~ msgstr "" #~ "Kontroluje szerokość tuneli, mniejsze wartości tworzą szersze tunele." +#~ msgid "Credits" +#~ msgstr "Autorzy" + #~ msgid "Crosshair color (R,G,B)." #~ msgstr "Kolor celownika (R,G,B)." +#~ msgid "Damage enabled" +#~ msgstr "Obrażenia włączone" + #~ msgid "Darkness sharpness" #~ msgstr "Ostrość ciemności" +#~ msgid "" +#~ "Default timeout for cURL, stated in milliseconds.\n" +#~ "Only has an effect if compiled with cURL." +#~ msgstr "" +#~ "Domyślny limit czasu dla cURL, w milisekundach.\n" +#~ "Ma znaczenie tylko gdy skompilowane z cURL." + #~ msgid "" #~ "Defines areas of floatland smooth terrain.\n" #~ "Smooth floatlands occur when noise > 0." @@ -7493,6 +7731,15 @@ msgstr "Limit czasu cURL" #~ msgid "FPS in pause menu" #~ msgstr "FPS podczas pauzy w menu" +#~ msgid "Fallback font shadow" +#~ msgstr "Zastępczy cień czcionki" + +#~ msgid "Fallback font shadow alpha" +#~ msgstr "Zastępcza przeźroczystość cienia czcionki" + +#~ msgid "Fallback font size" +#~ msgstr "Zastępczy rozmiar czcionki" + #~ msgid "Floatland base height noise" #~ msgstr "Podstawowy szum wysokości wznoszącego się terenu" @@ -7502,6 +7749,9 @@ msgstr "Limit czasu cURL" #~ msgid "Font shadow alpha (opaqueness, between 0 and 255)." #~ msgstr "Kanał alfa cienia czcionki (nieprzeźroczystość, od 0 do 255)." +#~ msgid "Full screen BPP" +#~ msgstr "Głębia koloru w trybie pełnoekranowym" + #~ msgid "Gamma" #~ msgstr "Gamma" @@ -7511,6 +7761,9 @@ msgstr "Limit czasu cURL" #~ msgid "Generate normalmaps" #~ msgstr "Generuj mapy normalnych" +#~ msgid "High-precision FPU" +#~ msgstr "FPU Wysokiej precyzji" + #~ msgid "IPv6 support." #~ msgstr "Wsparcie IPv6." @@ -7531,6 +7784,10 @@ msgstr "Limit czasu cURL" #~ msgid "Main menu style" #~ msgstr "Skrypt głównego menu" +#~ msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." +#~ msgstr "" +#~ "Sprawia, że DirectX działa z LuaJIT. Wyłącz jeśli występują kłopoty." + #~ msgid "Minimap in radar mode, Zoom x2" #~ msgstr "Minimapa w trybie radaru, Zoom x2" @@ -7543,6 +7800,9 @@ msgstr "Limit czasu cURL" #~ msgid "Minimap in surface mode, Zoom x4" #~ msgstr "Minimapa w trybie powierzchniowym, powiększenie x4" +#~ msgid "Name / Password" +#~ msgstr "Nazwa gracza / Hasło" + #~ msgid "Name/Password" #~ msgstr "Nazwa gracza/Hasło" @@ -7599,6 +7859,9 @@ msgstr "Limit czasu cURL" #~ msgid "Projecting dungeons" #~ msgstr "Projekcja lochów" +#~ msgid "PvP enabled" +#~ msgstr "PvP włączone" + #~ msgid "Reset singleplayer world" #~ msgstr "Resetuj świat pojedynczego gracza" @@ -7608,6 +7871,19 @@ msgstr "Limit czasu cURL" #~ msgid "Shadow limit" #~ msgstr "Limit cieni" +#, 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." + +#~ msgid "Special" +#~ msgstr "Specialne" + +#, fuzzy +#~ msgid "Special key" +#~ msgstr "Skradanie" + #~ msgid "Start Singleplayer" #~ msgstr "Tryb jednoosobowy" @@ -7655,3 +7931,6 @@ msgstr "Limit czasu cURL" #~ msgid "Yes" #~ msgstr "Tak" + +#~ msgid "needs_fallback_font" +#~ msgstr "no" diff --git a/po/pt/minetest.po b/po/pt/minetest.po index 78c46b6d8..63f7ec39c 100644 --- a/po/pt/minetest.po +++ b/po/pt/minetest.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: Portuguese (Minetest)\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-02-23 19:03+0100\n" -"PO-Revision-Date: 2021-02-23 15:50+0000\n" +"POT-Creation-Date: 2021-06-16 18:27+0200\n" +"PO-Revision-Date: 2021-05-10 16:33+0000\n" "Last-Translator: ssantos \n" "Language-Team: Portuguese \n" @@ -12,7 +12,49 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Generator: Weblate 4.5\n" +"X-Generator: Weblate 4.7-dev\n" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Clear the out chat queue" +msgstr "Tamanho máximo da fila do chat" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Empty command." +msgstr "Comandos do Chat" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Exit to main menu" +msgstr "Sair para o Menu" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Invalid command: " +msgstr "Comandos do Chat" + +#: builtin/client/chatcommands.lua +msgid "Issued command: " +msgstr "" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "List online players" +msgstr "Um Jogador" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Online players: " +msgstr "Um Jogador" + +#: builtin/client/chatcommands.lua +msgid "The out chat queue is now empty." +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "This command is disabled by server." +msgstr "" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -22,6 +64,38 @@ msgstr "Renascer" msgid "You died" msgstr "Você morreu" +#: builtin/client/death_formspec.lua +#, fuzzy +msgid "You died." +msgstr "Você morreu" + +#: builtin/common/chatcommands.lua +#, fuzzy +msgid "Available commands:" +msgstr "Comandos do Chat" + +#: builtin/common/chatcommands.lua +#, fuzzy +msgid "Available commands: " +msgstr "Comandos do Chat" + +#: builtin/common/chatcommands.lua +msgid "Command not available: " +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "Get help for commands" +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "" +"Use '.help ' to get more information, or '.help all' to list everything." +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "[all | ]" +msgstr "" + #: builtin/fstk/dialog.lua builtin/fstk/ui.lua src/gui/modalMenu.cpp msgid "OK" msgstr "OK" @@ -533,7 +607,7 @@ msgstr "< Voltar para as definições" msgid "Browse" msgstr "Navegar" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_settings.lua msgid "Disabled" msgstr "Desativado" @@ -577,7 +651,7 @@ msgstr "Restaurar valores por defeito" msgid "Scale" msgstr "Escala" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua msgid "Search" msgstr "Procurar" @@ -704,9 +778,8 @@ msgid "Loading..." msgstr "A carregar..." #: builtin/mainmenu/serverlistmgr.lua -#, fuzzy msgid "Public server list is disabled" -msgstr "O scripting de cliente está desativado" +msgstr "A lista de servidores públicos está desativada" #: builtin/mainmenu/serverlistmgr.lua msgid "Try reenabling public serverlist and check your internet connection." @@ -714,6 +787,43 @@ msgstr "" "Tente recarregar a lista de servidores públicos e verifique a sua ligação à " "internet." +#: builtin/mainmenu/tab_about.lua +msgid "About" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active Contributors" +msgstr "Contribuidores Ativos" + +#: builtin/mainmenu/tab_about.lua +#, fuzzy +msgid "Active renderer:" +msgstr "Distância de envio de objetos ativos" + +#: builtin/mainmenu/tab_about.lua +msgid "Core Developers" +msgstr "Desenvolvedores Principais" + +#: builtin/mainmenu/tab_about.lua +msgid "Open User Data Directory" +msgstr "Abrir o diretório de dados do utilizador" + +#: builtin/mainmenu/tab_about.lua +msgid "" +"Opens the directory that contains user-provided worlds, games, mods,\n" +"and texture packs in a file manager / explorer." +msgstr "" +"Abre o diretório que contém mundos, jogos, mods fornecidos pelo utilizador,\n" +"e pacotes de textura num gestor de ficheiros / explorador." + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Contributors" +msgstr "Antigos Contribuidores" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Core Developers" +msgstr "Desenvolvedores principais anteriores" + #: builtin/mainmenu/tab_content.lua msgid "Browse online content" msgstr "Procurar conteúdo online" @@ -754,38 +864,6 @@ msgstr "Desinstalar o pacote" msgid "Use Texture Pack" msgstr "Usar pacote de texturas" -#: builtin/mainmenu/tab_credits.lua -msgid "Active Contributors" -msgstr "Contribuidores Ativos" - -#: builtin/mainmenu/tab_credits.lua -msgid "Core Developers" -msgstr "Desenvolvedores Principais" - -#: builtin/mainmenu/tab_credits.lua -msgid "Credits" -msgstr "Méritos" - -#: builtin/mainmenu/tab_credits.lua -msgid "Open User Data Directory" -msgstr "Abrir o diretório de dados do utilizador" - -#: builtin/mainmenu/tab_credits.lua -msgid "" -"Opens the directory that contains user-provided worlds, games, mods,\n" -"and texture packs in a file manager / explorer." -msgstr "" -"Abre o diretório que contém mundos, jogos, mods fornecidos pelo utilizador,\n" -"e pacotes de textura num gestor de ficheiros / explorador." - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Contributors" -msgstr "Antigos Contribuidores" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Core Developers" -msgstr "Desenvolvedores principais anteriores" - #: builtin/mainmenu/tab_local.lua msgid "Announce Server" msgstr "Anunciar servidor" @@ -814,7 +892,7 @@ msgstr "Servidor" msgid "Install games from ContentDB" msgstr "Instalar jogos do ContentDB" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Name" msgstr "Nome" @@ -826,7 +904,7 @@ msgstr "Novo" msgid "No world created or selected!" msgstr "Nenhum mundo criado ou seleccionado!" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Password" msgstr "Palavra-passe" @@ -834,7 +912,7 @@ msgstr "Palavra-passe" msgid "Play Game" msgstr "Jogar Jogo" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Port" msgstr "Porta" @@ -855,8 +933,13 @@ msgid "Start Game" msgstr "Iniciar o jogo" #: builtin/mainmenu/tab_online.lua -msgid "Address / Port" -msgstr "Endereço / Porta" +#, fuzzy +msgid "Address" +msgstr "- Endereço: " + +#: builtin/mainmenu/tab_online.lua src/client/keycode.cpp +msgid "Clear" +msgstr "Limpar" #: builtin/mainmenu/tab_online.lua msgid "Connect" @@ -866,34 +949,46 @@ msgstr "Ligar" msgid "Creative mode" msgstr "Modo Criativo" +#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "Damage enabled" -msgstr "Dano ativado" +#, fuzzy +msgid "Damage / PvP" +msgstr "Ativar dano" #: builtin/mainmenu/tab_online.lua msgid "Del. Favorite" msgstr "Rem. Favorito" #: builtin/mainmenu/tab_online.lua -msgid "Favorite" +#, fuzzy +msgid "Favorites" msgstr "Favorito" +#: builtin/mainmenu/tab_online.lua +msgid "Incompatible Servers" +msgstr "" + #: builtin/mainmenu/tab_online.lua msgid "Join Game" msgstr "Juntar-se ao jogo" -#: builtin/mainmenu/tab_online.lua -msgid "Name / Password" -msgstr "Nome / Palavra-passe" - #: builtin/mainmenu/tab_online.lua msgid "Ping" msgstr "Ping" -#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "PvP enabled" -msgstr "PvP ativado" +#, fuzzy +msgid "Public Servers" +msgstr "Anunciar servidor" + +#: builtin/mainmenu/tab_online.lua +msgid "Refresh" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +#, fuzzy +msgid "Server Description" +msgstr "Descrição do servidor" #: builtin/mainmenu/tab_settings.lua msgid "2x" @@ -935,10 +1030,31 @@ msgstr "Mudar teclas" msgid "Connected Glass" msgstr "Vidro conectado" +#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp +#, fuzzy +msgid "Dynamic shadows" +msgstr "Sombra da fonte" + +#: builtin/mainmenu/tab_settings.lua +msgid "Dynamic shadows: " +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Fancy Leaves" msgstr "Folhas detalhadas" +#: builtin/mainmenu/tab_settings.lua +msgid "High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Low" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Medium" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Mipmap" msgstr "Mipmap" @@ -1027,6 +1143,14 @@ msgstr "Nível de sensibilidade ao toque (px)" msgid "Trilinear Filter" msgstr "Filtro trilinear" +#: builtin/mainmenu/tab_settings.lua +msgid "Ultra High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Very Low" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Waving Leaves" msgstr "Folhas ondulantes" @@ -1099,18 +1223,6 @@ 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" - #: src/client/game.cpp msgid "" "\n" @@ -1353,6 +1465,11 @@ msgstr "MiB/s" msgid "Minimap currently disabled by game or mod" msgstr "Minipapa atualmente desativado por jogo ou mod" +#: src/client/game.cpp +#, fuzzy +msgid "Multiplayer" +msgstr "Um Jogador" + #: src/client/game.cpp msgid "Noclip mode disabled" msgstr "Modo de atravessar paredes desativado" @@ -1494,10 +1611,6 @@ msgstr "Tecla voltar" msgid "Caps Lock" msgstr "Caps Lock" -#: src/client/keycode.cpp -msgid "Clear" -msgstr "Limpar" - #: src/client/keycode.cpp msgid "Control" msgstr "Control" @@ -1792,7 +1905,8 @@ msgid "Proceed" msgstr "Continuar" #: src/gui/guiKeyChangeMenu.cpp -msgid "\"Special\" = climb down" +#, fuzzy +msgid "\"Aux1\" = climb down" msgstr "\"Especial\" = descer" #: src/gui/guiKeyChangeMenu.cpp @@ -1803,10 +1917,18 @@ msgstr "Avanço frontal automático" msgid "Automatic jumping" msgstr "Pulo automático" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Aux1" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Backward" msgstr "Recuar" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Block bounds" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Change camera" msgstr "Mudar camera" @@ -1895,10 +2017,6 @@ msgstr "Captura de ecrã" msgid "Sneak" msgstr "Agachar" -#: src/gui/guiKeyChangeMenu.cpp -msgid "Special" -msgstr "Especial" - #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle HUD" msgstr "Ativar interface" @@ -1986,9 +2104,10 @@ msgstr "" "toque." #: 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 " +"(Android) Use virtual joystick to trigger \"Aux1\" button.\n" +"If enabled, virtual joystick will also tap \"Aux1\" button when out of main " "circle." msgstr "" "(Android) Use joystick virtual para ativar botão \"aux\".\n" @@ -2354,6 +2473,16 @@ msgstr "Auto salvar tamanho do ecrã" msgid "Autoscaling mode" msgstr "Modo de alto escalamento" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Aux1 key" +msgstr "Tecla de saltar" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Aux1 key for climbing/descending" +msgstr "Tecla especial pra escalar/descer" + #: src/settings_translation_file.cpp msgid "Backward key" msgstr "Tecla para andar para trás" @@ -2398,10 +2527,6 @@ msgstr "Temperatura da API Biome e parâmetros de ruído de humidade" msgid "Biome noise" msgstr "Ruído da Biome" -#: src/settings_translation_file.cpp -msgid "Bits per pixel (aka color depth) in fullscreen mode." -msgstr "Bits por pixel (profundidade de cor) no modo de ecrã inteiro." - #: src/settings_translation_file.cpp msgid "Block send optimize distance" msgstr "Distância otimizada de envio de bloco" @@ -2448,11 +2573,11 @@ msgstr "Suavização da camera" #: src/settings_translation_file.cpp msgid "Camera smoothing in cinematic mode" -msgstr "Suavização da câmera no modo cinematográfico" +msgstr "Suavização da câmara no modo cinematográfico" #: src/settings_translation_file.cpp msgid "Camera update toggle key" -msgstr "Tecla para ativar/desativar atualização da câmera" +msgstr "Tecla para ativar/desativar atualização da câmara" #: src/settings_translation_file.cpp msgid "Cave noise" @@ -2506,6 +2631,11 @@ 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 +#, fuzzy +msgid "Chat command time message threshold" +msgstr "Limite da mensagem de expulsão" + #: src/settings_translation_file.cpp msgid "Chat font size" msgstr "Tamanho da fonte do chat" @@ -2602,6 +2732,11 @@ msgstr "Nuvens no menu" msgid "Colored fog" msgstr "Névoa colorida" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Colored shadows" +msgstr "Névoa colorida" + #: src/settings_translation_file.cpp msgid "" "Comma-separated list of flags to hide in the content repository.\n" @@ -2741,11 +2876,12 @@ msgid "Crosshair alpha" msgstr "Opacidade do cursor" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Crosshair alpha (opaqueness, between 0 and 255).\n" "Also controls the object crosshair color" -msgstr "Opacidade do cursor (entre 0 e 255)." +msgstr "" +"fAlpha do cursor (o quanto ele é opaco, níveis entre 0 e 255).\n" +"Também controla a cor da cruz do objeto" #: src/settings_translation_file.cpp msgid "Crosshair color" @@ -2756,6 +2892,8 @@ msgid "" "Crosshair color (R,G,B).\n" "Also controls the object crosshair color" msgstr "" +"Cor da cruz (R, G, B).\n" +"Também controla a cor da cruz do objeto" #: src/settings_translation_file.cpp msgid "DPI" @@ -2823,11 +2961,10 @@ msgstr "Tamanho de pilha predefinido" #: src/settings_translation_file.cpp msgid "" -"Default timeout for cURL, stated in milliseconds.\n" -"Only has an effect if compiled with cURL." +"Define shadow filtering quality\n" +"This simulates the soft shadows effect by applying a PCF or poisson disk\n" +"but also uses more resources." msgstr "" -"Tempo limite por defeito para cURL, em milissegundos.\n" -"Só tem efeito se compilado com cURL." #: src/settings_translation_file.cpp msgid "Defines areas where trees have apples." @@ -2893,8 +3030,8 @@ msgid "" msgstr "" "Tempo entre atualizações das malhas 3D no cliente em milissegundos. Aumentar " "isso\n" -"vai retardar a taxa de atualização das malhas, sendo assim, reduzindo " -"travamentos em clientes lentos." +"vai retardar a taxa de atualização das malhas, por isso reduz travamentos em " +"clientes lentos." #: src/settings_translation_file.cpp msgid "Delay in sending blocks after building" @@ -2941,9 +3078,8 @@ msgid "Desynchronize block animation" msgstr "Dessincroniza animação de blocos" #: src/settings_translation_file.cpp -#, fuzzy msgid "Dig key" -msgstr "Tecla para a direita" +msgstr "Tecla para escavar" #: src/settings_translation_file.cpp msgid "Digging particles" @@ -3005,14 +3141,19 @@ msgstr "" "Ativar suporte a mods LUA locais no cliente.\n" "Esse suporte é experimental e a API pode mudar." +#: src/settings_translation_file.cpp +msgid "" +"Enable colored shadows. \n" +"On true translucent nodes cast colored shadows. This is expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable console window" msgstr "Ativar janela de console" #: src/settings_translation_file.cpp -#, fuzzy msgid "Enable creative mode for all players" -msgstr "Ativar modo criativo para mundos novos." +msgstr "Ativar modo criativo para todos os jogadores" #: src/settings_translation_file.cpp msgid "Enable joysticks" @@ -3030,6 +3171,13 @@ msgstr "Ativar segurança de extras" msgid "Enable players getting damage and dying." msgstr "Ativar dano e morte dos jogadores." +#: src/settings_translation_file.cpp +msgid "" +"Enable poisson disk filtering.\n" +"On true uses poisson disk to make \"soft shadows\". Otherwise uses PCF " +"filtering." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable random user input (only used for testing)." msgstr "Ativa a entrada de comandos aleatória (apenas usado para testes)." @@ -3172,9 +3320,8 @@ msgstr "" "terrenos flutuantes." #: src/settings_translation_file.cpp -#, fuzzy msgid "FPS when unfocused or paused" -msgstr "Máximo FPS quando o jogo é pausado." +msgstr "FPS quando desfocado ou pausado" #: src/settings_translation_file.cpp msgid "FSAA" @@ -3192,18 +3339,6 @@ msgstr "Cair balançando" msgid "Fallback font path" msgstr "Caminho da fonte reserva" -#: src/settings_translation_file.cpp -msgid "Fallback font shadow" -msgstr "Sombra da fonte alternativa" - -#: src/settings_translation_file.cpp -msgid "Fallback font shadow alpha" -msgstr "Canal de opacidade sombra da fonte alternativa" - -#: src/settings_translation_file.cpp -msgid "Fallback font size" -msgstr "Tamanho da fonte alternativa" - #: src/settings_translation_file.cpp msgid "Fast key" msgstr "Tecla de correr" @@ -3221,8 +3356,9 @@ msgid "Fast movement" msgstr "Modo rápido" #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"Fast movement (via the \"special\" key).\n" +"Fast movement (via the \"Aux1\" key).\n" "This requires the \"fast\" privilege on the server." msgstr "" "Movimento rápido (através da tecla \"especial\").\n" @@ -3258,11 +3394,12 @@ msgid "Filmic tone mapping" msgstr "Mapeamento de tom fílmico" #: src/settings_translation_file.cpp +#, fuzzy msgid "" "Filtered textures can blend RGB values with fully-transparent neighbors,\n" -"which PNG optimizers usually discard, sometimes resulting in a dark or\n" -"light edge to transparent textures. Apply this filter to clean that up\n" -"at texture load time." +"which PNG optimizers usually discard, often resulting in dark or\n" +"light edges to transparent textures. Apply a filter to clean that up\n" +"at texture load time. This is automatically enabled if mipmapping is enabled." msgstr "" "Texturas filtradas podem misturar valores RGB com os vizinhos totalmente \n" "transparentes, o qual otimizadores PNG geralmente descartam, por vezes \n" @@ -3307,19 +3444,16 @@ msgid "Floatland noise" msgstr "Ruído no terreno flutuante" #: src/settings_translation_file.cpp -#, fuzzy msgid "Floatland taper exponent" -msgstr "Expoente de terras flutuantes montanhosas" +msgstr "Expoente de conicidade de terrenos flutuantes" #: src/settings_translation_file.cpp -#, fuzzy msgid "Floatland tapering distance" -msgstr "Ruído base de terra flutuante" +msgstr "Distância de afilamento da ilha flutuante" #: src/settings_translation_file.cpp -#, fuzzy msgid "Floatland water level" -msgstr "Nível de água" +msgstr "Nível da água em terreno flutuante" #: src/settings_translation_file.cpp msgid "Fly key" @@ -3365,19 +3499,18 @@ msgstr "Tamanho da fonte" 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 of the fallback font in point (pt)." -msgstr "" - #: src/settings_translation_file.cpp msgid "Font size of the monospace font in point (pt)." -msgstr "" +msgstr "Tamanho da fonte de largura fixa em pontos (pt)." #: src/settings_translation_file.cpp msgid "" "Font size of the recent chat text and chat prompt in point (pt).\n" "Value 0 will use the default font size." msgstr "" +"Tamanho da fonte do texto de bate-papo recente e do prompt do bate-papo em " +"pontos (pt).\n" +"O valor 0 irá utilizar o tamanho padrão de fonte." #: src/settings_translation_file.cpp msgid "" @@ -3478,10 +3611,6 @@ msgstr "" msgid "Full screen" msgstr "Ecrã inteiro" -#: src/settings_translation_file.cpp -msgid "Full screen BPP" -msgstr "BPP em ecrã inteiro" - #: src/settings_translation_file.cpp msgid "Fullscreen mode." msgstr "Modo de ecrã inteiro." @@ -3515,18 +3644,20 @@ msgstr "" "todas as decorações." #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Gradient of light curve at maximum light level.\n" "Controls the contrast of the highest light levels." -msgstr "Curva gradiente de iluminaçao no nível de luz maximo." +msgstr "" +"Gradiente da curva de luz no nível de luz máximo.\n" +"Controla o contraste dos níveis de luz mais altos." #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Gradient of light curve at minimum light level.\n" "Controls the contrast of the lowest light levels." -msgstr "Curva gradiente de iluminação no nível de luz mínimo." +msgstr "" +"Gradiente da curva de luz no nível de luz mínimo.\n" +"Controla o contraste dos níveis de luz mais baixos." #: src/settings_translation_file.cpp msgid "Graphics" @@ -3557,18 +3688,17 @@ msgid "HUD toggle key" msgstr "Tecla de comutação HUD" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Handling for deprecated Lua API calls:\n" "- none: Do not log deprecated calls\n" "- log: mimic and log backtrace of deprecated call (default).\n" "- error: abort on usage of deprecated call (suggested for mod developers)." msgstr "" -"Tratamento de chamadas ao API Lua obsoletas:\n" -"- legacy: (tenta) imitar o comportamento antigo (por defeito em versão de " -"lançamento).\n" -"- log: imita e regista no log (por defeito em versão de depuração).\n" -"- error: aborta (sugerido para desenvolvedores de extras)." +"Lidando com funções obsoletas da API Lua:\n" +"-...none: não regista funções obsoletas.\n" +"-...log: imita e regista as funções obsoletas chamadas (padrão).\n" +"-...error: aborta quando chama uma função obsoleta (sugerido para " +"programadores de mods)." #: src/settings_translation_file.cpp msgid "" @@ -3593,7 +3723,9 @@ msgid "Heat noise" msgstr "Ruído para cavernas #1" #: src/settings_translation_file.cpp -msgid "Height component of the initial window size." +#, fuzzy +msgid "" +"Height component of the initial window size. Ignored in fullscreen mode." msgstr "Altura da janela inicial." #: src/settings_translation_file.cpp @@ -3604,10 +3736,6 @@ msgstr "Ruído de altura" msgid "Height select noise" msgstr "Parâmetros de ruido de seleção de altura do gerador de mundo v6" -#: src/settings_translation_file.cpp -msgid "High-precision FPU" -msgstr "FPU de alta precisão" - #: src/settings_translation_file.cpp msgid "Hill steepness" msgstr "Inclinação dos lagos no gerador de mapa plano" @@ -3806,6 +3934,9 @@ msgid "" "If negative, liquid waves will move backwards.\n" "Requires waving liquids to be enabled." msgstr "" +"A velocidade com que as ondas líquidas se movem. Maior = mais rápido.\n" +"Se negativo, as ondas líquidas se moverão para trás.\n" +"Requer que a ondulação de líquidos esteja ativada." #: src/settings_translation_file.cpp msgid "" @@ -3849,9 +3980,9 @@ msgstr "" "para não gastar a potência da CPU desnecessariamente." #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"If disabled, \"special\" key is used to fly fast if both fly and fast mode " -"are\n" +"If disabled, \"Aux1\" key is used to fly fast if both fly and fast mode are\n" "enabled." msgstr "" "Se estiver desativado, a tecla \"especial será usada para voar rápido se " @@ -3884,9 +4015,10 @@ msgstr "" "Isto requer o privilégio \"noclip\" no servidor." #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"If enabled, \"special\" key instead of \"sneak\" key is used for climbing " -"down and\n" +"If enabled, \"Aux1\" key instead of \"Sneak\" key is used for climbing down " +"and\n" "descending." msgstr "" "Se ativado, a tecla \"especial\" em vez de \"esgueirar\" servirá para usada " @@ -3945,6 +4077,12 @@ msgstr "" "são \n" "limitadas a está distancia do jogador até o nó." +#: src/settings_translation_file.cpp +msgid "" +"If the execution of a chat command takes longer than this specified time in\n" +"seconds, add the time information to the chat command message" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "If the file size of debug.txt exceeds the number of megabytes specified in\n" @@ -4063,14 +4201,12 @@ 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" +msgstr "Caminho da fonte em itálico" #: src/settings_translation_file.cpp -#, fuzzy msgid "Italic monospace font path" -msgstr "Caminho de fonte monoespaçada" +msgstr "Caminho da fonte em itálico monoespaçada" #: src/settings_translation_file.cpp msgid "Item entity TTL" @@ -4102,9 +4238,8 @@ msgid "Joystick button repetition interval" msgstr "Intervalo de repetição do botão do Joystick" #: src/settings_translation_file.cpp -#, fuzzy msgid "Joystick deadzone" -msgstr "Tipo do Joystick" +msgstr "\"Zona morta\" do joystick" #: src/settings_translation_file.cpp msgid "Joystick frustum sensitivity" @@ -4207,13 +4342,12 @@ msgstr "" "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for digging.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para pular. \n" +"Tecla para escavar. \n" "Consulte http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" @@ -4360,13 +4494,12 @@ msgstr "" "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for placing.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para pular. \n" +"Tecla para pôr objetos. \n" "Consulte http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" @@ -4730,7 +4863,7 @@ msgid "" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para comutação entre câmera de primeira e terceira pessoa.\n" +"Tecla para comutação entre câmara de primeira e terceira pessoa.\n" "Consulte http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" @@ -4927,15 +5060,15 @@ msgstr "Profundidade de cavernas grandes" #: src/settings_translation_file.cpp msgid "Large cave maximum number" -msgstr "" +msgstr "Quantidade máxima de cavernas grandes" #: src/settings_translation_file.cpp msgid "Large cave minimum number" -msgstr "" +msgstr "Quantidade mínima de cavernas grandes" #: src/settings_translation_file.cpp msgid "Large cave proportion flooded" -msgstr "" +msgstr "Proporção inundada de cavernas grandes" #: src/settings_translation_file.cpp msgid "Large chat console key" @@ -4971,13 +5104,12 @@ 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." +"Comprimento das ondas líquidas.\n" +"Requer que a ondulação de líquidos esteja ativada." #: src/settings_translation_file.cpp msgid "Length of time between Active Block Modifier (ABM) execution cycles" @@ -5012,34 +5144,28 @@ msgstr "" "- verbose" #: src/settings_translation_file.cpp -#, fuzzy msgid "Light curve boost" -msgstr "Aumento leve da curva de luz" +msgstr "Aumento da curva de luz" #: src/settings_translation_file.cpp -#, fuzzy msgid "Light curve boost center" -msgstr "Centro do aumento leve da curva de luz" +msgstr "Centro do aumento da curva de luz" #: src/settings_translation_file.cpp -#, fuzzy msgid "Light curve boost spread" -msgstr "Extensão do aumento leve da curva de luz" +msgstr "Extensão do aumento da curva de luz" #: src/settings_translation_file.cpp -#, fuzzy msgid "Light curve gamma" -msgstr "Aumento leve da curva de luz" +msgstr "Gamma da curva de luz" #: src/settings_translation_file.cpp -#, fuzzy msgid "Light curve high gradient" -msgstr "Aumento leve da curva de luz" +msgstr "Gradiente alto da curva de luz" #: src/settings_translation_file.cpp -#, fuzzy msgid "Light curve low gradient" -msgstr "Centro do aumento leve da curva de luz" +msgstr "Gradiente baixo da curva de luz" #: src/settings_translation_file.cpp msgid "" @@ -5059,10 +5185,10 @@ msgid "" "- Downloads performed by main menu (e.g. mod manager).\n" "Only has an effect if compiled with cURL." msgstr "" -"Limites número de solicitações HTTP paralelas. afeta:\n" +"Limite quantidade de solicitações HTTP paralelas. afeta:\n" "- Media buscar se servidor usa configuração de remote_media.\n" -"- Download de lista de servidores e anúncio do servidor.\n" -"- Transferências realizadas pelo menu principal (por exemplo gerência de " +"- Descarrega de lista de servidores e anúncio do servidor.\n" +"- Transferências realizadas pelo menu principal (por exemplo, gerência de " "mods).\n" "Só tem efeito se compilado com cURL." @@ -5117,9 +5243,8 @@ msgid "Lower Y limit of dungeons." msgstr "Menor limite Y de dungeons." #: src/settings_translation_file.cpp -#, fuzzy msgid "Lower Y limit of floatlands." -msgstr "Menor limite Y de dungeons." +msgstr "Menor limite Y de ilhas flutuantes." #: src/settings_translation_file.cpp msgid "Main menu script" @@ -5132,21 +5257,17 @@ msgstr "" "Fazer cores de névoa e céu dependerem do dia (amanhecer/pôr do sol) e exibir " "a direção." -#: src/settings_translation_file.cpp -msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." -msgstr "Faz o DirectX trabalhar com LuaJIT. Desative se causa problemas." - #: src/settings_translation_file.cpp msgid "Makes all liquids opaque" msgstr "Torna todos os líquidos opacos" #: src/settings_translation_file.cpp msgid "Map Compression Level for Disk Storage" -msgstr "" +msgstr "Nível de Compressão de Mapa no Armazenamento em Disco" #: src/settings_translation_file.cpp msgid "Map Compression Level for Network Transfer" -msgstr "" +msgstr "Nível de Compressão do Mapa na Transferência em Rede" #: src/settings_translation_file.cpp msgid "Map directory" @@ -5157,24 +5278,22 @@ 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 Flat.\n" "Occasional lakes and hills can be added to the flat world." msgstr "" -"Atributos de geração de mapas específicos para o gerador de mundo plano.\n" +"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 Fractal.\n" "'terrain' enables the generation of non-fractal terrain:\n" "ocean, islands and underground." msgstr "" -"Atributos de geração de mapas específicos do Mapgen plano.\n" -"O \"terreno\" permite a geração de terrenos não fractários:\n" -"oceano, ilhas e subsolo." +"Atributos de geração de mapas específicos para o Gerador de mundo Fractal.\n" +"'terreno' permite a geração de terreno não fractal:\n" +"oceano, ilhas e subterrâneos." #: src/settings_translation_file.cpp msgid "" @@ -5210,15 +5329,16 @@ msgstr "" "a marcação 'selvas' é ignorada." #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Map generation attributes specific to Mapgen v7.\n" "'ridges': Rivers.\n" "'floatlands': Floating land masses in the atmosphere.\n" "'caverns': Giant caves deep underground." msgstr "" -"Atributos de geração de mapa específicos ao gerador V7.\n" -"'ridges' habilitam os rios." +"Atributos de geração de mapas específicos para Gerador de mapas v7.\n" +"'ridges': rios.\n" +"'floatlands': massas de terra flutuantes na atmosfera.\n" +"'caverns': cavernas gigantes no subsolo." #: src/settings_translation_file.cpp msgid "Map generation limit" @@ -5228,6 +5348,11 @@ msgstr "Limite de geração de mapa" msgid "Map save interval" msgstr "Intervalo de salvamento de mapa" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Map update time" +msgstr "Período de atualização dos Líquidos" + #: src/settings_translation_file.cpp msgid "Mapblock limit" msgstr "Limite de mapblock" @@ -5335,9 +5460,13 @@ msgid "Maximum FPS" msgstr "FPS máximo" #: src/settings_translation_file.cpp -#, fuzzy msgid "Maximum FPS when the window is not focused, or when the game is paused." -msgstr "Máximo FPS quando o jogo é pausado." +msgstr "" +"FPS máximo quando a janela não está com foco, ou quando o jogo é pausado." + +#: src/settings_translation_file.cpp +msgid "Maximum distance to render shadows." +msgstr "" #: src/settings_translation_file.cpp msgid "Maximum forceloaded blocks" @@ -5350,20 +5479,20 @@ msgstr "Largura máxima da hotbar" #: src/settings_translation_file.cpp msgid "Maximum limit of random number of large caves per mapchunk." msgstr "" +"Limite máximo da quantidade aleatória de cavernas grandes por mapchunk." #: src/settings_translation_file.cpp msgid "Maximum limit of random number of small caves per mapchunk." msgstr "" +"Limite máximo da quantidade aleatória de cavernas pequenas por mapchunk." #: src/settings_translation_file.cpp -#, fuzzy msgid "" "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 " -"a\n" -"alta velocidade." +"Resistência líquida máxima. Controla desaceleração ao entrar num líquido\n" +"em alta velocidade." #: src/settings_translation_file.cpp msgid "" @@ -5381,25 +5510,22 @@ msgstr "" "Número máximo de blocos que podem ser enfileirados para o carregamento." #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Maximum number of blocks to be queued that are to be generated.\n" "This limit is enforced per player." msgstr "" -"Número máximo de blocos para serem enfileirados que estão a ser gerados.\n" -"Definido em branco para uma quantidade apropriada ser escolhida " -"automaticamente." +"Quantidade máxima de blocos a serem enfileirados, dos que estão para ser " +"gerados.\n" +"Esse limite é forçado para cada jogador." #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Maximum number of blocks to be queued that are to be loaded from file.\n" "This limit is enforced per player." msgstr "" -"Número máximo de blocos para ser enfileirado que serão carregados do " -"ficheiro.\n" -"Definido em branco para uma quantidade apropriada ser escolhida " -"automaticamente." +"Quantdade máxima de blocos a serem enfileirados, dos que estão para ser " +"carregados do ficheiro.\n" +"Esse limite é forçado para cada jogador." #: src/settings_translation_file.cpp msgid "" @@ -5407,6 +5533,9 @@ msgid "" "be queued.\n" "This should be lower than curl_parallel_limit." msgstr "" +"Quantidade máxima de descarregas paralelas. Descarregas a exceder esse " +"limite esperarão numa fila.\n" +"Deve ser menor que curl_parallel_limit." #: src/settings_translation_file.cpp msgid "Maximum number of forceloaded mapblocks." @@ -5472,11 +5601,20 @@ msgstr "" "0 para desativar a fila e -1 para a tornar ilimitada." #: src/settings_translation_file.cpp -msgid "Maximum time in ms a file download (e.g. a mod download) may take." +#, fuzzy +msgid "" +"Maximum time a file download (e.g. a mod download) may take, stated in " +"milliseconds." msgstr "" "Tempo máximo em ms para descarregamento de ficheiro (por exemplo, um " "ficheiro ZIP de um modificador) pode tomar." +#: src/settings_translation_file.cpp +msgid "" +"Maximum time an interactive request (e.g. server list fetch) may take, " +"stated in milliseconds." +msgstr "" + #: src/settings_translation_file.cpp msgid "Maximum users" msgstr "Limite de utilizadores" @@ -5503,7 +5641,7 @@ msgstr "Método usado para destacar o objeto selecionado." #: src/settings_translation_file.cpp msgid "Minimal level of logging to be written to chat." -msgstr "" +msgstr "Nível mínimo de registo a ser impresso no chat." #: src/settings_translation_file.cpp msgid "Minimap" @@ -5518,13 +5656,14 @@ 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." +msgstr "" +"Limite mínimo da quantidade aleatória de grandes cavernas por mapchunk." #: src/settings_translation_file.cpp msgid "Minimum limit of random number of small caves per mapchunk." msgstr "" +"Limite mínimo da quantidade aleatória de cavernas pequenas por mapchunk." #: src/settings_translation_file.cpp msgid "Minimum texture size" @@ -5568,11 +5707,11 @@ msgstr "Nível zero da montanha" #: src/settings_translation_file.cpp msgid "Mouse sensitivity" -msgstr "Sensibilidade do mouse" +msgstr "Sensibilidade do rato" #: src/settings_translation_file.cpp msgid "Mouse sensitivity multiplier." -msgstr "Multiplicador de sensibilidade do mouse." +msgstr "Multiplicador de sensibilidade do rato." #: src/settings_translation_file.cpp msgid "Mud noise" @@ -5625,9 +5764,8 @@ msgstr "" "servidores." #: src/settings_translation_file.cpp -#, fuzzy msgid "Near plane" -msgstr "Plano de corte próximo" +msgstr "Plano próximo" #: src/settings_translation_file.cpp msgid "Network" @@ -5670,7 +5808,6 @@ msgid "Number of emerge threads" msgstr "Número de seguimentos de emersão" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Number of emerge threads to use.\n" "Value 0:\n" @@ -5683,22 +5820,20 @@ 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 "" -"Quantidade de threads emergentes a utilizar.\n" -"AVISO: Atualmente existem vários bugs que podem causar falhas quando\n" -"'num_emerge_threads' é maior que 1. Até que este aviso seja removido, é\n" -"bem recomendado que este valor seja definido ao valor padrão '1'.\n" +"Quantidade de threads de emersão a serem usadas.\n" "Valor 0:\n" -"- Seleção automática. A quantidade de threads emergentes será\n" -"- 'quantidade de processadores - 2', com um limite inferior de 1.\n" +"- Seleção automática. A quantidade de threads de emersão será\n" +"- 'quantidade de processadores - 2', com um limite inferior de 1.\n" "Qualquer outro valor:\n" -"- Especifica a quantidade de threads emergentes, com um limite inferior " -"de 1.\n" -"AVISO: O aumento do quantidade de threads emergentes aumenta a velocidade " -"do\n" -"motor mapgen, mas isso pode prejudicar o desempenho do jogo, interferindo " -"com outros\n" -"processos, especialmente no singleplayer e/ou ao executar código Lua em\n" -"'on_generated'. Para muitos utilizadores, o ajuste ideal pode ser '1'." +"- Especifica a quantidade de threads de emersão, com um limite inferior de " +"1.\n" +"AVISO: Aumentar a quantidade de threads de emersão aumenta a velocidade do " +"motor de\n" +"geração de mapas, mas isso pode prejudicar o desempenho do jogo, a " +"interferir com outros\n" +"processos, especialmente em singleplayer e / ou ao executar código Lua em " +"eventos\n" +"'on_generated'. Para muitos utilizadores, a configuração ideal pode ser '1'." #: src/settings_translation_file.cpp msgid "" @@ -5722,12 +5857,7 @@ 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 "" +msgstr "Opacidade (alpha) das sombras atrás da fonte padrão, entre 0 e 255." #: src/settings_translation_file.cpp msgid "" @@ -5746,12 +5876,20 @@ msgid "" "This font will be used for certain languages or if the default font is " "unavailable." msgstr "" +"Caminho da fonte alternativa.\n" +"Se a configuração \"freetype\" estiver ativa: Deve ser uma fonte TrueType.\n" +"Se a configuração \"freetype\" não estiver ativa: Deve ser uma fonte bitmap " +"ou de vetores XML.\n" +"Essa fonte será usada por certas línguas ou se a padrão não estiver " +"disponível." #: src/settings_translation_file.cpp msgid "" "Path to save screenshots at. Can be an absolute or relative path.\n" "The folder will be created if it doesn't already exist." msgstr "" +"Caminho para gravar capturas de ecrã. Pode ser absoluto ou relativo.\n" +"A pasta será criada se já não existe." #: src/settings_translation_file.cpp msgid "" @@ -5774,6 +5912,11 @@ msgid "" "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 "" +"Caminho para a fonte padrão.\n" +"Se a configuração \"freetype\" estiver ativa: Deve ser uma fonte TrueType.\n" +"Se a configuração \"freetype\" não estiver ativa: Deve ser uma fonte bitmap " +"ou de vetores XML.\n" +"A fonte alternativa será usada se não for possível carregar essa." #: src/settings_translation_file.cpp msgid "" @@ -5782,6 +5925,11 @@ msgid "" "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 "" +"Caminho para a fonte monoespaçada.\n" +"Se a configuração \"freetype\" estiver ativa: Deve ser uma fonte TrueType.\n" +"Se a configuração \"freetype\" não estiver ativa: Deve ser uma fonte bitmap " +"ou de vetores XML.\n" +"Essa fonte será usada, por exemplo, no console e no ecrã de depuração." #: src/settings_translation_file.cpp msgid "Pause on lost window focus" @@ -5790,11 +5938,11 @@ msgstr "Pausa quando o foco da janela é perdido" #: src/settings_translation_file.cpp msgid "Per-player limit of queued blocks load from disk" msgstr "" +"Limite de blocos na fila de espera de carregamento do disco por jogador" #: src/settings_translation_file.cpp -#, fuzzy msgid "Per-player limit of queued blocks to generate" -msgstr "Limite de filas emerge para gerar" +msgstr "Limite por jogador de blocos enfileirados para gerar" #: src/settings_translation_file.cpp msgid "Physics" @@ -5809,14 +5957,12 @@ msgid "Pitch move mode" msgstr "Modo movimento pitch" #: src/settings_translation_file.cpp -#, fuzzy msgid "Place key" -msgstr "Tecla de voar" +msgstr "Tecla de pôr" #: src/settings_translation_file.cpp -#, fuzzy msgid "Place repetition interval" -msgstr "Intervalo de repetição do clique direito" +msgstr "Intervalo de repetição da ação pôr" #: src/settings_translation_file.cpp msgid "" @@ -5838,6 +5984,11 @@ msgstr "Distância de transferência do jogador" msgid "Player versus player" msgstr "Jogador contra jogador" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Poisson filtering" +msgstr "Filtro bi-linear" + #: src/settings_translation_file.cpp msgid "" "Port to connect to (UDP).\n" @@ -5886,7 +6037,7 @@ msgstr "Analizando" #: src/settings_translation_file.cpp msgid "Prometheus listener address" -msgstr "" +msgstr "Endereço do Prometheus" #: src/settings_translation_file.cpp msgid "" @@ -5895,10 +6046,14 @@ msgid "" "enable metrics listener for Prometheus on that address.\n" "Metrics can be fetch on http://127.0.0.1:30000/metrics" msgstr "" +"Endereço do Prometheus\n" +"Se o minetest for compilado com a opção ENABLE_PROMETHEUS ativa,\n" +"ativa a obtenção de métricas do Prometheus neste endereço.\n" +"As métricas podem ser obtidas em http://127.0.0.1:30000/metrics" #: src/settings_translation_file.cpp msgid "Proportion of large caves that contain liquid." -msgstr "" +msgstr "Proporção de cavernas grandes que contém líquido." #: src/settings_translation_file.cpp msgid "" @@ -5926,9 +6081,8 @@ msgid "Recent Chat Messages" msgstr "Mensagens de chat recentes" #: src/settings_translation_file.cpp -#, fuzzy msgid "Regular font path" -msgstr "Diretório para logs" +msgstr "Caminho da fonte regular" #: src/settings_translation_file.cpp msgid "Remote media" @@ -6228,32 +6382,73 @@ msgstr "" "Configura o tamanho máximo de caracteres de uma mensagem enviada por " "clientes." +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow strength.\n" +"Lower value means lighter shadows, higher value means darker shadows." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow update time.\n" +"Lower value means shadows and map updates faster, but it consume more " +"resources.\n" +"Minimun value 0.001 seconds max value 0.2 seconds" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the soft shadow radius size.\n" +"Lower values mean sharper shadows bigger values softer.\n" +"Minimun value 1.0 and max value 10.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the tilt of Sun/Moon orbit in degrees\n" +"Value of 0 means no tilt / vertical orbit.\n" +"Minimun value 0.0 and max value 60.0" +msgstr "" + #: src/settings_translation_file.cpp #, fuzzy msgid "" +"Set to true to enable Shadow Mapping.\n" +"Requires shaders to be enabled." +msgstr "" +"Definido como true ativa o balanço das folhas.\n" +"Requer que os sombreadores estejam ativados." + +#: src/settings_translation_file.cpp +msgid "" "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." +"Definido como true ativa o balanço das folhas.\n" +"Requer que os sombreadores estejam ativados." #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Set to true to enable waving liquids (like water).\n" "Requires shaders to be enabled." msgstr "" -"Definido como true permite ondulação da água.\n" -"Requer sombreadores seres ativados." +"Definido como true permite ondulação de líquidos (como a água).\n" +"Requer que os sombreadores estejam ativados." #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Set to true to enable waving plants.\n" "Requires shaders to be enabled." msgstr "" "Definido como true permite balanço de plantas.\n" -"Requer sombreadores serem ativados." +"Requer que os sombreadores estejam ativados." + +#: src/settings_translation_file.cpp +msgid "" +"Sets shadow texture quality to 32 bits.\n" +"On false, 16 bits texture will be used.\n" +"This can cause much more artifacts in the shadow." +msgstr "" #: src/settings_translation_file.cpp msgid "Shader path" @@ -6272,17 +6467,33 @@ msgstr "" #: src/settings_translation_file.cpp #, 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." +msgid "Shadow filter quality" +msgstr "Qualidade da Captura de ecrã" + +#: src/settings_translation_file.cpp +msgid "Shadow map max distance in nodes to render shadows" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture in 32 bits" +msgstr "" #: src/settings_translation_file.cpp #, fuzzy +msgid "Shadow map texture size" +msgstr "Tamanho mínimo da textura" + +#: src/settings_translation_file.cpp 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." +"Shadow offset (in pixels) of the default font. If 0, then shadow will not be " +"drawn." +msgstr "" +"Distância (em pixels) da sombra da fonte padrão. Se 0, então a sombra não " +"será desenhada." + +#: src/settings_translation_file.cpp +msgid "Shadow strength" +msgstr "" #: src/settings_translation_file.cpp msgid "Shape of the minimap. Enabled = round, disabled = square." @@ -6297,13 +6508,12 @@ msgid "Show entity selection boxes" msgstr "Mostrar as caixas de seleção entidades" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Show entity selection boxes\n" "A restart is required after changing this." msgstr "" -"Defina o idioma. Deixe vazio para usar a linguagem do sistema.\n" -"Apos mudar isso uma reinicialização é necessária." +"Mostrar caixas de seleção de entidades\n" +"É necessário reiniciar após alterar isso." #: src/settings_translation_file.cpp #, fuzzy @@ -6336,8 +6546,12 @@ msgid "" "thread, thus reducing jitter." msgstr "" "Tamanho da memória cache do MapBlock do gerador de malha. Aumentar isso " -"aumentará o percentual de hit do cache, reduzindo os dados sendo copiados do " -"encadeamento principal, reduzindo assim o jitter." +"aumentará o percentual de hit do cache, a reduzir os dados que são copiados " +"do encadeamento principal, e assim reduz o jitter." + +#: src/settings_translation_file.cpp +msgid "Sky Body Orbit Tilt" +msgstr "" #: src/settings_translation_file.cpp msgid "Slice w" @@ -6349,11 +6563,11 @@ msgstr "Inclinação e preenchimento trabalham juntos para modificar as alturas. #: src/settings_translation_file.cpp msgid "Small cave maximum number" -msgstr "" +msgstr "Quantidade máxima de cavernas pequenas" #: src/settings_translation_file.cpp msgid "Small cave minimum number" -msgstr "" +msgstr "Quantidade mínima de cavernas pequenas" #: src/settings_translation_file.cpp msgid "Small-scale humidity variation for blending biomes on borders." @@ -6374,17 +6588,17 @@ msgid "" "Smooths camera when looking around. Also called look or mouse smoothing.\n" "Useful for recording videos." msgstr "" -"Suaviza o movimento da câmera quando olhando ao redor. Também chamado de " -"olhar ou suavização do mouse.\n" +"Suaviza o movimento da câmara quando olhando ao redor. Também chamado de " +"olhar ou suavização do rato.\n" "Útil para gravar vídeos." #: src/settings_translation_file.cpp msgid "Smooths rotation of camera in cinematic mode. 0 to disable." -msgstr "Suaviza a rotação da câmera no modo cinemático. 0 para desativar." +msgstr "Suaviza a rotação da câmara no modo cinemático. 0 para desativar." #: src/settings_translation_file.cpp msgid "Smooths rotation of camera. 0 to disable." -msgstr "Suaviza a rotação da câmera. 0 para desativar." +msgstr "Suaviza a rotação da câmara. 0 para desativar." #: src/settings_translation_file.cpp msgid "Sneak key" @@ -6398,18 +6612,15 @@ msgstr "Velocidade da furtividade" msgid "Sneaking speed, in nodes per second." msgstr "Velocidade furtiva, em nós por segundo." +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Soft shadow radius" +msgstr "Opacidade da sombra da fonte" + #: src/settings_translation_file.cpp msgid "Sound" msgstr "Som" -#: src/settings_translation_file.cpp -msgid "Special key" -msgstr "Tecla especial" - -#: src/settings_translation_file.cpp -msgid "Special key for climbing/descending" -msgstr "Tecla especial pra escalar/descer" - #: src/settings_translation_file.cpp msgid "" "Specifies URL from which client fetches media instead of using UDP.\n" @@ -6429,16 +6640,19 @@ msgid "" "Note that mods or games may explicitly set a stack for certain (or all) " "items." msgstr "" +"Especifica o tamanho padrão da pilha de nós, items e ferramentas.\n" +"Note que mods e games talvez definam explicitamente um tamanho para certos " +"(ou todos) os itens." #: src/settings_translation_file.cpp -#, fuzzy 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 "" -"Extensão do aumento médio da curva da luz.\n" -"Desvio padrão do aumento médio gaussiano." +"Ampliação da faixa de aumento da curva de luz.\n" +"Controla a largura do intervalo a ser aumentado.\n" +"O desvio padrão da gaussiana do aumento da curva de luz." #: src/settings_translation_file.cpp msgid "Static spawnpoint" @@ -6457,9 +6671,8 @@ msgid "Step mountain spread noise" msgstr "Extensão do ruído da montanha de passo" #: src/settings_translation_file.cpp -#, fuzzy msgid "Strength of 3D mode parallax." -msgstr "Intensidade de paralaxe." +msgstr "Força da paralaxe do modo 3D." #: src/settings_translation_file.cpp msgid "" @@ -6467,6 +6680,9 @@ msgid "" "The 3 'boost' parameters define a range of the light\n" "curve that is boosted in brightness." msgstr "" +"Aumento da força da curva de luz.\n" +"Os 3 parâmetros de 'aumento' definem uma faixa\n" +"da curva de luz que é aumentada em brilho." #: src/settings_translation_file.cpp msgid "Strict protocol checking" @@ -6489,6 +6705,20 @@ msgid "" "server-intensive extreme water flow and to avoid vast flooding of the\n" "world surface below." msgstr "" +"Nível de superfície de água opcional posta numa camada sólida de flutuação.\n" +"A água está desativada por padrão e só será posta se este valor for " +"definido\n" +"acima de 'mgv7_floatland_ymax' - 'mgv7_floatland_taper' (o início do\n" +"afilamento superior).\n" +"*** AVISO, POTENCIAL PERIGO PARA OS MUNDOS E DESEMPENHO DO SERVIDOR ***:\n" +"Ao ativar a colocação de água, as áreas flutuantes devem ser configuradas e " +"testadas\n" +"para ser uma camada sólida, a definir 'mgv7_floatland_density' para 2.0 (ou " +"outro\n" +"valor necessário a depender de 'mgv7_np_floatland'), para evitar\n" +"fluxo de água extremo intensivo do servidor e para evitar grandes inundações " +"do\n" +"superfície do mundo abaixo." #: src/settings_translation_file.cpp msgid "Synchronous SQLite" @@ -6546,6 +6776,13 @@ msgstr "Ruído de persistência do terreno" msgid "Texture path" msgstr "Caminho para a pasta de texturas" +#: src/settings_translation_file.cpp +msgid "" +"Texture size to render the shadow map on.\n" +"This must be a power of two.\n" +"Bigger numbers create better shadowsbut it is also more expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Textures on a node may be aligned either to the node or to the world.\n" @@ -6568,16 +6805,15 @@ msgid "The URL for the content repository" msgstr "A url para o repositório de conteúdo" #: src/settings_translation_file.cpp -#, fuzzy msgid "The deadzone of the joystick" -msgstr "O identificador do joystick para usar" +msgstr "A zona morta do joystick" #: src/settings_translation_file.cpp msgid "" "The default format in which profiles are being saved,\n" "when calling `/profiler save [format]` without format." msgstr "" -"O formato padrão no qual as analises estão sendo salvas,\n" +"O formato padrão no qual as análises estão a ser gravadas,\n" "Quando chamado `/profiler save [formato]` sem formato." #: src/settings_translation_file.cpp @@ -6608,6 +6844,11 @@ msgid "" "Default is 1.0 (1/2 node).\n" "Requires waving liquids to be enabled." msgstr "" +"A altura máxima da superfície de líquidos com ondas.\n" +"4.0 = Altura da onda é dois nós.\n" +"0.0 = Onda nem se move.\n" +"O padrão é 1.0 (meio nó).\n" +"Requer ondas em líquidos ativada." #: src/settings_translation_file.cpp msgid "The network interface that the server listens on." @@ -6623,7 +6864,6 @@ msgstr "" "servidor e dos modificadores." #: src/settings_translation_file.cpp -#, fuzzy msgid "" "The radius of the volume of blocks around every player that is subject to " "the\n" @@ -6633,29 +6873,29 @@ msgid "" "maintained.\n" "This should be configured together with active_object_send_range_blocks." msgstr "" -"O raio do volume de blocos em volta de cada jogador que é sujeito a coisas " -"de bloco ativo, em mapblocks (16 nós).\n" -"Em blocos ativos, objetos são carregados e ABMs executam.\n" -"Isto é também o alcançe mínimo em que objetos ativos(mobs) são mantidos.\n" -"Isto deve ser configurado junto com o alcance_objeto_ativo." +"O raio do volume dos blocos em torno de cada jogador que está sujeito ao\n" +"material de bloco ativo, declarado em mapblocks (16 nós).\n" +"Nos blocos ativos, os objetos são carregados e os ABMs executados.\n" +"Este também é o intervalo mínimo no qual os objetos ativos (mobs) são " +"mantidos.\n" +"Isso deve ser configurado junto com active_object_send_range_blocks." #: src/settings_translation_file.cpp #, fuzzy msgid "" -"The rendering back-end for Irrlicht.\n" +"The rendering back-end.\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.\n" "Shaders are supported by OpenGL (desktop only) and OGLES2 (experimental)" msgstr "" -"Renderizador de fundo para o Irrlicht.\n" -"Uma reinicialização é necessária após alterar isso.\n" -"Note: no Android, use o OGLES1 caso em dúvida! A app pode falhar ao abrir em " -"outro caso.\n" -"Em outras plataformas, OpenGL é recomdado, e é o único driver com suporte " -"a \n" -"sombreamento atualmente." +"O back-end de renderização para Irrlicht.\n" +"É necessário reiniciar após alterar isso.\n" +"Nota: No Android, use OGLES1 se não tiver certeza! A app pode falhar ao " +"iniciar de outra forma.\n" +"Em outras plataformas, OpenGL é recomendado.\n" +"Shaders são suportados por OpenGL (somente desktop) e OGLES2 (experimental)" #: src/settings_translation_file.cpp msgid "" @@ -6705,13 +6945,12 @@ msgstr "" "quando pressionando uma combinação de botão no joystick." #: src/settings_translation_file.cpp -#, fuzzy msgid "" "The time in seconds it takes between repeated node placements when holding\n" "the place button." msgstr "" -"O tempo em segundos entre repetidos cliques direitos ao segurar o botão " -"direito do mouse." +"O tempo em segundos que leva entre as colocações de nó repetidas ao segurar\n" +"o botão de pôr." #: src/settings_translation_file.cpp msgid "The type of joystick" @@ -6771,7 +7010,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Toggle camera mode key" -msgstr "Tecla de alternância do modo de câmera" +msgstr "Tecla de alternância do modo de câmara" #: src/settings_translation_file.cpp msgid "Tooltip delay" @@ -6790,7 +7029,6 @@ msgid "Trilinear filtering" msgstr "Filtro tri-linear" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "True = 256\n" "False = 128\n" @@ -6798,7 +7036,7 @@ msgid "" msgstr "" "True = 256\n" "False = 128\n" -"Útil para fazer o mini-mapa mais fluido em computadores mais lentos." +"Útil para suavizar o minimapa em máquinas mais lentas." #: src/settings_translation_file.cpp msgid "Trusted mods" @@ -6840,9 +7078,8 @@ msgid "Upper Y limit of dungeons." msgstr "Limite topo Y de dungeons." #: src/settings_translation_file.cpp -#, fuzzy msgid "Upper Y limit of floatlands." -msgstr "Limite topo Y de dungeons." +msgstr "Limite máximo Y para as ilhas flutuantes." #: src/settings_translation_file.cpp msgid "Use 3D cloud look instead of flat." @@ -6881,6 +7118,16 @@ msgid "" "If set to 0, MSAA is disabled.\n" "A restart is required after changing this option." msgstr "" +"Use o anti-serrilhamento de várias amostras (MSAA) para suavizar as bordas " +"do bloco.\n" +"Este algoritmo suaviza a janela de visualização 3D enquanto mantém a imagem " +"nítida,\n" +"mas não afeta o interior das texturas\n" +"(que é especialmente perceptível com texturas transparentes).\n" +"Espaços visíveis aparecem entre os nós quando os sombreadores são " +"desativados.\n" +"Se definido como 0, MSAA é desativado.\n" +"É necessário reiniciar após alterar esta opção." #: src/settings_translation_file.cpp msgid "Use trilinear filtering when scaling textures." @@ -6984,7 +7231,8 @@ msgid "Viewing range" msgstr "Intervalo de visualização" #: src/settings_translation_file.cpp -msgid "Virtual joystick triggers aux button" +#, fuzzy +msgid "Virtual joystick triggers Aux1 button" msgstr "Joystick virtual ativa botão auxiliar" #: src/settings_translation_file.cpp @@ -6992,13 +7240,12 @@ 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." +"Volume de todos os sons.\n" +"Requer que o sistema de som esteja ativado." #: src/settings_translation_file.cpp msgid "" @@ -7043,24 +7290,20 @@ msgid "Waving leaves" msgstr "Folhas ondulantes" #: src/settings_translation_file.cpp -#, fuzzy msgid "Waving liquids" msgstr "Líquidos ondulantes" #: src/settings_translation_file.cpp -#, fuzzy msgid "Waving liquids wave height" -msgstr "Altura da onda de água ondulante" +msgstr "Altura da onda nos líquidos ondulantes" #: src/settings_translation_file.cpp -#, fuzzy msgid "Waving liquids wave speed" -msgstr "Velocidade da onda de água ondulante" +msgstr "Velocidade de balanço da água" #: src/settings_translation_file.cpp -#, fuzzy msgid "Waving liquids wavelength" -msgstr "Comprimento de onda da água de ondulação" +msgstr "Comprimento de balanço da água" #: src/settings_translation_file.cpp msgid "Waving plants" @@ -7089,14 +7332,14 @@ msgstr "" "vídeo que não suportem propriedades baixas de texturas voltam do hardware." #: src/settings_translation_file.cpp +#, fuzzy msgid "" "When using bilinear/trilinear/anisotropic filters, low-resolution textures\n" "can be blurred, so automatically upscale them with nearest-neighbor\n" "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" +"memory. Powers of 2 are recommended. This setting is ONLY applies if\n" +"bilinear/trilinear/anisotropic filtering is enabled.\n" "This is also used as the base node texture size for world-aligned\n" "texture autoscaling." msgstr "" @@ -7114,14 +7357,14 @@ msgstr "" "texturas." #: src/settings_translation_file.cpp -#, fuzzy 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 "" -"Se forem utilizadas fontes freetype, requer suporte a freetype para ser " -"compilado." +"Se as fontes FreeType são usadas, requer que suporte FreeType tenha sido " +"compilado.\n" +"Se desativado, fontes de bitmap e de vetores XML são usadas em vez disso." #: src/settings_translation_file.cpp msgid "" @@ -7169,6 +7412,10 @@ msgid "" "In-game, you can toggle the mute state with the mute key or by using the\n" "pause menu." msgstr "" +"Quando mutar os sons. Pode mutar os sons a qualquer hora, a não ser\n" +"que o sistema de som esteja desativado (enable_sound=false).\n" +"No jogo, pode ativar o estado de mutado com o botão de mutar\n" +"ou a usar o menu de pausa." #: src/settings_translation_file.cpp msgid "" @@ -7178,7 +7425,8 @@ msgstr "" "premir F5)." #: src/settings_translation_file.cpp -msgid "Width component of the initial window size." +#, fuzzy +msgid "Width component of the initial window size. Ignored in fullscreen mode." msgstr "Largura da janela inicial." #: src/settings_translation_file.cpp @@ -7255,6 +7503,12 @@ msgid "" "For a solid floatland layer, this controls the height of hills/mountains.\n" "Must be less than or equal to half the distance between the Y limits." msgstr "" +"Distância de Y sobre a qual as ilhas flutuantes diminuem de densidade total " +"para nenhuma densidade.\n" +"O afunilamento começa nesta distância do limite Y.\n" +"Para uma ilha flutuante sólida, isso controla a altura das colinas / " +"montanhas.\n" +"Deve ser menor ou igual a metade da distância entre os limites Y." #: src/settings_translation_file.cpp msgid "Y-level of average terrain surface." @@ -7284,6 +7538,12 @@ msgid "" "9 - best compression, slowest\n" "(levels 1-3 use Zlib's \"fast\" method, 4-9 use the normal method)" msgstr "" +"Nível de compressão ZLib a ser usada ao gravar mapblocks no disco.\n" +"-1 - Nível de compressão padrão do Zlib\n" +"0 - Nenhuma compressão; o mais rápido\n" +"9 - Melhor compressão; o mais devagar\n" +"(níveis 1-3 usam método \"rápido\" do Zlib, enquanto que 4-9 usam método " +"normal)" #: src/settings_translation_file.cpp msgid "" @@ -7293,18 +7553,25 @@ msgid "" "9 - best compression, slowest\n" "(levels 1-3 use Zlib's \"fast\" method, 4-9 use the normal method)" msgstr "" +"Nível de compressão ZLib a ser usada ao mandar mapblocks para o cliente.\n" +"-1 - Nível de compressão padrão do Zlib\n" +"0 - Nenhuma compressão; o mais rápido\n" +"9 - Melhor compressão; o mais devagar\n" +"(níveis 1-3 usam método \"rápido\" do Zlib, enquanto que 4-9 usam método " +"normal)" #: src/settings_translation_file.cpp msgid "cURL file download timeout" msgstr "Tempo limite de descarregamento de ficheiro via cURL" #: src/settings_translation_file.cpp -msgid "cURL parallel limit" -msgstr "limite paralelo de cURL" +#, fuzzy +msgid "cURL interactive timeout" +msgstr "Tempo limite de cURL" #: src/settings_translation_file.cpp -msgid "cURL timeout" -msgstr "Tempo limite de cURL" +msgid "cURL parallel limit" +msgstr "limite paralelo de cURL" #~ msgid "" #~ "0 = parallax occlusion with slope information (faster).\n" @@ -7313,6 +7580,9 @@ msgstr "Tempo limite de cURL" #~ "0 = oclusão paralaxe com dados de inclinação (mais rápido).\n" #~ "1 = mapeamento de relevo (mais lento, mais preciso)." +#~ msgid "Address / Port" +#~ msgstr "Endereço / Porta" + #~ msgid "" #~ "Adjust the gamma encoding for the light tables. Higher numbers are " #~ "brighter.\n" @@ -7333,6 +7603,9 @@ msgstr "Tempo limite de cURL" #~ msgid "Back" #~ msgstr "Voltar" +#~ msgid "Bits per pixel (aka color depth) in fullscreen mode." +#~ msgstr "Bits por pixel (profundidade de cor) no modo de ecrã inteiro." + #~ msgid "Bump Mapping" #~ msgstr "Bump mapping" @@ -7373,12 +7646,25 @@ msgstr "Tempo limite de cURL" #~ 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 "Credits" +#~ msgstr "Méritos" + #~ msgid "Crosshair color (R,G,B)." #~ msgstr "Cor do cursor (R,G,B)." +#~ msgid "Damage enabled" +#~ msgstr "Dano ativado" + #~ msgid "Darkness sharpness" #~ msgstr "Nitidez da escuridão" +#~ msgid "" +#~ "Default timeout for cURL, stated in milliseconds.\n" +#~ "Only has an effect if compiled with cURL." +#~ msgstr "" +#~ "Tempo limite por defeito para cURL, em milissegundos.\n" +#~ "Só tem efeito se compilado com cURL." + #~ msgid "" #~ "Defines areas of floatland smooth terrain.\n" #~ "Smooth floatlands occur when noise > 0." @@ -7446,6 +7732,15 @@ msgstr "Tempo limite de cURL" #~ msgid "FPS in pause menu" #~ msgstr "FPS em menu de pausa" +#~ msgid "Fallback font shadow" +#~ msgstr "Sombra da fonte alternativa" + +#~ msgid "Fallback font shadow alpha" +#~ msgstr "Canal de opacidade sombra da fonte alternativa" + +#~ msgid "Fallback font size" +#~ msgstr "Tamanho da fonte alternativa" + #~ msgid "Floatland base height noise" #~ msgstr "Altura base de ruído de terra flutuante" @@ -7455,6 +7750,12 @@ msgstr "Tempo limite de cURL" #~ msgid "Font shadow alpha (opaqueness, between 0 and 255)." #~ msgstr "Opacidade da sombra da fonte (entre 0 e 255)." +#~ msgid "Font size of the fallback font in point (pt)." +#~ msgstr "Tamanho da fonte reserva em pontos (pt)." + +#~ msgid "Full screen BPP" +#~ msgstr "BPP em ecrã inteiro" + #~ msgid "Gamma" #~ msgstr "Gama" @@ -7464,6 +7765,9 @@ msgstr "Tempo limite de cURL" #~ msgid "Generate normalmaps" #~ msgstr "Gerar mapa de normais" +#~ msgid "High-precision FPU" +#~ msgstr "FPU de alta precisão" + #~ msgid "IPv6 support." #~ msgstr "Suporte IPv6." @@ -7482,6 +7786,9 @@ msgstr "Tempo limite de cURL" #~ msgid "Main menu style" #~ msgstr "Estilo do menu principal" +#~ msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." +#~ msgstr "Faz o DirectX trabalhar com LuaJIT. Desative se causa problemas." + #~ msgid "Minimap in radar mode, Zoom x2" #~ msgstr "Minimapa em modo radar, zoom 2x" @@ -7494,6 +7801,9 @@ msgstr "Tempo limite de cURL" #~ msgid "Minimap in surface mode, Zoom x4" #~ msgstr "Minimapa em modo de superfície, zoom 4x" +#~ msgid "Name / Password" +#~ msgstr "Nome / Palavra-passe" + #~ msgid "Name/Password" #~ msgstr "Nome/palavra-passe" @@ -7512,6 +7822,12 @@ msgstr "Tempo limite de cURL" #~ msgid "Ok" #~ msgstr "Ok" +#~ msgid "" +#~ "Opaqueness (alpha) of the shadow behind the fallback font, between 0 and " +#~ "255." +#~ msgstr "" +#~ "Opacidade (alpha) da sombra atrás da fonte alternativa, entre 0 e 255." + #~ msgid "Overall bias of parallax occlusion effect, usually scale/2." #~ msgstr "" #~ "Enviesamento do efeito de oclusão de paralaxe, normalmente escala/2." @@ -7549,6 +7865,9 @@ msgstr "Tempo limite de cURL" #~ msgid "Projecting dungeons" #~ msgstr "Projetando dungeons" +#~ msgid "PvP enabled" +#~ msgstr "PvP ativado" + #~ msgid "Reset singleplayer world" #~ msgstr "Reiniciar mundo singleplayer" @@ -7558,6 +7877,19 @@ msgstr "Tempo limite de cURL" #~ msgid "Shadow limit" #~ msgstr "Limite de mapblock" +#~ msgid "" +#~ "Shadow offset (in pixels) of the fallback font. If 0, then shadow will " +#~ "not be drawn." +#~ msgstr "" +#~ "Distância (em pixels) da sombra da fonte de backup. Se 0, então nenhuma " +#~ "sombra será desenhada." + +#~ msgid "Special" +#~ msgstr "Especial" + +#~ msgid "Special key" +#~ msgstr "Tecla especial" + #~ msgid "Start Singleplayer" #~ msgstr "Iniciar Um Jogador" @@ -7608,3 +7940,6 @@ msgstr "Tempo limite de cURL" #~ msgid "Yes" #~ msgstr "Sim" + +#~ msgid "needs_fallback_font" +#~ msgstr "no" diff --git a/po/pt_BR/minetest.po b/po/pt_BR/minetest.po index 295a59bc5..edb8b8324 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: 2021-02-23 19:03+0100\n" +"POT-Creation-Date: 2021-06-16 18:27+0200\n" "PO-Revision-Date: 2021-02-23 15:50+0000\n" "Last-Translator: Victor Barcelos Lacerda \n" "Language-Team: Portuguese (Brazil) 1;\n" "X-Generator: Weblate 4.5\n" +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Clear the out chat queue" +msgstr "Tamanho máximo da fila do chat" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Empty command." +msgstr "Comandos de Chat" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Exit to main menu" +msgstr "Sair para o menu" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Invalid command: " +msgstr "Comando local" + +#: builtin/client/chatcommands.lua +msgid "Issued command: " +msgstr "" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "List online players" +msgstr "Um jogador" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Online players: " +msgstr "Um jogador" + +#: builtin/client/chatcommands.lua +msgid "The out chat queue is now empty." +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "This command is disabled by server." +msgstr "" + #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" msgstr "Reviver" @@ -22,6 +64,38 @@ msgstr "Reviver" msgid "You died" msgstr "Você morreu" +#: builtin/client/death_formspec.lua +#, fuzzy +msgid "You died." +msgstr "Você morreu" + +#: builtin/common/chatcommands.lua +#, fuzzy +msgid "Available commands:" +msgstr "Comando local" + +#: builtin/common/chatcommands.lua +#, fuzzy +msgid "Available commands: " +msgstr "Comando local" + +#: builtin/common/chatcommands.lua +msgid "Command not available: " +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "Get help for commands" +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "" +"Use '.help ' to get more information, or '.help all' to list everything." +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "[all | ]" +msgstr "" + #: builtin/fstk/dialog.lua builtin/fstk/ui.lua src/gui/modalMenu.cpp msgid "OK" msgstr "OK" @@ -533,7 +607,7 @@ msgstr "< Voltar para as configurações" msgid "Browse" msgstr "Procurar" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_settings.lua msgid "Disabled" msgstr "Desabilitado" @@ -577,7 +651,7 @@ msgstr "Restaurar Padrão" msgid "Scale" msgstr "Escala" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua msgid "Search" msgstr "Buscar" @@ -713,6 +787,43 @@ msgstr "" "Tente reativar a lista de servidores públicos e verifique sua conexão com a " "internet." +#: builtin/mainmenu/tab_about.lua +msgid "About" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active Contributors" +msgstr "Colaboradores Ativos" + +#: builtin/mainmenu/tab_about.lua +#, fuzzy +msgid "Active renderer:" +msgstr "Alcance para envio de objetos ativos" + +#: builtin/mainmenu/tab_about.lua +msgid "Core Developers" +msgstr "Desenvolvedores Principais" + +#: builtin/mainmenu/tab_about.lua +msgid "Open User Data Directory" +msgstr "Abrir diretório de dados do usuário" + +#: builtin/mainmenu/tab_about.lua +msgid "" +"Opens the directory that contains user-provided worlds, games, mods,\n" +"and texture packs in a file manager / explorer." +msgstr "" +"Abre o diretório que contém mundos, jogos, mods fornecidos pelo usuário,\n" +"e pacotes de textura em um gerenciador / navegador de arquivos." + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Contributors" +msgstr "Colaboradores Anteriores" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Core Developers" +msgstr "Desenvolvedores Principais Anteriores" + #: builtin/mainmenu/tab_content.lua msgid "Browse online content" msgstr "Procurar conteúdo online" @@ -753,38 +864,6 @@ msgstr "Desinstalar Pacote" msgid "Use Texture Pack" msgstr "Usar Pacote de Texturas" -#: builtin/mainmenu/tab_credits.lua -msgid "Active Contributors" -msgstr "Colaboradores Ativos" - -#: builtin/mainmenu/tab_credits.lua -msgid "Core Developers" -msgstr "Desenvolvedores Principais" - -#: builtin/mainmenu/tab_credits.lua -msgid "Credits" -msgstr "Créditos" - -#: builtin/mainmenu/tab_credits.lua -msgid "Open User Data Directory" -msgstr "Abrir diretório de dados do usuário" - -#: builtin/mainmenu/tab_credits.lua -msgid "" -"Opens the directory that contains user-provided worlds, games, mods,\n" -"and texture packs in a file manager / explorer." -msgstr "" -"Abre o diretório que contém mundos, jogos, mods fornecidos pelo usuário,\n" -"e pacotes de textura em um gerenciador / navegador de arquivos." - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Contributors" -msgstr "Colaboradores Anteriores" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Core Developers" -msgstr "Desenvolvedores Principais Anteriores" - #: builtin/mainmenu/tab_local.lua msgid "Announce Server" msgstr "Anunciar Servidor" @@ -813,7 +892,7 @@ msgstr "Hospedar Servidor" msgid "Install games from ContentDB" msgstr "Instalar jogos do ContentDB" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Name" msgstr "Nome" @@ -825,7 +904,7 @@ msgstr "Novo" msgid "No world created or selected!" msgstr "Nenhum mundo criado ou selecionado!" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Password" msgstr "Senha" @@ -833,7 +912,7 @@ msgstr "Senha" msgid "Play Game" msgstr "Jogar" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Port" msgstr "Porta" @@ -854,8 +933,13 @@ msgid "Start Game" msgstr "Iniciar Jogo" #: builtin/mainmenu/tab_online.lua -msgid "Address / Port" -msgstr "Endereço / Porta" +#, fuzzy +msgid "Address" +msgstr "- Endereço: " + +#: builtin/mainmenu/tab_online.lua src/client/keycode.cpp +msgid "Clear" +msgstr "Limpar" #: builtin/mainmenu/tab_online.lua msgid "Connect" @@ -865,34 +949,46 @@ msgstr "Conectar" msgid "Creative mode" msgstr "Modo criativo" +#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "Damage enabled" -msgstr "Dano habilitado" +#, fuzzy +msgid "Damage / PvP" +msgstr "Dano" #: builtin/mainmenu/tab_online.lua msgid "Del. Favorite" msgstr "Rem. Favorito" #: builtin/mainmenu/tab_online.lua -msgid "Favorite" +#, fuzzy +msgid "Favorites" msgstr "Favorito" +#: builtin/mainmenu/tab_online.lua +msgid "Incompatible Servers" +msgstr "" + #: builtin/mainmenu/tab_online.lua msgid "Join Game" msgstr "Entrar em um Jogo" -#: builtin/mainmenu/tab_online.lua -msgid "Name / Password" -msgstr "Nome / Senha" - #: builtin/mainmenu/tab_online.lua msgid "Ping" msgstr "Ping" -#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "PvP enabled" -msgstr "PvP habilitado" +#, fuzzy +msgid "Public Servers" +msgstr "Anunciar Servidor" + +#: builtin/mainmenu/tab_online.lua +msgid "Refresh" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +#, fuzzy +msgid "Server Description" +msgstr "Descrição do servidor" #: builtin/mainmenu/tab_settings.lua msgid "2x" @@ -934,10 +1030,31 @@ msgstr "Mudar teclas" msgid "Connected Glass" msgstr "Vidro conectado" +#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp +#, fuzzy +msgid "Dynamic shadows" +msgstr "Fonte de sombra" + +#: builtin/mainmenu/tab_settings.lua +msgid "Dynamic shadows: " +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Fancy Leaves" msgstr "Folhas com transparência" +#: builtin/mainmenu/tab_settings.lua +msgid "High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Low" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Medium" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Mipmap" msgstr "Mipmap (filtro)" @@ -1026,6 +1143,14 @@ msgstr "Nível de sensibilidade ao toque (px)" msgid "Trilinear Filter" msgstr "Filtragem tri-linear" +#: builtin/mainmenu/tab_settings.lua +msgid "Ultra High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Very Low" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Waving Leaves" msgstr "Folhas Balançam" @@ -1099,18 +1224,6 @@ msgstr "Arquivo de senha fornecido falhou em abrir : " msgid "Provided world path doesn't exist: " msgstr "Caminho informado para o 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" - #: src/client/game.cpp msgid "" "\n" @@ -1353,6 +1466,11 @@ msgstr "MB/s" msgid "Minimap currently disabled by game or mod" msgstr "Minipapa atualmente desabilitado por jogo ou mod" +#: src/client/game.cpp +#, fuzzy +msgid "Multiplayer" +msgstr "Um jogador" + #: src/client/game.cpp msgid "Noclip mode disabled" msgstr "Modo atravessar paredes desabilitado" @@ -1494,10 +1612,6 @@ msgstr "Tecla voltar" msgid "Caps Lock" msgstr "Caps Lock" -#: src/client/keycode.cpp -msgid "Clear" -msgstr "Limpar" - #: src/client/keycode.cpp msgid "Control" msgstr "Ctrl" @@ -1792,7 +1906,8 @@ msgid "Proceed" msgstr "Continuar" #: src/gui/guiKeyChangeMenu.cpp -msgid "\"Special\" = climb down" +#, fuzzy +msgid "\"Aux1\" = climb down" msgstr "\"Especial\" = descer" #: src/gui/guiKeyChangeMenu.cpp @@ -1803,10 +1918,18 @@ msgstr "Avanço frontal automático" msgid "Automatic jumping" msgstr "Pulo automático" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Aux1" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Backward" msgstr "Voltar" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Block bounds" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Change camera" msgstr "Mudar camera" @@ -1897,10 +2020,6 @@ msgstr "Captura de tela" msgid "Sneak" msgstr "Esgueirar" -#: src/gui/guiKeyChangeMenu.cpp -msgid "Special" -msgstr "Especial" - #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle HUD" msgstr "Ativar interface" @@ -1988,9 +2107,10 @@ msgstr "" "toque." #: 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 " +"(Android) Use virtual joystick to trigger \"Aux1\" button.\n" +"If enabled, virtual joystick will also tap \"Aux1\" button when out of main " "circle." msgstr "" "(Android) Use joystick virtual para ativar botão \"aux\".\n" @@ -2363,6 +2483,16 @@ msgstr "Salvar automaticamente o tamanho da tela" msgid "Autoscaling mode" msgstr "Modo de alto escalamento" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Aux1 key" +msgstr "Tecla para Pular" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Aux1 key for climbing/descending" +msgstr "Tecla especial pra escalar/descer" + #: src/settings_translation_file.cpp msgid "Backward key" msgstr "Tecla para andar para trás" @@ -2407,12 +2537,6 @@ msgstr "Parâmetros de ruído e umidade da API de Bioma" msgid "Biome noise" msgstr "Ruído do bioma" -#: src/settings_translation_file.cpp -msgid "Bits per pixel (aka color depth) in fullscreen mode." -msgstr "" -"Bits por pixel (Também conhecido como profundidade de cor) no modo de tela " -"cheia." - #: src/settings_translation_file.cpp msgid "Block send optimize distance" msgstr "Distância otimizada de envio de bloco" @@ -2518,6 +2642,11 @@ msgstr "" "Centro da faixa de aumento da curva de luz.\n" "Onde 0.0 é o nível mínimo de luz, 1.0 é o nível máximo de luz." +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Chat command time message threshold" +msgstr "Limite da mensagem de expulsão" + #: src/settings_translation_file.cpp msgid "Chat font size" msgstr "Tamanho da fonte do chat" @@ -2614,6 +2743,11 @@ msgstr "Nuvens no menu" msgid "Colored fog" msgstr "Névoa colorida" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Colored shadows" +msgstr "Névoa colorida" + #: src/settings_translation_file.cpp msgid "" "Comma-separated list of flags to hide in the content repository.\n" @@ -2837,11 +2971,10 @@ msgstr "Tamanho padrão de stack" #: src/settings_translation_file.cpp msgid "" -"Default timeout for cURL, stated in milliseconds.\n" -"Only has an effect if compiled with cURL." +"Define shadow filtering quality\n" +"This simulates the soft shadows effect by applying a PCF or poisson disk\n" +"but also uses more resources." msgstr "" -"Tempo limite padrão para cURL, indicado em milissegundos.\n" -"Só tem efeito se compilado com cURL." #: src/settings_translation_file.cpp msgid "Defines areas where trees have apples." @@ -3017,6 +3150,12 @@ msgstr "" "Habilitar suporte a mods de LuaScript no cliente.\n" "Esse suporte é experimental e a API pode mudar." +#: src/settings_translation_file.cpp +msgid "" +"Enable colored shadows. \n" +"On true translucent nodes cast colored shadows. This is expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable console window" msgstr "Habilitar janela de console" @@ -3042,6 +3181,13 @@ msgstr "Habilitar Mod Security (Segurança nos mods)" msgid "Enable players getting damage and dying." msgstr "Permitir que os jogadores possam sofrer dano e morrer." +#: src/settings_translation_file.cpp +msgid "" +"Enable poisson disk filtering.\n" +"On true uses poisson disk to make \"soft shadows\". Otherwise uses PCF " +"filtering." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable random user input (only used for testing)." msgstr "Habilitar entrada de comandos aleatórios (apenas usado para testes)." @@ -3202,18 +3348,6 @@ msgstr "Fator de balanço em queda" msgid "Fallback font path" msgstr "Fonte reserva" -#: src/settings_translation_file.cpp -msgid "Fallback font shadow" -msgstr "Sombra da fonte alternativa" - -#: src/settings_translation_file.cpp -msgid "Fallback font shadow alpha" -msgstr "Alpha da sombra da fonte alternativa" - -#: src/settings_translation_file.cpp -msgid "Fallback font size" -msgstr "Tamanho da fonte alternativa" - #: src/settings_translation_file.cpp msgid "Fast key" msgstr "Tecla de correr" @@ -3231,8 +3365,9 @@ msgid "Fast movement" msgstr "Modo rápido" #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"Fast movement (via the \"special\" key).\n" +"Fast movement (via the \"Aux1\" key).\n" "This requires the \"fast\" privilege on the server." msgstr "" "Movimento rápido (através da tecla \"especial\").\n" @@ -3268,11 +3403,12 @@ msgid "Filmic tone mapping" msgstr "Filmic Tone Mapping" #: src/settings_translation_file.cpp +#, fuzzy msgid "" "Filtered textures can blend RGB values with fully-transparent neighbors,\n" -"which PNG optimizers usually discard, sometimes resulting in a dark or\n" -"light edge to transparent textures. Apply this filter to clean that up\n" -"at texture load time." +"which PNG optimizers usually discard, often resulting in dark or\n" +"light edges to transparent textures. Apply a filter to clean that up\n" +"at texture load time. This is automatically enabled if mipmapping is enabled." msgstr "" "Texturas filtradas podem misturar valores RGB com os vizinhos totalmente \n" "transparentes, o qual otimizadores PNG geralmente descartam, por vezes \n" @@ -3372,10 +3508,6 @@ msgstr "Tamanho da fonte" msgid "Font size of the default font in point (pt)." msgstr "Tamanho da fonte padrão em pontos (pt)." -#: src/settings_translation_file.cpp -msgid "Font size of the fallback font in point (pt)." -msgstr "Tamanho da fonte reserva em pontos (pt)." - #: src/settings_translation_file.cpp msgid "Font size of the monospace font in point (pt)." msgstr "Tamanho da fonte de largura fixa em pontos (pt)." @@ -3489,10 +3621,6 @@ msgstr "" msgid "Full screen" msgstr "Tela cheia" -#: src/settings_translation_file.cpp -msgid "Full screen BPP" -msgstr "Tela cheia BPP" - #: src/settings_translation_file.cpp msgid "Fullscreen mode." msgstr "Modo tela cheia." @@ -3605,7 +3733,9 @@ msgid "Heat noise" msgstr "Ruído nas cavernas #1" #: src/settings_translation_file.cpp -msgid "Height component of the initial window size." +#, fuzzy +msgid "" +"Height component of the initial window size. Ignored in fullscreen mode." msgstr "Altura da janela inicial." #: src/settings_translation_file.cpp @@ -3616,10 +3746,6 @@ msgstr "Ruído de altura" msgid "Height select noise" msgstr "Parâmetros de ruido de seleção de altura" -#: src/settings_translation_file.cpp -msgid "High-precision FPU" -msgstr "FPU de alta precisão" - #: src/settings_translation_file.cpp msgid "Hill steepness" msgstr "Inclinação dos morros" @@ -3863,9 +3989,9 @@ msgstr "" "para não gastar a potência da CPU desnecessariamente." #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"If disabled, \"special\" key is used to fly fast if both fly and fast mode " -"are\n" +"If disabled, \"Aux1\" key is used to fly fast if both fly and fast mode are\n" "enabled." msgstr "" "Se estiver desabilitado, a tecla \"especial será usada para voar rápido se " @@ -3895,9 +4021,10 @@ msgstr "" "Isso requer o privilégio \"noclip\" no servidor." #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"If enabled, \"special\" key instead of \"sneak\" key is used for climbing " -"down and\n" +"If enabled, \"Aux1\" key instead of \"Sneak\" key is used for climbing down " +"and\n" "descending." msgstr "" "Se habilitado, a tecla \"especial\" em vez de \"esgueirar\" servirá para " @@ -3954,6 +4081,12 @@ msgstr "" "Se a restrição de CSM para alcançe de nós está habilitado, chamadas get_node " "são limitadas a está distancia do player até o nó." +#: src/settings_translation_file.cpp +msgid "" +"If the execution of a chat command takes longer than this specified time in\n" +"seconds, add the time information to the chat command message" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "If the file size of debug.txt exceeds the number of megabytes specified in\n" @@ -5130,10 +5263,6 @@ msgstr "" "Fazer cores de névoa e céu dependerem do dia (amanhecer/pôr do sol) e exibir " "a direção." -#: src/settings_translation_file.cpp -msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." -msgstr "Faz o DirectX trabalhar com LuaJIT. Desative se causa problemas." - #: src/settings_translation_file.cpp msgid "Makes all liquids opaque" msgstr "Torna todos os líquidos opacos" @@ -5225,6 +5354,11 @@ msgstr "Limite de geração de mapa" msgid "Map save interval" msgstr "Intervalo de salvamento de mapa" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Map update time" +msgstr "Período de atualização dos Líquidos" + #: src/settings_translation_file.cpp msgid "Mapblock limit" msgstr "Limite de mapblock" @@ -5336,6 +5470,10 @@ msgid "Maximum FPS when the window is not focused, or when the game is paused." msgstr "" "FPS máximo quando a janela não está com foco, ou quando o jogo é pausado." +#: src/settings_translation_file.cpp +msgid "Maximum distance to render shadows." +msgstr "" + #: src/settings_translation_file.cpp msgid "Maximum forceloaded blocks" msgstr "Máximo de blocos carregados forçadamente" @@ -5467,11 +5605,20 @@ msgstr "" "0 para desabilitar a fila e -1 para a tornar ilimitada." #: src/settings_translation_file.cpp -msgid "Maximum time in ms a file download (e.g. a mod download) may take." +#, fuzzy +msgid "" +"Maximum time a file download (e.g. a mod download) may take, stated in " +"milliseconds." msgstr "" "Tempo máximo em ms para download de arquivo (por exemplo, um arquivo ZIP de " "um modificador) pode tomar." +#: src/settings_translation_file.cpp +msgid "" +"Maximum time an interactive request (e.g. server list fetch) may take, " +"stated in milliseconds." +msgstr "" + #: src/settings_translation_file.cpp msgid "Maximum users" msgstr "Limite de usuários" @@ -5714,11 +5861,6 @@ msgid "" "Opaqueness (alpha) of the shadow behind the default font, between 0 and 255." msgstr "Opacidade (alpha) das sombras atrás da fonte padrão, entre 0 e 255." -#: src/settings_translation_file.cpp -msgid "" -"Opaqueness (alpha) of the shadow behind the fallback font, between 0 and 255." -msgstr "Opacidade (alpha) da sombra atrás da fonte alternativa, entre 0 e 255." - #: src/settings_translation_file.cpp msgid "" "Open the pause menu when the window's focus is lost. Does not pause if a " @@ -5844,6 +5986,11 @@ msgstr "Distância de transferência do jogador" msgid "Player versus player" msgstr "Jogador contra jogador" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Poisson filtering" +msgstr "Filtragem bi-linear" + #: src/settings_translation_file.cpp msgid "" "Port to connect to (UDP).\n" @@ -6239,6 +6386,43 @@ msgstr "" "Configura o tamanho máximo de caracteres de uma mensagem enviada por " "clientes." +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow strength.\n" +"Lower value means lighter shadows, higher value means darker shadows." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow update time.\n" +"Lower value means shadows and map updates faster, but it consume more " +"resources.\n" +"Minimun value 0.001 seconds max value 0.2 seconds" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the soft shadow radius size.\n" +"Lower values mean sharper shadows bigger values softer.\n" +"Minimun value 1.0 and max value 10.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the tilt of Sun/Moon orbit in degrees\n" +"Value of 0 means no tilt / vertical orbit.\n" +"Minimun value 0.0 and max value 60.0" +msgstr "" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "" +"Set to true to enable Shadow Mapping.\n" +"Requires shaders to be enabled." +msgstr "" +"Definido como true habilita o balanço das folhas.\n" +"Requer que os sombreadores estejam ativados." + #: src/settings_translation_file.cpp msgid "" "Set to true to enable waving leaves.\n" @@ -6263,6 +6447,13 @@ msgstr "" "Definido como true permite balanço de plantas.\n" "Requer que os sombreadores estejam ativados." +#: src/settings_translation_file.cpp +msgid "" +"Sets shadow texture quality to 32 bits.\n" +"On false, 16 bits texture will be used.\n" +"This can cause much more artifacts in the shadow." +msgstr "" + #: src/settings_translation_file.cpp msgid "Shader path" msgstr "Sombreadores" @@ -6278,6 +6469,24 @@ msgstr "" "performance em algumas placas de vídeo.\n" "Só funcionam com o modo de vídeo OpenGL." +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Shadow filter quality" +msgstr "Qualidade da Captura de tela;" + +#: src/settings_translation_file.cpp +msgid "Shadow map max distance in nodes to render shadows" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture in 32 bits" +msgstr "" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Shadow map texture size" +msgstr "Tamanho mínimo da textura" + #: src/settings_translation_file.cpp msgid "" "Shadow offset (in pixels) of the default font. If 0, then shadow will not be " @@ -6287,12 +6496,8 @@ msgstr "" "será desenhada." #: src/settings_translation_file.cpp -msgid "" -"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not " -"be drawn." +msgid "Shadow strength" msgstr "" -"Distância (em pixels) da sombra da fonte de backup. Se 0, então nenhuma " -"sombra será desenhada." #: src/settings_translation_file.cpp msgid "Shape of the minimap. Enabled = round, disabled = square." @@ -6348,6 +6553,10 @@ msgstr "" "aumentará o percentual de hit do cache, reduzindo os dados sendo copiados do " "encadeamento principal, reduzindo assim o jitter." +#: src/settings_translation_file.cpp +msgid "Sky Body Orbit Tilt" +msgstr "" + #: src/settings_translation_file.cpp msgid "Slice w" msgstr "Fatia w" @@ -6407,18 +6616,15 @@ msgstr "Velocidade da furtividade" msgid "Sneaking speed, in nodes per second." msgstr "Velocidade ao esgueirar-se, em nós (blocos) por segundo." +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Soft shadow radius" +msgstr "Fonte alpha de sombra" + #: src/settings_translation_file.cpp msgid "Sound" msgstr "Som" -#: src/settings_translation_file.cpp -msgid "Special key" -msgstr "Tecla especial" - -#: src/settings_translation_file.cpp -msgid "Special key for climbing/descending" -msgstr "Tecla especial pra escalar/descer" - #: src/settings_translation_file.cpp msgid "" "Specifies URL from which client fetches media instead of using UDP.\n" @@ -6575,6 +6781,13 @@ msgstr "Ruído de persistência do terreno" msgid "Texture path" msgstr "Diretorio da textura" +#: src/settings_translation_file.cpp +msgid "" +"Texture size to render the shadow map on.\n" +"This must be a power of two.\n" +"Bigger numbers create better shadowsbut it is also more expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Textures on a node may be aligned either to the node or to the world.\n" @@ -6673,8 +6886,9 @@ msgstr "" "Isso deve ser configurado junto com active_object_send_range_blocks." #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"The rendering back-end for Irrlicht.\n" +"The rendering back-end.\n" "A restart is required after changing this.\n" "Note: On Android, stick with OGLES1 if unsure! App may fail to start " "otherwise.\n" @@ -7027,7 +7241,8 @@ msgid "Viewing range" msgstr "Intervalo de visualização" #: src/settings_translation_file.cpp -msgid "Virtual joystick triggers aux button" +#, fuzzy +msgid "Virtual joystick triggers Aux1 button" msgstr "Joystick virtual ativa botão auxiliar" #: src/settings_translation_file.cpp @@ -7127,14 +7342,14 @@ msgstr "" "vídeo que não suportem propriedades baixas de texturas voltam do hardware." #: src/settings_translation_file.cpp +#, fuzzy msgid "" "When using bilinear/trilinear/anisotropic filters, low-resolution textures\n" "can be blurred, so automatically upscale them with nearest-neighbor\n" "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" +"memory. Powers of 2 are recommended. This setting is ONLY applies if\n" +"bilinear/trilinear/anisotropic filtering is enabled.\n" "This is also used as the base node texture size for world-aligned\n" "texture autoscaling." msgstr "" @@ -7219,7 +7434,8 @@ msgstr "" "como teclar F5)." #: src/settings_translation_file.cpp -msgid "Width component of the initial window size." +#, fuzzy +msgid "Width component of the initial window size. Ignored in fullscreen mode." msgstr "Largura da janela inicial." #: src/settings_translation_file.cpp @@ -7358,12 +7574,13 @@ msgid "cURL file download timeout" msgstr "Tempo limite de download de arquivo via cURL" #: src/settings_translation_file.cpp -msgid "cURL parallel limit" -msgstr "limite paralelo de cURL" +#, fuzzy +msgid "cURL interactive timeout" +msgstr "Tempo limite de cURL" #: src/settings_translation_file.cpp -msgid "cURL timeout" -msgstr "Tempo limite de cURL" +msgid "cURL parallel limit" +msgstr "limite paralelo de cURL" #~ msgid "" #~ "0 = parallax occlusion with slope information (faster).\n" @@ -7372,6 +7589,9 @@ msgstr "Tempo limite de cURL" #~ "0 = oclusão paralaxe com dados de inclinação (mais rápido).\n" #~ "1 = mapeamento de relevo (mais lento, mais preciso)." +#~ msgid "Address / Port" +#~ msgstr "Endereço / Porta" + #~ msgid "" #~ "Adjust the gamma encoding for the light tables. Higher numbers are " #~ "brighter.\n" @@ -7392,6 +7612,11 @@ msgstr "Tempo limite de cURL" #~ msgid "Back" #~ msgstr "Backspace" +#~ msgid "Bits per pixel (aka color depth) in fullscreen mode." +#~ msgstr "" +#~ "Bits por pixel (Também conhecido como profundidade de cor) no modo de " +#~ "tela cheia." + #~ msgid "Bump Mapping" #~ msgstr "Bump mapping" @@ -7432,12 +7657,25 @@ msgstr "Tempo limite de cURL" #~ msgstr "" #~ "Controla a largura dos túneis, um valor menor cria túneis mais largos." +#~ msgid "Credits" +#~ msgstr "Créditos" + #~ msgid "Crosshair color (R,G,B)." #~ msgstr "Cor do cursor (R,G,B)." +#~ msgid "Damage enabled" +#~ msgstr "Dano habilitado" + #~ msgid "Darkness sharpness" #~ msgstr "Nitidez da escuridão" +#~ msgid "" +#~ "Default timeout for cURL, stated in milliseconds.\n" +#~ "Only has an effect if compiled with cURL." +#~ msgstr "" +#~ "Tempo limite padrão para cURL, indicado em milissegundos.\n" +#~ "Só tem efeito se compilado com cURL." + #~ msgid "" #~ "Defines areas of floatland smooth terrain.\n" #~ "Smooth floatlands occur when noise > 0." @@ -7496,6 +7734,15 @@ msgstr "Tempo limite de cURL" #~ msgid "FPS in pause menu" #~ msgstr "FPS no menu de pausa" +#~ msgid "Fallback font shadow" +#~ msgstr "Sombra da fonte alternativa" + +#~ msgid "Fallback font shadow alpha" +#~ msgstr "Alpha da sombra da fonte alternativa" + +#~ msgid "Fallback font size" +#~ msgstr "Tamanho da fonte alternativa" + #~ msgid "Floatland base height noise" #~ msgstr "Altura base de ruído de Ilha Flutuante" @@ -7505,6 +7752,12 @@ msgstr "Tempo limite de cURL" #~ msgid "Font shadow alpha (opaqueness, between 0 and 255)." #~ msgstr "Fonte alpha de sombra (opacidade, entre 0 e 255)." +#~ msgid "Font size of the fallback font in point (pt)." +#~ msgstr "Tamanho da fonte reserva em pontos (pt)." + +#~ msgid "Full screen BPP" +#~ msgstr "Tela cheia BPP" + #~ msgid "Gamma" #~ msgstr "Gama" @@ -7514,6 +7767,9 @@ msgstr "Tempo limite de cURL" #~ msgid "Generate normalmaps" #~ msgstr "Gerar mapa de normais" +#~ msgid "High-precision FPU" +#~ msgstr "FPU de alta precisão" + #~ msgid "IPv6 support." #~ msgstr "Suporte a IPv6." @@ -7532,6 +7788,9 @@ msgstr "Tempo limite de cURL" #~ msgid "Main menu style" #~ msgstr "Estilo do menu principal" +#~ msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." +#~ msgstr "Faz o DirectX trabalhar com LuaJIT. Desative se causa problemas." + #~ msgid "Minimap in radar mode, Zoom x2" #~ msgstr "Minimapa em modo radar, zoom 2x" @@ -7544,6 +7803,9 @@ msgstr "Tempo limite de cURL" #~ msgid "Minimap in surface mode, Zoom x4" #~ msgstr "Minimapa em modo de superfície, zoom 4x" +#~ msgid "Name / Password" +#~ msgstr "Nome / Senha" + #~ msgid "Name/Password" #~ msgstr "Nome / Senha" @@ -7562,6 +7824,12 @@ msgstr "Tempo limite de cURL" #~ msgid "Ok" #~ msgstr "Ok" +#~ msgid "" +#~ "Opaqueness (alpha) of the shadow behind the fallback font, between 0 and " +#~ "255." +#~ msgstr "" +#~ "Opacidade (alpha) da sombra atrás da fonte alternativa, entre 0 e 255." + #~ msgid "Overall bias of parallax occlusion effect, usually scale/2." #~ msgstr "" #~ "Viés geral do efeito de oclusão de paralaxe, geralmente de escala/2." @@ -7599,6 +7867,9 @@ msgstr "Tempo limite de cURL" #~ msgid "Projecting dungeons" #~ msgstr "Projetando dungeons" +#~ msgid "PvP enabled" +#~ msgstr "PvP habilitado" + #~ msgid "Reset singleplayer world" #~ msgstr "Resetar mundo um-jogador" @@ -7608,6 +7879,19 @@ msgstr "Tempo limite de cURL" #~ msgid "Shadow limit" #~ msgstr "Limite de mapblock" +#~ msgid "" +#~ "Shadow offset (in pixels) of the fallback font. If 0, then shadow will " +#~ "not be drawn." +#~ msgstr "" +#~ "Distância (em pixels) da sombra da fonte de backup. Se 0, então nenhuma " +#~ "sombra será desenhada." + +#~ msgid "Special" +#~ msgstr "Especial" + +#~ msgid "Special key" +#~ msgstr "Tecla especial" + #~ msgid "Start Singleplayer" #~ msgstr "Iniciar Um jogador" @@ -7658,3 +7942,6 @@ msgstr "Tempo limite de cURL" #~ msgid "Yes" #~ msgstr "Sim" + +#~ msgid "needs_fallback_font" +#~ msgstr "no" diff --git a/po/ro/minetest.po b/po/ro/minetest.po index 48ad46e2c..31c7fa9c9 100644 --- a/po/ro/minetest.po +++ b/po/ro/minetest.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: Romanian (Minetest)\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-02-23 19:03+0100\n" -"PO-Revision-Date: 2020-11-24 11:29+0000\n" +"POT-Creation-Date: 2021-06-16 18:27+0200\n" +"PO-Revision-Date: 2021-04-28 01:32+0000\n" "Last-Translator: Nicolae Crefelean \n" "Language-Team: Romanian \n" @@ -13,7 +13,48 @@ 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 4.4-dev\n" +"X-Generator: Weblate 4.7-dev\n" + +#: builtin/client/chatcommands.lua +msgid "Clear the out chat queue" +msgstr "" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Empty command." +msgstr "Comenzi de chat" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Exit to main menu" +msgstr "Ieși în Meniu" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Invalid command: " +msgstr "Comandă locală" + +#: builtin/client/chatcommands.lua +msgid "Issued command: " +msgstr "" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "List online players" +msgstr "Jucător singur" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Online players: " +msgstr "Jucător singur" + +#: builtin/client/chatcommands.lua +msgid "The out chat queue is now empty." +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "This command is disabled by server." +msgstr "" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -23,6 +64,38 @@ msgstr "Reînviere" msgid "You died" msgstr "Ai murit" +#: builtin/client/death_formspec.lua +#, fuzzy +msgid "You died." +msgstr "Ai murit" + +#: builtin/common/chatcommands.lua +#, fuzzy +msgid "Available commands:" +msgstr "Comandă locală" + +#: builtin/common/chatcommands.lua +#, fuzzy +msgid "Available commands: " +msgstr "Comandă locală" + +#: builtin/common/chatcommands.lua +msgid "Command not available: " +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "Get help for commands" +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "" +"Use '.help ' to get more information, or '.help all' to list everything." +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "[all | ]" +msgstr "" + #: builtin/fstk/dialog.lua builtin/fstk/ui.lua src/gui/modalMenu.cpp msgid "OK" msgstr "OK" @@ -154,11 +227,11 @@ msgstr "activat" #: builtin/mainmenu/dlg_contentstore.lua msgid "\"$1\" already exists. Would you like to overwrite it?" -msgstr "" +msgstr "„$1” există deja. Doriți s-o suprascrieți?" #: builtin/mainmenu/dlg_contentstore.lua msgid "$1 and $2 dependencies will be installed." -msgstr "" +msgstr "Dependențele $1 și $2 vor fi instalate." #: builtin/mainmenu/dlg_contentstore.lua msgid "$1 by $2" @@ -169,37 +242,36 @@ msgid "" "$1 downloading,\n" "$2 queued" msgstr "" +"$1 în descărcare,\n" +"$2 în așteptare" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "$1 downloading..." -msgstr "Descărcare..." +msgstr "$1 se descarcă..." #: builtin/mainmenu/dlg_contentstore.lua msgid "$1 required dependencies could not be found." -msgstr "" +msgstr "$1 are dependințe care nu sunt disponibile." #: builtin/mainmenu/dlg_contentstore.lua msgid "$1 will be installed, and $2 dependencies will be skipped." -msgstr "" +msgstr "$1 va fi instalat, iar $2 dependințe vor fi ignorate." #: builtin/mainmenu/dlg_contentstore.lua msgid "All packages" msgstr "Toate pachetele" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "Already installed" -msgstr "Tastă deja folosită" +msgstr "Deja instalată" #: builtin/mainmenu/dlg_contentstore.lua msgid "Back to Main Menu" -msgstr "Înapoi la meniul principal" +msgstr "Meniul principal" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "Base Game:" -msgstr "Găzduiește joc" +msgstr "Jocul de bază:" #: builtin/mainmenu/dlg_contentstore.lua msgid "ContentDB is not available when Minetest was compiled without cURL" @@ -223,14 +295,12 @@ msgid "Install" msgstr "Instalează" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "Install $1" -msgstr "Instalează" +msgstr "Instalează $1" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "Install missing dependencies" -msgstr "Dependențe opționale:" +msgstr "Instalează dependințele opționale" #: builtin/mainmenu/dlg_contentstore.lua #: builtin/mainmenu/dlg_settings_advanced.lua @@ -246,25 +316,24 @@ msgid "No results" msgstr "Fără rezultate" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "No updates" -msgstr "Actualizare" +msgstr "Nu există actualizări" #: builtin/mainmenu/dlg_contentstore.lua msgid "Not found" -msgstr "" +msgstr "Indisponibile" #: builtin/mainmenu/dlg_contentstore.lua msgid "Overwrite" -msgstr "" +msgstr "Suprascrie" #: builtin/mainmenu/dlg_contentstore.lua msgid "Please check that the base game is correct." -msgstr "" +msgstr "Verificați dacă jocul de bază este corect." #: builtin/mainmenu/dlg_contentstore.lua msgid "Queued" -msgstr "" +msgstr "În așteptare" #: builtin/mainmenu/dlg_contentstore.lua msgid "Texture packs" @@ -538,7 +607,7 @@ msgstr "< Înapoi la pagina de setări" msgid "Browse" msgstr "Navighează" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_settings.lua msgid "Disabled" msgstr "Dezactivat" @@ -582,7 +651,7 @@ msgstr "Restabilește valori implicite" msgid "Scale" msgstr "Scală" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua msgid "Search" msgstr "Caută" @@ -708,9 +777,8 @@ msgid "Loading..." msgstr "Se încarcă..." #: builtin/mainmenu/serverlistmgr.lua -#, fuzzy msgid "Public server list is disabled" -msgstr "Scripturile din partea clientului sunt dezactivate" +msgstr "Lista de servere publice este dezactivată" #: builtin/mainmenu/serverlistmgr.lua msgid "Try reenabling public serverlist and check your internet connection." @@ -718,6 +786,41 @@ msgstr "" "Încercați să activați lista de servere publică și să vă verificați " "conexiunea la internet." +#: builtin/mainmenu/tab_about.lua +msgid "About" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active Contributors" +msgstr "Contribuitori activi" + +#: builtin/mainmenu/tab_about.lua +#, fuzzy +msgid "Active renderer:" +msgstr "Interval de trimitere obiect e activ" + +#: builtin/mainmenu/tab_about.lua +msgid "Core Developers" +msgstr "Dezvoltatori de bază" + +#: builtin/mainmenu/tab_about.lua +msgid "Open User Data Directory" +msgstr "Deschide directorul cu datele utilizatorului" + +#: builtin/mainmenu/tab_about.lua +msgid "" +"Opens the directory that contains user-provided worlds, games, mods,\n" +"and texture packs in a file manager / explorer." +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Contributors" +msgstr "Foști contribuitori" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Core Developers" +msgstr "Dezvoltatori de bază precedenți" + #: builtin/mainmenu/tab_content.lua msgid "Browse online content" msgstr "Căutați conținut online" @@ -758,37 +861,6 @@ msgstr "Dezinstalați pachetul" msgid "Use Texture Pack" msgstr "Folosiți pachetul de textură" -#: builtin/mainmenu/tab_credits.lua -msgid "Active Contributors" -msgstr "Contribuitori activi" - -#: builtin/mainmenu/tab_credits.lua -msgid "Core Developers" -msgstr "Dezvoltatori de bază" - -#: builtin/mainmenu/tab_credits.lua -msgid "Credits" -msgstr "Credite" - -#: builtin/mainmenu/tab_credits.lua -#, fuzzy -msgid "Open User Data Directory" -msgstr "Selectează directorul" - -#: builtin/mainmenu/tab_credits.lua -msgid "" -"Opens the directory that contains user-provided worlds, games, mods,\n" -"and texture packs in a file manager / explorer." -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Contributors" -msgstr "Foști contribuitori" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Core Developers" -msgstr "Dezvoltatori de bază precedenți" - #: builtin/mainmenu/tab_local.lua msgid "Announce Server" msgstr "Anunțare server" @@ -817,7 +889,7 @@ msgstr "Găzduiește Server" msgid "Install games from ContentDB" msgstr "Instalarea jocurilor din ContentDB" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Name" msgstr "" @@ -829,23 +901,21 @@ msgstr "Nou" msgid "No world created or selected!" msgstr "Nicio lume creată sau selectată!" -#: builtin/mainmenu/tab_local.lua -#, fuzzy +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Password" -msgstr "Noua parolă" +msgstr "Parola" #: builtin/mainmenu/tab_local.lua msgid "Play Game" msgstr "Joacă jocul" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Port" msgstr "Port" #: builtin/mainmenu/tab_local.lua -#, fuzzy msgid "Select Mods" -msgstr "Selectează lumea:" +msgstr "Alege modificările" #: builtin/mainmenu/tab_local.lua msgid "Select World:" @@ -860,8 +930,13 @@ msgid "Start Game" msgstr "Începe Jocul" #: builtin/mainmenu/tab_online.lua -msgid "Address / Port" -msgstr "Adresă / Port" +#, fuzzy +msgid "Address" +msgstr "- Adresa: " + +#: builtin/mainmenu/tab_online.lua src/client/keycode.cpp +msgid "Clear" +msgstr "Șterge" #: builtin/mainmenu/tab_online.lua msgid "Connect" @@ -871,34 +946,46 @@ msgstr "Conectează" msgid "Creative mode" msgstr "Modul Creativ" +#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "Damage enabled" -msgstr "Daune activate" +#, fuzzy +msgid "Damage / PvP" +msgstr "Daune" #: builtin/mainmenu/tab_online.lua msgid "Del. Favorite" msgstr "Şterge Favorit" #: builtin/mainmenu/tab_online.lua -msgid "Favorite" +#, fuzzy +msgid "Favorites" msgstr "Favorit" +#: builtin/mainmenu/tab_online.lua +msgid "Incompatible Servers" +msgstr "" + #: builtin/mainmenu/tab_online.lua msgid "Join Game" msgstr "Alatură-te jocului" -#: builtin/mainmenu/tab_online.lua -msgid "Name / Password" -msgstr "Nume / Parolă" - #: builtin/mainmenu/tab_online.lua msgid "Ping" msgstr "Ping" -#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "PvP enabled" -msgstr "PvP activat" +#, fuzzy +msgid "Public Servers" +msgstr "Anunțare server" + +#: builtin/mainmenu/tab_online.lua +msgid "Refresh" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +#, fuzzy +msgid "Server Description" +msgstr "Descrierea serverului" #: builtin/mainmenu/tab_settings.lua msgid "2x" @@ -940,10 +1027,30 @@ msgstr "Modifică tastele" msgid "Connected Glass" msgstr "Sticlă conectată" +#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp +msgid "Dynamic shadows" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Dynamic shadows: " +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Fancy Leaves" msgstr "Frunze luxsoase" +#: builtin/mainmenu/tab_settings.lua +msgid "High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Low" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Medium" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Mipmap" msgstr "Hartă mip" @@ -997,9 +1104,8 @@ msgid "Shaders" msgstr "Umbră" #: builtin/mainmenu/tab_settings.lua -#, fuzzy msgid "Shaders (experimental)" -msgstr "Terenuri plutitoare (experimental)" +msgstr "Shadere (experimental)" #: builtin/mainmenu/tab_settings.lua msgid "Shaders (unavailable)" @@ -1033,6 +1139,14 @@ msgstr "PragulAtingerii: (px)" msgid "Trilinear Filter" msgstr "Filtrare Triliniară" +#: builtin/mainmenu/tab_settings.lua +msgid "Ultra High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Very Low" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Waving Leaves" msgstr "Frunze legănătoare" @@ -1105,18 +1219,6 @@ msgstr "Fișierul cu parolă nu a putut fi deschis: " msgid "Provided world path doesn't exist: " msgstr "Calea aprovizionată a lumii nu există: " -#. ~ 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" - #: src/client/game.cpp msgid "" "\n" @@ -1199,7 +1301,7 @@ msgid "Continue" msgstr "Continuă" #: src/client/game.cpp -#, fuzzy, c-format +#, c-format msgid "" "Controls:\n" "- %s: move forwards\n" @@ -1217,19 +1319,19 @@ msgid "" "- %s: chat\n" msgstr "" "Controale:\n" -"-%s: deplasați înainte\n" -"-%s: deplasați înapoi\n" -"-%s: deplasați spre stânga\n" -"-%s: deplasați spre dreapta\n" -"-%s: salt / urcare\n" -"-%s: strecurați / coborâți\n" -"-%s: aruncați element\n" -"-%s: inventar\n" -"- Mouse: rotiți / priviți\n" -"- Mouse stânga: săpați / pocniți\n" -"- Mouse dreapta: plasați / utilizare\n" -"- Roată mousului: selectează elementul\n" -"-%s: chat\n" +"- %s: deplasare înainte\n" +"- %s: deplasare înapoi\n" +"- %s: deplasare stânga\n" +"- %s: deplasare dreapta\n" +"- %s: salt/urcare\n" +"- %s: săpare/lovire\n" +"- %s: plasare/utilizare\n" +"- %s: furișare/coborâre\n" +"- %s: aruncare obiect\n" +"- %s: inventar\n" +"- Maus: rotire/privire\n" +"- Roata mausului: selectare obiect\n" +"- %s: chat\n" #: src/client/game.cpp msgid "Creating client..." @@ -1359,6 +1461,11 @@ msgstr "MiB / s" msgid "Minimap currently disabled by game or mod" msgstr "Hartă mip dezactivată de joc sau mod" +#: src/client/game.cpp +#, fuzzy +msgid "Multiplayer" +msgstr "Jucător singur" + #: src/client/game.cpp msgid "Noclip mode disabled" msgstr "Modul Noclip este dezactivat" @@ -1500,10 +1607,6 @@ msgstr "Înapoi" msgid "Caps Lock" msgstr "Majuscule" -#: src/client/keycode.cpp -msgid "Clear" -msgstr "Șterge" - #: src/client/keycode.cpp msgid "Control" msgstr "Control" @@ -1756,19 +1859,18 @@ msgid "Minimap hidden" msgstr "Hartă mip ascunsă" #: src/client/minimap.cpp -#, fuzzy, c-format +#, c-format msgid "Minimap in radar mode, Zoom x%d" -msgstr "Hartă mip în modul radar, Zoom x1" +msgstr "Mini hartă în modul radar, Zoom %dx" #: src/client/minimap.cpp -#, fuzzy, c-format +#, c-format msgid "Minimap in surface mode, Zoom x%d" -msgstr "Hartă mip în modul de suprafață, Zoom x1" +msgstr "Mini hartă în modul de suprafață, Zoom %dx" #: src/client/minimap.cpp -#, fuzzy msgid "Minimap in texture mode" -msgstr "Hartă mip în modul de suprafață, Zoom x1" +msgstr "Mini hartă în modul de textură" #: src/gui/guiConfirmRegistration.cpp src/gui/guiPasswordChange.cpp msgid "Passwords do not match!" @@ -1799,7 +1901,8 @@ msgid "Proceed" msgstr "Continuă" #: src/gui/guiKeyChangeMenu.cpp -msgid "\"Special\" = climb down" +#, fuzzy +msgid "\"Aux1\" = climb down" msgstr "\"Special\" = coborâți" #: src/gui/guiKeyChangeMenu.cpp @@ -1810,10 +1913,18 @@ msgstr "Redirecționare înainte" msgid "Automatic jumping" msgstr "Salt automat" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Aux1" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Backward" msgstr "Înapoi" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Block bounds" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Change camera" msgstr "Schimba camera" @@ -1903,10 +2014,6 @@ msgstr "Captură de ecran" msgid "Sneak" msgstr "Furișează" -#: src/gui/guiKeyChangeMenu.cpp -msgid "Special" -msgstr "Special" - #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle HUD" msgstr "Comutați HUD" @@ -1994,9 +2101,10 @@ msgstr "" "prima atingere." #: 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 " +"(Android) Use virtual joystick to trigger \"Aux1\" button.\n" +"If enabled, virtual joystick will also tap \"Aux1\" button when out of main " "circle." msgstr "" "(Android) Utilizați joystick-ul virtual pentru a declanșa butonul \"aux\".\n" @@ -2237,13 +2345,13 @@ msgid "" "Value = 2.0 (can be higher depending on 'mgv7_np_floatland', always test\n" "to be sure) creates a solid floatland layer." msgstr "" -"Ajustează densitatea stratului floatland.\n" +"Ajustează densitatea stratului de insule plutitoare.\n" "Mărește valoarea pentru creșterea densității. Poate fi pozitivă sau " "negativă.\n" -"Valoarea = 0.0: 50% din volum este floatland.\n" +"Valoarea = 0.0: 50% din volum este insulă plutitoare.\n" "Valoarea = 2.0 (poate fi mai mare în funcție de 'mgv7_np_floatland'; " "testați\n" -"pentru siguranță) va crea un strat solid floatland." +"pentru siguranță) va crea un strat solid de insulă plutitoare." #: src/settings_translation_file.cpp msgid "Advanced" @@ -2366,6 +2474,15 @@ msgstr "Salvează automat dimensiunea ecranului" msgid "Autoscaling mode" msgstr "Mod scalare automată" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Aux1 key" +msgstr "Tasta de salt" + +#: src/settings_translation_file.cpp +msgid "Aux1 key for climbing/descending" +msgstr "" + #: src/settings_translation_file.cpp msgid "Backward key" msgstr "Tastă înapoi" @@ -2410,10 +2527,6 @@ msgstr "Parametrii de zgomot de temperatură și umiditate Biome API" msgid "Biome noise" msgstr "Biome zgomot" -#: src/settings_translation_file.cpp -msgid "Bits per pixel (aka color depth) in fullscreen mode." -msgstr "Biți per pixel (aka adâncime de culoare) în modul ecran complet." - #: src/settings_translation_file.cpp msgid "Block send optimize distance" msgstr "Distanță de optimizare trimitere bloc" @@ -2519,6 +2632,11 @@ msgstr "" "Centrul razei de amplificare a curbei de lumină.\n" "Aici 0.0 este nivelul minim de lumină, iar 1.0 este nivelul maxim." +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Chat command time message threshold" +msgstr "Pragul de lansare a mesajului de chat" + #: src/settings_translation_file.cpp msgid "Chat font size" msgstr "Dimensiunea fontului din chat" @@ -2615,6 +2733,11 @@ msgstr "Nori in meniu" msgid "Colored fog" msgstr "Ceaţă colorată" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Colored shadows" +msgstr "Ceaţă colorată" + #: src/settings_translation_file.cpp msgid "" "Comma-separated list of flags to hide in the content repository.\n" @@ -2815,14 +2938,14 @@ msgid "Default report format" msgstr "" #: src/settings_translation_file.cpp -#, fuzzy msgid "Default stack size" -msgstr "Jocul implicit" +msgstr "Dimensiunea implicită a stivei" #: src/settings_translation_file.cpp msgid "" -"Default timeout for cURL, stated in milliseconds.\n" -"Only has an effect if compiled with cURL." +"Define shadow filtering quality\n" +"This simulates the soft shadows effect by applying a PCF or poisson disk\n" +"but also uses more resources." msgstr "" #: src/settings_translation_file.cpp @@ -2924,9 +3047,8 @@ msgid "Desynchronize block animation" msgstr "" #: src/settings_translation_file.cpp -#, fuzzy msgid "Dig key" -msgstr "Tasta dreapta" +msgstr "Tasta pentru săpat" #: src/settings_translation_file.cpp msgid "Digging particles" @@ -2984,6 +3106,12 @@ msgid "" "This support is experimental and API can change." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Enable colored shadows. \n" +"On true translucent nodes cast colored shadows. This is expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable console window" msgstr "" @@ -3008,6 +3136,13 @@ msgstr "Activați securitatea modului" msgid "Enable players getting damage and dying." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Enable poisson disk filtering.\n" +"On true uses poisson disk to make \"soft shadows\". Otherwise uses PCF " +"filtering." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable random user input (only used for testing)." msgstr "" @@ -3130,18 +3265,6 @@ msgstr "" msgid "Fallback font path" msgstr "Cale font de rezervă" -#: src/settings_translation_file.cpp -msgid "Fallback font shadow" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Fallback font shadow alpha" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Fallback font size" -msgstr "" - #: src/settings_translation_file.cpp msgid "Fast key" msgstr "" @@ -3160,7 +3283,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"Fast movement (via the \"special\" key).\n" +"Fast movement (via the \"Aux1\" key).\n" "This requires the \"fast\" privilege on the server." msgstr "" @@ -3194,9 +3317,9 @@ 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." +"which PNG optimizers usually discard, often resulting in dark or\n" +"light edges to transparent textures. Apply a filter to clean that up\n" +"at texture load time. This is automatically enabled if mipmapping is enabled." msgstr "" #: src/settings_translation_file.cpp @@ -3232,9 +3355,8 @@ msgid "Floatland minimum Y" msgstr "" #: src/settings_translation_file.cpp -#, fuzzy msgid "Floatland noise" -msgstr "Zgomotul solului" +msgstr "Sunetul insulelor plutitoare" #: src/settings_translation_file.cpp msgid "Floatland taper exponent" @@ -3292,10 +3414,6 @@ msgstr "" msgid "Font size of the default font in point (pt)." msgstr "" -#: src/settings_translation_file.cpp -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 "" @@ -3393,10 +3511,6 @@ msgstr "" msgid "Full screen" msgstr "" -#: src/settings_translation_file.cpp -msgid "Full screen BPP" -msgstr "" - #: src/settings_translation_file.cpp msgid "Fullscreen mode." msgstr "" @@ -3490,7 +3604,8 @@ msgid "Heat noise" msgstr "" #: src/settings_translation_file.cpp -msgid "Height component of the initial window size." +msgid "" +"Height component of the initial window size. Ignored in fullscreen mode." msgstr "" #: src/settings_translation_file.cpp @@ -3501,10 +3616,6 @@ msgstr "Zgomot de înălțime" msgid "Height select noise" msgstr "" -#: src/settings_translation_file.cpp -msgid "High-precision FPU" -msgstr "" - #: src/settings_translation_file.cpp msgid "Hill steepness" msgstr "Abruptul dealului" @@ -3736,8 +3847,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"If disabled, \"special\" key is used to fly fast if both fly and fast mode " -"are\n" +"If disabled, \"Aux1\" key is used to fly fast if both fly and fast mode are\n" "enabled." msgstr "" @@ -3759,8 +3869,8 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"If enabled, \"special\" key instead of \"sneak\" key is used for climbing " -"down and\n" +"If enabled, \"Aux1\" key instead of \"Sneak\" key is used for climbing down " +"and\n" "descending." msgstr "" @@ -3804,6 +3914,12 @@ msgid "" "to this distance from the player to the node." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"If the execution of a chat command takes longer than this specified time in\n" +"seconds, add the time information to the chat command message" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "If the file size of debug.txt exceeds the number of megabytes specified in\n" @@ -4692,10 +4808,6 @@ msgid "" "Make fog and sky colors depend on daytime (dawn/sunset) and view direction." msgstr "" -#: src/settings_translation_file.cpp -msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." -msgstr "" - #: src/settings_translation_file.cpp msgid "Makes all liquids opaque" msgstr "" @@ -4767,6 +4879,10 @@ msgstr "" msgid "Map save interval" msgstr "" +#: src/settings_translation_file.cpp +msgid "Map update time" +msgstr "" + #: src/settings_translation_file.cpp msgid "Mapblock limit" msgstr "" @@ -4875,6 +4991,10 @@ msgstr "" msgid "Maximum FPS when the window is not focused, or when the game is paused." msgstr "" +#: src/settings_translation_file.cpp +msgid "Maximum distance to render shadows." +msgstr "" + #: src/settings_translation_file.cpp msgid "Maximum forceloaded blocks" msgstr "" @@ -4981,7 +5101,15 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "Maximum time in ms a file download (e.g. a mod download) may take." +msgid "" +"Maximum time a file download (e.g. a mod download) may take, stated in " +"milliseconds." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum time an interactive request (e.g. server list fetch) may take, " +"stated in milliseconds." msgstr "" #: src/settings_translation_file.cpp @@ -5194,11 +5322,6 @@ 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 " @@ -5272,9 +5395,8 @@ msgid "Pitch move mode" msgstr "" #: src/settings_translation_file.cpp -#, fuzzy msgid "Place key" -msgstr "Tasta de mutare a pitch" +msgstr "Tasta de plasare" #: src/settings_translation_file.cpp msgid "Place repetition interval" @@ -5298,6 +5420,11 @@ msgstr "" msgid "Player versus player" msgstr "" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Poisson filtering" +msgstr "Filtrare Biliniară" + #: src/settings_translation_file.cpp msgid "" "Port to connect to (UDP).\n" @@ -5632,6 +5759,40 @@ msgstr "" msgid "Set the maximum character length of a chat message sent by clients." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow strength.\n" +"Lower value means lighter shadows, higher value means darker shadows." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow update time.\n" +"Lower value means shadows and map updates faster, but it consume more " +"resources.\n" +"Minimun value 0.001 seconds max value 0.2 seconds" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the soft shadow radius size.\n" +"Lower values mean sharper shadows bigger values softer.\n" +"Minimun value 1.0 and max value 10.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the tilt of Sun/Moon orbit in degrees\n" +"Value of 0 means no tilt / vertical orbit.\n" +"Minimun value 0.0 and max value 60.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set to true to enable Shadow Mapping.\n" +"Requires shaders to be enabled." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Set to true to enable waving leaves.\n" @@ -5650,6 +5811,13 @@ msgid "" "Requires shaders to be enabled." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Sets shadow texture quality to 32 bits.\n" +"On false, 16 bits texture will be used.\n" +"This can cause much more artifacts in the shadow." +msgstr "" + #: src/settings_translation_file.cpp msgid "Shader path" msgstr "Calea shaderului" @@ -5662,6 +5830,23 @@ msgid "" "This only works with the OpenGL video backend." msgstr "" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Shadow filter quality" +msgstr "Calitatea capturii de ecran" + +#: src/settings_translation_file.cpp +msgid "Shadow map max distance in nodes to render shadows" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture in 32 bits" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture size" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Shadow offset (in pixels) of the default font. If 0, then shadow will not be " @@ -5669,9 +5854,7 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "" -"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not " -"be drawn." +msgid "Shadow strength" msgstr "" #: src/settings_translation_file.cpp @@ -5717,6 +5900,10 @@ msgid "" "thread, thus reducing jitter." msgstr "" +#: src/settings_translation_file.cpp +msgid "Sky Body Orbit Tilt" +msgstr "" + #: src/settings_translation_file.cpp msgid "Slice w" msgstr "" @@ -5771,18 +5958,15 @@ msgstr "Viteza de furișare" msgid "Sneaking speed, in nodes per second." msgstr "" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Soft shadow radius" +msgstr "Rază nori" + #: src/settings_translation_file.cpp msgid "Sound" msgstr "" -#: src/settings_translation_file.cpp -msgid "Special key" -msgstr "Cheie specială" - -#: src/settings_translation_file.cpp -msgid "Special key for climbing/descending" -msgstr "" - #: src/settings_translation_file.cpp msgid "" "Specifies URL from which client fetches media instead of using UDP.\n" @@ -5904,6 +6088,13 @@ msgstr "" msgid "Texture path" msgstr "Calea texturii" +#: src/settings_translation_file.cpp +msgid "" +"Texture size to render the shadow map on.\n" +"This must be a power of two.\n" +"Bigger numbers create better shadowsbut it is also more expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Textures on a node may be aligned either to the node or to the world.\n" @@ -5977,7 +6168,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"The rendering back-end for Irrlicht.\n" +"The rendering back-end.\n" "A restart is required after changing this.\n" "Note: On Android, stick with OGLES1 if unsure! App may fail to start " "otherwise.\n" @@ -6264,7 +6455,7 @@ msgid "Viewing range" msgstr "" #: src/settings_translation_file.cpp -msgid "Virtual joystick triggers aux button" +msgid "Virtual joystick triggers Aux1 button" msgstr "" #: src/settings_translation_file.cpp @@ -6355,9 +6546,8 @@ msgid "" "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" +"memory. Powers of 2 are recommended. This setting is ONLY applies if\n" +"bilinear/trilinear/anisotropic filtering is enabled.\n" "This is also used as the base node texture size for world-aligned\n" "texture autoscaling." msgstr "" @@ -6413,7 +6603,7 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "Width component of the initial window size." +msgid "Width component of the initial window size. Ignored in fullscreen mode." msgstr "" #: src/settings_translation_file.cpp @@ -6520,11 +6710,11 @@ msgid "cURL file download timeout" msgstr "" #: src/settings_translation_file.cpp -msgid "cURL parallel limit" +msgid "cURL interactive timeout" msgstr "" #: src/settings_translation_file.cpp -msgid "cURL timeout" +msgid "cURL parallel limit" msgstr "" #~ msgid "" @@ -6534,12 +6724,18 @@ msgstr "" #~ "0 = ocluzia de paralax cu informații despre panta (mai rapid).\n" #~ "1 = mapare în relief (mai lentă, mai exactă)." +#~ msgid "Address / Port" +#~ msgstr "Adresă / Port" + #~ msgid "Are you sure to reset your singleplayer world?" #~ msgstr "Eşti sigur că vrei să resetezi lumea proprie ?" #~ msgid "Back" #~ msgstr "Înapoi" +#~ msgid "Bits per pixel (aka color depth) in fullscreen mode." +#~ msgstr "Biți per pixel (aka adâncime de culoare) în modul ecran complet." + #~ msgid "Bump Mapping" #~ msgstr "Cartografiere cu denivelări" @@ -6567,6 +6763,12 @@ msgstr "" #~ msgid "Configure" #~ msgstr "Configurează" +#~ msgid "Credits" +#~ msgstr "Credite" + +#~ msgid "Damage enabled" +#~ msgstr "Daune activate" + #, fuzzy #~ msgid "Darkness sharpness" #~ msgstr "Mapgen" @@ -6603,6 +6805,9 @@ msgstr "" #~ msgid "Minimap in surface mode, Zoom x4" #~ msgstr "Hartă mip în modul de suprafață, Zoom x4" +#~ msgid "Name / Password" +#~ msgstr "Nume / Parolă" + #~ msgid "Name/Password" #~ msgstr "Nume/Parolă" @@ -6615,6 +6820,9 @@ msgstr "" #~ msgid "Parallax Occlusion" #~ msgstr "Ocluzie Parallax" +#~ msgid "PvP enabled" +#~ msgstr "PvP activat" + #~ msgid "Reset singleplayer world" #~ msgstr "Resetează lume proprie" @@ -6622,6 +6830,12 @@ msgstr "" #~ msgid "Select Package File:" #~ msgstr "Selectează Fișierul Modului:" +#~ msgid "Special" +#~ msgstr "Special" + +#~ msgid "Special key" +#~ msgstr "Cheie specială" + #~ msgid "Start Singleplayer" #~ msgstr "Începeți Jucător singur" @@ -6634,3 +6848,6 @@ msgstr "" #~ msgid "Yes" #~ msgstr "Da" + +#~ msgid "needs_fallback_font" +#~ msgstr "no" diff --git a/po/ru/minetest.po b/po/ru/minetest.po index 9f78a12da..cb00d28ef 100644 --- a/po/ru/minetest.po +++ b/po/ru/minetest.po @@ -2,9 +2,9 @@ msgid "" msgstr "" "Project-Id-Version: Russian (Minetest)\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-02-23 19:03+0100\n" -"PO-Revision-Date: 2021-02-13 08:50+0000\n" -"Last-Translator: Ertu (Er2, Err) \n" +"POT-Creation-Date: 2021-06-16 18:27+0200\n" +"PO-Revision-Date: 2021-05-03 07:32+0000\n" +"Last-Translator: Andrei Stepanov \n" "Language-Team: Russian \n" "Language: ru\n" @@ -13,7 +13,49 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Generator: Weblate 4.5-dev\n" +"X-Generator: Weblate 4.7-dev\n" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Clear the out chat queue" +msgstr "Максимальный размер очереди исходящих сообщений" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Empty command." +msgstr "Команды в чате" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Exit to main menu" +msgstr "Выход в меню" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Invalid command: " +msgstr "Локальная команда" + +#: builtin/client/chatcommands.lua +msgid "Issued command: " +msgstr "" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "List online players" +msgstr "Одиночная игра" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Online players: " +msgstr "Одиночная игра" + +#: builtin/client/chatcommands.lua +msgid "The out chat queue is now empty." +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "This command is disabled by server." +msgstr "" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -23,6 +65,38 @@ msgstr "Возродиться" msgid "You died" msgstr "Вы умерли" +#: builtin/client/death_formspec.lua +#, fuzzy +msgid "You died." +msgstr "Вы умерли" + +#: builtin/common/chatcommands.lua +#, fuzzy +msgid "Available commands:" +msgstr "Локальная команда" + +#: builtin/common/chatcommands.lua +#, fuzzy +msgid "Available commands: " +msgstr "Локальная команда" + +#: builtin/common/chatcommands.lua +msgid "Command not available: " +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "Get help for commands" +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "" +"Use '.help ' to get more information, or '.help all' to list everything." +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "[all | ]" +msgstr "" + #: builtin/fstk/dialog.lua builtin/fstk/ui.lua src/gui/modalMenu.cpp msgid "OK" msgstr "ОК" @@ -534,7 +608,7 @@ msgstr "< Назад к странице настроек" msgid "Browse" msgstr "Обзор" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_settings.lua msgid "Disabled" msgstr "Отключено" @@ -578,7 +652,7 @@ msgstr "Восстановить стандартные настройки" msgid "Scale" msgstr "Масштаб" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua msgid "Search" msgstr "Искать" @@ -705,15 +779,51 @@ msgid "Loading..." msgstr "Загрузка..." #: builtin/mainmenu/serverlistmgr.lua -#, fuzzy msgid "Public server list is disabled" -msgstr "Клиентские моды отключены" +msgstr "Публичный список серверов отключён" #: builtin/mainmenu/serverlistmgr.lua msgid "Try reenabling public serverlist and check your internet connection." msgstr "" "Попробуйте обновить список публичных серверов и проверьте связь с Интернетом." +#: builtin/mainmenu/tab_about.lua +msgid "About" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active Contributors" +msgstr "Активные участники" + +#: builtin/mainmenu/tab_about.lua +#, fuzzy +msgid "Active renderer:" +msgstr "Дальность отправляемого активного объекта" + +#: builtin/mainmenu/tab_about.lua +msgid "Core Developers" +msgstr "Основные разработчики" + +#: builtin/mainmenu/tab_about.lua +msgid "Open User Data Directory" +msgstr "Открыть каталог данных пользователя" + +#: builtin/mainmenu/tab_about.lua +msgid "" +"Opens the directory that contains user-provided worlds, games, mods,\n" +"and texture packs in a file manager / explorer." +msgstr "" +"Открывает каталог, содержащий пользовательские миры, игры, моды,\n" +"и пакеты текстур в файловом менеджере / проводнике." + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Contributors" +msgstr "Прошлые участники" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Core Developers" +msgstr "Прошлые разработчики" + #: builtin/mainmenu/tab_content.lua msgid "Browse online content" msgstr "Поиск дополнений в сети" @@ -754,38 +864,6 @@ msgstr "Удалить дополнение" msgid "Use Texture Pack" msgstr "Использовать пакет текстур" -#: builtin/mainmenu/tab_credits.lua -msgid "Active Contributors" -msgstr "Активные участники" - -#: builtin/mainmenu/tab_credits.lua -msgid "Core Developers" -msgstr "Основные разработчики" - -#: builtin/mainmenu/tab_credits.lua -msgid "Credits" -msgstr "Благодарности" - -#: builtin/mainmenu/tab_credits.lua -msgid "Open User Data Directory" -msgstr "Открыть каталог данных пользователя" - -#: builtin/mainmenu/tab_credits.lua -msgid "" -"Opens the directory that contains user-provided worlds, games, mods,\n" -"and texture packs in a file manager / explorer." -msgstr "" -"Открывает каталог, содержащий пользовательские миры, игры, моды,\n" -"и пакеты текстур в файловом менеджере / проводнике." - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Contributors" -msgstr "Прошлые участники" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Core Developers" -msgstr "Прошлые разработчики" - #: builtin/mainmenu/tab_local.lua msgid "Announce Server" msgstr "Публичный сервер" @@ -814,7 +892,7 @@ msgstr "Запустить сервер" msgid "Install games from ContentDB" msgstr "Установить игры из ContentDB" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Name" msgstr "Имя" @@ -826,7 +904,7 @@ msgstr "Новый" msgid "No world created or selected!" msgstr "Мир не создан или не выбран!" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Password" msgstr "Пароль" @@ -834,7 +912,7 @@ msgstr "Пароль" msgid "Play Game" msgstr "Играть" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Port" msgstr "Порт" @@ -855,8 +933,13 @@ msgid "Start Game" msgstr "Начать игру" #: builtin/mainmenu/tab_online.lua -msgid "Address / Port" -msgstr "Адрес / Порт" +#, fuzzy +msgid "Address" +msgstr "- Адрес: " + +#: builtin/mainmenu/tab_online.lua src/client/keycode.cpp +msgid "Clear" +msgstr "Очистить" #: builtin/mainmenu/tab_online.lua msgid "Connect" @@ -866,34 +949,46 @@ msgstr "Подключиться" msgid "Creative mode" msgstr "Режим творчества" +#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "Damage enabled" -msgstr "Урон включён" +#, fuzzy +msgid "Damage / PvP" +msgstr "Урон" #: builtin/mainmenu/tab_online.lua msgid "Del. Favorite" msgstr "Убрать из избранного" #: builtin/mainmenu/tab_online.lua -msgid "Favorite" +#, fuzzy +msgid "Favorites" msgstr "В избранные" +#: builtin/mainmenu/tab_online.lua +msgid "Incompatible Servers" +msgstr "" + #: builtin/mainmenu/tab_online.lua msgid "Join Game" msgstr "Подключиться к игре" -#: builtin/mainmenu/tab_online.lua -msgid "Name / Password" -msgstr "Имя / Пароль" - #: builtin/mainmenu/tab_online.lua msgid "Ping" msgstr "Пинг" -#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "PvP enabled" -msgstr "PvP разрешён" +#, fuzzy +msgid "Public Servers" +msgstr "Публичный сервер" + +#: builtin/mainmenu/tab_online.lua +msgid "Refresh" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +#, fuzzy +msgid "Server Description" +msgstr "Описание сервера" #: builtin/mainmenu/tab_settings.lua msgid "2x" @@ -935,10 +1030,31 @@ msgstr "Смена управления" msgid "Connected Glass" msgstr "Стёкла без швов" +#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp +#, fuzzy +msgid "Dynamic shadows" +msgstr "Тень шрифта" + +#: builtin/mainmenu/tab_settings.lua +msgid "Dynamic shadows: " +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Fancy Leaves" msgstr "Красивая листва" +#: builtin/mainmenu/tab_settings.lua +msgid "High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Low" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Medium" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Mipmap" msgstr "Мипмаппинг" @@ -1027,6 +1143,14 @@ msgstr "Чувствительность: (px)" msgid "Trilinear Filter" msgstr "Трилинейная фильтрация" +#: builtin/mainmenu/tab_settings.lua +msgid "Ultra High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Very Low" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Waving Leaves" msgstr "Покачивание листвы" @@ -1099,18 +1223,6 @@ 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" - #: src/client/game.cpp msgid "" "\n" @@ -1216,12 +1328,12 @@ msgstr "" "- %s: влево\n" "- %s: вправо\n" "- %s: прыжок/подъём\n" +"- %s: копать/удар\n" +"- %s: разместить/использовать\n" "- %s: красться/спуск\n" "- %s: бросить предмет\n" "- %s: инвентарь\n" "- Мышь: поворот/обзор\n" -"- ЛКМ: копать/удар\n" -"- ПКМ: положить/использовать\n" "- Колесо мыши: выбор предмета\n" "- %s: чат\n" @@ -1354,6 +1466,11 @@ msgstr "МиБ/с" msgid "Minimap currently disabled by game or mod" msgstr "Миникарта сейчас отключена игрой или модом" +#: src/client/game.cpp +#, fuzzy +msgid "Multiplayer" +msgstr "Одиночная игра" + #: src/client/game.cpp msgid "Noclip mode disabled" msgstr "Режим прохождения сквозь стены отключён" @@ -1495,10 +1612,6 @@ msgstr "Backspace" msgid "Caps Lock" msgstr "Caps Lock" -#: src/client/keycode.cpp -msgid "Clear" -msgstr "Очистить" - #: src/client/keycode.cpp msgid "Control" msgstr "Ctrl" @@ -1793,7 +1906,8 @@ msgid "Proceed" msgstr "Продолжить" #: src/gui/guiKeyChangeMenu.cpp -msgid "\"Special\" = climb down" +#, fuzzy +msgid "\"Aux1\" = climb down" msgstr "Использовать = спуск" #: src/gui/guiKeyChangeMenu.cpp @@ -1804,10 +1918,18 @@ msgstr "Автобег" msgid "Automatic jumping" msgstr "Автопрыжок" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Aux1" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Backward" msgstr "Назад" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Block bounds" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Change camera" msgstr "Изменить камеру" @@ -1898,10 +2020,6 @@ msgstr "Cкриншот" msgid "Sneak" msgstr "Красться" -#: src/gui/guiKeyChangeMenu.cpp -msgid "Special" -msgstr "Особенный" - #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle HUD" msgstr "Вкл/выкл игровой интерфейс" @@ -1989,9 +2107,10 @@ 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 " +"(Android) Use virtual joystick to trigger \"Aux1\" button.\n" +"If enabled, virtual joystick will also tap \"Aux1\" button when out of main " "circle." msgstr "" "(Android) Использовать виртуальный джойстик для активации кнопки \"aux\".\n" @@ -2168,7 +2287,7 @@ msgstr "ABM интервал" #: src/settings_translation_file.cpp msgid "ABM time budget" -msgstr "" +msgstr "Бюджет времени ABM" #: src/settings_translation_file.cpp msgid "Absolute limit of queued blocks to emerge" @@ -2249,13 +2368,11 @@ msgid "" "This only has significant effect on daylight and artificial\n" "light, it has very little effect on natural night light." msgstr "" -"Изменяет кривую блеска, применяя к ней «гамма-\n" -"коррекцию». Более высокие значения делают средний \n" -"и нижний уровни света ярче. Значение «1.0» оставляет\n" -"кривую блеска без изменений. Это оказывает \n" -"существенное влияние только на дневной и \n" -"искусственный свет, он очень мало влияет на \n" -"естественный ночной свет." +"Изменяет кривую света, применяя к ней \"гамма-коррекцию\".\n" +"Более высокие значения делают средний и слабый свет ярче.\n" +"Значение \"1.0\" оставляет кривую света без изменений.\n" +"Значительный эффект виден только на дневном и искусственном\n" +"освещении, почти не влияет на естественный ночной свет." #: src/settings_translation_file.cpp msgid "Always fly and fast" @@ -2307,7 +2424,9 @@ msgstr "Инерция руки" msgid "" "Arm inertia, gives a more realistic movement of\n" "the arm when the camera moves." -msgstr "Делает более реалистичным движение руки персонажа при движении камеры." +msgstr "" +"Делает более реалистичным движение руки\n" +"персонажа при движении камеры." #: src/settings_translation_file.cpp msgid "Ask to reconnect after crash" @@ -2356,6 +2475,16 @@ msgstr "Запоминать размер окна" msgid "Autoscaling mode" msgstr "Режим автоматического масштабирования" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Aux1 key" +msgstr "Кнопка прыжка" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Aux1 key for climbing/descending" +msgstr "Клавиша «Использовать» для спуска" + #: src/settings_translation_file.cpp msgid "Backward key" msgstr "Клавиша назад" @@ -2400,10 +2529,6 @@ msgstr "Параметры температуры и влажности для A msgid "Biome noise" msgstr "Шум биомов" -#: src/settings_translation_file.cpp -msgid "Bits per pixel (aka color depth) in fullscreen mode." -msgstr "Бит на пиксель (глубина цвета) в полноэкранном режиме." - #: src/settings_translation_file.cpp msgid "Block send optimize distance" msgstr "Оптимизированное расстояние отправки блока" @@ -2510,6 +2635,11 @@ msgstr "" "Центр диапазона увеличения кривой света,\n" "где 0.0 — минимальный уровень света, а 1.0 — максимальный." +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Chat command time message threshold" +msgstr "Максимальное количество сообщений в чате (для отключения)" + #: src/settings_translation_file.cpp msgid "Chat font size" msgstr "Размер шрифта чата" @@ -2606,6 +2736,11 @@ msgstr "Облака в меню" msgid "Colored fog" msgstr "Цветной туман" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Colored shadows" +msgstr "Цветной туман" + #: src/settings_translation_file.cpp msgid "" "Comma-separated list of flags to hide in the content repository.\n" @@ -2618,7 +2753,8 @@ msgid "" msgstr "" "Разделённый запятыми список меток, которые можно скрывать в репозитории.\n" "\"nonfree\" можно использовать, чтобы скрыть пакеты, которые не являются " -"свободным программным обеспечением по определению Free Software Foundation.\n" +"'свободным программным обеспечением'\n" +" по определению Free Software Foundation.\n" "Также вы можете назначить рейтинг.\n" "Метки не зависят от версии Minetest,\n" "узнать полный список можно на https://content.minetest.net/help/" @@ -2629,17 +2765,17 @@ msgid "" "Comma-separated list of mods that are allowed to access HTTP APIs, which\n" "allow them to upload and download data to/from the internet." msgstr "" -"Разделенный запятыми список модов, которые позволяют получить доступ к API " -"для HTTP, что позволить им загружать и скачивать данные из интернета." +"Разделённый запятыми список модов, у которых есть доступ к HTTP API,\n" +"что позволяет им загружать и отдавать данные по интернету." #: src/settings_translation_file.cpp msgid "" "Comma-separated list of trusted mods that are allowed to access insecure\n" "functions even when mod security is on (via request_insecure_environment())." msgstr "" -"Список доверенных модов через запятую, которым разрешён доступ к " -"небезопасным функциям даже когда включена защита модов (через " -"request_insecure_environment())." +"Разделённый запятыми список доверенных модов, которым разрешён\n" +"доступ к небезопасным функциям, даже когда включена защита модов\n" +"(через request_insecure_environment())." #: src/settings_translation_file.cpp msgid "Command key" @@ -2829,11 +2965,10 @@ msgstr "Размер стака по умолчанию" #: src/settings_translation_file.cpp msgid "" -"Default timeout for cURL, stated in milliseconds.\n" -"Only has an effect if compiled with cURL." +"Define shadow filtering quality\n" +"This simulates the soft shadows effect by applying a PCF or poisson disk\n" +"but also uses more resources." msgstr "" -"Стандартный тайм-аут для cURL, заданный в миллисекундах.\n" -"Работает только на сборках с cURL." #: src/settings_translation_file.cpp msgid "Defines areas where trees have apples." @@ -3010,14 +3145,19 @@ msgstr "" "Включить поддержку Lua-моддинга на клиенте.\n" "Эта поддержка является экспериментальной и API может измениться." +#: src/settings_translation_file.cpp +msgid "" +"Enable colored shadows. \n" +"On true translucent nodes cast colored shadows. This is expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable console window" msgstr "Включить окно консоли" #: src/settings_translation_file.cpp -#, fuzzy msgid "Enable creative mode for all players" -msgstr "Включить творческий режим для вновь созданных карт." +msgstr "Включить творческий режим для всех игроков" #: src/settings_translation_file.cpp msgid "Enable joysticks" @@ -3035,6 +3175,13 @@ msgstr "Включить защиту модов" msgid "Enable players getting damage and dying." msgstr "Включить получение игроками урона и их смерть." +#: src/settings_translation_file.cpp +msgid "" +"Enable poisson disk filtering.\n" +"On true uses poisson disk to make \"soft shadows\". Otherwise uses PCF " +"filtering." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable random user input (only used for testing)." msgstr "Включить случайный ввод пользователя (только для тестов)." @@ -3174,7 +3321,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "FPS when unfocused or paused" -msgstr "Максимум кадровой частоты при паузе." +msgstr "Максимум кадровой частоты при паузе или когда окно вне фокуса" #: src/settings_translation_file.cpp msgid "FSAA" @@ -3192,18 +3339,6 @@ msgstr "Коэффициент покачивания при падении" msgid "Fallback font path" msgstr "Путь к резервному шрифту" -#: src/settings_translation_file.cpp -msgid "Fallback font shadow" -msgstr "Тень резервного шрифта" - -#: src/settings_translation_file.cpp -msgid "Fallback font shadow alpha" -msgstr "Прозрачность тени резервного шрифта" - -#: src/settings_translation_file.cpp -msgid "Fallback font size" -msgstr "Размер резервного шрифта" - #: src/settings_translation_file.cpp msgid "Fast key" msgstr "Клавиша ускорения" @@ -3221,8 +3356,9 @@ msgid "Fast movement" msgstr "Быстрое перемещение" #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"Fast movement (via the \"special\" key).\n" +"Fast movement (via the \"Aux1\" key).\n" "This requires the \"fast\" privilege on the server." msgstr "" "Быстрое перемещение (с помощью клавиши «Использовать»).\n" @@ -3258,11 +3394,12 @@ msgid "Filmic tone mapping" msgstr "Кинематографическое тональное отображение" #: src/settings_translation_file.cpp +#, fuzzy msgid "" "Filtered textures can blend RGB values with fully-transparent neighbors,\n" -"which PNG optimizers usually discard, sometimes resulting in a dark or\n" -"light edge to transparent textures. Apply this filter to clean that up\n" -"at texture load time." +"which PNG optimizers usually discard, often resulting in dark or\n" +"light edges to transparent textures. Apply a filter to clean that up\n" +"at texture load time. This is automatically enabled if mipmapping is enabled." msgstr "" "Отфильтрованные текстуры могут смешивать значения RGB с полностью\n" "прозрачными соседними, которые оптимизаторы PNG обычно отбрасывают.\n" @@ -3361,10 +3498,6 @@ msgstr "Размер шрифта" msgid "Font size of the default font in point (pt)." msgstr "Размер стандартного шрифта в пунктах (pt)." -#: src/settings_translation_file.cpp -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)." @@ -3476,10 +3609,6 @@ msgstr "" msgid "Full screen" msgstr "Полный экран" -#: src/settings_translation_file.cpp -msgid "Full screen BPP" -msgstr "Глубина цвета в полноэкранном режиме" - #: src/settings_translation_file.cpp msgid "Fullscreen mode." msgstr "Полноэкранный режим." @@ -3507,9 +3636,8 @@ msgid "" "and junglegrass, in all other mapgens this flag controls all decorations." msgstr "" "Глобальные атрибуты генерации карт.\n" -"В картогенераторе v6 флаг «decorations» не влияет на деревья\n" -"и траву в джунглях, в остальных генераторах этот флаг\n" -"контролирует все декорации." +"В картогенераторе v6 флаг «decorations» не влияет на деревья и траву\n" +"в джунглях, в остальных генераторах этот флаг контролирует все декорации." #: src/settings_translation_file.cpp msgid "" @@ -3591,7 +3719,9 @@ msgid "Heat noise" msgstr "Шум теплоты" #: src/settings_translation_file.cpp -msgid "Height component of the initial window size." +#, fuzzy +msgid "" +"Height component of the initial window size. Ignored in fullscreen mode." msgstr "Высота окна при запуске." #: src/settings_translation_file.cpp @@ -3602,10 +3732,6 @@ msgstr "Шум высоты" msgid "Height select noise" msgstr "Шум выбора высоты" -#: src/settings_translation_file.cpp -msgid "High-precision FPU" -msgstr "Высокоточный FPU" - #: src/settings_translation_file.cpp msgid "Hill steepness" msgstr "Крутизна холмов" @@ -3849,9 +3975,9 @@ msgstr "" "чтобы не тратить мощность процессора впустую." #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"If disabled, \"special\" key is used to fly fast if both fly and fast mode " -"are\n" +"If disabled, \"Aux1\" key is used to fly fast if both fly and fast mode are\n" "enabled." msgstr "" "Если отключено, кнопка «Использовать» активирует быстрый полёт, если " @@ -3881,9 +4007,10 @@ msgstr "" "Требует наличие привилегии «noclip» на сервере." #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"If enabled, \"special\" key instead of \"sneak\" key is used for climbing " -"down and\n" +"If enabled, \"Aux1\" key instead of \"Sneak\" key is used for climbing down " +"and\n" "descending." msgstr "" "Если включено, то для спуска (в воде или при полёте) будет задействована " @@ -3940,6 +4067,12 @@ msgstr "" "Если ограничение CSM для диапазона нод включено, вызовы\n" "get_node ограничиваются на это расстояние от игрока до ноды." +#: src/settings_translation_file.cpp +msgid "" +"If the execution of a chat command takes longer than this specified time in\n" +"seconds, add the time information to the chat command message" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "If the file size of debug.txt exceeds the number of megabytes specified in\n" @@ -4341,13 +4474,12 @@ msgstr "" "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for placing.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Клавиша прыжка.\n" +"Клавиша размещения.\n" "См. http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" @@ -5108,11 +5240,6 @@ msgid "" msgstr "" "Включить зависимость цвета тумана и облаков от времени суток (рассвет/закат)." -#: src/settings_translation_file.cpp -msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." -msgstr "" -"Заставляет DirectX работать с LuaJIT. Отключите, если это вызывает проблемы." - #: src/settings_translation_file.cpp msgid "Makes all liquids opaque" msgstr "Сделать все жидкости непрозрачными" @@ -5203,6 +5330,11 @@ msgstr "Предел генерации карты" msgid "Map save interval" msgstr "Интервал сохранения карты" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Map update time" +msgstr "Интервал обновления жидкостей" + #: src/settings_translation_file.cpp msgid "Mapblock limit" msgstr "Предел блока" @@ -5312,6 +5444,10 @@ msgid "Maximum FPS when the window is not focused, or when the game is paused." msgstr "" "Максимальный FPS, когда окно не сфокусировано, или когда игра приостановлена." +#: src/settings_translation_file.cpp +msgid "Maximum distance to render shadows." +msgstr "" + #: src/settings_translation_file.cpp msgid "Maximum forceloaded blocks" msgstr "Максимальное количество принудительно загруженных блоков" @@ -5445,11 +5581,20 @@ msgstr "" "0 для отключения очереди и -1 для неограниченного размера." #: src/settings_translation_file.cpp -msgid "Maximum time in ms a file download (e.g. a mod download) may take." +#, fuzzy +msgid "" +"Maximum time a file download (e.g. a mod download) may take, stated in " +"milliseconds." msgstr "" "Максимум времени (в миллисекундах), которое может занять загрузка (например, " "мода)." +#: src/settings_translation_file.cpp +msgid "" +"Maximum time an interactive request (e.g. server list fetch) may take, " +"stated in milliseconds." +msgstr "" + #: src/settings_translation_file.cpp msgid "Maximum users" msgstr "Максимальное количество пользователей" @@ -5688,11 +5833,6 @@ 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 " @@ -5789,14 +5929,12 @@ msgid "Pitch move mode" msgstr "Режим движения вниз/вверх по направлению взгляда" #: src/settings_translation_file.cpp -#, fuzzy msgid "Place key" -msgstr "Клавиша полёта" +msgstr "Клавиша «Разместить»" #: src/settings_translation_file.cpp -#, fuzzy msgid "Place repetition interval" -msgstr "Интервал повторного клика правой кнопкой" +msgstr "Интервал повторного размещения" #: src/settings_translation_file.cpp msgid "" @@ -5818,6 +5956,11 @@ msgstr "Расстояние передачи игрока" msgid "Player versus player" msgstr "Режим «Игрок против игрока» (PvP)" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Poisson filtering" +msgstr "Билинейная фильтрация" + #: src/settings_translation_file.cpp msgid "" "Port to connect to (UDP).\n" @@ -6214,6 +6357,43 @@ msgstr "" "Задаёт максимальное количество символов в сообщении, отправляемом клиентами " "в чат." +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow strength.\n" +"Lower value means lighter shadows, higher value means darker shadows." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow update time.\n" +"Lower value means shadows and map updates faster, but it consume more " +"resources.\n" +"Minimun value 0.001 seconds max value 0.2 seconds" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the soft shadow radius size.\n" +"Lower values mean sharper shadows bigger values softer.\n" +"Minimun value 1.0 and max value 10.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the tilt of Sun/Moon orbit in degrees\n" +"Value of 0 means no tilt / vertical orbit.\n" +"Minimun value 0.0 and max value 60.0" +msgstr "" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "" +"Set to true to enable Shadow Mapping.\n" +"Requires shaders to be enabled." +msgstr "" +"Установка в true включает покачивание листвы.\n" +"Требует, чтобы шейдеры были включены." + #: src/settings_translation_file.cpp msgid "" "Set to true to enable waving leaves.\n" @@ -6238,6 +6418,13 @@ msgstr "" "Установка в true включает покачивание растений.\n" "Требует, чтобы шейдеры были включены." +#: src/settings_translation_file.cpp +msgid "" +"Sets shadow texture quality to 32 bits.\n" +"On false, 16 bits texture will be used.\n" +"This can cause much more artifacts in the shadow." +msgstr "" + #: src/settings_translation_file.cpp msgid "Shader path" msgstr "Путь к шейдерам" @@ -6253,6 +6440,24 @@ msgstr "" "увеличить производительность на некоторых видеокартах.\n" "Работают только с видео-бэкендом OpenGL." +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Shadow filter quality" +msgstr "Качество скриншота" + +#: src/settings_translation_file.cpp +msgid "Shadow map max distance in nodes to render shadows" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture in 32 bits" +msgstr "" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Shadow map texture size" +msgstr "Минимальный размер текстуры" + #: src/settings_translation_file.cpp msgid "" "Shadow offset (in pixels) of the default font. If 0, then shadow will not be " @@ -6262,12 +6467,8 @@ msgstr "" "будет показана." #: src/settings_translation_file.cpp -msgid "" -"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not " -"be drawn." +msgid "Shadow strength" msgstr "" -"Смещение тени резервного шрифта (в пикселях). Если указан 0, то тень не " -"будет показана." #: src/settings_translation_file.cpp msgid "Shape of the minimap. Enabled = round, disabled = square." @@ -6282,18 +6483,16 @@ msgid "Show entity selection boxes" msgstr "Показывать область выделения объектов" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Show entity selection boxes\n" "A restart is required after changing this." msgstr "" -"Установка языка. Оставьте пустым для использования системного языка.\n" +"Показывать область выделения объектов\n" "Требует перезапуска после изменения." #: src/settings_translation_file.cpp -#, fuzzy msgid "Show nametag backgrounds by default" -msgstr "Стандартный жирный шрифт" +msgstr "Отображать фон у табличек с именами" #: src/settings_translation_file.cpp msgid "Shutdown message" @@ -6328,6 +6527,10 @@ msgstr "" "увеличит процент попаданий в кэш, предотвращая копирование информации\n" "из основного потока игры, тем самым уменьшая колебания кадровой частоты." +#: src/settings_translation_file.cpp +msgid "Sky Body Orbit Tilt" +msgstr "" + #: src/settings_translation_file.cpp msgid "Slice w" msgstr "Разрез w" @@ -6386,18 +6589,15 @@ msgstr "Скорость скрытной ходьбы" msgid "Sneaking speed, in nodes per second." msgstr "Скорость ходьбы украдкой в нодах в секунду." +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Soft shadow radius" +msgstr "Прозрачность тени шрифта" + #: src/settings_translation_file.cpp msgid "Sound" msgstr "Звук" -#: src/settings_translation_file.cpp -msgid "Special key" -msgstr "Клавиша использовать" - -#: src/settings_translation_file.cpp -msgid "Special key for climbing/descending" -msgstr "Клавиша «Использовать» для спуска" - #: src/settings_translation_file.cpp msgid "" "Specifies URL from which client fetches media instead of using UDP.\n" @@ -6554,6 +6754,13 @@ msgstr "Шум постоянности ландшафта" msgid "Texture path" msgstr "Путь к текстурам" +#: src/settings_translation_file.cpp +msgid "" +"Texture size to render the shadow map on.\n" +"This must be a power of two.\n" +"Bigger numbers create better shadowsbut it is also more expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Textures on a node may be aligned either to the node or to the world.\n" @@ -6657,7 +6864,7 @@ msgstr "" #: src/settings_translation_file.cpp #, fuzzy msgid "" -"The rendering back-end for Irrlicht.\n" +"The rendering back-end.\n" "A restart is required after changing this.\n" "Note: On Android, stick with OGLES1 if unsure! App may fail to start " "otherwise.\n" @@ -6668,7 +6875,8 @@ msgstr "" "После изменения этого параметра потребуется перезапуск.\n" "Примечание: Если не уверены, используйте OGLES1 для Android, иначе\n" "приложение может не запуститься. На других платформах рекомендуется\n" -"OpenGL, так как сейчас это единственный драйвер с поддержкой шейдеров." +"OpenGL. Шейдеры поддерживаются OpenGL (только на десктопах) и OGLES2 " +"(экспериментально)" #: src/settings_translation_file.cpp msgid "" @@ -6706,6 +6914,8 @@ msgid "" "The time budget allowed for ABMs to execute on each step\n" "(as a fraction of the ABM Interval)" msgstr "" +"Бюджет времени для выполнения ABM на каждом шаге\n" +"(как часть ABM-интервала)" #: src/settings_translation_file.cpp msgid "" @@ -6716,11 +6926,12 @@ msgstr "" "когда зажата комбинация кнопок на джойстике." #: src/settings_translation_file.cpp -#, fuzzy msgid "" "The time in seconds it takes between repeated node placements when holding\n" "the place button." -msgstr "Задержка в секундах между кликами при зажатой правой кнопке мыши." +msgstr "" +"Задержка перед повторным размещением блока в секундах\n" +"при удержании клавиши размещения" #: src/settings_translation_file.cpp msgid "The type of joystick" @@ -7003,7 +7214,8 @@ msgid "Viewing range" msgstr "Дистанция отрисовки" #: src/settings_translation_file.cpp -msgid "Virtual joystick triggers aux button" +#, fuzzy +msgid "Virtual joystick triggers Aux1 button" msgstr "Дополнительная кнопка триггеров виртуального джойстика" #: src/settings_translation_file.cpp @@ -7107,14 +7319,14 @@ msgstr "" "правильно поддерживают загрузку текстур с аппаратного обеспечения." #: src/settings_translation_file.cpp +#, fuzzy msgid "" "When using bilinear/trilinear/anisotropic filters, low-resolution textures\n" "can be blurred, so automatically upscale them with nearest-neighbor\n" "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" +"memory. Powers of 2 are recommended. This setting is ONLY applies if\n" +"bilinear/trilinear/anisotropic filtering is enabled.\n" "This is also used as the base node texture size for world-aligned\n" "texture autoscaling." msgstr "" @@ -7144,6 +7356,8 @@ msgid "" "Whether nametag backgrounds should be shown by default.\n" "Mods may still set a background." msgstr "" +"Должен ли отображаться фон бирки по умолчанию.\n" +"Моды в любом случае могут задать фон." #: src/settings_translation_file.cpp msgid "Whether node texture animations should be desynchronized per mapblock." @@ -7193,7 +7407,8 @@ msgid "" msgstr "Показывать данные отладки (аналогично нажатию F5)." #: src/settings_translation_file.cpp -msgid "Width component of the initial window size." +#, fuzzy +msgid "Width component of the initial window size. Ignored in fullscreen mode." msgstr "Ширина компонента начального размера окна." #: src/settings_translation_file.cpp @@ -7329,12 +7544,13 @@ msgid "cURL file download timeout" msgstr "Тайм-аут загрузки файла с помощью cURL" #: src/settings_translation_file.cpp -msgid "cURL parallel limit" -msgstr "Лимит одновременных соединений cURL" +#, fuzzy +msgid "cURL interactive timeout" +msgstr "cURL тайм-аут" #: src/settings_translation_file.cpp -msgid "cURL timeout" -msgstr "cURL тайм-аут" +msgid "cURL parallel limit" +msgstr "Лимит одновременных соединений cURL" #~ msgid "" #~ "0 = parallax occlusion with slope information (faster).\n" @@ -7343,6 +7559,9 @@ msgstr "cURL тайм-аут" #~ "0 = Параллакс окклюзии с информацией о склоне (быстро).\n" #~ "1 = Рельефный маппинг (медленно, но качественно)." +#~ msgid "Address / Port" +#~ msgstr "Адрес / Порт" + #~ msgid "" #~ "Adjust the gamma encoding for the light tables. Higher numbers are " #~ "brighter.\n" @@ -7361,6 +7580,9 @@ msgstr "cURL тайм-аут" #~ msgid "Back" #~ msgstr "Назад" +#~ msgid "Bits per pixel (aka color depth) in fullscreen mode." +#~ msgstr "Бит на пиксель (глубина цвета) в полноэкранном режиме." + #~ msgid "Bump Mapping" #~ msgstr "Бампмаппинг" @@ -7402,12 +7624,25 @@ msgstr "cURL тайм-аут" #~ "Контролирует ширину тоннелей. Меньшие значения создают более широкие " #~ "тоннели." +#~ msgid "Credits" +#~ msgstr "Благодарности" + #~ msgid "Crosshair color (R,G,B)." #~ msgstr "Цвет перекрестия (R,G,B)." +#~ msgid "Damage enabled" +#~ msgstr "Урон включён" + #~ msgid "Darkness sharpness" #~ msgstr "Резкость темноты" +#~ msgid "" +#~ "Default timeout for cURL, stated in milliseconds.\n" +#~ "Only has an effect if compiled with cURL." +#~ msgstr "" +#~ "Стандартный тайм-аут для cURL, заданный в миллисекундах.\n" +#~ "Работает только на сборках с cURL." + #~ msgid "" #~ "Defines areas of floatland smooth terrain.\n" #~ "Smooth floatlands occur when noise > 0." @@ -7477,6 +7712,15 @@ msgstr "cURL тайм-аут" #~ msgid "FPS in pause menu" #~ msgstr "Кадровая частота во время паузы" +#~ msgid "Fallback font shadow" +#~ msgstr "Тень резервного шрифта" + +#~ msgid "Fallback font shadow alpha" +#~ msgstr "Прозрачность тени резервного шрифта" + +#~ msgid "Fallback font size" +#~ msgstr "Размер резервного шрифта" + #~ msgid "Floatland base height noise" #~ msgstr "Шум базовой высоты парящих островов" @@ -7486,6 +7730,12 @@ msgstr "cURL тайм-аут" #~ msgid "Font shadow alpha (opaqueness, between 0 and 255)." #~ msgstr "Прозрачность тени шрифта (непрозрачность от 0 до 255)." +#~ msgid "Font size of the fallback font in point (pt)." +#~ msgstr "Размер резервного шрифта в пунктах (pt)." + +#~ msgid "Full screen BPP" +#~ msgstr "Глубина цвета в полноэкранном режиме" + #~ msgid "Gamma" #~ msgstr "Гамма" @@ -7495,6 +7745,9 @@ msgstr "cURL тайм-аут" #~ msgid "Generate normalmaps" #~ msgstr "Генерировать карты нормалей" +#~ msgid "High-precision FPU" +#~ msgstr "Высокоточный FPU" + #~ msgid "IPv6 support." #~ msgstr "Поддержка IPv6." @@ -7513,6 +7766,11 @@ msgstr "cURL тайм-аут" #~ msgid "Main menu style" #~ msgstr "Стиль главного меню" +#~ msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." +#~ msgstr "" +#~ "Заставляет DirectX работать с LuaJIT. Отключите, если это вызывает " +#~ "проблемы." + #~ msgid "Minimap in radar mode, Zoom x2" #~ msgstr "Миникарта в режиме радара, увеличение x2" @@ -7525,6 +7783,9 @@ msgstr "cURL тайм-аут" #~ msgid "Minimap in surface mode, Zoom x4" #~ msgstr "Миникарта в поверхностном режиме, увеличение x4" +#~ msgid "Name / Password" +#~ msgstr "Имя / Пароль" + #~ msgid "Name/Password" #~ msgstr "Имя/Пароль" @@ -7543,6 +7804,11 @@ msgstr "cURL тайм-аут" #~ msgid "Ok" #~ msgstr "Oк" +#~ msgid "" +#~ "Opaqueness (alpha) of the shadow behind the fallback font, between 0 and " +#~ "255." +#~ msgstr "Непрозрачность (альфа) тени за резервным шрифтом, между 0 и 255." + #~ msgid "Overall bias of parallax occlusion effect, usually scale/2." #~ msgstr "Общее смещение эффекта Parallax Occlusion, обычно масштаб/2." @@ -7579,6 +7845,9 @@ msgstr "cURL тайм-аут" #~ msgid "Projecting dungeons" #~ msgstr "Проступающие подземелья" +#~ msgid "PvP enabled" +#~ msgstr "PvP разрешён" + #~ msgid "Reset singleplayer world" #~ msgstr "Сброс одиночной игры" @@ -7588,6 +7857,19 @@ msgstr "cURL тайм-аут" #~ msgid "Shadow limit" #~ msgstr "Лимит теней" +#~ msgid "" +#~ "Shadow offset (in pixels) of the fallback font. If 0, then shadow will " +#~ "not be drawn." +#~ msgstr "" +#~ "Смещение тени резервного шрифта (в пикселях). Если указан 0, то тень не " +#~ "будет показана." + +#~ msgid "Special" +#~ msgstr "Особенный" + +#~ msgid "Special key" +#~ msgstr "Клавиша использовать" + #~ msgid "Start Singleplayer" #~ msgstr "Начать одиночную игру" @@ -7635,3 +7917,6 @@ msgstr "cURL тайм-аут" #~ msgid "Yes" #~ msgstr "Да" + +#~ msgid "needs_fallback_font" +#~ msgstr "no" diff --git a/po/sk/minetest.po b/po/sk/minetest.po index c8249c0f0..a1f9cd9b3 100644 --- a/po/sk/minetest.po +++ b/po/sk/minetest.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: minetest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-02-23 19:03+0100\n" -"PO-Revision-Date: 2021-02-13 08:50+0000\n" +"POT-Creation-Date: 2021-06-16 18:27+0200\n" +"PO-Revision-Date: 2021-04-21 20:29+0000\n" "Last-Translator: Marian \n" "Language-Team: Slovak \n" @@ -17,7 +17,49 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" -"X-Generator: Weblate 4.5-dev\n" +"X-Generator: Weblate 4.7-dev\n" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Clear the out chat queue" +msgstr "Maximálna veľkosť výstupnej komunikačnej fronty" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Empty command." +msgstr "Komunikačné príkazy" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Exit to main menu" +msgstr "Návrat do menu" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Invalid command: " +msgstr "Lokálny príkaz" + +#: builtin/client/chatcommands.lua +msgid "Issued command: " +msgstr "" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "List online players" +msgstr "Hra pre jedného hráča" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Online players: " +msgstr "Hra pre jedného hráča" + +#: builtin/client/chatcommands.lua +msgid "The out chat queue is now empty." +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "This command is disabled by server." +msgstr "" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -27,6 +69,38 @@ msgstr "Oživiť" msgid "You died" msgstr "Zomrel si" +#: builtin/client/death_formspec.lua +#, fuzzy +msgid "You died." +msgstr "Zomrel si" + +#: builtin/common/chatcommands.lua +#, fuzzy +msgid "Available commands:" +msgstr "Lokálny príkaz" + +#: builtin/common/chatcommands.lua +#, fuzzy +msgid "Available commands: " +msgstr "Lokálny príkaz" + +#: builtin/common/chatcommands.lua +msgid "Command not available: " +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "Get help for commands" +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "" +"Use '.help ' to get more information, or '.help all' to list everything." +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "[all | ]" +msgstr "" + #: builtin/fstk/dialog.lua builtin/fstk/ui.lua src/gui/modalMenu.cpp msgid "OK" msgstr "OK" @@ -190,7 +264,7 @@ msgstr "$1 bude nainštalovaný, a $2 závislosti budú preskočené." #: builtin/mainmenu/dlg_contentstore.lua msgid "All packages" -msgstr "Všetky balíčky" +msgstr "Všetko" #: builtin/mainmenu/dlg_contentstore.lua msgid "Already installed" @@ -198,7 +272,7 @@ msgstr "Už je nainštalované" #: builtin/mainmenu/dlg_contentstore.lua msgid "Back to Main Menu" -msgstr "Naspäť do hlavného menu" +msgstr "Hlavné menu" #: builtin/mainmenu/dlg_contentstore.lua msgid "Base Game:" @@ -268,7 +342,7 @@ msgstr "Čaká v rade" #: builtin/mainmenu/dlg_contentstore.lua msgid "Texture packs" -msgstr "Balíčky textúr" +msgstr "Textúry" #: builtin/mainmenu/dlg_contentstore.lua msgid "Uninstall" @@ -539,7 +613,7 @@ msgstr "< Späť na nastavenia" msgid "Browse" msgstr "Prehliadaj" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_settings.lua msgid "Disabled" msgstr "Vypnuté" @@ -577,13 +651,13 @@ msgstr "Prosím vlož platné číslo." #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Restore Default" -msgstr "Obnov štandardné hodnoty" +msgstr "Obnov štand. hodnoty" #: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp msgid "Scale" msgstr "Mierka" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua msgid "Search" msgstr "Hľadaj" @@ -710,9 +784,8 @@ msgid "Loading..." msgstr "Nahrávam..." #: builtin/mainmenu/serverlistmgr.lua -#, fuzzy msgid "Public server list is disabled" -msgstr "Skriptovanie na strane klienta je zakázané" +msgstr "Zoznam verejných serverov je zakázaný" #: builtin/mainmenu/serverlistmgr.lua msgid "Try reenabling public serverlist and check your internet connection." @@ -720,6 +793,43 @@ msgstr "" "Skús znova povoliť verejný zoznam serverov a skontroluj internetové " "pripojenie." +#: builtin/mainmenu/tab_about.lua +msgid "About" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active Contributors" +msgstr "Aktívny prispievatelia" + +#: builtin/mainmenu/tab_about.lua +#, fuzzy +msgid "Active renderer:" +msgstr "Zasielaný rozsah aktívnych objektov" + +#: builtin/mainmenu/tab_about.lua +msgid "Core Developers" +msgstr "Hlavný vývojari" + +#: builtin/mainmenu/tab_about.lua +msgid "Open User Data Directory" +msgstr "Otvor adresár užívateľa" + +#: builtin/mainmenu/tab_about.lua +msgid "" +"Opens the directory that contains user-provided worlds, games, mods,\n" +"and texture packs in a file manager / explorer." +msgstr "" +"Otvor adresár, ktorý obsahuje svety, hry, mody a textúry\n" +"od užívateľov v správcovi/prieskumníkovi súborov." + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Contributors" +msgstr "Predchádzajúci prispievatelia" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Core Developers" +msgstr "Predchádzajúci hlavný vývojári" + #: builtin/mainmenu/tab_content.lua msgid "Browse online content" msgstr "Hľadaj nový obsah na internete" @@ -760,38 +870,6 @@ msgstr "Odinštaluj balíček" msgid "Use Texture Pack" msgstr "Použi balíček textúr" -#: builtin/mainmenu/tab_credits.lua -msgid "Active Contributors" -msgstr "Aktívny prispievatelia" - -#: builtin/mainmenu/tab_credits.lua -msgid "Core Developers" -msgstr "Hlavný vývojari" - -#: builtin/mainmenu/tab_credits.lua -msgid "Credits" -msgstr "Poďakovanie" - -#: builtin/mainmenu/tab_credits.lua -msgid "Open User Data Directory" -msgstr "Otvor adresár s užívateľskými dátami" - -#: builtin/mainmenu/tab_credits.lua -msgid "" -"Opens the directory that contains user-provided worlds, games, mods,\n" -"and texture packs in a file manager / explorer." -msgstr "" -"Otvor adresár, ktorý obsahuje svety, hry, mody a textúry\n" -"od užívateľov v správcovi/prieskumníkovi súborov." - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Contributors" -msgstr "Predchádzajúci prispievatelia" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Core Developers" -msgstr "Predchádzajúci hlavný vývojári" - #: builtin/mainmenu/tab_local.lua msgid "Announce Server" msgstr "Zverejni server" @@ -820,7 +898,7 @@ msgstr "Hosťuj server" msgid "Install games from ContentDB" msgstr "Inštaluj hry z ContentDB" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Name" msgstr "Meno" @@ -832,7 +910,7 @@ msgstr "Nový" msgid "No world created or selected!" msgstr "Nie je vytvorený ani zvolený svet!" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Password" msgstr "Heslo" @@ -840,7 +918,7 @@ msgstr "Heslo" msgid "Play Game" msgstr "Hraj hru" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Port" msgstr "Port" @@ -861,8 +939,13 @@ msgid "Start Game" msgstr "Spusti hru" #: builtin/mainmenu/tab_online.lua -msgid "Address / Port" -msgstr "Adresa / Port" +#, fuzzy +msgid "Address" +msgstr "- Adresa: " + +#: builtin/mainmenu/tab_online.lua src/client/keycode.cpp +msgid "Clear" +msgstr "Zmaž" #: builtin/mainmenu/tab_online.lua msgid "Connect" @@ -872,34 +955,46 @@ msgstr "Pripojiť sa" msgid "Creative mode" msgstr "Kreatívny mód" +#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "Damage enabled" -msgstr "Poškodenie je aktivované" +#, fuzzy +msgid "Damage / PvP" +msgstr "Zranenie" #: builtin/mainmenu/tab_online.lua msgid "Del. Favorite" msgstr "Zmaž obľúbené" #: builtin/mainmenu/tab_online.lua -msgid "Favorite" +#, fuzzy +msgid "Favorites" msgstr "Obľúbené" +#: builtin/mainmenu/tab_online.lua +msgid "Incompatible Servers" +msgstr "" + #: builtin/mainmenu/tab_online.lua msgid "Join Game" msgstr "Pripoj sa do hry" -#: builtin/mainmenu/tab_online.lua -msgid "Name / Password" -msgstr "Meno / Heslo" - #: builtin/mainmenu/tab_online.lua msgid "Ping" msgstr "Ping" -#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "PvP enabled" -msgstr "PvP je aktívne" +#, fuzzy +msgid "Public Servers" +msgstr "Zverejni server" + +#: builtin/mainmenu/tab_online.lua +msgid "Refresh" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +#, fuzzy +msgid "Server Description" +msgstr "Popis servera" #: builtin/mainmenu/tab_settings.lua msgid "2x" @@ -941,10 +1036,31 @@ msgstr "Zmeň ovládacie klávesy" msgid "Connected Glass" msgstr "Prepojené sklo" +#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp +#, fuzzy +msgid "Dynamic shadows" +msgstr "Tieň písma" + +#: builtin/mainmenu/tab_settings.lua +msgid "Dynamic shadows: " +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Fancy Leaves" msgstr "Ozdobné listy" +#: builtin/mainmenu/tab_settings.lua +msgid "High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Low" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Medium" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Mipmap" msgstr "Mipmapy" @@ -1023,7 +1139,7 @@ msgstr "Aby mohli byť aktivované shadery, musí sa použiť OpenGL." #: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp msgid "Tone Mapping" -msgstr "Tone Mapping (Optim. farieb)" +msgstr "Optim. farieb" #: builtin/mainmenu/tab_settings.lua msgid "Touchthreshold: (px)" @@ -1033,6 +1149,14 @@ msgstr "Dotykový prah: (px)" msgid "Trilinear Filter" msgstr "Trilineárny filter" +#: builtin/mainmenu/tab_settings.lua +msgid "Ultra High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Very Low" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Waving Leaves" msgstr "Vlniace sa listy" @@ -1105,18 +1229,6 @@ msgstr "Dodaný súbor s heslom nie je možné otvoriť: " msgid "Provided world path doesn't exist: " msgstr "Zadaná cesta k svetu 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" - #: src/client/game.cpp msgid "" "\n" @@ -1359,6 +1471,11 @@ msgstr "MiB/s" msgid "Minimap currently disabled by game or mod" msgstr "Minimapa je aktuálne zakázaná hrou, alebo rozšírením" +#: src/client/game.cpp +#, fuzzy +msgid "Multiplayer" +msgstr "Hra pre jedného hráča" + #: src/client/game.cpp msgid "Noclip mode disabled" msgstr "Režim prechádzania stenami je zakázaný" @@ -1501,10 +1618,6 @@ msgstr "Backspace" msgid "Caps Lock" msgstr "Caps Lock" -#: src/client/keycode.cpp -msgid "Clear" -msgstr "Zmaž" - #: src/client/keycode.cpp msgid "Control" msgstr "CTRL" @@ -1798,7 +1911,8 @@ msgid "Proceed" msgstr "Pokračuj" #: src/gui/guiKeyChangeMenu.cpp -msgid "\"Special\" = climb down" +#, fuzzy +msgid "\"Aux1\" = climb down" msgstr "\"Špeciál\"=šplhaj dole" #: src/gui/guiKeyChangeMenu.cpp @@ -1809,10 +1923,18 @@ msgstr "Automaticky pohyb vpred" msgid "Automatic jumping" msgstr "Automatické skákanie" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Aux1" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Backward" msgstr "Vzad" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Block bounds" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Change camera" msgstr "Zmeň pohľad" @@ -1903,10 +2025,6 @@ msgstr "Fotka obrazovky" msgid "Sneak" msgstr "Zakrádať sa" -#: src/gui/guiKeyChangeMenu.cpp -msgid "Special" -msgstr "Špeciál" - #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle HUD" msgstr "Prepni HUD" @@ -1993,9 +2111,10 @@ msgstr "" "Ak je vypnuté, virtuálny joystick sa vycentruje na pozícií prvého dotyku." #: 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 " +"(Android) Use virtual joystick to trigger \"Aux1\" button.\n" +"If enabled, virtual joystick will also tap \"Aux1\" button when out of main " "circle." msgstr "" "(Android) Použije virtuálny joystick na stlačenie tlačidla \"aux\".\n" @@ -2354,6 +2473,16 @@ msgstr "Pamätať si veľkosť obrazovky" msgid "Autoscaling mode" msgstr "Režim automatickej zmeny mierky" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Aux1 key" +msgstr "Tlačidlo Skok" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Aux1 key for climbing/descending" +msgstr "Špeciálna klávesa pre šplhanie hore/dole" + #: src/settings_translation_file.cpp msgid "Backward key" msgstr "Tlačidlo Vzad" @@ -2398,10 +2527,6 @@ msgstr "Parametre šumu teploty a vlhkosti pre Biome API" msgid "Biome noise" msgstr "Šum biómu" -#: src/settings_translation_file.cpp -msgid "Bits per pixel (aka color depth) in fullscreen mode." -msgstr "Počet bitov na pixel (farebná hĺbka) v režime celej obrazovky." - #: src/settings_translation_file.cpp msgid "Block send optimize distance" msgstr "Vzdialenosť pre optimalizáciu posielania blokov" @@ -2506,6 +2631,11 @@ msgstr "" "Centrum rozsahu zosilnenia svetelnej krivky.\n" "Kde 0.0 je minimálna úroveň, 1.0 je maximálna úroveň ." +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Chat command time message threshold" +msgstr "Hranica správ pre vylúčenie" + #: src/settings_translation_file.cpp msgid "Chat font size" msgstr "Veľkosť komunikačného písma" @@ -2602,6 +2732,11 @@ msgstr "Mraky v menu" msgid "Colored fog" msgstr "Farebná hmla" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Colored shadows" +msgstr "Farebná hmla" + #: src/settings_translation_file.cpp msgid "" "Comma-separated list of flags to hide in the content repository.\n" @@ -2824,11 +2959,10 @@ msgstr "Štandardná veľkosť kôpky" #: src/settings_translation_file.cpp msgid "" -"Default timeout for cURL, stated in milliseconds.\n" -"Only has an effect if compiled with cURL." +"Define shadow filtering quality\n" +"This simulates the soft shadows effect by applying a PCF or poisson disk\n" +"but also uses more resources." msgstr "" -"Štandardný časový rámec pre cURL, zadaný v milisekundách.\n" -"Má efekt len ak je skompilovaný s cURL." #: src/settings_translation_file.cpp msgid "Defines areas where trees have apples." @@ -3000,14 +3134,19 @@ msgstr "" "Aktivuj podporu úprav na klientovi pomocou Lua skriptov.\n" "Táto podpora je experimentálna a API sa môže zmeniť." +#: src/settings_translation_file.cpp +msgid "" +"Enable colored shadows. \n" +"On true translucent nodes cast colored shadows. This is expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable console window" msgstr "Aktivuj okno konzoly" #: src/settings_translation_file.cpp -#, fuzzy msgid "Enable creative mode for all players" -msgstr "Aktivuj kreatívny režim pre novo vytvorené mapy." +msgstr "Aktivuj kreatívny režim pre všetkých hráčov" #: src/settings_translation_file.cpp msgid "Enable joysticks" @@ -3025,6 +3164,13 @@ msgstr "Aktivuj rozšírenie pre zabezpečenie" msgid "Enable players getting damage and dying." msgstr "Aktivuje aby mohol byť hráč zranený a zomrieť." +#: src/settings_translation_file.cpp +msgid "" +"Enable poisson disk filtering.\n" +"On true uses poisson disk to make \"soft shadows\". Otherwise uses PCF " +"filtering." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable random user input (only used for testing)." msgstr "Aktivuje náhodný užívateľský vstup (používa sa len pre testovanie)." @@ -3180,18 +3326,6 @@ msgstr "Faktor pohupovania sa pri pádu" msgid "Fallback font path" msgstr "Cesta k záložnému písmu" -#: src/settings_translation_file.cpp -msgid "Fallback font shadow" -msgstr "Tieň záložného písma" - -#: src/settings_translation_file.cpp -msgid "Fallback font shadow alpha" -msgstr "Priehľadnosť tieňa záložného fontu" - -#: src/settings_translation_file.cpp -msgid "Fallback font size" -msgstr "Veľkosť záložného písma" - #: src/settings_translation_file.cpp msgid "Fast key" msgstr "Tlačidlo Rýchlosť" @@ -3209,8 +3343,9 @@ msgid "Fast movement" msgstr "Rýchly pohyb" #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"Fast movement (via the \"special\" key).\n" +"Fast movement (via the \"Aux1\" key).\n" "This requires the \"fast\" privilege on the server." msgstr "" "Rýchly pohyb (cez \"špeciálnu\" klávesu).\n" @@ -3246,11 +3381,12 @@ msgid "Filmic tone mapping" msgstr "Filmový tone mapping" #: src/settings_translation_file.cpp +#, fuzzy msgid "" "Filtered textures can blend RGB values with fully-transparent neighbors,\n" -"which PNG optimizers usually discard, sometimes resulting in a dark or\n" -"light edge to transparent textures. Apply this filter to clean that up\n" -"at texture load time." +"which PNG optimizers usually discard, often resulting in dark or\n" +"light edges to transparent textures. Apply a filter to clean that up\n" +"at texture load time. This is automatically enabled if mipmapping is enabled." msgstr "" "Filtrované textúry môžu zmiešať svoje RGB hodnoty s plne priehľadnými " "susedmi,\n" @@ -3350,10 +3486,6 @@ msgstr "Veľkosť písma" msgid "Font size of the default font in point (pt)." msgstr "Veľkosť písma štandardného písma v bodoch (pt)." -#: src/settings_translation_file.cpp -msgid "Font size of the fallback font in point (pt)." -msgstr "Veľkosť písma záložného písma v bodoch (pt)." - #: src/settings_translation_file.cpp msgid "Font size of the monospace font in point (pt)." msgstr "Veľkosť písma s pevnou šírkou v bodoch (pt)." @@ -3473,10 +3605,6 @@ msgstr "" msgid "Full screen" msgstr "Celá obrazovka" -#: src/settings_translation_file.cpp -msgid "Full screen BPP" -msgstr "BPP v režime celej obrazovky" - #: src/settings_translation_file.cpp msgid "Fullscreen mode." msgstr "Režim celej obrazovky." @@ -3588,7 +3716,9 @@ msgid "Heat noise" msgstr "Teplotný šum" #: src/settings_translation_file.cpp -msgid "Height component of the initial window size." +#, fuzzy +msgid "" +"Height component of the initial window size. Ignored in fullscreen mode." msgstr "Výška okna po spustení." #: src/settings_translation_file.cpp @@ -3599,10 +3729,6 @@ msgstr "Výškový šum" msgid "Height select noise" msgstr "Šum výšok" -#: src/settings_translation_file.cpp -msgid "High-precision FPU" -msgstr "Vysoko-presné FPU" - #: src/settings_translation_file.cpp msgid "Hill steepness" msgstr "Strmosť kopcov" @@ -3846,9 +3972,9 @@ msgstr "" "sa bezvýznamne, bez úžitku neplytvalo výkonom CPU." #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"If disabled, \"special\" key is used to fly fast if both fly and fast mode " -"are\n" +"If disabled, \"Aux1\" key is used to fly fast if both fly and fast mode are\n" "enabled." msgstr "" "Ak je aktivované, použije sa \"špeciálna\" klávesa na lietanie, v prípade,\n" @@ -3879,9 +4005,10 @@ msgstr "" "Toto si na serveri vyžaduje privilégium \"noclip\"." #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"If enabled, \"special\" key instead of \"sneak\" key is used for climbing " -"down and\n" +"If enabled, \"Aux1\" key instead of \"Sneak\" key is used for climbing down " +"and\n" "descending." msgstr "" "Ak je aktivované, použije sa namiesto klávesy pre \"zakrádanie\" \"špeciálnu " @@ -3940,6 +4067,12 @@ msgstr "" "Ak sú CSM obmedzenia pre dohľad kocky aktívne, volania get_node sú\n" "obmedzené touto vzdialenosťou od hráča ku kocke." +#: src/settings_translation_file.cpp +msgid "" +"If the execution of a chat command takes longer than this specified time in\n" +"seconds, add the time information to the chat command message" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "If the file size of debug.txt exceeds the number of megabytes specified in\n" @@ -4987,13 +5120,13 @@ msgid "" "- verbose" msgstr "" "Úroveň ladiacich informácií, ktoré budú zapísané do debug.txt:\n" -"- (bez logovania)\n" -"- žiadna (správy bez úrovne)\n" -"- chyby\n" -"- varovania\n" -"- akcie\n" -"- informácie\n" -"- všetko" +"- (bez logovania)\n" +"- none - žiadna (správy bez úrovne)\n" +"- error - chyby\n" +"- warning - varovania\n" +"- akcie\n" +"- info - informácie\n" +"- verbose - všetko" #: src/settings_translation_file.cpp msgid "Light curve boost" @@ -5108,10 +5241,6 @@ msgid "" msgstr "" "Prispôsob farbu hmly a oblohy dennej dobe (svitanie/súmrak) a uhlu pohľadu." -#: src/settings_translation_file.cpp -msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." -msgstr "Umožní DirectX pracovať s LuaJIT. Vypni ak to spôsobuje problémy." - #: src/settings_translation_file.cpp msgid "Makes all liquids opaque" msgstr "Všetky tekutiny budú nepriehľadné" @@ -5202,6 +5331,11 @@ msgstr "Limit generovania mapy" msgid "Map save interval" msgstr "Interval ukladania mapy" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Map update time" +msgstr "Aktualizačný interval tekutín" + #: src/settings_translation_file.cpp msgid "Mapblock limit" msgstr "Limit blokov mapy" @@ -5311,6 +5445,10 @@ msgid "Maximum FPS when the window is not focused, or when the game is paused." msgstr "" "Maximálne FPS, ak je hra nie je v aktuálnom okne, alebo je pozastavená." +#: src/settings_translation_file.cpp +msgid "Maximum distance to render shadows." +msgstr "" + #: src/settings_translation_file.cpp msgid "Maximum forceloaded blocks" msgstr "Maximum vynútene nahraných blokov" @@ -5440,11 +5578,20 @@ msgstr "" "0 pre zakázanie fronty a -1 pre neobmedzenú frontu." #: src/settings_translation_file.cpp -msgid "Maximum time in ms a file download (e.g. a mod download) may take." +#, fuzzy +msgid "" +"Maximum time a file download (e.g. a mod download) may take, stated in " +"milliseconds." msgstr "" "Maximálny čas v ms, ktorý môže zabrať sťahovanie súboru (napr. sťahovanie " "rozšírenia)." +#: src/settings_translation_file.cpp +msgid "" +"Maximum time an interactive request (e.g. server list fetch) may take, " +"stated in milliseconds." +msgstr "" + #: src/settings_translation_file.cpp msgid "Maximum users" msgstr "Maximálny počet hráčov" @@ -5682,11 +5829,6 @@ msgid "" "Opaqueness (alpha) of the shadow behind the default font, between 0 and 255." msgstr "Nepriehľadnosť tieňa za štandardným písmom, medzi 0 a 255." -#: src/settings_translation_file.cpp -msgid "" -"Opaqueness (alpha) of the shadow behind the fallback font, between 0 and 255." -msgstr "Nepriehľadnosť tieňa za záložným písmom, medzi 0 a 255." - #: src/settings_translation_file.cpp msgid "" "Open the pause menu when the window's focus is lost. Does not pause if a " @@ -5810,6 +5952,11 @@ msgstr "Vzdialenosť zobrazenia hráča" msgid "Player versus player" msgstr "Hráč proti hráčovi (PvP)" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Poisson filtering" +msgstr "Bilineárne filtrovanie" + #: src/settings_translation_file.cpp msgid "" "Port to connect to (UDP).\n" @@ -6199,6 +6346,43 @@ msgstr "" msgid "Set the maximum character length of a chat message sent by clients." msgstr "Nastav maximálny počet znakov komunikačnej správy posielanej klientmi." +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow strength.\n" +"Lower value means lighter shadows, higher value means darker shadows." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow update time.\n" +"Lower value means shadows and map updates faster, but it consume more " +"resources.\n" +"Minimun value 0.001 seconds max value 0.2 seconds" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the soft shadow radius size.\n" +"Lower values mean sharper shadows bigger values softer.\n" +"Minimun value 1.0 and max value 10.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the tilt of Sun/Moon orbit in degrees\n" +"Value of 0 means no tilt / vertical orbit.\n" +"Minimun value 0.0 and max value 60.0" +msgstr "" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "" +"Set to true to enable Shadow Mapping.\n" +"Requires shaders to be enabled." +msgstr "" +"Nastav true pre povolenie vlniacich sa listov.\n" +"Požaduje aby boli aktivované shadery." + #: src/settings_translation_file.cpp msgid "" "Set to true to enable waving leaves.\n" @@ -6223,6 +6407,13 @@ msgstr "" "Nastav true pre aktivovanie vlniacich sa rastlín.\n" "Požaduje aby boli aktivované shadery." +#: src/settings_translation_file.cpp +msgid "" +"Sets shadow texture quality to 32 bits.\n" +"On false, 16 bits texture will be used.\n" +"This can cause much more artifacts in the shadow." +msgstr "" + #: src/settings_translation_file.cpp msgid "Shader path" msgstr "Cesta k shaderom" @@ -6239,6 +6430,24 @@ msgstr "" "môžu zvýšiť výkon.\n" "Toto funguje len s OpenGL." +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Shadow filter quality" +msgstr "Kvalita snímok obrazovky" + +#: src/settings_translation_file.cpp +msgid "Shadow map max distance in nodes to render shadows" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture in 32 bits" +msgstr "" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Shadow map texture size" +msgstr "Minimálna veľkosť textúry" + #: src/settings_translation_file.cpp msgid "" "Shadow offset (in pixels) of the default font. If 0, then shadow will not be " @@ -6248,12 +6457,8 @@ msgstr "" "vykreslený." #: src/settings_translation_file.cpp -msgid "" -"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not " -"be drawn." +msgid "Shadow strength" msgstr "" -"Posun tieňa (v pixeloch) záložného písma. Ak je 0, tak tieň nebude " -"vykreslený." #: src/settings_translation_file.cpp msgid "Shape of the minimap. Enabled = round, disabled = square." @@ -6276,9 +6481,8 @@ msgstr "" "Po zmene je požadovaný reštart." #: src/settings_translation_file.cpp -#, fuzzy msgid "Show nametag backgrounds by default" -msgstr "Štandardne tučné písmo" +msgstr "Pri mene zobraz štandardne pozadie" #: src/settings_translation_file.cpp msgid "Shutdown message" @@ -6311,6 +6515,10 @@ msgstr "" "Zvýšenie zvýši využitie medzipamäte %, zníži sa množstvo dát kopírovaných\n" "z hlavnej vetvy a tým sa zníži chvenie." +#: src/settings_translation_file.cpp +msgid "Sky Body Orbit Tilt" +msgstr "" + #: src/settings_translation_file.cpp msgid "Slice w" msgstr "Plátok w" @@ -6368,18 +6576,15 @@ msgstr "Rýchlosť zakrádania" msgid "Sneaking speed, in nodes per second." msgstr "Rýchlosť zakrádania sa, v kockách za sekundu." +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Soft shadow radius" +msgstr "Priehľadnosť tieňa písma" + #: src/settings_translation_file.cpp msgid "Sound" msgstr "Zvuk" -#: src/settings_translation_file.cpp -msgid "Special key" -msgstr "Špeciálne tlačidlo" - -#: src/settings_translation_file.cpp -msgid "Special key for climbing/descending" -msgstr "Špeciálna klávesa pre šplhanie hore/dole" - #: src/settings_translation_file.cpp msgid "" "Specifies URL from which client fetches media instead of using UDP.\n" @@ -6533,6 +6738,13 @@ msgstr "Stálosť šumu terénu" msgid "Texture path" msgstr "Cesta k textúram" +#: src/settings_translation_file.cpp +msgid "" +"Texture size to render the shadow map on.\n" +"This must be a power of two.\n" +"Bigger numbers create better shadowsbut it is also more expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Textures on a node may be aligned either to the node or to the world.\n" @@ -6629,8 +6841,9 @@ msgstr "" "Malo by to byť konfigurované spolu s active_object_send_range_blocks." #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"The rendering back-end for Irrlicht.\n" +"The rendering back-end.\n" "A restart is required after changing this.\n" "Note: On Android, stick with OGLES1 if unsure! App may fail to start " "otherwise.\n" @@ -6969,7 +7182,8 @@ msgid "Viewing range" msgstr "Vzdialenosť dohľadu" #: src/settings_translation_file.cpp -msgid "Virtual joystick triggers aux button" +#, fuzzy +msgid "Virtual joystick triggers Aux1 button" msgstr "Virtuálny joystick stlačí tlačidlo aux" #: src/settings_translation_file.cpp @@ -7070,14 +7284,14 @@ msgstr "" "nepodporujú sťahovanie textúr z hardvéru." #: src/settings_translation_file.cpp +#, fuzzy msgid "" "When using bilinear/trilinear/anisotropic filters, low-resolution textures\n" "can be blurred, so automatically upscale them with nearest-neighbor\n" "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" +"memory. Powers of 2 are recommended. This setting is ONLY applies if\n" +"bilinear/trilinear/anisotropic filtering is enabled.\n" "This is also used as the base node texture size for world-aligned\n" "texture autoscaling." msgstr "" @@ -7107,6 +7321,8 @@ msgid "" "Whether nametag backgrounds should be shown by default.\n" "Mods may still set a background." msgstr "" +"Či sa má pri mene zobraziť pozadie.\n" +"Rozšírenia stále môžu pozadie nastaviť." #: src/settings_translation_file.cpp msgid "Whether node texture animations should be desynchronized per mapblock." @@ -7154,7 +7370,8 @@ msgid "" msgstr "Zobrazenie ladiaceho okna na klientovi (má rovnaký efekt ako F5)." #: src/settings_translation_file.cpp -msgid "Width component of the initial window size." +#, fuzzy +msgid "Width component of the initial window size. Ignored in fullscreen mode." msgstr "Šírka okna po spustení." #: src/settings_translation_file.cpp @@ -7291,12 +7508,13 @@ msgid "cURL file download timeout" msgstr "cURL časový rámec sťahovania súborov" #: src/settings_translation_file.cpp -msgid "cURL parallel limit" -msgstr "Paralelný limit cURL" +#, fuzzy +msgid "cURL interactive timeout" +msgstr "Časový rámec cURL" #: src/settings_translation_file.cpp -msgid "cURL timeout" -msgstr "Časový rámec cURL" +msgid "cURL parallel limit" +msgstr "Paralelný limit cURL" #~ msgid "" #~ "0 = parallax occlusion with slope information (faster).\n" @@ -7305,9 +7523,15 @@ msgstr "Časový rámec cURL" #~ "0 = parallax occlusion s informácia o sklone (rýchlejšie).\n" #~ "1 = mapovanie reliéfu (pomalšie, presnejšie)." +#~ msgid "Address / Port" +#~ msgstr "Adresa / Port" + #~ msgid "Are you sure to reset your singleplayer world?" #~ msgstr "Si si istý, že chceš vynulovať svoj svet jedného hráča?" +#~ msgid "Bits per pixel (aka color depth) in fullscreen mode." +#~ msgstr "Počet bitov na pixel (farebná hĺbka) v režime celej obrazovky." + #~ msgid "Bump Mapping" #~ msgstr "Bump Mapping (Ilúzia nerovnosti)" @@ -7334,9 +7558,22 @@ msgstr "Časový rámec cURL" #~ msgid "Configure" #~ msgstr "Konfigurácia" +#~ msgid "Credits" +#~ msgstr "Poďakovanie" + #~ msgid "Crosshair color (R,G,B)." #~ msgstr "Farba zameriavača (R,G,B)." +#~ msgid "Damage enabled" +#~ msgstr "Poškodenie je aktivované" + +#~ msgid "" +#~ "Default timeout for cURL, stated in milliseconds.\n" +#~ "Only has an effect if compiled with cURL." +#~ msgstr "" +#~ "Štandardný časový rámec pre cURL, zadaný v milisekundách.\n" +#~ "Má efekt len ak je skompilovaný s cURL." + #~ msgid "" #~ "Defines sampling step of texture.\n" #~ "A higher value results in smoother normal maps." @@ -7379,18 +7616,39 @@ msgstr "Časový rámec cURL" #~ msgid "FPS in pause menu" #~ msgstr "FPS v menu pozastavenia hry" +#~ msgid "Fallback font shadow" +#~ msgstr "Tieň záložného písma" + +#~ msgid "Fallback font shadow alpha" +#~ msgstr "Priehľadnosť tieňa záložného fontu" + +#~ msgid "Fallback font size" +#~ msgstr "Veľkosť záložného písma" + +#~ msgid "Font size of the fallback font in point (pt)." +#~ msgstr "Veľkosť písma záložného písma v bodoch (pt)." + +#~ msgid "Full screen BPP" +#~ msgstr "BPP v režime celej obrazovky" + #~ msgid "Generate Normal Maps" #~ msgstr "Normal Maps (nerovnosti)" #~ msgid "Generate normalmaps" #~ msgstr "Generuj normálové mapy" +#~ msgid "High-precision FPU" +#~ msgstr "Vysoko-presné FPU" + #~ msgid "Main" #~ msgstr "Hlavné" #~ msgid "Main menu style" #~ msgstr "Štýl hlavného menu" +#~ msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." +#~ msgstr "Umožní DirectX pracovať s LuaJIT. Vypni ak to spôsobuje problémy." + #~ msgid "Minimap in radar mode, Zoom x2" #~ msgstr "Minimapa v radarovom režime, priblíženie x2" @@ -7403,6 +7661,9 @@ msgstr "Časový rámec cURL" #~ msgid "Minimap in surface mode, Zoom x4" #~ msgstr "Minimapa v povrchovom režime, priblíženie x4" +#~ msgid "Name / Password" +#~ msgstr "Meno / Heslo" + #~ msgid "Name/Password" #~ msgstr "Meno/Heslo" @@ -7418,6 +7679,11 @@ msgstr "Časový rámec cURL" #~ msgid "Number of parallax occlusion iterations." #~ msgstr "Počet opakovaní výpočtu parallax occlusion." +#~ msgid "" +#~ "Opaqueness (alpha) of the shadow behind the fallback font, between 0 and " +#~ "255." +#~ msgstr "Nepriehľadnosť tieňa za záložným písmom, medzi 0 a 255." + #~ msgid "Overall bias of parallax occlusion effect, usually scale/2." #~ msgstr "Celkové skreslenie parallax occlusion efektu, obvykle mierka/2." @@ -7442,9 +7708,25 @@ msgstr "Časový rámec cURL" #~ msgid "Parallax occlusion scale" #~ msgstr "Mierka parallax occlusion" +#~ msgid "PvP enabled" +#~ msgstr "PvP je aktívne" + #~ msgid "Reset singleplayer world" #~ msgstr "Vynuluj svet jedného hráča" +#~ msgid "" +#~ "Shadow offset (in pixels) of the fallback font. If 0, then shadow will " +#~ "not be drawn." +#~ msgstr "" +#~ "Posun tieňa (v pixeloch) záložného písma. Ak je 0, tak tieň nebude " +#~ "vykreslený." + +#~ msgid "Special" +#~ msgstr "Špeciál" + +#~ msgid "Special key" +#~ msgstr "Špeciálne tlačidlo" + #~ msgid "Start Singleplayer" #~ msgstr "Spusti hru pre jedného hráča" @@ -7456,3 +7738,6 @@ msgstr "Časový rámec cURL" #~ msgid "Yes" #~ msgstr "Áno" + +#~ msgid "needs_fallback_font" +#~ msgstr "no" diff --git a/po/sl/minetest.po b/po/sl/minetest.po index a67ac9c65..c39836dd0 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: 2021-02-23 19:03+0100\n" +"POT-Creation-Date: 2021-06-16 18:27+0200\n" "PO-Revision-Date: 2020-09-30 19:41+0000\n" "Last-Translator: Iztok Bajcar \n" "Language-Team: Slovenian ' to get more information, or '.help all' to list everything." +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "[all | ]" +msgstr "" + #: builtin/fstk/dialog.lua builtin/fstk/ui.lua src/gui/modalMenu.cpp msgid "OK" msgstr "V redu" @@ -554,7 +626,7 @@ msgstr "< Nazaj do Nastavitev" msgid "Browse" msgstr "Prebrskaj" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_settings.lua msgid "Disabled" msgstr "Onemogočeno" @@ -599,7 +671,7 @@ msgstr "Obnovi privzeto" msgid "Scale" msgstr "Skala" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua msgid "Search" msgstr "Poišči" @@ -736,6 +808,41 @@ msgstr "" "Morda je treba ponovno omogočiti javni seznam strežnikov oziroma preveriti " "internetno povezavo." +#: builtin/mainmenu/tab_about.lua +msgid "About" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active Contributors" +msgstr "Dejavni sodelavci" + +#: builtin/mainmenu/tab_about.lua +msgid "Active renderer:" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Core Developers" +msgstr "Glavni razvijalci" + +#: builtin/mainmenu/tab_about.lua +#, fuzzy +msgid "Open User Data Directory" +msgstr "Izberi mapo" + +#: builtin/mainmenu/tab_about.lua +msgid "" +"Opens the directory that contains user-provided worlds, games, mods,\n" +"and texture packs in a file manager / explorer." +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Contributors" +msgstr "Predhodni sodelavci" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Core Developers" +msgstr "Predhodni razvajalci" + #: builtin/mainmenu/tab_content.lua msgid "Browse online content" msgstr "Brskaj po spletnih vsebinah" @@ -776,37 +883,6 @@ msgstr "Odstrani paket" msgid "Use Texture Pack" msgstr "Uporabi paket tekstur" -#: builtin/mainmenu/tab_credits.lua -msgid "Active Contributors" -msgstr "Dejavni sodelavci" - -#: builtin/mainmenu/tab_credits.lua -msgid "Core Developers" -msgstr "Glavni razvijalci" - -#: builtin/mainmenu/tab_credits.lua -msgid "Credits" -msgstr "Zasluge" - -#: builtin/mainmenu/tab_credits.lua -#, fuzzy -msgid "Open User Data Directory" -msgstr "Izberi mapo" - -#: builtin/mainmenu/tab_credits.lua -msgid "" -"Opens the directory that contains user-provided worlds, games, mods,\n" -"and texture packs in a file manager / explorer." -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Contributors" -msgstr "Predhodni sodelavci" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Core Developers" -msgstr "Predhodni razvajalci" - #: builtin/mainmenu/tab_local.lua msgid "Announce Server" msgstr "Objavi strežnik" @@ -835,7 +911,7 @@ msgstr "Gostiteljski strežnik" msgid "Install games from ContentDB" msgstr "Namesti igre iz ContentDB" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Name" msgstr "" @@ -847,7 +923,7 @@ msgstr "Novo" msgid "No world created or selected!" msgstr "Ni ustvarjenega oziroma izbranega sveta!" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua #, fuzzy msgid "Password" msgstr "Novo geslo" @@ -856,7 +932,7 @@ msgstr "Novo geslo" msgid "Play Game" msgstr "Zaženi igro" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Port" msgstr "Vrata" @@ -878,8 +954,13 @@ msgid "Start Game" msgstr "Začni igro" #: builtin/mainmenu/tab_online.lua -msgid "Address / Port" -msgstr "Naslov / Vrata" +#, fuzzy +msgid "Address" +msgstr "– Naslov: " + +#: builtin/mainmenu/tab_online.lua src/client/keycode.cpp +msgid "Clear" +msgstr "Počisti" #: builtin/mainmenu/tab_online.lua msgid "Connect" @@ -889,34 +970,46 @@ msgstr "Poveži" msgid "Creative mode" msgstr "Ustvarjalni način" +#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "Damage enabled" -msgstr "Poškodbe so omogočene" +#, fuzzy +msgid "Damage / PvP" +msgstr "Poškodbe" #: builtin/mainmenu/tab_online.lua msgid "Del. Favorite" msgstr "Izbriši priljubljeno" #: builtin/mainmenu/tab_online.lua -msgid "Favorite" +#, fuzzy +msgid "Favorites" msgstr "Priljubljeno" +#: builtin/mainmenu/tab_online.lua +msgid "Incompatible Servers" +msgstr "" + #: builtin/mainmenu/tab_online.lua msgid "Join Game" msgstr "Prijavi se v igro" -#: builtin/mainmenu/tab_online.lua -msgid "Name / Password" -msgstr "Ime / Geslo" - #: builtin/mainmenu/tab_online.lua msgid "Ping" msgstr "Ping" -#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "PvP enabled" -msgstr "Igra PvP je omogočena" +#, fuzzy +msgid "Public Servers" +msgstr "Objavi strežnik" + +#: builtin/mainmenu/tab_online.lua +msgid "Refresh" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +#, fuzzy +msgid "Server Description" +msgstr "Vrata strežnika" #: builtin/mainmenu/tab_settings.lua msgid "2x" @@ -958,10 +1051,31 @@ msgstr "Spremeni tipke" msgid "Connected Glass" msgstr "Povezano steklo" +#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp +#, fuzzy +msgid "Dynamic shadows" +msgstr "Senca pisave" + +#: builtin/mainmenu/tab_settings.lua +msgid "Dynamic shadows: " +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Fancy Leaves" msgstr "Olepšani listi" +#: builtin/mainmenu/tab_settings.lua +msgid "High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Low" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Medium" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Mipmap" msgstr "Zemljevid (minimap)" @@ -1052,6 +1166,14 @@ msgstr "Občutljivost dotika (v pikslih):" msgid "Trilinear Filter" msgstr "Trilinearni filter" +#: builtin/mainmenu/tab_settings.lua +msgid "Ultra High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Very Low" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Waving Leaves" msgstr "Pokaži premikanje listov" @@ -1126,18 +1248,6 @@ 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" - #: src/client/game.cpp msgid "" "\n" @@ -1383,6 +1493,11 @@ msgid "Minimap currently disabled by game or mod" msgstr "" "Zemljevid (minimap) je trenutno onemogočen zaradi igre ali prilagoditve" +#: src/client/game.cpp +#, fuzzy +msgid "Multiplayer" +msgstr "samostojna igra" + #: src/client/game.cpp msgid "Noclip mode disabled" msgstr "Prehod skozi zid (način duha) je onemogočen" @@ -1529,10 +1644,6 @@ msgstr "Backspace" msgid "Caps Lock" msgstr "Velike črke" -#: src/client/keycode.cpp -msgid "Clear" -msgstr "Počisti" - #: src/client/keycode.cpp msgid "Control" msgstr "Control" @@ -1833,7 +1944,8 @@ msgid "Proceed" msgstr "Nadaljuj" #: src/gui/guiKeyChangeMenu.cpp -msgid "\"Special\" = climb down" +#, fuzzy +msgid "\"Aux1\" = climb down" msgstr "\"Special\" = plezanje dol" #: src/gui/guiKeyChangeMenu.cpp @@ -1844,10 +1956,18 @@ msgstr "Samodejno premikanje naprej" msgid "Automatic jumping" msgstr "Samodejno skakanje" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Aux1" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Backward" msgstr "Nazaj" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Block bounds" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Change camera" msgstr "Sprememba kamere" @@ -1938,10 +2058,6 @@ msgstr "Posnetek zaslona" msgid "Sneak" msgstr "Plaziti se" -#: src/gui/guiKeyChangeMenu.cpp -msgid "Special" -msgstr "Specialen" - #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle HUD" msgstr "Preklopi HUD" @@ -2030,9 +2146,10 @@ msgstr "" "pritiska na ekran." #: 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 " +"(Android) Use virtual joystick to trigger \"Aux1\" button.\n" +"If enabled, virtual joystick will also tap \"Aux1\" button when out of main " "circle." msgstr "" "(Android) Uporabi virtualno igralno palico za pritisk gumba \"aux\".\n" @@ -2380,6 +2497,15 @@ msgstr "Samodejno shrani velikost zaslona" msgid "Autoscaling mode" msgstr "" +#: src/settings_translation_file.cpp +msgid "Aux1 key" +msgstr "" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Aux1 key for climbing/descending" +msgstr "Posebna tipka, ki se uporablja za plezanje in spuščanje" + #: src/settings_translation_file.cpp msgid "Backward key" msgstr "Tipka backward" @@ -2426,10 +2552,6 @@ msgstr "" msgid "Biome noise" msgstr "Šum bioma" -#: src/settings_translation_file.cpp -msgid "Bits per pixel (aka color depth) in fullscreen mode." -msgstr "Biti na piksel (barvna globina) v celozaslonskem načinu." - #: src/settings_translation_file.cpp msgid "Block send optimize distance" msgstr "" @@ -2543,6 +2665,10 @@ msgstr "" "Središče območja povečave svetlobne krivulje.\n" "0.0 je minimalna raven svetlobe, 1.0 maksimalna." +#: src/settings_translation_file.cpp +msgid "Chat command time message threshold" +msgstr "" + #: src/settings_translation_file.cpp #, fuzzy msgid "Chat font size" @@ -2644,6 +2770,11 @@ msgstr "Oblaki v meniju" msgid "Colored fog" msgstr "Barvna megla" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Colored shadows" +msgstr "Barvna megla" + #: src/settings_translation_file.cpp msgid "" "Comma-separated list of flags to hide in the content repository.\n" @@ -2845,8 +2976,9 @@ msgstr "Privzeta igra" #: src/settings_translation_file.cpp msgid "" -"Default timeout for cURL, stated in milliseconds.\n" -"Only has an effect if compiled with cURL." +"Define shadow filtering quality\n" +"This simulates the soft shadows effect by applying a PCF or poisson disk\n" +"but also uses more resources." msgstr "" #: src/settings_translation_file.cpp @@ -3011,6 +3143,12 @@ msgid "" "This support is experimental and API can change." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Enable colored shadows. \n" +"On true translucent nodes cast colored shadows. This is expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable console window" msgstr "" @@ -3036,6 +3174,13 @@ msgstr "" msgid "Enable players getting damage and dying." msgstr "Omogoči, da igralci dobijo poškodbo in umrejo." +#: src/settings_translation_file.cpp +msgid "" +"Enable poisson disk filtering.\n" +"On true uses poisson disk to make \"soft shadows\". Otherwise uses PCF " +"filtering." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable random user input (only used for testing)." msgstr "" @@ -3159,18 +3304,6 @@ msgstr "" msgid "Fallback font path" msgstr "Pot pisave" -#: src/settings_translation_file.cpp -msgid "Fallback font shadow" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Fallback font shadow alpha" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Fallback font size" -msgstr "" - #: src/settings_translation_file.cpp msgid "Fast key" msgstr "Tipka za hitro premikanje" @@ -3190,7 +3323,7 @@ msgstr "Hitro premikanje" #: src/settings_translation_file.cpp #, fuzzy msgid "" -"Fast movement (via the \"special\" key).\n" +"Fast movement (via the \"Aux1\" key).\n" "This requires the \"fast\" privilege on the server." msgstr "" "Možnost omogoča hitro premikanje (s tipko »uporabi«).\n" @@ -3228,9 +3361,9 @@ 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." +"which PNG optimizers usually discard, often resulting in dark or\n" +"light edges to transparent textures. Apply a filter to clean that up\n" +"at texture load time. This is automatically enabled if mipmapping is enabled." msgstr "" #: src/settings_translation_file.cpp @@ -3327,10 +3460,6 @@ msgstr "Velikost pisave" msgid "Font size of the default font in point (pt)." msgstr "" -#: src/settings_translation_file.cpp -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 "" @@ -3431,10 +3560,6 @@ msgstr "" msgid "Full screen" msgstr "Celozaslonski način" -#: src/settings_translation_file.cpp -msgid "Full screen BPP" -msgstr "" - #: src/settings_translation_file.cpp msgid "Fullscreen mode." msgstr "Celozaslonski način." @@ -3528,7 +3653,8 @@ msgid "Heat noise" msgstr "" #: src/settings_translation_file.cpp -msgid "Height component of the initial window size." +msgid "" +"Height component of the initial window size. Ignored in fullscreen mode." msgstr "" #: src/settings_translation_file.cpp @@ -3539,10 +3665,6 @@ msgstr "" msgid "Height select noise" msgstr "" -#: src/settings_translation_file.cpp -msgid "High-precision FPU" -msgstr "" - #: src/settings_translation_file.cpp msgid "Hill steepness" msgstr "Strmina hriba" @@ -3776,8 +3898,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"If disabled, \"special\" key is used to fly fast if both fly and fast mode " -"are\n" +"If disabled, \"Aux1\" key is used to fly fast if both fly and fast mode are\n" "enabled." msgstr "" @@ -3801,9 +3922,10 @@ msgstr "" "To zahteva privilegij \"noclip\" na strežniku." #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"If enabled, \"special\" key instead of \"sneak\" key is used for climbing " -"down and\n" +"If enabled, \"Aux1\" key instead of \"Sneak\" key is used for climbing down " +"and\n" "descending." msgstr "" "Izbrana možnost omogoči delovanje \"posebne\" tipke namesto tipke \"plaziti " @@ -3858,6 +3980,12 @@ msgid "" "to this distance from the player to the node." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"If the execution of a chat command takes longer than this specified time in\n" +"seconds, add the time information to the chat command message" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "If the file size of debug.txt exceeds the number of megabytes specified in\n" @@ -4749,10 +4877,6 @@ msgid "" "Make fog and sky colors depend on daytime (dawn/sunset) and view direction." msgstr "" -#: src/settings_translation_file.cpp -msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." -msgstr "" - #: src/settings_translation_file.cpp msgid "Makes all liquids opaque" msgstr "" @@ -4824,6 +4948,10 @@ msgstr "" msgid "Map save interval" msgstr "" +#: src/settings_translation_file.cpp +msgid "Map update time" +msgstr "" + #: src/settings_translation_file.cpp msgid "Mapblock limit" msgstr "" @@ -4933,6 +5061,10 @@ msgstr "" msgid "Maximum FPS when the window is not focused, or when the game is paused." msgstr "" +#: src/settings_translation_file.cpp +msgid "Maximum distance to render shadows." +msgstr "" + #: src/settings_translation_file.cpp msgid "Maximum forceloaded blocks" msgstr "" @@ -5039,7 +5171,15 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "Maximum time in ms a file download (e.g. a mod download) may take." +msgid "" +"Maximum time a file download (e.g. a mod download) may take, stated in " +"milliseconds." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum time an interactive request (e.g. server list fetch) may take, " +"stated in milliseconds." msgstr "" #: src/settings_translation_file.cpp @@ -5252,11 +5392,6 @@ 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 " @@ -5358,6 +5493,11 @@ msgstr "" msgid "Player versus player" msgstr "" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Poisson filtering" +msgstr "Bilinearno filtriranje" + #: src/settings_translation_file.cpp msgid "" "Port to connect to (UDP).\n" @@ -5693,6 +5833,40 @@ msgstr "" msgid "Set the maximum character length of a chat message sent by clients." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow strength.\n" +"Lower value means lighter shadows, higher value means darker shadows." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow update time.\n" +"Lower value means shadows and map updates faster, but it consume more " +"resources.\n" +"Minimun value 0.001 seconds max value 0.2 seconds" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the soft shadow radius size.\n" +"Lower values mean sharper shadows bigger values softer.\n" +"Minimun value 1.0 and max value 10.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the tilt of Sun/Moon orbit in degrees\n" +"Value of 0 means no tilt / vertical orbit.\n" +"Minimun value 0.0 and max value 60.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set to true to enable Shadow Mapping.\n" +"Requires shaders to be enabled." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Set to true to enable waving leaves.\n" @@ -5711,6 +5885,13 @@ msgid "" "Requires shaders to be enabled." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Sets shadow texture quality to 32 bits.\n" +"On false, 16 bits texture will be used.\n" +"This can cause much more artifacts in the shadow." +msgstr "" + #: src/settings_translation_file.cpp msgid "Shader path" msgstr "" @@ -5723,6 +5904,22 @@ msgid "" "This only works with the OpenGL video backend." msgstr "" +#: src/settings_translation_file.cpp +msgid "Shadow filter quality" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map max distance in nodes to render shadows" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture in 32 bits" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture size" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Shadow offset (in pixels) of the default font. If 0, then shadow will not be " @@ -5730,9 +5927,7 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "" -"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not " -"be drawn." +msgid "Shadow strength" msgstr "" #: src/settings_translation_file.cpp @@ -5778,6 +5973,10 @@ msgid "" "thread, thus reducing jitter." msgstr "" +#: src/settings_translation_file.cpp +msgid "Sky Body Orbit Tilt" +msgstr "" + #: src/settings_translation_file.cpp msgid "Slice w" msgstr "" @@ -5838,18 +6037,15 @@ msgstr "" msgid "Sneaking speed, in nodes per second." msgstr "" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Soft shadow radius" +msgstr "Senca pisave" + #: src/settings_translation_file.cpp msgid "Sound" msgstr "" -#: src/settings_translation_file.cpp -msgid "Special key" -msgstr "Posebna tipka" - -#: src/settings_translation_file.cpp -msgid "Special key for climbing/descending" -msgstr "Posebna tipka, ki se uporablja za plezanje in spuščanje" - #: src/settings_translation_file.cpp msgid "" "Specifies URL from which client fetches media instead of using UDP.\n" @@ -5971,6 +6167,13 @@ msgstr "" msgid "Texture path" msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Texture size to render the shadow map on.\n" +"This must be a power of two.\n" +"Bigger numbers create better shadowsbut it is also more expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Textures on a node may be aligned either to the node or to the world.\n" @@ -6044,7 +6247,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"The rendering back-end for Irrlicht.\n" +"The rendering back-end.\n" "A restart is required after changing this.\n" "Note: On Android, stick with OGLES1 if unsure! App may fail to start " "otherwise.\n" @@ -6331,7 +6534,7 @@ msgid "Viewing range" msgstr "" #: src/settings_translation_file.cpp -msgid "Virtual joystick triggers aux button" +msgid "Virtual joystick triggers Aux1 button" msgstr "" #: src/settings_translation_file.cpp @@ -6426,9 +6629,8 @@ msgid "" "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" +"memory. Powers of 2 are recommended. This setting is ONLY applies if\n" +"bilinear/trilinear/anisotropic filtering is enabled.\n" "This is also used as the base node texture size for world-aligned\n" "texture autoscaling." msgstr "" @@ -6484,7 +6686,7 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "Width component of the initial window size." +msgid "Width component of the initial window size. Ignored in fullscreen mode." msgstr "" #: src/settings_translation_file.cpp @@ -6591,11 +6793,11 @@ msgid "cURL file download timeout" msgstr "" #: src/settings_translation_file.cpp -msgid "cURL parallel limit" +msgid "cURL interactive timeout" msgstr "" #: src/settings_translation_file.cpp -msgid "cURL timeout" +msgid "cURL parallel limit" msgstr "" #, fuzzy @@ -6606,12 +6808,18 @@ msgstr "" #~ "0 = \"parallax occlusion\" s podatki o nagibih (hitrejše)\n" #~ "1 = mapiranje reliefa (počasnejše, a bolj natančno)" +#~ msgid "Address / Port" +#~ msgstr "Naslov / Vrata" + #~ msgid "Are you sure to reset your singleplayer world?" #~ msgstr "Ali res želiš ponastaviti samostojno igro?" #~ msgid "Back" #~ msgstr "Nazaj" +#~ msgid "Bits per pixel (aka color depth) in fullscreen mode." +#~ msgstr "Biti na piksel (barvna globina) v celozaslonskem načinu." + #~ msgid "Bump Mapping" #~ msgstr "Površinsko preslikavanje" @@ -6636,6 +6844,12 @@ msgstr "" #~ msgid "Configure" #~ msgstr "Nastavi" +#~ msgid "Credits" +#~ msgstr "Zasluge" + +#~ msgid "Damage enabled" +#~ msgstr "Poškodbe so omogočene" + #~ msgid "Darkness sharpness" #~ msgstr "Ostrina teme" @@ -6677,6 +6891,9 @@ msgstr "" #~ msgid "Minimap in surface mode, Zoom x4" #~ msgstr "Zemljevid (minimap) je v načinu prikazovanja površja, Zoom x4" +#~ msgid "Name / Password" +#~ msgstr "Ime / Geslo" + #~ msgid "Name/Password" #~ msgstr "Ime / Geslo" @@ -6693,12 +6910,21 @@ msgstr "" #~ msgid "Parallax occlusion scale" #~ msgstr "Lestvica okluzije paralakse" +#~ msgid "PvP enabled" +#~ msgstr "Igra PvP je omogočena" + #~ msgid "Reset singleplayer world" #~ msgstr "Ponastavi samostojno igro" #~ msgid "Select Package File:" #~ msgstr "Izberi datoteko paketa:" +#~ msgid "Special" +#~ msgstr "Specialen" + +#~ msgid "Special key" +#~ msgstr "Posebna tipka" + #~ msgid "Start Singleplayer" #~ msgstr "Zaženi samostojno igro" @@ -6711,3 +6937,6 @@ msgstr "" #~ msgid "Yes" #~ msgstr "Da" + +#~ msgid "needs_fallback_font" +#~ msgstr "no" diff --git a/po/sr_Cyrl/minetest.po b/po/sr_Cyrl/minetest.po index 5223e55e2..9ce81bbae 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: 2021-02-23 19:03+0100\n" +"POT-Creation-Date: 2021-06-16 18:27+0200\n" "PO-Revision-Date: 2020-07-08 20:47+0000\n" "Last-Translator: sfan5 \n" "Language-Team: Serbian (cyrillic) =20) ? 1 : 2;\n" "X-Generator: Weblate 4.2-dev\n" +#: builtin/client/chatcommands.lua +msgid "Clear the out chat queue" +msgstr "" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Empty command." +msgstr "Чат команде" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Exit to main menu" +msgstr "Изађи у мени" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Invalid command: " +msgstr "Локална команда" + +#: builtin/client/chatcommands.lua +msgid "Issued command: " +msgstr "" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "List online players" +msgstr "Један играч" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Online players: " +msgstr "Један играч" + +#: builtin/client/chatcommands.lua +msgid "The out chat queue is now empty." +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "This command is disabled by server." +msgstr "" + #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" msgstr "Врати се у живот" @@ -24,6 +65,38 @@ msgstr "Врати се у живот" msgid "You died" msgstr "Умро/ла си." +#: builtin/client/death_formspec.lua +#, fuzzy +msgid "You died." +msgstr "Умро/ла си." + +#: builtin/common/chatcommands.lua +#, fuzzy +msgid "Available commands:" +msgstr "Локална команда" + +#: builtin/common/chatcommands.lua +#, fuzzy +msgid "Available commands: " +msgstr "Локална команда" + +#: builtin/common/chatcommands.lua +msgid "Command not available: " +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "Get help for commands" +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "" +"Use '.help ' to get more information, or '.help all' to list everything." +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "[all | ]" +msgstr "" + #: builtin/fstk/dialog.lua builtin/fstk/ui.lua src/gui/modalMenu.cpp msgid "OK" msgstr "" @@ -564,7 +637,7 @@ msgstr "< Назад на страну са поставкама" msgid "Browse" msgstr "Прегледај" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_settings.lua msgid "Disabled" msgstr "Онемогућено" @@ -608,7 +681,7 @@ msgstr "Поврати уобичајено" msgid "Scale" msgstr "" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua msgid "Search" msgstr "Тражи" @@ -761,6 +834,42 @@ msgstr "" "Покушајте да поновно укључите листу сервера и проверите вашу интернет " "конекцију." +#: builtin/mainmenu/tab_about.lua +msgid "About" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active Contributors" +msgstr "Активни сарадници" + +#: builtin/mainmenu/tab_about.lua +#, fuzzy +msgid "Active renderer:" +msgstr "Даљина слања активног блока" + +#: builtin/mainmenu/tab_about.lua +msgid "Core Developers" +msgstr "Главни развијачи" + +#: builtin/mainmenu/tab_about.lua +#, fuzzy +msgid "Open User Data Directory" +msgstr "Изаберите фајл мода:" + +#: builtin/mainmenu/tab_about.lua +msgid "" +"Opens the directory that contains user-provided worlds, games, mods,\n" +"and texture packs in a file manager / explorer." +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Contributors" +msgstr "Предходни сарадници" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Core Developers" +msgstr "Предходни главни развијачи" + #: builtin/mainmenu/tab_content.lua msgid "Browse online content" msgstr "" @@ -808,37 +917,6 @@ msgstr "Уклони изабрани мод" msgid "Use Texture Pack" msgstr "Сетови текстура" -#: builtin/mainmenu/tab_credits.lua -msgid "Active Contributors" -msgstr "Активни сарадници" - -#: builtin/mainmenu/tab_credits.lua -msgid "Core Developers" -msgstr "Главни развијачи" - -#: builtin/mainmenu/tab_credits.lua -msgid "Credits" -msgstr "Заслуге" - -#: builtin/mainmenu/tab_credits.lua -#, fuzzy -msgid "Open User Data Directory" -msgstr "Изаберите фајл мода:" - -#: builtin/mainmenu/tab_credits.lua -msgid "" -"Opens the directory that contains user-provided worlds, games, mods,\n" -"and texture packs in a file manager / explorer." -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Contributors" -msgstr "Предходни сарадници" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Core Developers" -msgstr "Предходни главни развијачи" - #: builtin/mainmenu/tab_local.lua msgid "Announce Server" msgstr "Пријави сервер" @@ -867,7 +945,7 @@ msgstr "Направи сервер" msgid "Install games from ContentDB" msgstr "" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Name" msgstr "" @@ -879,7 +957,7 @@ msgstr "Нови" msgid "No world created or selected!" msgstr "Ниједан свет није направљен или изабран!" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua #, fuzzy msgid "Password" msgstr "Нова шифра" @@ -889,7 +967,7 @@ msgstr "Нова шифра" msgid "Play Game" msgstr "Почни игру" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Port" msgstr "Порт" @@ -912,8 +990,13 @@ msgid "Start Game" msgstr "Направи игру" #: builtin/mainmenu/tab_online.lua -msgid "Address / Port" -msgstr "Адреса / Порт" +#, fuzzy +msgid "Address" +msgstr "- Адреса: " + +#: builtin/mainmenu/tab_online.lua src/client/keycode.cpp +msgid "Clear" +msgstr "Очисти" #: builtin/mainmenu/tab_online.lua msgid "Connect" @@ -923,35 +1006,47 @@ msgstr "Прикључи се" msgid "Creative mode" msgstr "Слободни мод" +#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "Damage enabled" -msgstr "Оштећење омогућено" +#, fuzzy +msgid "Damage / PvP" +msgstr "Штета" #: builtin/mainmenu/tab_online.lua msgid "Del. Favorite" msgstr "Обриши Омиљени" #: builtin/mainmenu/tab_online.lua -msgid "Favorite" +#, fuzzy +msgid "Favorites" msgstr "Омиљени" +#: builtin/mainmenu/tab_online.lua +msgid "Incompatible Servers" +msgstr "" + #: builtin/mainmenu/tab_online.lua #, fuzzy msgid "Join Game" msgstr "Направи игру" -#: builtin/mainmenu/tab_online.lua -msgid "Name / Password" -msgstr "Име / Шифра" - #: builtin/mainmenu/tab_online.lua msgid "Ping" msgstr "Одзив" -#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "PvP enabled" -msgstr "Туча омогућена" +#, fuzzy +msgid "Public Servers" +msgstr "Пријави сервер" + +#: builtin/mainmenu/tab_online.lua +msgid "Refresh" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +#, fuzzy +msgid "Server Description" +msgstr "Серверски порт" #: builtin/mainmenu/tab_settings.lua msgid "2x" @@ -995,10 +1090,30 @@ msgstr "Подеси контроле" msgid "Connected Glass" msgstr "Спојено стакло" +#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp +msgid "Dynamic shadows" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Dynamic shadows: " +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Fancy Leaves" msgstr "Елегантно лишће" +#: builtin/mainmenu/tab_settings.lua +msgid "High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Low" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Medium" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Mipmap" msgstr "Мипмап" @@ -1088,6 +1203,14 @@ msgstr "Праг додиривања (px)" msgid "Trilinear Filter" msgstr "Трилинеарни филтер" +#: builtin/mainmenu/tab_settings.lua +msgid "Ultra High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Very Low" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Waving Leaves" msgstr "Лепршајуће лишће" @@ -1162,18 +1285,6 @@ 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" - #: src/client/game.cpp msgid "" "\n" @@ -1427,6 +1538,11 @@ msgstr "МиБ/с" msgid "Minimap currently disabled by game or mod" msgstr "" +#: src/client/game.cpp +#, fuzzy +msgid "Multiplayer" +msgstr "Један играч" + #: src/client/game.cpp msgid "Noclip mode disabled" msgstr "" @@ -1573,10 +1689,6 @@ msgstr "Назад" msgid "Caps Lock" msgstr "Велика слова" -#: src/client/keycode.cpp -msgid "Clear" -msgstr "Очисти" - #: src/client/keycode.cpp msgid "Control" msgstr "Контрола" @@ -1867,7 +1979,7 @@ msgstr "Настави" #: src/gui/guiKeyChangeMenu.cpp #, fuzzy -msgid "\"Special\" = climb down" +msgid "\"Aux1\" = climb down" msgstr "\"Користи\" = Силажење" #: src/gui/guiKeyChangeMenu.cpp @@ -1879,10 +1991,18 @@ msgstr "Напред" msgid "Automatic jumping" msgstr "" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Aux1" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Backward" msgstr "Назад" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Block bounds" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp #, fuzzy msgid "Change camera" @@ -1975,10 +2095,6 @@ msgstr "" msgid "Sneak" msgstr "Шуњање" -#: src/gui/guiKeyChangeMenu.cpp -msgid "Special" -msgstr "" - #: src/gui/guiKeyChangeMenu.cpp #, fuzzy msgid "Toggle HUD" @@ -2070,8 +2186,8 @@ 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 " +"(Android) Use virtual joystick to trigger \"Aux1\" button.\n" +"If enabled, virtual joystick will also tap \"Aux1\" button when out of main " "circle." msgstr "" @@ -2403,6 +2519,14 @@ msgstr "Аутоматски сачувај величину екрана" msgid "Autoscaling mode" msgstr "" +#: src/settings_translation_file.cpp +msgid "Aux1 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Aux1 key for climbing/descending" +msgstr "" + #: src/settings_translation_file.cpp msgid "Backward key" msgstr "Кључ за назад" @@ -2448,10 +2572,6 @@ msgstr "Параметри семена температуре и влажнос msgid "Biome noise" msgstr "Семе биома" -#: src/settings_translation_file.cpp -msgid "Bits per pixel (aka color depth) in fullscreen mode." -msgstr "Битови по пикселу (или дубина боје) у моду целог екрана." - #: src/settings_translation_file.cpp msgid "Block send optimize distance" msgstr "" @@ -2551,6 +2671,11 @@ msgid "" "Where 0.0 is minimum light level, 1.0 is maximum light level." msgstr "" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Chat command time message threshold" +msgstr "Граница пећине" + #: src/settings_translation_file.cpp #, fuzzy msgid "Chat font size" @@ -2652,6 +2777,11 @@ msgstr "Облаци у менију" msgid "Colored fog" msgstr "Обојена магла" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Colored shadows" +msgstr "Обојена магла" + #: src/settings_translation_file.cpp msgid "" "Comma-separated list of flags to hide in the content repository.\n" @@ -2864,8 +2994,9 @@ msgstr "Уобичајена игра" #: src/settings_translation_file.cpp msgid "" -"Default timeout for cURL, stated in milliseconds.\n" -"Only has an effect if compiled with cURL." +"Define shadow filtering quality\n" +"This simulates the soft shadows effect by applying a PCF or poisson disk\n" +"but also uses more resources." msgstr "" #: src/settings_translation_file.cpp @@ -3028,6 +3159,12 @@ msgid "" "This support is experimental and API can change." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Enable colored shadows. \n" +"On true translucent nodes cast colored shadows. This is expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable console window" msgstr "" @@ -3052,6 +3189,13 @@ msgstr "" msgid "Enable players getting damage and dying." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Enable poisson disk filtering.\n" +"On true uses poisson disk to make \"soft shadows\". Otherwise uses PCF " +"filtering." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable random user input (only used for testing)." msgstr "" @@ -3174,18 +3318,6 @@ msgstr "" msgid "Fallback font path" msgstr "" -#: src/settings_translation_file.cpp -msgid "Fallback font shadow" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Fallback font shadow alpha" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Fallback font size" -msgstr "" - #: src/settings_translation_file.cpp msgid "Fast key" msgstr "" @@ -3205,7 +3337,7 @@ msgstr "Брзо кретање" #: src/settings_translation_file.cpp #, fuzzy msgid "" -"Fast movement (via the \"special\" key).\n" +"Fast movement (via the \"Aux1\" key).\n" "This requires the \"fast\" privilege on the server." msgstr "" "Видно поље за време увеличавања.\n" @@ -3241,9 +3373,9 @@ 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." +"which PNG optimizers usually discard, often resulting in dark or\n" +"light edges to transparent textures. Apply a filter to clean that up\n" +"at texture load time. This is automatically enabled if mipmapping is enabled." msgstr "" #: src/settings_translation_file.cpp @@ -3339,10 +3471,6 @@ msgstr "" msgid "Font size of the default font in point (pt)." msgstr "" -#: src/settings_translation_file.cpp -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 "" @@ -3440,10 +3568,6 @@ msgstr "" msgid "Full screen" msgstr "" -#: src/settings_translation_file.cpp -msgid "Full screen BPP" -msgstr "" - #: src/settings_translation_file.cpp msgid "Fullscreen mode." msgstr "" @@ -3538,7 +3662,8 @@ msgid "Heat noise" msgstr "" #: src/settings_translation_file.cpp -msgid "Height component of the initial window size." +msgid "" +"Height component of the initial window size. Ignored in fullscreen mode." msgstr "" #: src/settings_translation_file.cpp @@ -3550,10 +3675,6 @@ msgstr "Десни Windows" msgid "Height select noise" msgstr "" -#: src/settings_translation_file.cpp -msgid "High-precision FPU" -msgstr "" - #: src/settings_translation_file.cpp msgid "Hill steepness" msgstr "" @@ -3785,8 +3906,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"If disabled, \"special\" key is used to fly fast if both fly and fast mode " -"are\n" +"If disabled, \"Aux1\" key is used to fly fast if both fly and fast mode are\n" "enabled." msgstr "" @@ -3808,8 +3928,8 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"If enabled, \"special\" key instead of \"sneak\" key is used for climbing " -"down and\n" +"If enabled, \"Aux1\" key instead of \"Sneak\" key is used for climbing down " +"and\n" "descending." msgstr "" @@ -3855,6 +3975,12 @@ msgid "" "to this distance from the player to the node." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"If the execution of a chat command takes longer than this specified time in\n" +"seconds, add the time information to the chat command message" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "If the file size of debug.txt exceeds the number of megabytes specified in\n" @@ -4744,10 +4870,6 @@ msgid "" "Make fog and sky colors depend on daytime (dawn/sunset) and view direction." msgstr "" -#: src/settings_translation_file.cpp -msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." -msgstr "" - #: src/settings_translation_file.cpp msgid "Makes all liquids opaque" msgstr "" @@ -4819,6 +4941,10 @@ msgstr "" msgid "Map save interval" msgstr "" +#: src/settings_translation_file.cpp +msgid "Map update time" +msgstr "" + #: src/settings_translation_file.cpp msgid "Mapblock limit" msgstr "" @@ -4933,6 +5059,10 @@ msgstr "" msgid "Maximum FPS when the window is not focused, or when the game is paused." msgstr "" +#: src/settings_translation_file.cpp +msgid "Maximum distance to render shadows." +msgstr "" + #: src/settings_translation_file.cpp msgid "Maximum forceloaded blocks" msgstr "" @@ -5039,7 +5169,15 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "Maximum time in ms a file download (e.g. a mod download) may take." +msgid "" +"Maximum time a file download (e.g. a mod download) may take, stated in " +"milliseconds." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum time an interactive request (e.g. server list fetch) may take, " +"stated in milliseconds." msgstr "" #: src/settings_translation_file.cpp @@ -5252,11 +5390,6 @@ 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 " @@ -5359,6 +5492,11 @@ msgstr "" msgid "Player versus player" msgstr "" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Poisson filtering" +msgstr "Билинеарно филтрирање" + #: src/settings_translation_file.cpp msgid "" "Port to connect to (UDP).\n" @@ -5715,6 +5853,40 @@ msgstr "" msgid "Set the maximum character length of a chat message sent by clients." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow strength.\n" +"Lower value means lighter shadows, higher value means darker shadows." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow update time.\n" +"Lower value means shadows and map updates faster, but it consume more " +"resources.\n" +"Minimun value 0.001 seconds max value 0.2 seconds" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the soft shadow radius size.\n" +"Lower values mean sharper shadows bigger values softer.\n" +"Minimun value 1.0 and max value 10.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the tilt of Sun/Moon orbit in degrees\n" +"Value of 0 means no tilt / vertical orbit.\n" +"Minimun value 0.0 and max value 60.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set to true to enable Shadow Mapping.\n" +"Requires shaders to be enabled." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Set to true to enable waving leaves.\n" @@ -5733,6 +5905,13 @@ msgid "" "Requires shaders to be enabled." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Sets shadow texture quality to 32 bits.\n" +"On false, 16 bits texture will be used.\n" +"This can cause much more artifacts in the shadow." +msgstr "" + #: src/settings_translation_file.cpp #, fuzzy msgid "Shader path" @@ -5746,6 +5925,22 @@ msgid "" "This only works with the OpenGL video backend." msgstr "" +#: src/settings_translation_file.cpp +msgid "Shadow filter quality" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map max distance in nodes to render shadows" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture in 32 bits" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture size" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Shadow offset (in pixels) of the default font. If 0, then shadow will not be " @@ -5753,9 +5948,7 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "" -"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not " -"be drawn." +msgid "Shadow strength" msgstr "" #: src/settings_translation_file.cpp @@ -5801,6 +5994,10 @@ msgid "" "thread, thus reducing jitter." msgstr "" +#: src/settings_translation_file.cpp +msgid "Sky Body Orbit Tilt" +msgstr "" + #: src/settings_translation_file.cpp msgid "Slice w" msgstr "" @@ -5856,17 +6053,13 @@ msgstr "Брзина успона" msgid "Sneaking speed, in nodes per second." msgstr "" -#: src/settings_translation_file.cpp -msgid "Sound" -msgstr "" - #: src/settings_translation_file.cpp #, fuzzy -msgid "Special key" -msgstr "притисните дугме" +msgid "Soft shadow radius" +msgstr "Величина облака" #: src/settings_translation_file.cpp -msgid "Special key for climbing/descending" +msgid "Sound" msgstr "" #: src/settings_translation_file.cpp @@ -5990,6 +6183,13 @@ msgstr "" msgid "Texture path" msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Texture size to render the shadow map on.\n" +"This must be a power of two.\n" +"Bigger numbers create better shadowsbut it is also more expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Textures on a node may be aligned either to the node or to the world.\n" @@ -6063,7 +6263,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"The rendering back-end for Irrlicht.\n" +"The rendering back-end.\n" "A restart is required after changing this.\n" "Note: On Android, stick with OGLES1 if unsure! App may fail to start " "otherwise.\n" @@ -6352,7 +6552,7 @@ msgid "Viewing range" msgstr "" #: src/settings_translation_file.cpp -msgid "Virtual joystick triggers aux button" +msgid "Virtual joystick triggers Aux1 button" msgstr "" #: src/settings_translation_file.cpp @@ -6447,9 +6647,8 @@ msgid "" "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" +"memory. Powers of 2 are recommended. This setting is ONLY applies if\n" +"bilinear/trilinear/anisotropic filtering is enabled.\n" "This is also used as the base node texture size for world-aligned\n" "texture autoscaling." msgstr "" @@ -6505,7 +6704,7 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "Width component of the initial window size." +msgid "Width component of the initial window size. Ignored in fullscreen mode." msgstr "" #: src/settings_translation_file.cpp @@ -6614,11 +6813,11 @@ msgid "cURL file download timeout" msgstr "" #: src/settings_translation_file.cpp -msgid "cURL parallel limit" +msgid "cURL interactive timeout" msgstr "" #: src/settings_translation_file.cpp -msgid "cURL timeout" +msgid "cURL parallel limit" msgstr "" #~ msgid "" @@ -6628,6 +6827,9 @@ msgstr "" #~ "0 = parallax occlusion са информацијама о нагибима (брже)\n" #~ "1 = мапирање рељефа (спорије, прецизније)." +#~ msgid "Address / Port" +#~ msgstr "Адреса / Порт" + #~ msgid "" #~ "Adjust the gamma encoding for the light tables. Higher numbers are " #~ "brighter.\n" @@ -6642,6 +6844,9 @@ msgstr "" #~ msgid "Back" #~ msgstr "Назад" +#~ msgid "Bits per pixel (aka color depth) in fullscreen mode." +#~ msgstr "Битови по пикселу (или дубина боје) у моду целог екрана." + #~ msgid "Bump Mapping" #~ msgstr "Bump-Мапирање" @@ -6665,9 +6870,15 @@ msgstr "" #~ msgid "Controls width of tunnels, a smaller value creates wider tunnels." #~ msgstr "Контролише ширину тунела, мања вредност ствара шире тунеле." +#~ msgid "Credits" +#~ msgstr "Заслуге" + #~ msgid "Crosshair color (R,G,B)." #~ msgstr "Боја нишана (R,G,B)." +#~ msgid "Damage enabled" +#~ msgstr "Оштећење омогућено" + #, fuzzy #~ msgid "Downloading and installing $1, please wait..." #~ msgstr "Преузима се $1, молим вас сачекајте..." @@ -6679,6 +6890,9 @@ msgstr "" #~ msgid "Main menu style" #~ msgstr "Главни мени" +#~ msgid "Name / Password" +#~ msgstr "Име / Шифра" + #~ msgid "Name/Password" #~ msgstr "Име/Шифра" @@ -6695,6 +6909,9 @@ msgstr "" #~ msgid "Parallax occlusion scale" #~ msgstr "Parallax Occlusion Мапирање" +#~ msgid "PvP enabled" +#~ msgstr "Туча омогућена" + #~ msgid "Reset singleplayer world" #~ msgstr "Ресетуј свет" @@ -6702,6 +6919,10 @@ msgstr "" #~ msgid "Select Package File:" #~ msgstr "Изаберите фајл мода:" +#, fuzzy +#~ msgid "Special key" +#~ msgstr "притисните дугме" + #~ msgid "Start Singleplayer" #~ msgstr "Започни игру за једног играча" @@ -6710,3 +6931,6 @@ msgstr "" #~ msgid "Yes" #~ msgstr "Да" + +#~ msgid "needs_fallback_font" +#~ msgstr "no" diff --git a/po/sr_Latn/minetest.po b/po/sr_Latn/minetest.po index 7c5ad11fc..b5d6c235d 100644 --- a/po/sr_Latn/minetest.po +++ b/po/sr_Latn/minetest.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: minetest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-02-23 19:03+0100\n" +"POT-Creation-Date: 2021-06-16 18:27+0200\n" "PO-Revision-Date: 2020-08-15 23:32+0000\n" "Last-Translator: Milos \n" "Language-Team: Serbian (latin) =20) ? 1 : 2;\n" "X-Generator: Weblate 4.2-dev\n" +#: builtin/client/chatcommands.lua +msgid "Clear the out chat queue" +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "Empty command." +msgstr "" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Exit to main menu" +msgstr "Nazad na Glavni meni" + +#: builtin/client/chatcommands.lua +msgid "Invalid command: " +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "Issued command: " +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "List online players" +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "Online players: " +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "The out chat queue is now empty." +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "This command is disabled by server." +msgstr "" + #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" msgstr "Vrati se u zivot" @@ -28,6 +65,36 @@ msgstr "Vrati se u zivot" msgid "You died" msgstr "Umro/la si." +#: builtin/client/death_formspec.lua +#, fuzzy +msgid "You died." +msgstr "Umro/la si." + +#: builtin/common/chatcommands.lua +msgid "Available commands:" +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "Available commands: " +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "Command not available: " +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "Get help for commands" +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "" +"Use '.help ' to get more information, or '.help all' to list everything." +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "[all | ]" +msgstr "" + #: builtin/fstk/dialog.lua builtin/fstk/ui.lua src/gui/modalMenu.cpp msgid "OK" msgstr "OK" @@ -538,7 +605,7 @@ msgstr "" msgid "Browse" msgstr "" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_settings.lua msgid "Disabled" msgstr "" @@ -582,7 +649,7 @@ msgstr "" msgid "Scale" msgstr "" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua msgid "Search" msgstr "Trazi" @@ -715,6 +782,40 @@ msgstr "" "Pokusajte ponovo omoguciti javnu listu servera i proverite vasu internet " "vezu." +#: builtin/mainmenu/tab_about.lua +msgid "About" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active Contributors" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active renderer:" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Core Developers" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Open User Data Directory" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "" +"Opens the directory that contains user-provided worlds, games, mods,\n" +"and texture packs in a file manager / explorer." +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Contributors" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Core Developers" +msgstr "" + #: builtin/mainmenu/tab_content.lua msgid "Browse online content" msgstr "" @@ -755,36 +856,6 @@ msgstr "" msgid "Use Texture Pack" msgstr "" -#: builtin/mainmenu/tab_credits.lua -msgid "Active Contributors" -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Core Developers" -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Credits" -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Open User Data Directory" -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "" -"Opens the directory that contains user-provided worlds, games, mods,\n" -"and texture packs in a file manager / explorer." -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Contributors" -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Core Developers" -msgstr "" - #: builtin/mainmenu/tab_local.lua msgid "Announce Server" msgstr "" @@ -813,7 +884,7 @@ msgstr "" msgid "Install games from ContentDB" msgstr "" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Name" msgstr "" @@ -825,7 +896,7 @@ msgstr "" msgid "No world created or selected!" msgstr "" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Password" msgstr "" @@ -833,7 +904,7 @@ msgstr "" msgid "Play Game" msgstr "" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Port" msgstr "" @@ -854,7 +925,11 @@ msgid "Start Game" msgstr "" #: builtin/mainmenu/tab_online.lua -msgid "Address / Port" +msgid "Address" +msgstr "" + +#: builtin/mainmenu/tab_online.lua src/client/keycode.cpp +msgid "Clear" msgstr "" #: builtin/mainmenu/tab_online.lua @@ -865,8 +940,9 @@ msgstr "" msgid "Creative mode" msgstr "" +#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "Damage enabled" +msgid "Damage / PvP" msgstr "" #: builtin/mainmenu/tab_online.lua @@ -874,24 +950,32 @@ msgid "Del. Favorite" msgstr "" #: builtin/mainmenu/tab_online.lua -msgid "Favorite" +msgid "Favorites" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +msgid "Incompatible Servers" msgstr "" #: builtin/mainmenu/tab_online.lua msgid "Join Game" msgstr "" -#: builtin/mainmenu/tab_online.lua -msgid "Name / Password" -msgstr "" - #: builtin/mainmenu/tab_online.lua msgid "Ping" msgstr "" -#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "PvP enabled" +#, fuzzy +msgid "Public Servers" +msgstr "Vlazne reke" + +#: builtin/mainmenu/tab_online.lua +msgid "Refresh" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +msgid "Server Description" msgstr "" #: builtin/mainmenu/tab_settings.lua @@ -934,10 +1018,30 @@ msgstr "" msgid "Connected Glass" msgstr "" +#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp +msgid "Dynamic shadows" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Dynamic shadows: " +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Fancy Leaves" msgstr "" +#: builtin/mainmenu/tab_settings.lua +msgid "High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Low" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Medium" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Mipmap" msgstr "" @@ -1027,6 +1131,14 @@ msgstr "" msgid "Trilinear Filter" msgstr "" +#: builtin/mainmenu/tab_settings.lua +msgid "Ultra High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Very Low" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Waving Leaves" msgstr "" @@ -1099,18 +1211,6 @@ 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" - #: src/client/game.cpp msgid "" "\n" @@ -1325,6 +1425,10 @@ msgstr "" msgid "Minimap currently disabled by game or mod" msgstr "" +#: src/client/game.cpp +msgid "Multiplayer" +msgstr "" + #: src/client/game.cpp msgid "Noclip mode disabled" msgstr "" @@ -1466,10 +1570,6 @@ msgstr "" msgid "Caps Lock" msgstr "" -#: src/client/keycode.cpp -msgid "Clear" -msgstr "" - #: src/client/keycode.cpp msgid "Control" msgstr "" @@ -1758,7 +1858,7 @@ msgid "Proceed" msgstr "" #: src/gui/guiKeyChangeMenu.cpp -msgid "\"Special\" = climb down" +msgid "\"Aux1\" = climb down" msgstr "" #: src/gui/guiKeyChangeMenu.cpp @@ -1769,10 +1869,18 @@ msgstr "" msgid "Automatic jumping" msgstr "" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Aux1" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Backward" msgstr "" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Block bounds" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Change camera" msgstr "" @@ -1861,10 +1969,6 @@ msgstr "" msgid "Sneak" msgstr "" -#: src/gui/guiKeyChangeMenu.cpp -msgid "Special" -msgstr "" - #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle HUD" msgstr "" @@ -1950,8 +2054,8 @@ 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 " +"(Android) Use virtual joystick to trigger \"Aux1\" button.\n" +"If enabled, virtual joystick will also tap \"Aux1\" button when out of main " "circle." msgstr "" @@ -2245,6 +2349,14 @@ msgstr "" msgid "Autoscaling mode" msgstr "" +#: src/settings_translation_file.cpp +msgid "Aux1 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Aux1 key for climbing/descending" +msgstr "" + #: src/settings_translation_file.cpp msgid "Backward key" msgstr "" @@ -2289,10 +2401,6 @@ msgstr "" msgid "Biome noise" msgstr "" -#: src/settings_translation_file.cpp -msgid "Bits per pixel (aka color depth) in fullscreen mode." -msgstr "" - #: src/settings_translation_file.cpp msgid "Block send optimize distance" msgstr "" @@ -2391,6 +2499,10 @@ msgid "" "Where 0.0 is minimum light level, 1.0 is maximum light level." msgstr "" +#: src/settings_translation_file.cpp +msgid "Chat command time message threshold" +msgstr "" + #: src/settings_translation_file.cpp msgid "Chat font size" msgstr "" @@ -2487,6 +2599,10 @@ msgstr "" msgid "Colored fog" msgstr "" +#: src/settings_translation_file.cpp +msgid "Colored shadows" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Comma-separated list of flags to hide in the content repository.\n" @@ -2682,8 +2798,9 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"Default timeout for cURL, stated in milliseconds.\n" -"Only has an effect if compiled with cURL." +"Define shadow filtering quality\n" +"This simulates the soft shadows effect by applying a PCF or poisson disk\n" +"but also uses more resources." msgstr "" #: src/settings_translation_file.cpp @@ -2844,6 +2961,12 @@ msgid "" "This support is experimental and API can change." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Enable colored shadows. \n" +"On true translucent nodes cast colored shadows. This is expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable console window" msgstr "" @@ -2868,6 +2991,13 @@ msgstr "" msgid "Enable players getting damage and dying." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Enable poisson disk filtering.\n" +"On true uses poisson disk to make \"soft shadows\". Otherwise uses PCF " +"filtering." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable random user input (only used for testing)." msgstr "" @@ -2990,18 +3120,6 @@ msgstr "" msgid "Fallback font path" msgstr "" -#: src/settings_translation_file.cpp -msgid "Fallback font shadow" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Fallback font shadow alpha" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Fallback font size" -msgstr "" - #: src/settings_translation_file.cpp msgid "Fast key" msgstr "" @@ -3020,7 +3138,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"Fast movement (via the \"special\" key).\n" +"Fast movement (via the \"Aux1\" key).\n" "This requires the \"fast\" privilege on the server." msgstr "" @@ -3054,9 +3172,9 @@ 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." +"which PNG optimizers usually discard, often resulting in dark or\n" +"light edges to transparent textures. Apply a filter to clean that up\n" +"at texture load time. This is automatically enabled if mipmapping is enabled." msgstr "" #: src/settings_translation_file.cpp @@ -3151,10 +3269,6 @@ msgstr "" msgid "Font size of the default font in point (pt)." msgstr "" -#: src/settings_translation_file.cpp -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 "" @@ -3252,10 +3366,6 @@ msgstr "" msgid "Full screen" msgstr "" -#: src/settings_translation_file.cpp -msgid "Full screen BPP" -msgstr "" - #: src/settings_translation_file.cpp msgid "Fullscreen mode." msgstr "" @@ -3349,7 +3459,8 @@ msgid "Heat noise" msgstr "" #: src/settings_translation_file.cpp -msgid "Height component of the initial window size." +msgid "" +"Height component of the initial window size. Ignored in fullscreen mode." msgstr "" #: src/settings_translation_file.cpp @@ -3360,10 +3471,6 @@ msgstr "" msgid "Height select noise" msgstr "" -#: src/settings_translation_file.cpp -msgid "High-precision FPU" -msgstr "" - #: src/settings_translation_file.cpp msgid "Hill steepness" msgstr "" @@ -3595,8 +3702,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"If disabled, \"special\" key is used to fly fast if both fly and fast mode " -"are\n" +"If disabled, \"Aux1\" key is used to fly fast if both fly and fast mode are\n" "enabled." msgstr "" @@ -3618,8 +3724,8 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"If enabled, \"special\" key instead of \"sneak\" key is used for climbing " -"down and\n" +"If enabled, \"Aux1\" key instead of \"Sneak\" key is used for climbing down " +"and\n" "descending." msgstr "" @@ -3663,6 +3769,12 @@ msgid "" "to this distance from the player to the node." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"If the execution of a chat command takes longer than this specified time in\n" +"seconds, add the time information to the chat command message" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "If the file size of debug.txt exceeds the number of megabytes specified in\n" @@ -4551,10 +4663,6 @@ msgid "" "Make fog and sky colors depend on daytime (dawn/sunset) and view direction." msgstr "" -#: src/settings_translation_file.cpp -msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." -msgstr "" - #: src/settings_translation_file.cpp msgid "Makes all liquids opaque" msgstr "" @@ -4626,6 +4734,10 @@ msgstr "" msgid "Map save interval" msgstr "" +#: src/settings_translation_file.cpp +msgid "Map update time" +msgstr "" + #: src/settings_translation_file.cpp msgid "Mapblock limit" msgstr "" @@ -4734,6 +4846,10 @@ msgstr "" msgid "Maximum FPS when the window is not focused, or when the game is paused." msgstr "" +#: src/settings_translation_file.cpp +msgid "Maximum distance to render shadows." +msgstr "" + #: src/settings_translation_file.cpp msgid "Maximum forceloaded blocks" msgstr "" @@ -4840,7 +4956,15 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "Maximum time in ms a file download (e.g. a mod download) may take." +msgid "" +"Maximum time a file download (e.g. a mod download) may take, stated in " +"milliseconds." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum time an interactive request (e.g. server list fetch) may take, " +"stated in milliseconds." msgstr "" #: src/settings_translation_file.cpp @@ -5053,11 +5177,6 @@ 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 " @@ -5156,6 +5275,10 @@ msgstr "" msgid "Player versus player" msgstr "" +#: src/settings_translation_file.cpp +msgid "Poisson filtering" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Port to connect to (UDP).\n" @@ -5490,6 +5613,40 @@ msgstr "" msgid "Set the maximum character length of a chat message sent by clients." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow strength.\n" +"Lower value means lighter shadows, higher value means darker shadows." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow update time.\n" +"Lower value means shadows and map updates faster, but it consume more " +"resources.\n" +"Minimun value 0.001 seconds max value 0.2 seconds" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the soft shadow radius size.\n" +"Lower values mean sharper shadows bigger values softer.\n" +"Minimun value 1.0 and max value 10.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the tilt of Sun/Moon orbit in degrees\n" +"Value of 0 means no tilt / vertical orbit.\n" +"Minimun value 0.0 and max value 60.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set to true to enable Shadow Mapping.\n" +"Requires shaders to be enabled." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Set to true to enable waving leaves.\n" @@ -5508,6 +5665,13 @@ msgid "" "Requires shaders to be enabled." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Sets shadow texture quality to 32 bits.\n" +"On false, 16 bits texture will be used.\n" +"This can cause much more artifacts in the shadow." +msgstr "" + #: src/settings_translation_file.cpp msgid "Shader path" msgstr "" @@ -5520,6 +5684,22 @@ msgid "" "This only works with the OpenGL video backend." msgstr "" +#: src/settings_translation_file.cpp +msgid "Shadow filter quality" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map max distance in nodes to render shadows" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture in 32 bits" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture size" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Shadow offset (in pixels) of the default font. If 0, then shadow will not be " @@ -5527,9 +5707,7 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "" -"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not " -"be drawn." +msgid "Shadow strength" msgstr "" #: src/settings_translation_file.cpp @@ -5575,6 +5753,10 @@ msgid "" "thread, thus reducing jitter." msgstr "" +#: src/settings_translation_file.cpp +msgid "Sky Body Orbit Tilt" +msgstr "" + #: src/settings_translation_file.cpp msgid "Slice w" msgstr "" @@ -5629,18 +5811,14 @@ msgstr "" msgid "Sneaking speed, in nodes per second." msgstr "" +#: src/settings_translation_file.cpp +msgid "Soft shadow radius" +msgstr "" + #: src/settings_translation_file.cpp msgid "Sound" msgstr "" -#: src/settings_translation_file.cpp -msgid "Special key" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Special key for climbing/descending" -msgstr "" - #: src/settings_translation_file.cpp msgid "" "Specifies URL from which client fetches media instead of using UDP.\n" @@ -5762,6 +5940,13 @@ msgstr "" msgid "Texture path" msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Texture size to render the shadow map on.\n" +"This must be a power of two.\n" +"Bigger numbers create better shadowsbut it is also more expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Textures on a node may be aligned either to the node or to the world.\n" @@ -5835,7 +6020,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"The rendering back-end for Irrlicht.\n" +"The rendering back-end.\n" "A restart is required after changing this.\n" "Note: On Android, stick with OGLES1 if unsure! App may fail to start " "otherwise.\n" @@ -6122,7 +6307,7 @@ msgid "Viewing range" msgstr "" #: src/settings_translation_file.cpp -msgid "Virtual joystick triggers aux button" +msgid "Virtual joystick triggers Aux1 button" msgstr "" #: src/settings_translation_file.cpp @@ -6213,9 +6398,8 @@ msgid "" "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" +"memory. Powers of 2 are recommended. This setting is ONLY applies if\n" +"bilinear/trilinear/anisotropic filtering is enabled.\n" "This is also used as the base node texture size for world-aligned\n" "texture autoscaling." msgstr "" @@ -6271,7 +6455,7 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "Width component of the initial window size." +msgid "Width component of the initial window size. Ignored in fullscreen mode." msgstr "" #: src/settings_translation_file.cpp @@ -6378,12 +6562,15 @@ msgid "cURL file download timeout" msgstr "" #: src/settings_translation_file.cpp -msgid "cURL parallel limit" +msgid "cURL interactive timeout" msgstr "" #: src/settings_translation_file.cpp -msgid "cURL timeout" +msgid "cURL parallel limit" msgstr "" #~ msgid "View" #~ msgstr "Pogled" + +#~ msgid "needs_fallback_font" +#~ msgstr "no" diff --git a/po/sv/minetest.po b/po/sv/minetest.po index e608d85e2..6806efea1 100644 --- a/po/sv/minetest.po +++ b/po/sv/minetest.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Swedish (Minetest)\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-02-23 19:03+0100\n" +"POT-Creation-Date: 2021-06-16 18:27+0200\n" "PO-Revision-Date: 2020-03-31 10:14+0000\n" "Last-Translator: sfan5 \n" "Language-Team: Swedish ' to get more information, or '.help all' to list everything." +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "[all | ]" +msgstr "" + #: builtin/fstk/dialog.lua builtin/fstk/ui.lua src/gui/modalMenu.cpp msgid "OK" msgstr "" @@ -551,7 +624,7 @@ msgstr "< Tillbaka till inställningssidan" msgid "Browse" msgstr "Bläddra" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_settings.lua msgid "Disabled" msgstr "Inaktiverad" @@ -595,7 +668,7 @@ msgstr "Återställ till Ursprungsvärden" msgid "Scale" msgstr "Skala" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua msgid "Search" msgstr "Sök" @@ -742,6 +815,42 @@ msgid "Try reenabling public serverlist and check your internet connection." msgstr "" "Försök återaktivera allmän serverlista och kolla din internetanslutning." +#: builtin/mainmenu/tab_about.lua +msgid "About" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active Contributors" +msgstr "Aktiva Bidragande" + +#: builtin/mainmenu/tab_about.lua +#, fuzzy +msgid "Active renderer:" +msgstr "Aktivt avstånd för objektsändning" + +#: builtin/mainmenu/tab_about.lua +msgid "Core Developers" +msgstr "Huvudutvecklare" + +#: builtin/mainmenu/tab_about.lua +#, fuzzy +msgid "Open User Data Directory" +msgstr "Välj katalog" + +#: builtin/mainmenu/tab_about.lua +msgid "" +"Opens the directory that contains user-provided worlds, games, mods,\n" +"and texture packs in a file manager / explorer." +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Contributors" +msgstr "Före detta bidragande" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Core Developers" +msgstr "Före detta huvudutvecklare" + #: builtin/mainmenu/tab_content.lua msgid "Browse online content" msgstr "" @@ -789,37 +898,6 @@ msgstr "Avinstallera vald mod" msgid "Use Texture Pack" msgstr "Texturpaket" -#: builtin/mainmenu/tab_credits.lua -msgid "Active Contributors" -msgstr "Aktiva Bidragande" - -#: builtin/mainmenu/tab_credits.lua -msgid "Core Developers" -msgstr "Huvudutvecklare" - -#: builtin/mainmenu/tab_credits.lua -msgid "Credits" -msgstr "Medverkande" - -#: builtin/mainmenu/tab_credits.lua -#, fuzzy -msgid "Open User Data Directory" -msgstr "Välj katalog" - -#: builtin/mainmenu/tab_credits.lua -msgid "" -"Opens the directory that contains user-provided worlds, games, mods,\n" -"and texture packs in a file manager / explorer." -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Contributors" -msgstr "Före detta bidragande" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Core Developers" -msgstr "Före detta huvudutvecklare" - #: builtin/mainmenu/tab_local.lua msgid "Announce Server" msgstr "Offentliggör Server" @@ -848,7 +926,7 @@ msgstr "Bilda Server" msgid "Install games from ContentDB" msgstr "" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Name" msgstr "" @@ -860,7 +938,7 @@ msgstr "Ny" msgid "No world created or selected!" msgstr "Ingen värld skapad eller vald!" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua #, fuzzy msgid "Password" msgstr "Nytt Lösenord" @@ -870,7 +948,7 @@ msgstr "Nytt Lösenord" msgid "Play Game" msgstr "Starta spel" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Port" msgstr "Port" @@ -893,8 +971,13 @@ msgid "Start Game" msgstr "Bilda Spel" #: builtin/mainmenu/tab_online.lua -msgid "Address / Port" -msgstr "Adress / Port" +#, fuzzy +msgid "Address" +msgstr "Bindningsadress" + +#: builtin/mainmenu/tab_online.lua src/client/keycode.cpp +msgid "Clear" +msgstr "Rensa" #: builtin/mainmenu/tab_online.lua msgid "Connect" @@ -904,35 +987,47 @@ msgstr "Anslut" msgid "Creative mode" msgstr "Kreativt läge" +#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "Damage enabled" -msgstr "Skada aktiverat" +#, fuzzy +msgid "Damage / PvP" +msgstr "Skada" #: builtin/mainmenu/tab_online.lua msgid "Del. Favorite" msgstr "Radera Favorit" #: builtin/mainmenu/tab_online.lua -msgid "Favorite" +#, fuzzy +msgid "Favorites" msgstr "Favoritmarkera" +#: builtin/mainmenu/tab_online.lua +msgid "Incompatible Servers" +msgstr "" + #: builtin/mainmenu/tab_online.lua #, fuzzy msgid "Join Game" msgstr "Bilda Spel" -#: builtin/mainmenu/tab_online.lua -msgid "Name / Password" -msgstr "Namn / Lösenord" - #: builtin/mainmenu/tab_online.lua msgid "Ping" msgstr "Ping" -#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "PvP enabled" -msgstr "PvP aktiverat" +#, fuzzy +msgid "Public Servers" +msgstr "Offentliggör Server" + +#: builtin/mainmenu/tab_online.lua +msgid "Refresh" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +#, fuzzy +msgid "Server Description" +msgstr "Serverport" #: builtin/mainmenu/tab_settings.lua msgid "2x" @@ -976,10 +1071,30 @@ msgstr "Ändra Tangenter" msgid "Connected Glass" msgstr "Sammankopplat glas" +#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp +msgid "Dynamic shadows" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Dynamic shadows: " +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Fancy Leaves" msgstr "Fina Löv" +#: builtin/mainmenu/tab_settings.lua +msgid "High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Low" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Medium" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Mipmap" msgstr "Mipmap" @@ -1069,6 +1184,14 @@ msgstr "Touch-tröskel (px)" msgid "Trilinear Filter" msgstr "Trilinjärt filter" +#: builtin/mainmenu/tab_settings.lua +msgid "Ultra High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Very Low" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Waving Leaves" msgstr "Vajande Löv" @@ -1142,18 +1265,6 @@ 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 "no" - #: src/client/game.cpp msgid "" "\n" @@ -1411,6 +1522,11 @@ msgstr "MiB/s" msgid "Minimap currently disabled by game or mod" msgstr "" +#: src/client/game.cpp +#, fuzzy +msgid "Multiplayer" +msgstr "Enspelarläge" + #: src/client/game.cpp msgid "Noclip mode disabled" msgstr "" @@ -1557,10 +1673,6 @@ msgstr "Tillbaka" msgid "Caps Lock" msgstr "Caps Lock" -#: src/client/keycode.cpp -msgid "Clear" -msgstr "Rensa" - #: src/client/keycode.cpp msgid "Control" msgstr "Kontroll" @@ -1850,7 +1962,7 @@ msgstr "Fortsätt" #: src/gui/guiKeyChangeMenu.cpp #, fuzzy -msgid "\"Special\" = climb down" +msgid "\"Aux1\" = climb down" msgstr "\"Använd\" = klättra neråt" #: src/gui/guiKeyChangeMenu.cpp @@ -1862,10 +1974,18 @@ msgstr "Framåt" msgid "Automatic jumping" msgstr "" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Aux1" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Backward" msgstr "Bakåt" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Block bounds" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp #, fuzzy msgid "Change camera" @@ -1957,10 +2077,6 @@ msgstr "" msgid "Sneak" msgstr "Smyg" -#: src/gui/guiKeyChangeMenu.cpp -msgid "Special" -msgstr "" - #: src/gui/guiKeyChangeMenu.cpp #, fuzzy msgid "Toggle HUD" @@ -2052,8 +2168,8 @@ 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 " +"(Android) Use virtual joystick to trigger \"Aux1\" button.\n" +"If enabled, virtual joystick will also tap \"Aux1\" button when out of main " "circle." msgstr "" @@ -2389,6 +2505,14 @@ msgstr "Spara fönsterstorlek automatiskt" msgid "Autoscaling mode" msgstr "" +#: src/settings_translation_file.cpp +msgid "Aux1 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Aux1 key for climbing/descending" +msgstr "" + #: src/settings_translation_file.cpp msgid "Backward key" msgstr "Bakåttangent" @@ -2435,10 +2559,6 @@ msgstr "API temperatur- och fuktighetsoljudsparametrar för biotoper" msgid "Biome noise" msgstr "Biotopoljud" -#: src/settings_translation_file.cpp -msgid "Bits per pixel (aka color depth) in fullscreen mode." -msgstr "Bits per pixel (dvs färgdjup) i fullskärmsläge." - #: src/settings_translation_file.cpp msgid "Block send optimize distance" msgstr "" @@ -2538,6 +2658,11 @@ msgid "" "Where 0.0 is minimum light level, 1.0 is maximum light level." msgstr "" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Chat command time message threshold" +msgstr "Oljudströskel för öken" + #: src/settings_translation_file.cpp #, fuzzy msgid "Chat font size" @@ -2639,6 +2764,11 @@ msgstr "Moln i meny" msgid "Colored fog" msgstr "Färgad dimma" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Colored shadows" +msgstr "Färgad dimma" + #: src/settings_translation_file.cpp msgid "" "Comma-separated list of flags to hide in the content repository.\n" @@ -2850,11 +2980,10 @@ msgstr "Standardspel" #: src/settings_translation_file.cpp msgid "" -"Default timeout for cURL, stated in milliseconds.\n" -"Only has an effect if compiled with cURL." +"Define shadow filtering quality\n" +"This simulates the soft shadows effect by applying a PCF or poisson disk\n" +"but also uses more resources." msgstr "" -"Standardtimeout för cURL, i millisekunder.\n" -"Har bara en effekt om kompilerat med cURL." #: src/settings_translation_file.cpp msgid "Defines areas where trees have apples." @@ -3034,6 +3163,12 @@ msgid "" "This support is experimental and API can change." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Enable colored shadows. \n" +"On true translucent nodes cast colored shadows. This is expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable console window" msgstr "" @@ -3058,6 +3193,13 @@ msgstr "" msgid "Enable players getting damage and dying." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Enable poisson disk filtering.\n" +"On true uses poisson disk to make \"soft shadows\". Otherwise uses PCF " +"filtering." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable random user input (only used for testing)." msgstr "" @@ -3180,18 +3322,6 @@ msgstr "" msgid "Fallback font path" msgstr "" -#: src/settings_translation_file.cpp -msgid "Fallback font shadow" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Fallback font shadow alpha" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Fallback font size" -msgstr "" - #: src/settings_translation_file.cpp msgid "Fast key" msgstr "" @@ -3210,7 +3340,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"Fast movement (via the \"special\" key).\n" +"Fast movement (via the \"Aux1\" key).\n" "This requires the \"fast\" privilege on the server." msgstr "" @@ -3244,9 +3374,9 @@ 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." +"which PNG optimizers usually discard, often resulting in dark or\n" +"light edges to transparent textures. Apply a filter to clean that up\n" +"at texture load time. This is automatically enabled if mipmapping is enabled." msgstr "" #: src/settings_translation_file.cpp @@ -3342,10 +3472,6 @@ msgstr "" msgid "Font size of the default font in point (pt)." msgstr "" -#: src/settings_translation_file.cpp -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 "" @@ -3443,10 +3569,6 @@ msgstr "" msgid "Full screen" msgstr "" -#: src/settings_translation_file.cpp -msgid "Full screen BPP" -msgstr "" - #: src/settings_translation_file.cpp msgid "Fullscreen mode." msgstr "" @@ -3541,7 +3663,8 @@ msgid "Heat noise" msgstr "" #: src/settings_translation_file.cpp -msgid "Height component of the initial window size." +msgid "" +"Height component of the initial window size. Ignored in fullscreen mode." msgstr "" #: src/settings_translation_file.cpp @@ -3552,10 +3675,6 @@ msgstr "" msgid "Height select noise" msgstr "" -#: src/settings_translation_file.cpp -msgid "High-precision FPU" -msgstr "" - #: src/settings_translation_file.cpp msgid "Hill steepness" msgstr "" @@ -3787,8 +3906,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"If disabled, \"special\" key is used to fly fast if both fly and fast mode " -"are\n" +"If disabled, \"Aux1\" key is used to fly fast if both fly and fast mode are\n" "enabled." msgstr "" @@ -3810,8 +3928,8 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"If enabled, \"special\" key instead of \"sneak\" key is used for climbing " -"down and\n" +"If enabled, \"Aux1\" key instead of \"Sneak\" key is used for climbing down " +"and\n" "descending." msgstr "" @@ -3855,6 +3973,12 @@ msgid "" "to this distance from the player to the node." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"If the execution of a chat command takes longer than this specified time in\n" +"seconds, add the time information to the chat command message" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "If the file size of debug.txt exceeds the number of megabytes specified in\n" @@ -4745,10 +4869,6 @@ msgid "" "Make fog and sky colors depend on daytime (dawn/sunset) and view direction." msgstr "" -#: src/settings_translation_file.cpp -msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." -msgstr "" - #: src/settings_translation_file.cpp msgid "Makes all liquids opaque" msgstr "" @@ -4820,6 +4940,10 @@ msgstr "" msgid "Map save interval" msgstr "" +#: src/settings_translation_file.cpp +msgid "Map update time" +msgstr "" + #: src/settings_translation_file.cpp msgid "Mapblock limit" msgstr "" @@ -4934,6 +5058,10 @@ msgstr "" msgid "Maximum FPS when the window is not focused, or when the game is paused." msgstr "" +#: src/settings_translation_file.cpp +msgid "Maximum distance to render shadows." +msgstr "" + #: src/settings_translation_file.cpp msgid "Maximum forceloaded blocks" msgstr "" @@ -5040,7 +5168,15 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "Maximum time in ms a file download (e.g. a mod download) may take." +msgid "" +"Maximum time a file download (e.g. a mod download) may take, stated in " +"milliseconds." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum time an interactive request (e.g. server list fetch) may take, " +"stated in milliseconds." msgstr "" #: src/settings_translation_file.cpp @@ -5253,11 +5389,6 @@ 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 " @@ -5358,6 +5489,11 @@ msgstr "" msgid "Player versus player" msgstr "" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Poisson filtering" +msgstr "Bilinjär filtrering" + #: src/settings_translation_file.cpp msgid "" "Port to connect to (UDP).\n" @@ -5713,6 +5849,40 @@ msgstr "" msgid "Set the maximum character length of a chat message sent by clients." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow strength.\n" +"Lower value means lighter shadows, higher value means darker shadows." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow update time.\n" +"Lower value means shadows and map updates faster, but it consume more " +"resources.\n" +"Minimun value 0.001 seconds max value 0.2 seconds" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the soft shadow radius size.\n" +"Lower values mean sharper shadows bigger values softer.\n" +"Minimun value 1.0 and max value 10.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the tilt of Sun/Moon orbit in degrees\n" +"Value of 0 means no tilt / vertical orbit.\n" +"Minimun value 0.0 and max value 60.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set to true to enable Shadow Mapping.\n" +"Requires shaders to be enabled." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Set to true to enable waving leaves.\n" @@ -5731,6 +5901,13 @@ msgid "" "Requires shaders to be enabled." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Sets shadow texture quality to 32 bits.\n" +"On false, 16 bits texture will be used.\n" +"This can cause much more artifacts in the shadow." +msgstr "" + #: src/settings_translation_file.cpp #, fuzzy msgid "Shader path" @@ -5744,6 +5921,22 @@ msgid "" "This only works with the OpenGL video backend." msgstr "" +#: src/settings_translation_file.cpp +msgid "Shadow filter quality" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map max distance in nodes to render shadows" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture in 32 bits" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture size" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Shadow offset (in pixels) of the default font. If 0, then shadow will not be " @@ -5751,9 +5944,7 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "" -"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not " -"be drawn." +msgid "Shadow strength" msgstr "" #: src/settings_translation_file.cpp @@ -5799,6 +5990,10 @@ msgid "" "thread, thus reducing jitter." msgstr "" +#: src/settings_translation_file.cpp +msgid "Sky Body Orbit Tilt" +msgstr "" + #: src/settings_translation_file.cpp msgid "Slice w" msgstr "" @@ -5854,17 +6049,13 @@ msgstr "Nedstigande hastighet" msgid "Sneaking speed, in nodes per second." msgstr "" -#: src/settings_translation_file.cpp -msgid "Sound" -msgstr "" - #: src/settings_translation_file.cpp #, fuzzy -msgid "Special key" -msgstr "tryck på tangent" +msgid "Soft shadow radius" +msgstr "Molnradie" #: src/settings_translation_file.cpp -msgid "Special key for climbing/descending" +msgid "Sound" msgstr "" #: src/settings_translation_file.cpp @@ -5989,6 +6180,13 @@ msgstr "" msgid "Texture path" msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Texture size to render the shadow map on.\n" +"This must be a power of two.\n" +"Bigger numbers create better shadowsbut it is also more expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Textures on a node may be aligned either to the node or to the world.\n" @@ -6062,7 +6260,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"The rendering back-end for Irrlicht.\n" +"The rendering back-end.\n" "A restart is required after changing this.\n" "Note: On Android, stick with OGLES1 if unsure! App may fail to start " "otherwise.\n" @@ -6351,7 +6549,7 @@ msgid "Viewing range" msgstr "" #: src/settings_translation_file.cpp -msgid "Virtual joystick triggers aux button" +msgid "Virtual joystick triggers Aux1 button" msgstr "" #: src/settings_translation_file.cpp @@ -6446,9 +6644,8 @@ msgid "" "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" +"memory. Powers of 2 are recommended. This setting is ONLY applies if\n" +"bilinear/trilinear/anisotropic filtering is enabled.\n" "This is also used as the base node texture size for world-aligned\n" "texture autoscaling." msgstr "" @@ -6504,7 +6701,7 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "Width component of the initial window size." +msgid "Width component of the initial window size. Ignored in fullscreen mode." msgstr "" #: src/settings_translation_file.cpp @@ -6615,12 +6812,13 @@ msgid "cURL file download timeout" msgstr "cURL filhemladdning tidsgräns" #: src/settings_translation_file.cpp -msgid "cURL parallel limit" -msgstr "cURL parallellgräns" +#, fuzzy +msgid "cURL interactive timeout" +msgstr "cURL-timeout" #: src/settings_translation_file.cpp -msgid "cURL timeout" -msgstr "cURL-timeout" +msgid "cURL parallel limit" +msgstr "cURL parallellgräns" #~ msgid "" #~ "0 = parallax occlusion with slope information (faster).\n" @@ -6629,6 +6827,9 @@ msgstr "cURL-timeout" #~ "0 = parallax ocklusion med sluttningsinformation (snabbare).\n" #~ "1 = reliefmappning (långsammare, noggrannare)." +#~ msgid "Address / Port" +#~ msgstr "Adress / Port" + #~ msgid "" #~ "Adjust the gamma encoding for the light tables. Higher numbers are " #~ "brighter.\n" @@ -6643,6 +6844,9 @@ msgstr "cURL-timeout" #~ msgid "Back" #~ msgstr "Tillbaka" +#~ msgid "Bits per pixel (aka color depth) in fullscreen mode." +#~ msgstr "Bits per pixel (dvs färgdjup) i fullskärmsläge." + #~ msgid "Bump Mapping" #~ msgstr "Stötkartläggning" @@ -6667,9 +6871,22 @@ msgstr "cURL-timeout" #~ msgstr "" #~ "Kontrollerar bredd av tunnlar, mindre värden skapar bredare tunnlar." +#~ msgid "Credits" +#~ msgstr "Medverkande" + #~ msgid "Crosshair color (R,G,B)." #~ msgstr "Hårkorsförg (R,G,B)." +#~ msgid "Damage enabled" +#~ msgstr "Skada aktiverat" + +#~ msgid "" +#~ "Default timeout for cURL, stated in milliseconds.\n" +#~ "Only has an effect if compiled with cURL." +#~ msgstr "" +#~ "Standardtimeout för cURL, i millisekunder.\n" +#~ "Har bara en effekt om kompilerat med cURL." + #~ msgid "" #~ "Defines areas of floatland smooth terrain.\n" #~ "Smooth floatlands occur when noise > 0." @@ -6694,6 +6911,9 @@ msgstr "cURL-timeout" #~ msgid "Main menu style" #~ msgstr "Huvudmeny" +#~ msgid "Name / Password" +#~ msgstr "Namn / Lösenord" + #~ msgid "Name/Password" #~ msgstr "Namn/Lösenord" @@ -6710,6 +6930,9 @@ msgstr "cURL-timeout" #~ msgid "Parallax occlusion scale" #~ msgstr "Parrallax Ocklusion" +#~ msgid "PvP enabled" +#~ msgstr "PvP aktiverat" + #~ msgid "Reset singleplayer world" #~ msgstr "Starta om enspelarvärld" @@ -6717,6 +6940,10 @@ msgstr "cURL-timeout" #~ msgid "Select Package File:" #~ msgstr "Välj modfil:" +#, fuzzy +#~ msgid "Special key" +#~ msgstr "tryck på tangent" + #~ msgid "Start Singleplayer" #~ msgstr "Starta Enspelarläge" @@ -6728,3 +6955,6 @@ msgstr "cURL-timeout" #~ msgid "Yes" #~ msgstr "Ja" + +#~ msgid "needs_fallback_font" +#~ msgstr "no" diff --git a/po/sw/minetest.po b/po/sw/minetest.po index d0fffcb91..e5ef46096 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: 2021-02-23 19:03+0100\n" +"POT-Creation-Date: 2021-06-16 18:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: Swahili ' to get more information, or '.help all' to list everything." +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "[all | ]" +msgstr "" + #: builtin/fstk/dialog.lua builtin/fstk/ui.lua src/gui/modalMenu.cpp msgid "OK" msgstr "" @@ -565,7 +638,7 @@ msgstr "" msgid "Browse" msgstr "Vinjari" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_settings.lua msgid "Disabled" msgstr "Walemavu" @@ -611,7 +684,7 @@ msgstr "Rejesha chaguo-msingi" msgid "Scale" msgstr "" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua msgid "Search" msgstr "Utafutaji" @@ -762,6 +835,42 @@ msgstr "" msgid "Try reenabling public serverlist and check your internet connection." msgstr "Jaribu reenabling serverlist umma na Kagua muunganisho wako wa tovuti." +#: builtin/mainmenu/tab_about.lua +msgid "About" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active Contributors" +msgstr "Wachangiaji amilifu" + +#: builtin/mainmenu/tab_about.lua +#, fuzzy +msgid "Active renderer:" +msgstr "Kiolwa amilifu Tuma masafa" + +#: builtin/mainmenu/tab_about.lua +msgid "Core Developers" +msgstr "Watengenezaji wa msingi" + +#: builtin/mainmenu/tab_about.lua +#, fuzzy +msgid "Open User Data Directory" +msgstr "Orodha ya ramani" + +#: builtin/mainmenu/tab_about.lua +msgid "" +"Opens the directory that contains user-provided worlds, games, mods,\n" +"and texture packs in a file manager / explorer." +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Contributors" +msgstr "Wachangiaji wa awali" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Core Developers" +msgstr "Awali msingi watengenezaji" + #: builtin/mainmenu/tab_content.lua msgid "Browse online content" msgstr "" @@ -809,37 +918,6 @@ msgstr "Sakinusha Moduli teuliwa" msgid "Use Texture Pack" msgstr "Texturepacks" -#: builtin/mainmenu/tab_credits.lua -msgid "Active Contributors" -msgstr "Wachangiaji amilifu" - -#: builtin/mainmenu/tab_credits.lua -msgid "Core Developers" -msgstr "Watengenezaji wa msingi" - -#: builtin/mainmenu/tab_credits.lua -msgid "Credits" -msgstr "Mikopo" - -#: builtin/mainmenu/tab_credits.lua -#, fuzzy -msgid "Open User Data Directory" -msgstr "Orodha ya ramani" - -#: builtin/mainmenu/tab_credits.lua -msgid "" -"Opens the directory that contains user-provided worlds, games, mods,\n" -"and texture packs in a file manager / explorer." -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Contributors" -msgstr "Wachangiaji wa awali" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Core Developers" -msgstr "Awali msingi watengenezaji" - #: builtin/mainmenu/tab_local.lua #, fuzzy msgid "Announce Server" @@ -871,7 +949,7 @@ msgstr "Seva" msgid "Install games from ContentDB" msgstr "" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Name" msgstr "" @@ -883,7 +961,7 @@ msgstr "Mpya" msgid "No world created or selected!" msgstr "Duniani hakuna kuundwa au kuteuliwa!" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua #, fuzzy msgid "Password" msgstr "Nywila mpya" @@ -893,7 +971,7 @@ msgstr "Nywila mpya" msgid "Play Game" msgstr "Jina la mchezaji" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Port" msgstr "Bandari" @@ -916,8 +994,13 @@ msgid "Start Game" msgstr "Ficha mchezo" #: builtin/mainmenu/tab_online.lua -msgid "Address / Port" -msgstr "Kushughulikia / bandari" +#, fuzzy +msgid "Address" +msgstr "Kumfunga anwani" + +#: builtin/mainmenu/tab_online.lua src/client/keycode.cpp +msgid "Clear" +msgstr "Wazi" #: builtin/mainmenu/tab_online.lua msgid "Connect" @@ -927,35 +1010,47 @@ msgstr "Kuunganisha" msgid "Creative mode" msgstr "Hali ya ubunifu" +#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "Damage enabled" -msgstr "Uharibifu kuwezeshwa" +#, fuzzy +msgid "Damage / PvP" +msgstr "Uharibifu" #: builtin/mainmenu/tab_online.lua msgid "Del. Favorite" msgstr "Del. kipendwa" #: builtin/mainmenu/tab_online.lua -msgid "Favorite" +#, fuzzy +msgid "Favorites" msgstr "Kipendwa" +#: builtin/mainmenu/tab_online.lua +msgid "Incompatible Servers" +msgstr "" + #: builtin/mainmenu/tab_online.lua #, fuzzy msgid "Join Game" msgstr "Ficha mchezo" -#: builtin/mainmenu/tab_online.lua -msgid "Name / Password" -msgstr "Jina / nenosiri" - #: builtin/mainmenu/tab_online.lua msgid "Ping" msgstr "" -#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "PvP enabled" -msgstr "PvP kuwezeshwa" +#, fuzzy +msgid "Public Servers" +msgstr "Kutangaza seva" + +#: builtin/mainmenu/tab_online.lua +msgid "Refresh" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +#, fuzzy +msgid "Server Description" +msgstr "Maelezo ya seva" #: builtin/mainmenu/tab_settings.lua msgid "2x" @@ -998,10 +1093,31 @@ msgstr "Badilisha funguo" msgid "Connected Glass" msgstr "Kioo kushikamana" +#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp +#, fuzzy +msgid "Dynamic shadows" +msgstr "Kivuli cha fonti" + +#: builtin/mainmenu/tab_settings.lua +msgid "Dynamic shadows: " +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Fancy Leaves" msgstr "Majani ya dhana" +#: builtin/mainmenu/tab_settings.lua +msgid "High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Low" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Medium" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Mipmap" msgstr "Mipmap" @@ -1093,6 +1209,14 @@ msgstr "Touchthreshold (px)" msgid "Trilinear Filter" msgstr "Kichujio trilinear" +#: builtin/mainmenu/tab_settings.lua +msgid "Ultra High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Very Low" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Waving Leaves" msgstr "Waving majani" @@ -1167,18 +1291,6 @@ 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" - #: src/client/game.cpp msgid "" "\n" @@ -1437,6 +1549,11 @@ msgstr "MiB/s" msgid "Minimap currently disabled by game or mod" msgstr "" +#: src/client/game.cpp +#, fuzzy +msgid "Multiplayer" +msgstr "Singleplayer" + #: src/client/game.cpp msgid "Noclip mode disabled" msgstr "" @@ -1585,10 +1702,6 @@ msgstr "Nyuma" msgid "Caps Lock" msgstr "" -#: src/client/keycode.cpp -msgid "Clear" -msgstr "Wazi" - #: src/client/keycode.cpp msgid "Control" msgstr "Udhibiti" @@ -1887,7 +2000,7 @@ msgstr "Kuendelea" #: src/gui/guiKeyChangeMenu.cpp #, fuzzy -msgid "\"Special\" = climb down" +msgid "\"Aux1\" = climb down" msgstr "\"Matumizi\" = kupanda chini" #: src/gui/guiKeyChangeMenu.cpp @@ -1899,10 +2012,18 @@ msgstr "Mbele" msgid "Automatic jumping" msgstr "" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Aux1" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Backward" msgstr "Nyuma" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Block bounds" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp #, fuzzy msgid "Change camera" @@ -1997,10 +2118,6 @@ msgstr "Screenshot" msgid "Sneak" msgstr "Taarifa" -#: src/gui/guiKeyChangeMenu.cpp -msgid "Special" -msgstr "" - #: src/gui/guiKeyChangeMenu.cpp #, fuzzy msgid "Toggle HUD" @@ -2092,8 +2209,8 @@ 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 " +"(Android) Use virtual joystick to trigger \"Aux1\" button.\n" +"If enabled, virtual joystick will also tap \"Aux1\" button when out of main " "circle." msgstr "" @@ -2419,6 +2536,16 @@ msgstr "" msgid "Autoscaling mode" msgstr "" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Aux1 key" +msgstr "Ufunguo wa kuruka" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Aux1 key for climbing/descending" +msgstr "Matumizi muhimu kwa ajili ya kupanda/kushuka" + #: src/settings_translation_file.cpp msgid "Backward key" msgstr "Ufunguo wa nyuma" @@ -2468,11 +2595,6 @@ msgstr "Mwandishi ramani v6 unyevu kelele vigezo" msgid "Biome noise" msgstr "Kelele za mto" -#: src/settings_translation_file.cpp -msgid "Bits per pixel (aka color depth) in fullscreen mode." -msgstr "" -"Biti kwa pikseli (a.k.a rangi kina) katika hali-tumizi ya skrini nzima." - #: src/settings_translation_file.cpp #, fuzzy msgid "Block send optimize distance" @@ -2583,6 +2705,11 @@ msgid "" "Where 0.0 is minimum light level, 1.0 is maximum light level." msgstr "" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Chat command time message threshold" +msgstr "Kilele cha mlima gorofa Mwandishi ramani" + #: src/settings_translation_file.cpp #, fuzzy msgid "Chat font size" @@ -2685,6 +2812,11 @@ msgstr "Mawingu katika Menyu" msgid "Colored fog" msgstr "Ukungu wa rangi" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Colored shadows" +msgstr "Ukungu wa rangi" + #: src/settings_translation_file.cpp msgid "" "Comma-separated list of flags to hide in the content repository.\n" @@ -2899,11 +3031,10 @@ msgstr "Chaguo-msingi mchezo" #: src/settings_translation_file.cpp msgid "" -"Default timeout for cURL, stated in milliseconds.\n" -"Only has an effect if compiled with cURL." +"Define shadow filtering quality\n" +"This simulates the soft shadows effect by applying a PCF or poisson disk\n" +"but also uses more resources." msgstr "" -"Chaguo-msingi muda wa kuisha kwa cURL, alisema katika milisekunde.\n" -"Tu ina athari kama alikusanya na Mkunjo." #: src/settings_translation_file.cpp msgid "Defines areas where trees have apples." @@ -3071,6 +3202,12 @@ msgid "" "This support is experimental and API can change." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Enable colored shadows. \n" +"On true translucent nodes cast colored shadows. This is expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable console window" msgstr "" @@ -3097,6 +3234,13 @@ msgstr "Kuwezesha usalama Moduli" msgid "Enable players getting damage and dying." msgstr "Wezesha wachezaji kupata uharibifu na kufa." +#: src/settings_translation_file.cpp +msgid "" +"Enable poisson disk filtering.\n" +"On true uses poisson disk to make \"soft shadows\". Otherwise uses PCF " +"filtering." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable random user input (only used for testing)." msgstr "Wezesha ingizo la mtumiaji nasibu (kutumika tu kwa ajili ya kupima)." @@ -3238,18 +3382,6 @@ msgstr "Kuanguka bobbing" msgid "Fallback font path" msgstr "Fonti amebadilisha" -#: src/settings_translation_file.cpp -msgid "Fallback font shadow" -msgstr "Fonti amebadilisha kivuli" - -#: src/settings_translation_file.cpp -msgid "Fallback font shadow alpha" -msgstr "Fonti amebadilisha kivuli Alfa" - -#: src/settings_translation_file.cpp -msgid "Fallback font size" -msgstr "Ukubwa fonti amebadilisha" - #: src/settings_translation_file.cpp msgid "Fast key" msgstr "Ufunguo kasi" @@ -3269,7 +3401,7 @@ msgstr "Kutembea haraka" #: src/settings_translation_file.cpp #, fuzzy msgid "" -"Fast movement (via the \"special\" key).\n" +"Fast movement (via the \"Aux1\" key).\n" "This requires the \"fast\" privilege on the server." msgstr "" "Harakati haraka (kupitia matumizi muhimu).\n" @@ -3311,9 +3443,9 @@ msgstr "Ramani ya toni filmic" #, 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" -"light edge to transparent textures. Apply this filter to clean that up\n" -"at texture load time." +"which PNG optimizers usually discard, often resulting in dark or\n" +"light edges to transparent textures. Apply a filter to clean that up\n" +"at texture load time. This is automatically enabled if mipmapping is enabled." msgstr "" "Unamu kuchujwa wanaweza kujichanganya RGB thamani na majirani kikamilifu-" "uwazi, ambayo PNG optimizers kawaida Tupa, wakati mwingine kusababisha " @@ -3417,10 +3549,6 @@ msgstr "Ukubwa wa fonti" msgid "Font size of the default font in point (pt)." msgstr "" -#: src/settings_translation_file.cpp -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 "" @@ -3531,10 +3659,6 @@ msgstr "" msgid "Full screen" msgstr "Kiwamba kizima" -#: src/settings_translation_file.cpp -msgid "Full screen BPP" -msgstr "Skrini BPP" - #: src/settings_translation_file.cpp msgid "Fullscreen mode." msgstr "Hali-tumizi ya skrini nzima." @@ -3652,7 +3776,9 @@ msgid "Heat noise" msgstr "Pango kelele #1" #: src/settings_translation_file.cpp -msgid "Height component of the initial window size." +#, fuzzy +msgid "" +"Height component of the initial window size. Ignored in fullscreen mode." msgstr "Kijenzi cha urefu wa ukubwa cha kidirisha awali." #: src/settings_translation_file.cpp @@ -3665,10 +3791,6 @@ msgstr "Windows kulia" msgid "Height select noise" msgstr "Mwandishi ramani v6 urefu Teua vigezo kelele" -#: src/settings_translation_file.cpp -msgid "High-precision FPU" -msgstr "FPU kuu-usahihi" - #: src/settings_translation_file.cpp #, fuzzy msgid "Hill steepness" @@ -3913,8 +4035,7 @@ msgstr "" #: src/settings_translation_file.cpp #, fuzzy msgid "" -"If disabled, \"special\" key is used to fly fast if both fly and fast mode " -"are\n" +"If disabled, \"Aux1\" key is used to fly fast if both fly and fast mode are\n" "enabled." msgstr "" "Ikiwa kimelemazwa \"kutumia\" ufunguo ni kutumika kwa kuruka haraka kama " @@ -3942,8 +4063,8 @@ msgstr "" #: src/settings_translation_file.cpp #, fuzzy msgid "" -"If enabled, \"special\" key instead of \"sneak\" key is used for climbing " -"down and\n" +"If enabled, \"Aux1\" key instead of \"Sneak\" key is used for climbing down " +"and\n" "descending." msgstr "" "Ikiwa imewezeshwa, ufunguo wa \"kutumia\" badala ya \"sneak\" ufunguo ni " @@ -3996,6 +4117,12 @@ msgid "" "to this distance from the player to the node." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"If the execution of a chat command takes longer than this specified time in\n" +"seconds, add the time information to the chat command message" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "If the file size of debug.txt exceeds the number of megabytes specified in\n" @@ -5202,10 +5329,6 @@ msgstr "" "Kufanya rangi wa ukungu na anga hutegemea mchana (alfajiri/machweo) na " "kuonyesha mwelekeo." -#: src/settings_translation_file.cpp -msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." -msgstr "Hufanya DirectX kazi na LuaJIT. Lemaza ikiwa husababisha matatizo." - #: src/settings_translation_file.cpp msgid "Makes all liquids opaque" msgstr "" @@ -5302,6 +5425,11 @@ msgstr "Kikomo cha kizazi cha ramani" msgid "Map save interval" msgstr "Ramani hifadhi muda" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Map update time" +msgstr "Pata sasishi kioevu" + #: src/settings_translation_file.cpp msgid "Mapblock limit" msgstr "Kikomo cha Mapblock" @@ -5426,6 +5554,10 @@ msgstr "Ramprogrammen juu" msgid "Maximum FPS when the window is not focused, or when the game is paused." msgstr "Ramprogrammen juu wakati mchezo umesitishwa." +#: src/settings_translation_file.cpp +msgid "Maximum distance to render shadows." +msgstr "" + #: src/settings_translation_file.cpp msgid "Maximum forceloaded blocks" msgstr "Forceloaded upeo vitalu" @@ -5549,11 +5681,20 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "Maximum time in ms a file download (e.g. a mod download) may take." +#, fuzzy +msgid "" +"Maximum time a file download (e.g. a mod download) may take, stated in " +"milliseconds." msgstr "" "Muda wa juu zaidi katika ms kupakua faili (kwa mfano upakuaji na Moduli) " "inaweza kuchukua." +#: src/settings_translation_file.cpp +msgid "" +"Maximum time an interactive request (e.g. server list fetch) may take, " +"stated in milliseconds." +msgstr "" + #: src/settings_translation_file.cpp msgid "Maximum users" msgstr "Watumiaji wa kiwango cha juu" @@ -5781,11 +5922,6 @@ 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 " @@ -5891,6 +6027,11 @@ msgstr "Umbali wa uhamisho wa mchezaji" msgid "Player versus player" msgstr "Mchezaji dhidi ya mchezaji" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Poisson filtering" +msgstr "Uchujaji wa bilinear" + #: src/settings_translation_file.cpp msgid "" "Port to connect to (UDP).\n" @@ -6277,6 +6418,43 @@ msgstr "" msgid "Set the maximum character length of a chat message sent by clients." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow strength.\n" +"Lower value means lighter shadows, higher value means darker shadows." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow update time.\n" +"Lower value means shadows and map updates faster, but it consume more " +"resources.\n" +"Minimun value 0.001 seconds max value 0.2 seconds" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the soft shadow radius size.\n" +"Lower values mean sharper shadows bigger values softer.\n" +"Minimun value 1.0 and max value 10.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the tilt of Sun/Moon orbit in degrees\n" +"Value of 0 means no tilt / vertical orbit.\n" +"Minimun value 0.0 and max value 60.0" +msgstr "" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "" +"Set to true to enable Shadow Mapping.\n" +"Requires shaders to be enabled." +msgstr "" +"Kuweka huwezesha kweli waving majani.\n" +"Inahitaji shaders kwa kuwezeshwa." + #: src/settings_translation_file.cpp #, fuzzy msgid "" @@ -6304,6 +6482,13 @@ msgstr "" "Kuweka huwezesha kweli waving mimea.\n" "Inahitaji shaders kwa kuwezeshwa." +#: src/settings_translation_file.cpp +msgid "" +"Sets shadow texture quality to 32 bits.\n" +"On false, 16 bits texture will be used.\n" +"This can cause much more artifacts in the shadow." +msgstr "" + #: src/settings_translation_file.cpp #, fuzzy msgid "Shader path" @@ -6321,6 +6506,24 @@ msgstr "" "ya kadi ya video.\n" "Kazi yako tu na OpenGL video backend." +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Shadow filter quality" +msgstr "Screenshot ubora" + +#: src/settings_translation_file.cpp +msgid "Shadow map max distance in nodes to render shadows" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture in 32 bits" +msgstr "" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Shadow map texture size" +msgstr "Unamu wa kima cha chini cha ukubwa wa Vichujio" + #: src/settings_translation_file.cpp #, fuzzy msgid "" @@ -6329,11 +6532,8 @@ msgid "" 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." +msgid "Shadow strength" +msgstr "" #: src/settings_translation_file.cpp msgid "Shape of the minimap. Enabled = round, disabled = square." @@ -6381,6 +6581,10 @@ msgid "" "thread, thus reducing jitter." msgstr "" +#: src/settings_translation_file.cpp +msgid "Sky Body Orbit Tilt" +msgstr "" + #: src/settings_translation_file.cpp msgid "Slice w" msgstr "" @@ -6440,20 +6644,15 @@ msgstr "Kutembea kasi" msgid "Sneaking speed, in nodes per second." msgstr "" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Soft shadow radius" +msgstr "Fonti kivuli Alfa" + #: src/settings_translation_file.cpp msgid "Sound" msgstr "Sauti" -#: src/settings_translation_file.cpp -#, fuzzy -msgid "Special key" -msgstr "Zawadi muhimu" - -#: src/settings_translation_file.cpp -#, fuzzy -msgid "Special key for climbing/descending" -msgstr "Matumizi muhimu kwa ajili ya kupanda/kushuka" - #: src/settings_translation_file.cpp msgid "" "Specifies URL from which client fetches media instead of using UDP.\n" @@ -6594,6 +6793,13 @@ msgstr "" msgid "Texture path" msgstr "Njia ya unamu" +#: src/settings_translation_file.cpp +msgid "" +"Texture size to render the shadow map on.\n" +"This must be a power of two.\n" +"Bigger numbers create better shadowsbut it is also more expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Textures on a node may be aligned either to the node or to the world.\n" @@ -6675,7 +6881,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"The rendering back-end for Irrlicht.\n" +"The rendering back-end.\n" "A restart is required after changing this.\n" "Note: On Android, stick with OGLES1 if unsure! App may fail to start " "otherwise.\n" @@ -6997,7 +7203,7 @@ msgid "Viewing range" msgstr "Kuonyesha masafa" #: src/settings_translation_file.cpp -msgid "Virtual joystick triggers aux button" +msgid "Virtual joystick triggers Aux1 button" msgstr "" #: src/settings_translation_file.cpp @@ -7108,9 +7314,8 @@ msgid "" "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" +"memory. Powers of 2 are recommended. This setting is ONLY applies if\n" +"bilinear/trilinear/anisotropic filtering is enabled.\n" "This is also used as the base node texture size for world-aligned\n" "texture autoscaling." msgstr "" @@ -7181,7 +7386,8 @@ msgstr "" "Kama kuonyesha mteja Rekebisha taarifa (ina athari sawa kama kupiga F5)." #: src/settings_translation_file.cpp -msgid "Width component of the initial window size." +#, fuzzy +msgid "Width component of the initial window size. Ignored in fullscreen mode." msgstr "Upana sehemu ya ukubwa cha kidirisha awali." #: src/settings_translation_file.cpp @@ -7293,12 +7499,13 @@ msgid "cURL file download timeout" msgstr "cURL muda wa upakuzi wa faili" #: src/settings_translation_file.cpp -msgid "cURL parallel limit" -msgstr "cURL kikomo sambamba" +#, fuzzy +msgid "cURL interactive timeout" +msgstr "muda wa kuisha wa cURL" #: src/settings_translation_file.cpp -msgid "cURL timeout" -msgstr "muda wa kuisha wa cURL" +msgid "cURL parallel limit" +msgstr "cURL kikomo sambamba" #~ msgid "" #~ "0 = parallax occlusion with slope information (faster).\n" @@ -7307,6 +7514,9 @@ msgstr "muda wa kuisha wa cURL" #~ "0 = parallax occlusion na taarifa ya mteremko (haraka).\n" #~ "1 = ramani ya misaada (polepole, sahihi zaidi)." +#~ msgid "Address / Port" +#~ msgstr "Kushughulikia / bandari" + #, fuzzy #~ msgid "" #~ "Adjust the gamma encoding for the light tables. Higher numbers are " @@ -7322,6 +7532,10 @@ msgstr "muda wa kuisha wa cURL" #~ msgid "Back" #~ msgstr "Nyuma" +#~ msgid "Bits per pixel (aka color depth) in fullscreen mode." +#~ msgstr "" +#~ "Biti kwa pikseli (a.k.a rangi kina) katika hali-tumizi ya skrini nzima." + #~ msgid "Bump Mapping" #~ msgstr "Mapema ramani" @@ -7338,13 +7552,26 @@ msgstr "muda wa kuisha wa cURL" #~ msgstr "" #~ "Vidhibiti vya upana wa vichuguu, thamani ndogo huunda vichuguu pana." +#~ msgid "Credits" +#~ msgstr "Mikopo" + #~ msgid "Crosshair color (R,G,B)." #~ msgstr "Rangi ya crosshair (R, G, B)." +#~ msgid "Damage enabled" +#~ msgstr "Uharibifu kuwezeshwa" + #, fuzzy #~ msgid "Darkness sharpness" #~ msgstr "Mwandishi ramani ziwa gorofa mwinuko" +#~ msgid "" +#~ "Default timeout for cURL, stated in milliseconds.\n" +#~ "Only has an effect if compiled with cURL." +#~ msgstr "" +#~ "Chaguo-msingi muda wa kuisha kwa cURL, alisema katika milisekunde.\n" +#~ "Tu ina athari kama alikusanya na Mkunjo." + #~ msgid "" #~ "Defines sampling step of texture.\n" #~ "A higher value results in smoother normal maps." @@ -7396,9 +7623,21 @@ msgstr "muda wa kuisha wa cURL" #~ msgid "FPS in pause menu" #~ msgstr "Ramprogrammen katika Menyu ya mapumziko" +#~ msgid "Fallback font shadow" +#~ msgstr "Fonti amebadilisha kivuli" + +#~ msgid "Fallback font shadow alpha" +#~ msgstr "Fonti amebadilisha kivuli Alfa" + +#~ msgid "Fallback font size" +#~ msgstr "Ukubwa fonti amebadilisha" + #~ msgid "Font shadow alpha (opaqueness, between 0 and 255)." #~ msgstr "Fonti kivuli Alfa (opaqueness kati ya 0 na 255)." +#~ msgid "Full screen BPP" +#~ msgstr "Skrini BPP" + #~ msgid "Gamma" #~ msgstr "Gamma" @@ -7409,6 +7648,9 @@ msgstr "muda wa kuisha wa cURL" #~ msgid "Generate normalmaps" #~ msgstr "Kuzalisha normalmaps" +#~ msgid "High-precision FPU" +#~ msgstr "FPU kuu-usahihi" + #~ msgid "IPv6 support." #~ msgstr "IPv6 msaada." @@ -7426,6 +7668,12 @@ msgstr "muda wa kuisha wa cURL" #~ msgid "Main menu style" #~ msgstr "Hati ya Menyu kuu" +#~ msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." +#~ msgstr "Hufanya DirectX kazi na LuaJIT. Lemaza ikiwa husababisha matatizo." + +#~ msgid "Name / Password" +#~ msgstr "Jina / nenosiri" + #~ msgid "Name/Password" #~ msgstr "Jina/nenosiri" @@ -7478,6 +7726,9 @@ msgstr "muda wa kuisha wa cURL" #~ msgid "Path to save screenshots at." #~ msgstr "Njia ya kuokoa viwambo katika." +#~ msgid "PvP enabled" +#~ msgstr "PvP kuwezeshwa" + #~ msgid "Reset singleplayer world" #~ msgstr "Weka upya singleplayer ulimwengu" @@ -7489,6 +7740,16 @@ msgstr "muda wa kuisha wa cURL" #~ msgid "Shadow limit" #~ msgstr "Kikomo cha Mapblock" +#, 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." + +#, fuzzy +#~ msgid "Special key" +#~ msgstr "Zawadi muhimu" + #~ msgid "Start Singleplayer" #~ msgstr "Kuanza Singleplayer" @@ -7513,3 +7774,6 @@ msgstr "muda wa kuisha wa cURL" #~ msgid "Yes" #~ msgstr "Ndio" + +#~ msgid "needs_fallback_font" +#~ msgstr "no" diff --git a/po/th/minetest.po b/po/th/minetest.po index 06e322f79..54e3dfa35 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: 2021-02-23 19:03+0100\n" +"POT-Creation-Date: 2021-06-16 18:27+0200\n" "PO-Revision-Date: 2020-07-08 08:41+0000\n" "Last-Translator: TZTarzan \n" "Language-Team: Thai ' to get more information, or '.help all' to list everything." +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "[all | ]" +msgstr "" + #: builtin/fstk/dialog.lua builtin/fstk/ui.lua src/gui/modalMenu.cpp msgid "OK" msgstr "" @@ -543,7 +616,7 @@ msgstr "< กลับไปที่หน้าการตั้งค่า" msgid "Browse" msgstr "เรียกดู" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_settings.lua msgid "Disabled" msgstr "ปิดการใช้งานแล้ว" @@ -589,7 +662,7 @@ msgstr "คืนค่าเริ่มต้น" msgid "Scale" msgstr "ขนาด" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua msgid "Search" msgstr "ค้นหา" @@ -721,6 +794,41 @@ msgstr "การเขียนสคริปต์ฝั่งไคลเอ msgid "Try reenabling public serverlist and check your internet connection." msgstr "ลองเปิดใช้งานเซิร์ฟเวอร์ลิสต์สาธารณะอีกครั้งและตรวจสอบการเชื่อมต่ออินเทอร์เน็ต" +#: builtin/mainmenu/tab_about.lua +msgid "About" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active Contributors" +msgstr "ผู้ร่วมให้ข้อมูล" + +#: builtin/mainmenu/tab_about.lua +msgid "Active renderer:" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Core Developers" +msgstr "นักพัฒนาหลัก" + +#: builtin/mainmenu/tab_about.lua +#, fuzzy +msgid "Open User Data Directory" +msgstr "เลือกไดเรกทอรี" + +#: builtin/mainmenu/tab_about.lua +msgid "" +"Opens the directory that contains user-provided worlds, games, mods,\n" +"and texture packs in a file manager / explorer." +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Contributors" +msgstr "ผู้สนับสนุนก่อนหน้า" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Core Developers" +msgstr "นักพัฒนาหลักก่อนหน้า" + #: builtin/mainmenu/tab_content.lua msgid "Browse online content" msgstr "เรียกดูเนื้อหาออนไลน์" @@ -761,37 +869,6 @@ msgstr "ถอนการติดตั้งแพคเกจ" msgid "Use Texture Pack" msgstr "ใช้พื้นผิว Texture" -#: builtin/mainmenu/tab_credits.lua -msgid "Active Contributors" -msgstr "ผู้ร่วมให้ข้อมูล" - -#: builtin/mainmenu/tab_credits.lua -msgid "Core Developers" -msgstr "นักพัฒนาหลัก" - -#: builtin/mainmenu/tab_credits.lua -msgid "Credits" -msgstr "เครดิต" - -#: builtin/mainmenu/tab_credits.lua -#, fuzzy -msgid "Open User Data Directory" -msgstr "เลือกไดเรกทอรี" - -#: builtin/mainmenu/tab_credits.lua -msgid "" -"Opens the directory that contains user-provided worlds, games, mods,\n" -"and texture packs in a file manager / explorer." -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Contributors" -msgstr "ผู้สนับสนุนก่อนหน้า" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Core Developers" -msgstr "นักพัฒนาหลักก่อนหน้า" - #: builtin/mainmenu/tab_local.lua msgid "Announce Server" msgstr "ประกาศ เซิร์ฟเวอร์" @@ -820,7 +897,7 @@ msgstr "เซิร์ฟเวอร์" msgid "Install games from ContentDB" msgstr "" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Name" msgstr "" @@ -832,7 +909,7 @@ msgstr "ใหม่" msgid "No world created or selected!" msgstr "ยังไม่มีการสร้างโลก หรือยังไม่ได้เลือก!" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua #, fuzzy msgid "Password" msgstr "รหัสผ่านใหม่" @@ -841,7 +918,7 @@ msgstr "รหัสผ่านใหม่" msgid "Play Game" msgstr "เล่นเกม" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Port" msgstr "พอร์ต" @@ -863,8 +940,13 @@ msgid "Start Game" msgstr "เริ่มเกม" #: builtin/mainmenu/tab_online.lua -msgid "Address / Port" -msgstr "ที่อยู่ / พอร์ต" +#, fuzzy +msgid "Address" +msgstr "-ที่อยู่: " + +#: builtin/mainmenu/tab_online.lua src/client/keycode.cpp +msgid "Clear" +msgstr "ล้าง" #: builtin/mainmenu/tab_online.lua msgid "Connect" @@ -874,34 +956,46 @@ msgstr "เชื่อมต่อ" msgid "Creative mode" msgstr "โหมดสร้างสรรค์" +#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "Damage enabled" -msgstr "ความเสียหาย ที่เปิดใช้งาน" +#, fuzzy +msgid "Damage / PvP" +msgstr "ความเสียหาย" #: builtin/mainmenu/tab_online.lua msgid "Del. Favorite" msgstr "ลบรายการโปรด" #: builtin/mainmenu/tab_online.lua -msgid "Favorite" +#, fuzzy +msgid "Favorites" msgstr "ชื่นชอบ" +#: builtin/mainmenu/tab_online.lua +msgid "Incompatible Servers" +msgstr "" + #: builtin/mainmenu/tab_online.lua msgid "Join Game" msgstr "เข้าร่วมเกม" -#: builtin/mainmenu/tab_online.lua -msgid "Name / Password" -msgstr "ชื่อ / รหัสผ่าน" - #: builtin/mainmenu/tab_online.lua msgid "Ping" msgstr "เวลาตอบสนอง" -#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "PvP enabled" -msgstr "PvP เปิดใช้งาน" +#, fuzzy +msgid "Public Servers" +msgstr "ประกาศ เซิร์ฟเวอร์" + +#: builtin/mainmenu/tab_online.lua +msgid "Refresh" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +#, fuzzy +msgid "Server Description" +msgstr "คำอธิบายเซิร์ฟเวอร์" #: builtin/mainmenu/tab_settings.lua msgid "2x" @@ -943,10 +1037,31 @@ msgstr "เปลี่ยนคีย์" msgid "Connected Glass" msgstr "เชื่อมต่อแก้ว" +#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp +#, fuzzy +msgid "Dynamic shadows" +msgstr "เงาตัวอักษร" + +#: builtin/mainmenu/tab_settings.lua +msgid "Dynamic shadows: " +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Fancy Leaves" msgstr "ใบไม้" +#: builtin/mainmenu/tab_settings.lua +msgid "High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Low" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Medium" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Mipmap" msgstr "แผนที่ย่อ" @@ -1039,6 +1154,14 @@ msgstr "Touchthreshold: (px)" msgid "Trilinear Filter" msgstr "กรอง trilinear" +#: builtin/mainmenu/tab_settings.lua +msgid "Ultra High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Very Low" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Waving Leaves" msgstr "ใบโบก" @@ -1112,18 +1235,6 @@ 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" - #: src/client/game.cpp #, fuzzy msgid "" @@ -1368,6 +1479,11 @@ msgstr "MiB/s" msgid "Minimap currently disabled by game or mod" msgstr "แผนที่ย่อในปัจจุบันถูกปิดใช้งานโดยเกมหรือตัวดัดแปลง" +#: src/client/game.cpp +#, fuzzy +msgid "Multiplayer" +msgstr "เล่นคนเดียว" + #: src/client/game.cpp msgid "Noclip mode disabled" msgstr "ปิดใช้งานโหมด Noclip" @@ -1514,10 +1630,6 @@ msgstr "Backspace" msgid "Caps Lock" msgstr "Caps Lock" -#: src/client/keycode.cpp -msgid "Clear" -msgstr "ล้าง" - #: src/client/keycode.cpp msgid "Control" msgstr "ควบคุม" @@ -1831,7 +1943,8 @@ msgid "Proceed" msgstr "ดำเนินการ" #: src/gui/guiKeyChangeMenu.cpp -msgid "\"Special\" = climb down" +#, fuzzy +msgid "\"Aux1\" = climb down" msgstr "\"Special\" = ปีนลง" #: src/gui/guiKeyChangeMenu.cpp @@ -1843,10 +1956,18 @@ msgstr "Autoforward" msgid "Automatic jumping" msgstr "กระโดด อัตโนมัติ" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Aux1" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Backward" msgstr "ย้อนหลัง" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Block bounds" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Change camera" msgstr "เปลี่ยนกล้อง" @@ -1935,10 +2056,6 @@ msgstr "ภาพหน้าจอ" msgid "Sneak" msgstr "แอบ" -#: src/gui/guiKeyChangeMenu.cpp -msgid "Special" -msgstr "พิเศษ" - #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle HUD" msgstr "สลับ HUD" @@ -2026,9 +2143,10 @@ 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 " +"(Android) Use virtual joystick to trigger \"Aux1\" button.\n" +"If enabled, virtual joystick will also tap \"Aux1\" button when out of main " "circle." msgstr "" "(Android) ใช้จอยสติ๊กเสมือนเพื่อเรียกปุ่ม \"aux\"\n" @@ -2344,6 +2462,16 @@ msgstr "บันทึกขนาดหน้าจออัตโนมัต msgid "Autoscaling mode" msgstr "โหมดปรับอัตโนมัติ" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Aux1 key" +msgstr "ปุ่มกระโดด" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Aux1 key for climbing/descending" +msgstr "คีย์พิเศษสำหรับการปีนเขา/เรียง" + #: src/settings_translation_file.cpp msgid "Backward key" msgstr "ปุ่มย้อนกลับ" @@ -2388,10 +2516,6 @@ msgstr "" msgid "Biome noise" msgstr "" -#: src/settings_translation_file.cpp -msgid "Bits per pixel (aka color depth) in fullscreen mode." -msgstr "บิตต่อพิกเซล (ความลึกของสี aka) ในโหมดเต็มหน้าจอ." - #: src/settings_translation_file.cpp msgid "Block send optimize distance" msgstr "" @@ -2499,6 +2623,10 @@ msgid "" "Where 0.0 is minimum light level, 1.0 is maximum light level." msgstr "" +#: src/settings_translation_file.cpp +msgid "Chat command time message threshold" +msgstr "" + #: src/settings_translation_file.cpp #, fuzzy msgid "Chat font size" @@ -2598,6 +2726,11 @@ msgstr "มีเมฆในเมนู" msgid "Colored fog" msgstr "หมอกสี" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Colored shadows" +msgstr "หมอกสี" + #: src/settings_translation_file.cpp msgid "" "Comma-separated list of flags to hide in the content repository.\n" @@ -2799,8 +2932,9 @@ msgstr "เกมเริ่มต้น" #: src/settings_translation_file.cpp msgid "" -"Default timeout for cURL, stated in milliseconds.\n" -"Only has an effect if compiled with cURL." +"Define shadow filtering quality\n" +"This simulates the soft shadows effect by applying a PCF or poisson disk\n" +"but also uses more resources." msgstr "" #: src/settings_translation_file.cpp @@ -2966,6 +3100,12 @@ msgstr "" "เปิดใช้งานการสนับสนุน Lua modding บนไคลเอนต์\n" "การสนับสนุนนี้เป็นการทดลองและ API สามารถเปลี่ยนแปลงได้" +#: src/settings_translation_file.cpp +msgid "" +"Enable colored shadows. \n" +"On true translucent nodes cast colored shadows. This is expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable console window" msgstr "เปิดใช้งานหน้าต่างคอนโซล" @@ -2991,6 +3131,13 @@ msgstr "" msgid "Enable players getting damage and dying." msgstr "ช่วยให้ผู้เล่นได้รับความเสียหายและกำลังจะตาย." +#: src/settings_translation_file.cpp +msgid "" +"Enable poisson disk filtering.\n" +"On true uses poisson disk to make \"soft shadows\". Otherwise uses PCF " +"filtering." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable random user input (only used for testing)." msgstr "เปิดใช้งานการป้อนข้อมูลผู้ใช้แบบสุ่ม (ใช้สำหรับการทดสอบเท่านั้น)." @@ -3131,18 +3278,6 @@ msgstr "ตกปัจจัยผลุบๆโผล่ๆ" msgid "Fallback font path" msgstr "แบบอักษรสำรอง" -#: src/settings_translation_file.cpp -msgid "Fallback font shadow" -msgstr "เงาแบบอักษรทางเลือก" - -#: src/settings_translation_file.cpp -msgid "Fallback font shadow alpha" -msgstr "เงาตัวอักษรทางเลือกอัลฟา" - -#: src/settings_translation_file.cpp -msgid "Fallback font size" -msgstr "ขนาดตัวอักษรทางเลือก" - #: src/settings_translation_file.cpp msgid "Fast key" msgstr "ปุ่มลัด" @@ -3160,8 +3295,9 @@ msgid "Fast movement" msgstr "การเคลื่อนไหวเร็ว" #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"Fast movement (via the \"special\" key).\n" +"Fast movement (via the \"Aux1\" key).\n" "This requires the \"fast\" privilege on the server." msgstr "" "การเคลื่อนไหวที่รวดเร็ว (ผ่านคีย์ 'พิเศษ').\n" @@ -3197,11 +3333,12 @@ msgid "Filmic tone mapping" msgstr "การทำแผนที่โทนภาพยนตร์" #: src/settings_translation_file.cpp +#, fuzzy msgid "" "Filtered textures can blend RGB values with fully-transparent neighbors,\n" -"which PNG optimizers usually discard, sometimes resulting in a dark or\n" -"light edge to transparent textures. Apply this filter to clean that up\n" -"at texture load time." +"which PNG optimizers usually discard, often resulting in dark or\n" +"light edges to transparent textures. Apply a filter to clean that up\n" +"at texture load time. This is automatically enabled if mipmapping is enabled." msgstr "" "พื้นผิวที่ถูกกรองสามารถผสมผสานค่า RGB กับเพื่อนบ้านที่โปร่งใสได้อย่างสมบูรณ์\n" "เครื่องมือเพิ่มประสิทธิภาพ PNG ใดที่มักจะละทิ้งซึ่งบางครั้งส่งผลให้มืดหรือ\n" @@ -3302,10 +3439,6 @@ msgstr "ขนาดตัวอักษร" msgid "Font size of the default font in point (pt)." msgstr "" -#: src/settings_translation_file.cpp -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 "" @@ -3403,10 +3536,6 @@ msgstr "" msgid "Full screen" msgstr "เต็มจอ" -#: src/settings_translation_file.cpp -msgid "Full screen BPP" -msgstr "BPP เต็มหน้าจอ" - #: src/settings_translation_file.cpp msgid "Fullscreen mode." msgstr "โหมดเต็มหน้าจอ" @@ -3502,7 +3631,9 @@ msgid "Heat noise" msgstr "" #: src/settings_translation_file.cpp -msgid "Height component of the initial window size." +#, fuzzy +msgid "" +"Height component of the initial window size. Ignored in fullscreen mode." msgstr "องค์ประกอบความสูงของขนาดหน้าต่างเริ่มต้น" #: src/settings_translation_file.cpp @@ -3513,10 +3644,6 @@ msgstr "" msgid "Height select noise" msgstr "" -#: src/settings_translation_file.cpp -msgid "High-precision FPU" -msgstr "" - #: src/settings_translation_file.cpp msgid "Hill steepness" msgstr "" @@ -3749,9 +3876,9 @@ msgstr "" "เพื่อไม่ให้สิ้นเปลืองพลังงานของ CPU อย่างไม่มีประโยชน์" #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"If disabled, \"special\" key is used to fly fast if both fly and fast mode " -"are\n" +"If disabled, \"Aux1\" key is used to fly fast if both fly and fast mode are\n" "enabled." msgstr "" "ถ้าปิดใช้งาน ใช้คีย์ 'พิเศษ' บินถ้าทั้งบิน และโหมดที่รวดเร็วเป็น \n" @@ -3776,9 +3903,10 @@ msgstr "" "ต้องมีสิทธิ์ 'noclip' บนเซิร์ฟเวอร์." #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"If enabled, \"special\" key instead of \"sneak\" key is used for climbing " -"down and\n" +"If enabled, \"Aux1\" key instead of \"Sneak\" key is used for climbing down " +"and\n" "descending." msgstr "ถ้าเปิดใช้งาน ใช้คีย์ 'พิเศษ' แทน 'แอบ' คีย์สำหรับปีนลงและ จาก." @@ -3826,6 +3954,12 @@ msgid "" "to this distance from the player to the node." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"If the execution of a chat command takes longer than this specified time in\n" +"seconds, add the time information to the chat command message" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "If the file size of debug.txt exceeds the number of megabytes specified in\n" @@ -4948,10 +5082,6 @@ msgid "" msgstr "" "ทำให้หมอกและสีของท้องฟ้าขึ้นอยู่กับเวลากลางวัน (รุ่งอรุณ / พระอาทิตย์ตก) และทิศทางการดู." -#: src/settings_translation_file.cpp -msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." -msgstr "" - #: src/settings_translation_file.cpp msgid "Makes all liquids opaque" msgstr "ทำให้ของเหลวทั้งหมดขุ่น" @@ -5023,6 +5153,10 @@ msgstr "" msgid "Map save interval" msgstr "" +#: src/settings_translation_file.cpp +msgid "Map update time" +msgstr "" + #: src/settings_translation_file.cpp msgid "Mapblock limit" msgstr "ข้อ จำกัด Mapblock" @@ -5132,6 +5266,10 @@ msgstr "FPS สูงสุด" msgid "Maximum FPS when the window is not focused, or when the game is paused." msgstr "FPS สูงสุดเมื่อเกมหยุดชั่วคราว" +#: src/settings_translation_file.cpp +msgid "Maximum distance to render shadows." +msgstr "" + #: src/settings_translation_file.cpp msgid "Maximum forceloaded blocks" msgstr "" @@ -5250,7 +5388,15 @@ msgstr "" "0 เพื่อปิดใช้งานการจัดคิวและ -1 เพื่อทำให้ขนาดของคิวไม่ จำกัด." #: src/settings_translation_file.cpp -msgid "Maximum time in ms a file download (e.g. a mod download) may take." +msgid "" +"Maximum time a file download (e.g. a mod download) may take, stated in " +"milliseconds." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum time an interactive request (e.g. server list fetch) may take, " +"stated in milliseconds." msgstr "" #: src/settings_translation_file.cpp @@ -5470,11 +5616,6 @@ 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 " @@ -5577,6 +5718,11 @@ msgstr "ระยะถ่ายโอนผู้เล่น" msgid "Player versus player" msgstr "ผู้เล่นกับผู้เล่น" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Poisson filtering" +msgstr "การกรอง Bilinear" + #: src/settings_translation_file.cpp msgid "" "Port to connect to (UDP).\n" @@ -5928,6 +6074,43 @@ msgstr "" msgid "Set the maximum character length of a chat message sent by clients." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow strength.\n" +"Lower value means lighter shadows, higher value means darker shadows." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow update time.\n" +"Lower value means shadows and map updates faster, but it consume more " +"resources.\n" +"Minimun value 0.001 seconds max value 0.2 seconds" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the soft shadow radius size.\n" +"Lower values mean sharper shadows bigger values softer.\n" +"Minimun value 1.0 and max value 10.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the tilt of Sun/Moon orbit in degrees\n" +"Value of 0 means no tilt / vertical orbit.\n" +"Minimun value 0.0 and max value 60.0" +msgstr "" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "" +"Set to true to enable Shadow Mapping.\n" +"Requires shaders to be enabled." +msgstr "" +"ตั้งค่าเป็นจริงช่วยให้ใบโบก\n" +"ต้องมี shaders เพื่อเปิดใช้งาน" + #: src/settings_translation_file.cpp #, fuzzy msgid "" @@ -5955,6 +6138,13 @@ msgstr "" "การตั้งค่าเป็นจริงช่วยให้พืชโบก\n" "ต้องมี shaders เพื่อเปิดใช้งาน" +#: src/settings_translation_file.cpp +msgid "" +"Sets shadow texture quality to 32 bits.\n" +"On false, 16 bits texture will be used.\n" +"This can cause much more artifacts in the shadow." +msgstr "" + #: src/settings_translation_file.cpp msgid "Shader path" msgstr "เส้นทาง Shader" @@ -5970,6 +6160,24 @@ msgstr "" "บัตร\n" "ใช้งานได้กับแบ็กเอนด์วิดีโอ OpenGL เท่านั้น" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Shadow filter quality" +msgstr "คุณภาพของภาพหน้าจอ" + +#: src/settings_translation_file.cpp +msgid "Shadow map max distance in nodes to render shadows" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture in 32 bits" +msgstr "" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Shadow map texture size" +msgstr "ขนาดพื้นผิวขั้นต่ำ" + #: src/settings_translation_file.cpp #, fuzzy msgid "" @@ -5978,11 +6186,8 @@ msgid "" 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 แล้วเงาจะไม่ถูกวาด." +msgid "Shadow strength" +msgstr "" #: src/settings_translation_file.cpp msgid "Shape of the minimap. Enabled = round, disabled = square." @@ -6030,6 +6235,10 @@ msgstr "" "เพิ่มแคชการเข้าชม% ลดการคัดลอกข้อมูลจากหลัก\n" "ด้ายจึงลดกระวนกระวายใจ" +#: src/settings_translation_file.cpp +msgid "Sky Body Orbit Tilt" +msgstr "" + #: src/settings_translation_file.cpp msgid "Slice w" msgstr "" @@ -6086,18 +6295,15 @@ msgstr "" msgid "Sneaking speed, in nodes per second." msgstr "" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Soft shadow radius" +msgstr "ตัวอักษรเงาอัลฟา" + #: src/settings_translation_file.cpp msgid "Sound" msgstr "เสียง" -#: src/settings_translation_file.cpp -msgid "Special key" -msgstr "รหัสพิเศษ" - -#: src/settings_translation_file.cpp -msgid "Special key for climbing/descending" -msgstr "คีย์พิเศษสำหรับการปีนเขา/เรียง" - #: src/settings_translation_file.cpp msgid "" "Specifies URL from which client fetches media instead of using UDP.\n" @@ -6227,6 +6433,13 @@ msgstr "" msgid "Texture path" msgstr "เส้นทางพื้นผิว" +#: src/settings_translation_file.cpp +msgid "" +"Texture size to render the shadow map on.\n" +"This must be a power of two.\n" +"Bigger numbers create better shadowsbut it is also more expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Textures on a node may be aligned either to the node or to the world.\n" @@ -6310,7 +6523,7 @@ msgstr "" #: src/settings_translation_file.cpp #, fuzzy msgid "" -"The rendering back-end for Irrlicht.\n" +"The rendering back-end.\n" "A restart is required after changing this.\n" "Note: On Android, stick with OGLES1 if unsure! App may fail to start " "otherwise.\n" @@ -6629,7 +6842,8 @@ msgid "Viewing range" msgstr "ดูช่วง" #: src/settings_translation_file.cpp -msgid "Virtual joystick triggers aux button" +#, fuzzy +msgid "Virtual joystick triggers Aux1 button" msgstr "จอยสติกเสมือนเรียกใช้ปุ่ม aux" #: src/settings_translation_file.cpp @@ -6729,14 +6943,14 @@ msgstr "" "รองรับการดาวน์โหลดพื้นผิวอย่างถูกต้องจากฮาร์ดแวร์" #: src/settings_translation_file.cpp +#, fuzzy msgid "" "When using bilinear/trilinear/anisotropic filters, low-resolution textures\n" "can be blurred, so automatically upscale them with nearest-neighbor\n" "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" +"memory. Powers of 2 are recommended. This setting is ONLY applies if\n" +"bilinear/trilinear/anisotropic filtering is enabled.\n" "This is also used as the base node texture size for world-aligned\n" "texture autoscaling." msgstr "" @@ -6807,7 +7021,8 @@ msgid "" msgstr "ไม่ว่าจะแสดงข้อมูลการแก้ปัญหาลูกค้า (มีผลเช่นเดียวกับการกดปุ่ม F5)." #: src/settings_translation_file.cpp -msgid "Width component of the initial window size." +#, fuzzy +msgid "Width component of the initial window size. Ignored in fullscreen mode." msgstr "องค์ประกอบความกว้างของขนาดหน้าต่างเริ่มต้น" #: src/settings_translation_file.cpp @@ -6924,11 +7139,11 @@ msgid "cURL file download timeout" msgstr "" #: src/settings_translation_file.cpp -msgid "cURL parallel limit" +msgid "cURL interactive timeout" msgstr "" #: src/settings_translation_file.cpp -msgid "cURL timeout" +msgid "cURL parallel limit" msgstr "" #~ msgid "" @@ -6938,6 +7153,9 @@ msgstr "" #~ "0 = การบดบังพารัลแลกซ์พร้อมข้อมูลความชัน (เร็วกว่า)\n" #~ "1 = การทำแผนที่นูน (ช้ากว่าแม่นยำกว่า)" +#~ msgid "Address / Port" +#~ msgstr "ที่อยู่ / พอร์ต" + #~ msgid "" #~ "Adjust the gamma encoding for the light tables. Higher numbers are " #~ "brighter.\n" @@ -6952,6 +7170,9 @@ msgstr "" #~ msgid "Back" #~ msgstr "หลัง" +#~ msgid "Bits per pixel (aka color depth) in fullscreen mode." +#~ msgstr "บิตต่อพิกเซล (ความลึกของสี aka) ในโหมดเต็มหน้าจอ." + #~ msgid "Bump Mapping" #~ msgstr "การแม็ป ชน" @@ -6968,9 +7189,15 @@ msgstr "" #~ msgid "Configure" #~ msgstr "กำหนดค่า" +#~ msgid "Credits" +#~ msgstr "เครดิต" + #~ msgid "Crosshair color (R,G,B)." #~ msgstr "สีของครอสแฮร์ (R,G,B)." +#~ msgid "Damage enabled" +#~ msgstr "ความเสียหาย ที่เปิดใช้งาน" + #~ msgid "Darkness sharpness" #~ msgstr "ความมืดมิด" @@ -7024,9 +7251,21 @@ msgstr "" #~ msgid "FPS in pause menu" #~ msgstr "FPS ในเมนูหยุดชั่วคราว" +#~ msgid "Fallback font shadow" +#~ msgstr "เงาแบบอักษรทางเลือก" + +#~ msgid "Fallback font shadow alpha" +#~ msgstr "เงาตัวอักษรทางเลือกอัลฟา" + +#~ msgid "Fallback font size" +#~ msgstr "ขนาดตัวอักษรทางเลือก" + #~ msgid "Font shadow alpha (opaqueness, between 0 and 255)." #~ msgstr "ตัวอักษรเงาอัลฟา (ความทึบระหว่าง 0 และ 255)." +#~ msgid "Full screen BPP" +#~ msgstr "BPP เต็มหน้าจอ" + #~ msgid "Gamma" #~ msgstr "แกมมา" @@ -7056,6 +7295,9 @@ msgstr "" #~ msgid "Minimap in surface mode, Zoom x4" #~ msgstr "แผนที่ย่อในโหมด surface, ซูม x4" +#~ msgid "Name / Password" +#~ msgstr "ชื่อ / รหัสผ่าน" + #~ msgid "Name/Password" #~ msgstr "ชื่อ/รหัสผ่าน" @@ -7108,12 +7350,27 @@ msgstr "" #~ msgid "Path to save screenshots at." #~ msgstr "พา ธ เพื่อบันทึกภาพหน้าจอที่ ..." +#~ msgid "PvP enabled" +#~ msgstr "PvP เปิดใช้งาน" + #~ msgid "Reset singleplayer world" #~ msgstr "รีเซ็ต singleplayer โลก" #~ msgid "Select Package File:" #~ msgstr "เลือกแฟ้มแพคเกจ:" +#, fuzzy +#~ msgid "" +#~ "Shadow offset (in pixels) of the fallback font. If 0, then shadow will " +#~ "not be drawn." +#~ msgstr "เงาแบบอักษรชดเชยถ้า 0 แล้วเงาจะไม่ถูกวาด." + +#~ msgid "Special" +#~ msgstr "พิเศษ" + +#~ msgid "Special key" +#~ msgstr "รหัสพิเศษ" + #~ msgid "Start Singleplayer" #~ msgstr "เริ่มเล่นเดี่ยว" @@ -7137,3 +7394,6 @@ msgstr "" #~ msgid "Yes" #~ msgstr "ใช่" + +#~ msgid "needs_fallback_font" +#~ msgstr "yes" diff --git a/po/tr/minetest.po b/po/tr/minetest.po index a2311124b..4e8bc84d9 100644 --- a/po/tr/minetest.po +++ b/po/tr/minetest.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: Turkish (Minetest)\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-02-23 19:03+0100\n" -"PO-Revision-Date: 2021-02-13 08:50+0000\n" +"POT-Creation-Date: 2021-06-16 18:27+0200\n" +"PO-Revision-Date: 2021-03-07 07:10+0000\n" "Last-Translator: Oğuz Ersen \n" "Language-Team: Turkish \n" @@ -12,7 +12,49 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.5-dev\n" +"X-Generator: Weblate 4.5.1\n" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Clear the out chat queue" +msgstr "Dış sohbet kuyruğunun maksimum boyutu" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Empty command." +msgstr "Sohbet komutları" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Exit to main menu" +msgstr "Menüye Çık" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Invalid command: " +msgstr "Yerel komut" + +#: builtin/client/chatcommands.lua +msgid "Issued command: " +msgstr "" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "List online players" +msgstr "Tek oyunculu" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Online players: " +msgstr "Tek oyunculu" + +#: builtin/client/chatcommands.lua +msgid "The out chat queue is now empty." +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "This command is disabled by server." +msgstr "" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -22,6 +64,38 @@ msgstr "Yeniden Canlan" msgid "You died" msgstr "Öldün" +#: builtin/client/death_formspec.lua +#, fuzzy +msgid "You died." +msgstr "Öldün" + +#: builtin/common/chatcommands.lua +#, fuzzy +msgid "Available commands:" +msgstr "Yerel komut" + +#: builtin/common/chatcommands.lua +#, fuzzy +msgid "Available commands: " +msgstr "Yerel komut" + +#: builtin/common/chatcommands.lua +msgid "Command not available: " +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "Get help for commands" +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "" +"Use '.help ' to get more information, or '.help all' to list everything." +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "[all | ]" +msgstr "" + #: builtin/fstk/dialog.lua builtin/fstk/ui.lua src/gui/modalMenu.cpp msgid "OK" msgstr "Tamam" @@ -532,7 +606,7 @@ msgstr "< Ayarlar sayfasına geri dön" msgid "Browse" msgstr "Gözat" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_settings.lua msgid "Disabled" msgstr "Devre dışı" @@ -576,7 +650,7 @@ msgstr "Öntanımlıyı Geri Yükle" msgid "Scale" msgstr "Boyut" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua msgid "Search" msgstr "Ara" @@ -700,9 +774,8 @@ msgid "Loading..." msgstr "Yükleniyor..." #: builtin/mainmenu/serverlistmgr.lua -#, fuzzy msgid "Public server list is disabled" -msgstr "İstemci tarafı betik devre dışı" +msgstr "Açık sunucu listesi devre dışı" #: builtin/mainmenu/serverlistmgr.lua msgid "Try reenabling public serverlist and check your internet connection." @@ -710,6 +783,43 @@ msgstr "" "Açık sunucu listesini tekrar etkinleştirmeyi deneyin ve internet " "bağlantınızı doğrulayın." +#: builtin/mainmenu/tab_about.lua +msgid "About" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active Contributors" +msgstr "Etkin Katkıda Bulunanlar" + +#: builtin/mainmenu/tab_about.lua +#, fuzzy +msgid "Active renderer:" +msgstr "Etkin nesne gönderme uzaklığı" + +#: builtin/mainmenu/tab_about.lua +msgid "Core Developers" +msgstr "Çekirdek Geliştiriciler" + +#: builtin/mainmenu/tab_about.lua +msgid "Open User Data Directory" +msgstr "Kullanıcı Veri Dizinini Aç" + +#: builtin/mainmenu/tab_about.lua +msgid "" +"Opens the directory that contains user-provided worlds, games, mods,\n" +"and texture packs in a file manager / explorer." +msgstr "" +"Bir dosya yöneticisi / gezgininde kullanıcı tarafından sağlanan dünyaları,\n" +"oyunları, modları ve doku paketlerini içeren dizini açar." + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Contributors" +msgstr "Önceki Katkıda Bulunanlar" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Core Developers" +msgstr "Önceki Çekirdek Geliştiriciler" + #: builtin/mainmenu/tab_content.lua msgid "Browse online content" msgstr "Çevrim içi içeriğe göz at" @@ -750,38 +860,6 @@ msgstr "Paketi Kaldır" msgid "Use Texture Pack" msgstr "Doku Paketleri Kullan" -#: builtin/mainmenu/tab_credits.lua -msgid "Active Contributors" -msgstr "Etkin Katkıda Bulunanlar" - -#: builtin/mainmenu/tab_credits.lua -msgid "Core Developers" -msgstr "Çekirdek Geliştiriciler" - -#: builtin/mainmenu/tab_credits.lua -msgid "Credits" -msgstr "Hakkında" - -#: builtin/mainmenu/tab_credits.lua -msgid "Open User Data Directory" -msgstr "Kullanıcı Veri Dizinini Aç" - -#: builtin/mainmenu/tab_credits.lua -msgid "" -"Opens the directory that contains user-provided worlds, games, mods,\n" -"and texture packs in a file manager / explorer." -msgstr "" -"Bir dosya yöneticisi / gezgininde kullanıcı tarafından sağlanan dünyaları,\n" -"oyunları, modları ve doku paketlerini içeren dizini açar." - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Contributors" -msgstr "Önceki Katkıda Bulunanlar" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Core Developers" -msgstr "Önceki Çekirdek Geliştiriciler" - #: builtin/mainmenu/tab_local.lua msgid "Announce Server" msgstr "Sunucuyu Duyur" @@ -810,7 +888,7 @@ msgstr "Sunucu Barındır" msgid "Install games from ContentDB" msgstr "ContentDB'den oyunlar yükle" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Name" msgstr "Ad" @@ -822,7 +900,7 @@ msgstr "Yeni" msgid "No world created or selected!" msgstr "Dünya seçilmedi ya da yaratılmadı!" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Password" msgstr "Parola" @@ -830,7 +908,7 @@ msgstr "Parola" msgid "Play Game" msgstr "Oyunu Oyna" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Port" msgstr "Port" @@ -851,8 +929,13 @@ msgid "Start Game" msgstr "Oyun Başlat" #: builtin/mainmenu/tab_online.lua -msgid "Address / Port" -msgstr "Adres / Port" +#, fuzzy +msgid "Address" +msgstr "- Adres: " + +#: builtin/mainmenu/tab_online.lua src/client/keycode.cpp +msgid "Clear" +msgstr "Temizle" #: builtin/mainmenu/tab_online.lua msgid "Connect" @@ -862,34 +945,46 @@ msgstr "Bağlan" msgid "Creative mode" msgstr "Yaratıcı kip" +#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "Damage enabled" -msgstr "Hasar etkin" +#, fuzzy +msgid "Damage / PvP" +msgstr "Hasar" #: builtin/mainmenu/tab_online.lua msgid "Del. Favorite" msgstr "Favoriyi Sil" #: builtin/mainmenu/tab_online.lua -msgid "Favorite" +#, fuzzy +msgid "Favorites" msgstr "Favori" +#: builtin/mainmenu/tab_online.lua +msgid "Incompatible Servers" +msgstr "" + #: builtin/mainmenu/tab_online.lua msgid "Join Game" msgstr "Oyuna Katıl" -#: builtin/mainmenu/tab_online.lua -msgid "Name / Password" -msgstr "Ad / Parola" - #: builtin/mainmenu/tab_online.lua msgid "Ping" msgstr "Ping" -#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "PvP enabled" -msgstr "Savaş etkin" +#, fuzzy +msgid "Public Servers" +msgstr "Sunucuyu Duyur" + +#: builtin/mainmenu/tab_online.lua +msgid "Refresh" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +#, fuzzy +msgid "Server Description" +msgstr "Sunucu açıklaması" #: builtin/mainmenu/tab_settings.lua msgid "2x" @@ -931,10 +1026,31 @@ msgstr "Tuşları değiştir" msgid "Connected Glass" msgstr "Bitişik Cam" +#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp +#, fuzzy +msgid "Dynamic shadows" +msgstr "Yazı tipi gölgesi" + +#: builtin/mainmenu/tab_settings.lua +msgid "Dynamic shadows: " +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Fancy Leaves" msgstr "Şık Yapraklar" +#: builtin/mainmenu/tab_settings.lua +msgid "High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Low" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Medium" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Mipmap" msgstr "Mip eşleme" @@ -1023,6 +1139,14 @@ msgstr "Dokunuş eşiği: (px)" msgid "Trilinear Filter" msgstr "Trilineer Filtre" +#: builtin/mainmenu/tab_settings.lua +msgid "Ultra High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Very Low" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Waving Leaves" msgstr "Dalgalanan Yapraklar" @@ -1095,18 +1219,6 @@ msgstr "Sağlanan parola 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" - #: src/client/game.cpp msgid "" "\n" @@ -1349,6 +1461,11 @@ msgstr "MiB/s" msgid "Minimap currently disabled by game or mod" msgstr "Mini harita şu anda, oyun veya mod tarafından devre dışı" +#: src/client/game.cpp +#, fuzzy +msgid "Multiplayer" +msgstr "Tek oyunculu" + #: src/client/game.cpp msgid "Noclip mode disabled" msgstr "Hayalet kipi devre dışı" @@ -1490,10 +1607,6 @@ msgstr "Backspace" msgid "Caps Lock" msgstr "Caps Lock" -#: src/client/keycode.cpp -msgid "Clear" -msgstr "Temizle" - #: src/client/keycode.cpp msgid "Control" msgstr "CTRL" @@ -1787,7 +1900,8 @@ msgid "Proceed" msgstr "İlerle" #: src/gui/guiKeyChangeMenu.cpp -msgid "\"Special\" = climb down" +#, fuzzy +msgid "\"Aux1\" = climb down" msgstr "\"Özel\" = aşağı in" #: src/gui/guiKeyChangeMenu.cpp @@ -1798,10 +1912,18 @@ msgstr "Kendiliğinden-ileri" msgid "Automatic jumping" msgstr "Kendiliğinden zıplama" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Aux1" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Backward" msgstr "Geri" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Block bounds" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Change camera" msgstr "Kamera değiştir" @@ -1890,10 +2012,6 @@ msgstr "Ekran yakala" msgid "Sneak" msgstr "Sız" -#: src/gui/guiKeyChangeMenu.cpp -msgid "Special" -msgstr "Özel" - #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle HUD" msgstr "HUD'ı aç/kapa" @@ -1980,9 +2098,10 @@ msgstr "" "Devre dışı bırakılırsa, sanal joystick merkezi, ilk dokunuş konumu olur." #: 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 " +"(Android) Use virtual joystick to trigger \"Aux1\" button.\n" +"If enabled, virtual joystick will also tap \"Aux1\" button when out of main " "circle." msgstr "" "(Android) \"aux\" düğmesini tetiklemek için sanal joystick kullanın.\n" @@ -2341,6 +2460,16 @@ msgstr "Ekran boyutunu hatırla" msgid "Autoscaling mode" msgstr "Kendiliğinden boyutlandırma kipi" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Aux1 key" +msgstr "Zıplama tuşu" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Aux1 key for climbing/descending" +msgstr "Tırmanma/alçalma için özel tuş" + #: src/settings_translation_file.cpp msgid "Backward key" msgstr "Geri tuşu" @@ -2385,10 +2514,6 @@ msgstr "Biyom API sıcaklık ve nem gürültü parametreleri" msgid "Biome noise" msgstr "Biyom Gürültüsü" -#: src/settings_translation_file.cpp -msgid "Bits per pixel (aka color depth) in fullscreen mode." -msgstr "Tam ekran kipinde piksel başına bit (renk derinliği)." - #: src/settings_translation_file.cpp msgid "Block send optimize distance" msgstr "Blok gönderme iyileştirme uzaklığı" @@ -2495,6 +2620,11 @@ 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 +#, fuzzy +msgid "Chat command time message threshold" +msgstr "Sohbet iletisi vurma eşiği" + #: src/settings_translation_file.cpp msgid "Chat font size" msgstr "Sohbet yazı tipi boyutu" @@ -2591,6 +2721,11 @@ msgstr "Ana menüde bulutlar" msgid "Colored fog" msgstr "Renkli sis" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Colored shadows" +msgstr "Renkli sis" + #: src/settings_translation_file.cpp msgid "" "Comma-separated list of flags to hide in the content repository.\n" @@ -2814,11 +2949,10 @@ msgstr "Öntanımlı yığın boyutu" #: src/settings_translation_file.cpp msgid "" -"Default timeout for cURL, stated in milliseconds.\n" -"Only has an effect if compiled with cURL." +"Define shadow filtering quality\n" +"This simulates the soft shadows effect by applying a PCF or poisson disk\n" +"but also uses more resources." msgstr "" -"CURL için öntanımlı zaman aşımı, milisaniye cinsinden.\n" -"Yalnızca cURL ile derlenmiş ise bir etkisi vardır." #: src/settings_translation_file.cpp msgid "Defines areas where trees have apples." @@ -2994,14 +3128,19 @@ msgstr "" "İstemcide Lua modlama desteğini etkinleştir.\n" "Bu destek deneyseldir ve API değişebilir." +#: src/settings_translation_file.cpp +msgid "" +"Enable colored shadows. \n" +"On true translucent nodes cast colored shadows. This is expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable console window" msgstr "Konsol penceresini etkinleştir" #: src/settings_translation_file.cpp -#, fuzzy msgid "Enable creative mode for all players" -msgstr "Yeni yaratılan haritalar için yaratıcı kipi etkinleştir." +msgstr "Tüm oyuncular için yaratıcı kipi etkinleştir" #: src/settings_translation_file.cpp msgid "Enable joysticks" @@ -3019,6 +3158,13 @@ msgstr "Mod güvenliğini etkinleştir" msgid "Enable players getting damage and dying." msgstr "Oyuncuların hasar almasını ve ölmesini etkinleştir." +#: src/settings_translation_file.cpp +msgid "" +"Enable poisson disk filtering.\n" +"On true uses poisson disk to make \"soft shadows\". Otherwise uses PCF " +"filtering." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable random user input (only used for testing)." msgstr "Rastgele kullanıcı girişini etkinleştir (yalnızca test için)." @@ -3174,18 +3320,6 @@ msgstr "Düşme sallanması çarpanı" msgid "Fallback font path" msgstr "Yedek yazı tipi konumu" -#: src/settings_translation_file.cpp -msgid "Fallback font shadow" -msgstr "Geri dönüş yazı tipi gölgesi" - -#: src/settings_translation_file.cpp -msgid "Fallback font shadow alpha" -msgstr "Geri dönüş yazı tipi gölge saydamlığı" - -#: src/settings_translation_file.cpp -msgid "Fallback font size" -msgstr "Geri dönüş yazı tipi boyutu" - #: src/settings_translation_file.cpp msgid "Fast key" msgstr "Hızlı tuşu" @@ -3203,8 +3337,9 @@ msgid "Fast movement" msgstr "Hızlı hareket" #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"Fast movement (via the \"special\" key).\n" +"Fast movement (via the \"Aux1\" key).\n" "This requires the \"fast\" privilege on the server." msgstr "" "Hızlı hareket (\"özel\" tuşu ile).\n" @@ -3240,11 +3375,12 @@ msgid "Filmic tone mapping" msgstr "Filmsel ton eşleme" #: 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" -"light edge to transparent textures. Apply this filter to clean that up\n" -"at texture load time." +"which PNG optimizers usually discard, often resulting in dark or\n" +"light edges to transparent textures. Apply a filter to clean that up\n" +"at texture load time. This is automatically enabled if mipmapping is enabled." msgstr "" "Filtrelenmiş dokular, genellikle PNG iyileştiricilerin dikkate almadığı, " "tamamen\n" @@ -3345,10 +3481,6 @@ msgstr "Yazı tipi boyutu" 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 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." @@ -3462,10 +3594,6 @@ msgstr "" msgid "Full screen" msgstr "Tam ekran" -#: src/settings_translation_file.cpp -msgid "Full screen BPP" -msgstr "Tam ekran BPP" - #: src/settings_translation_file.cpp msgid "Fullscreen mode." msgstr "Tam ekran kipi." @@ -3577,7 +3705,9 @@ msgid "Heat noise" msgstr "Isı gürültüsü" #: src/settings_translation_file.cpp -msgid "Height component of the initial window size." +#, fuzzy +msgid "" +"Height component of the initial window size. Ignored in fullscreen mode." msgstr "İlk pencere boyutunun yükseklik bileşeni." #: src/settings_translation_file.cpp @@ -3588,10 +3718,6 @@ msgstr "Yükseklik gürültüsü" msgid "Height select noise" msgstr "Yükseklik seçme gürültüsü" -#: src/settings_translation_file.cpp -msgid "High-precision FPU" -msgstr "Yüksek hassasiyetli FPU" - #: src/settings_translation_file.cpp msgid "Hill steepness" msgstr "Tepe dikliği" @@ -3837,9 +3963,9 @@ msgstr "" "tüketmemek için, uykuya dalarak sınırla." #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"If disabled, \"special\" key is used to fly fast if both fly and fast mode " -"are\n" +"If disabled, \"Aux1\" key is used to fly fast if both fly and fast mode are\n" "enabled." msgstr "" "Devre dışı bırakılırsa \"özel\" tuşu, hem uçma hem de hızlı kipi etkin ise,\n" @@ -3869,9 +3995,10 @@ msgstr "" "Bu, sunucuda \"hayalet\" yetkisi gerektirir." #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"If enabled, \"special\" key instead of \"sneak\" key is used for climbing " -"down and\n" +"If enabled, \"Aux1\" key instead of \"Sneak\" key is used for climbing down " +"and\n" "descending." msgstr "" "Etkinleştirilirse, \"sızma\" tuşu yerine \"özel\" tuşu aşağı inme ve " @@ -3929,6 +4056,12 @@ msgstr "" "Nod uzaklığı için CSM sınırlaması etkinse, get_node çağrıları noddan\n" "oyuncuya olan bu uzaklığa sınırlanır." +#: src/settings_translation_file.cpp +msgid "" +"If the execution of a chat command takes longer than this specified time in\n" +"seconds, add the time information to the chat command message" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "If the file size of debug.txt exceeds the number of megabytes specified in\n" @@ -5095,12 +5228,6 @@ msgstr "" "Sis ve gökyüzü renklerini gün saatine (şafak/günbatımı) ve bakış yönüne " "bağlı değiştir." -#: src/settings_translation_file.cpp -msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." -msgstr "" -"DirectX'in LuaJIT ile çalışmasını sağlar. Sorunlara neden olursa devre dışı " -"bırakın." - #: src/settings_translation_file.cpp msgid "Makes all liquids opaque" msgstr "Tüm sıvıları opak yapar" @@ -5192,6 +5319,11 @@ msgstr "Harita üretim sınırı" msgid "Map save interval" msgstr "Harita kaydetme aralığı" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Map update time" +msgstr "Sıvı güncelleme tıkı" + #: src/settings_translation_file.cpp msgid "Mapblock limit" msgstr "Harita bloğu sınırı" @@ -5300,6 +5432,10 @@ msgstr "Maksimum FPS" msgid "Maximum FPS when the window is not focused, or when the game is paused." msgstr "Pencere odaklanmadığında veya oyun duraklatıldığında en yüksek FPS." +#: src/settings_translation_file.cpp +msgid "Maximum distance to render shadows." +msgstr "" + #: src/settings_translation_file.cpp msgid "Maximum forceloaded blocks" msgstr "Maksimum zorla yüklenen blok" @@ -5428,11 +5564,20 @@ msgstr "" "Kuyruğa almayı kapamak için 0 ve sınırsız kuyruk boyutu için -1." #: src/settings_translation_file.cpp -msgid "Maximum time in ms a file download (e.g. a mod download) may take." +#, fuzzy +msgid "" +"Maximum time a file download (e.g. a mod download) may take, stated in " +"milliseconds." msgstr "" "Bir dosya indirmesinin ms cinsinden alabileceği maksimum zaman (ör: mod " "indirme)." +#: src/settings_translation_file.cpp +msgid "" +"Maximum time an interactive request (e.g. server list fetch) may take, " +"stated in milliseconds." +msgstr "" + #: src/settings_translation_file.cpp msgid "Maximum users" msgstr "Maksimum kullanıcı" @@ -5671,12 +5816,6 @@ 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 " @@ -5796,6 +5935,11 @@ msgstr "Oyuncu transfer uzaklığı" msgid "Player versus player" msgstr "Oyuncu oyuncuya karşı" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Poisson filtering" +msgstr "Bilineer filtreleme" + #: src/settings_translation_file.cpp msgid "" "Port to connect to (UDP).\n" @@ -6189,6 +6333,43 @@ msgstr "" "İstemcilerin gönderdiği sohbet iletilerinin maksimum karakter uzunluğunu " "ayarla." +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow strength.\n" +"Lower value means lighter shadows, higher value means darker shadows." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow update time.\n" +"Lower value means shadows and map updates faster, but it consume more " +"resources.\n" +"Minimun value 0.001 seconds max value 0.2 seconds" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the soft shadow radius size.\n" +"Lower values mean sharper shadows bigger values softer.\n" +"Minimun value 1.0 and max value 10.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the tilt of Sun/Moon orbit in degrees\n" +"Value of 0 means no tilt / vertical orbit.\n" +"Minimun value 0.0 and max value 60.0" +msgstr "" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "" +"Set to true to enable Shadow Mapping.\n" +"Requires shaders to be enabled." +msgstr "" +"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 to enable waving leaves.\n" @@ -6213,6 +6394,13 @@ msgstr "" "Dalgalanan bitkiler için doğru'ya ayarlayın.\n" "Gölgelemeler etkin kılınmalıdır." +#: src/settings_translation_file.cpp +msgid "" +"Sets shadow texture quality to 32 bits.\n" +"On false, 16 bits texture will be used.\n" +"This can cause much more artifacts in the shadow." +msgstr "" + #: src/settings_translation_file.cpp msgid "Shader path" msgstr "Gölgeleme konumu" @@ -6229,6 +6417,24 @@ msgstr "" "artırabilir.\n" "Bu yalnızca OpenGL video arka ucu ile çalışır." +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Shadow filter quality" +msgstr "Ekran yakalama kalitesi" + +#: src/settings_translation_file.cpp +msgid "Shadow map max distance in nodes to render shadows" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture in 32 bits" +msgstr "" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Shadow map texture size" +msgstr "Minimum doku boyutu" + #: src/settings_translation_file.cpp msgid "" "Shadow offset (in pixels) of the default font. If 0, then shadow will not be " @@ -6237,11 +6443,8 @@ 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." +msgid "Shadow strength" 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." @@ -6264,9 +6467,8 @@ msgstr "" "Bunu değiştirdikten sonra yeniden başlatma gerekir." #: src/settings_translation_file.cpp -#, fuzzy msgid "Show nametag backgrounds by default" -msgstr "Öntanımlı kalın yazı tipi" +msgstr "Ad etiketi arka planlarını öntanımlı olarak göster" #: src/settings_translation_file.cpp msgid "Shutdown message" @@ -6298,6 +6500,10 @@ msgstr "" "vuruş yüzdesini artırır, ana işlem parçasından kopyalanan veriyi azaltır,\n" "sonuç olarak yırtılmayı azaltır." +#: src/settings_translation_file.cpp +msgid "Sky Body Orbit Tilt" +msgstr "" + #: src/settings_translation_file.cpp msgid "Slice w" msgstr "Dilim w" @@ -6355,18 +6561,15 @@ msgstr "Sızma hızı" msgid "Sneaking speed, in nodes per second." msgstr "Sızma hızı, saniye başına nod cinsinden." +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Soft shadow radius" +msgstr "Yazı tipi gölge saydamlığı" + #: src/settings_translation_file.cpp msgid "Sound" msgstr "Ses" -#: src/settings_translation_file.cpp -msgid "Special key" -msgstr "Özel tuşu" - -#: src/settings_translation_file.cpp -msgid "Special key for climbing/descending" -msgstr "Tırmanma/alçalma için özel tuş" - #: src/settings_translation_file.cpp msgid "" "Specifies URL from which client fetches media instead of using UDP.\n" @@ -6519,6 +6722,13 @@ msgstr "Arazi süreklilik gürültüsü" msgid "Texture path" msgstr "Doku konumu" +#: src/settings_translation_file.cpp +msgid "" +"Texture size to render the shadow map on.\n" +"This must be a power of two.\n" +"Bigger numbers create better shadowsbut it is also more expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Textures on a node may be aligned either to the node or to the world.\n" @@ -6615,8 +6825,9 @@ msgstr "" "Bu active_object_send_range_blocks ile birlikte ayarlanmalıdır." #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"The rendering back-end for Irrlicht.\n" +"The rendering back-end.\n" "A restart is required after changing this.\n" "Note: On Android, stick with OGLES1 if unsure! App may fail to start " "otherwise.\n" @@ -6964,7 +7175,8 @@ msgid "Viewing range" msgstr "Görüntüleme uzaklığı" #: src/settings_translation_file.cpp -msgid "Virtual joystick triggers aux button" +#, fuzzy +msgid "Virtual joystick triggers Aux1 button" msgstr "Sanal joystick aux düğmesini tetikler" #: src/settings_translation_file.cpp @@ -7065,14 +7277,14 @@ msgstr "" "sürücüleri için, eski boyutlandırma yöntemini kullan." #: src/settings_translation_file.cpp +#, fuzzy msgid "" "When using bilinear/trilinear/anisotropic filters, low-resolution textures\n" "can be blurred, so automatically upscale them with nearest-neighbor\n" "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" +"memory. Powers of 2 are recommended. This setting is ONLY applies if\n" +"bilinear/trilinear/anisotropic filtering is enabled.\n" "This is also used as the base node texture size for world-aligned\n" "texture autoscaling." msgstr "" @@ -7105,6 +7317,8 @@ msgid "" "Whether nametag backgrounds should be shown by default.\n" "Mods may still set a background." msgstr "" +"Ad etiketi arka planlarının öntanımlı olarak gösterilip gösterilmeyileceği.\n" +"Modlar yine de bir arka plan ayarlayabilir." #: src/settings_translation_file.cpp msgid "Whether node texture animations should be desynchronized per mapblock." @@ -7161,7 +7375,8 @@ msgstr "" "ile aynı etkiye sahiptir)." #: src/settings_translation_file.cpp -msgid "Width component of the initial window size." +#, fuzzy +msgid "Width component of the initial window size. Ignored in fullscreen mode." msgstr "İlk pencere boyutunun genişlik bileşeni." #: src/settings_translation_file.cpp @@ -7296,12 +7511,13 @@ msgid "cURL file download timeout" msgstr "cURL dosya indirme zaman aşımı" #: src/settings_translation_file.cpp -msgid "cURL parallel limit" -msgstr "cURL paralel sınırı" +#, fuzzy +msgid "cURL interactive timeout" +msgstr "cURL zaman aşımı" #: src/settings_translation_file.cpp -msgid "cURL timeout" -msgstr "cURL zaman aşımı" +msgid "cURL parallel limit" +msgstr "cURL paralel sınırı" #~ msgid "" #~ "0 = parallax occlusion with slope information (faster).\n" @@ -7310,6 +7526,9 @@ msgstr "cURL zaman aşımı" #~ "0 = eğim bilgili paralaks oklüzyon (daha hızlı).\n" #~ "1 = kabartma eşleme (daha yavaş, daha doğru)." +#~ msgid "Address / Port" +#~ msgstr "Adres / Port" + #~ msgid "" #~ "Adjust the gamma encoding for the light tables. Higher numbers are " #~ "brighter.\n" @@ -7330,6 +7549,9 @@ msgstr "cURL zaman aşımı" #~ msgid "Back" #~ msgstr "Geri" +#~ msgid "Bits per pixel (aka color depth) in fullscreen mode." +#~ msgstr "Tam ekran kipinde piksel başına bit (renk derinliği)." + #~ msgid "Bump Mapping" #~ msgstr "Tümsek Eşleme" @@ -7371,12 +7593,25 @@ msgstr "cURL zaman aşımı" #~ "Tünellerin genişliğini denetler, daha küçük bir değer daha geniş tüneller " #~ "yaratır." +#~ msgid "Credits" +#~ msgstr "Hakkında" + #~ msgid "Crosshair color (R,G,B)." #~ msgstr "Artı rengi (R,G,B)." +#~ msgid "Damage enabled" +#~ msgstr "Hasar etkin" + #~ msgid "Darkness sharpness" #~ msgstr "Karanlık keskinliği" +#~ msgid "" +#~ "Default timeout for cURL, stated in milliseconds.\n" +#~ "Only has an effect if compiled with cURL." +#~ msgstr "" +#~ "CURL için öntanımlı zaman aşımı, milisaniye cinsinden.\n" +#~ "Yalnızca cURL ile derlenmiş ise bir etkisi vardır." + #~ msgid "" #~ "Defines areas of floatland smooth terrain.\n" #~ "Smooth floatlands occur when noise > 0." @@ -7444,6 +7679,15 @@ msgstr "cURL zaman aşımı" #~ msgid "FPS in pause menu" #~ msgstr "Duraklat menüsünde FPS" +#~ msgid "Fallback font shadow" +#~ msgstr "Geri dönüş yazı tipi gölgesi" + +#~ msgid "Fallback font shadow alpha" +#~ msgstr "Geri dönüş yazı tipi gölge saydamlığı" + +#~ msgid "Fallback font size" +#~ msgstr "Geri dönüş yazı tipi boyutu" + #~ msgid "Floatland base height noise" #~ msgstr "Yüzenkara taban yükseklik gürültüsü" @@ -7453,6 +7697,12 @@ msgstr "cURL zaman aşımı" #~ msgid "Font shadow alpha (opaqueness, between 0 and 255)." #~ msgstr "Yazı tipi gölge saydamlığı (solukluk, 0 ve 255 arası)." +#~ msgid "Font size of the fallback font in point (pt)." +#~ msgstr "Yedek yazı tipinin nokta (pt) olarak boyutu." + +#~ msgid "Full screen BPP" +#~ msgstr "Tam ekran BPP" + #~ msgid "Gamma" #~ msgstr "Gama" @@ -7462,6 +7712,9 @@ msgstr "cURL zaman aşımı" #~ msgid "Generate normalmaps" #~ msgstr "Normal eşlemeleri üret" +#~ msgid "High-precision FPU" +#~ msgstr "Yüksek hassasiyetli FPU" + #~ msgid "IPv6 support." #~ msgstr "IPv6 desteği." @@ -7480,6 +7733,11 @@ msgstr "cURL zaman aşımı" #~ msgid "Main menu style" #~ msgstr "Ana menü stili" +#~ msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." +#~ msgstr "" +#~ "DirectX'in LuaJIT ile çalışmasını sağlar. Sorunlara neden olursa devre " +#~ "dışı bırakın." + #~ msgid "Minimap in radar mode, Zoom x2" #~ msgstr "Radar kipinde mini harita, Yakınlaştırma x2" @@ -7492,6 +7750,9 @@ msgstr "cURL zaman aşımı" #~ msgid "Minimap in surface mode, Zoom x4" #~ msgstr "Yüzey kipinde mini harita, Yakınlaştırma x4" +#~ msgid "Name / Password" +#~ msgstr "Ad / Parola" + #~ msgid "Name/Password" #~ msgstr "Ad/Şifre" @@ -7510,6 +7771,13 @@ msgstr "cURL zaman aşımı" #~ msgid "Ok" #~ msgstr "Tamam" +#~ 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)." + #~ msgid "Overall bias of parallax occlusion effect, usually scale/2." #~ msgstr "Paralaks oklüzyon efektinin genel sapması, genellikle boyut/2." @@ -7546,6 +7814,9 @@ msgstr "cURL zaman aşımı" #~ msgid "Projecting dungeons" #~ msgstr "İzdüşüm zindanlar" +#~ msgid "PvP enabled" +#~ msgstr "Savaş etkin" + #~ msgid "Reset singleplayer world" #~ msgstr "Tek oyunculu dünyayı sıfırla" @@ -7555,6 +7826,18 @@ msgstr "cURL zaman aşımı" #~ msgid "Shadow limit" #~ msgstr "Gölge sınırı" +#~ 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." + +#~ msgid "Special" +#~ msgstr "Özel" + +#~ msgid "Special key" +#~ msgstr "Özel tuşu" + #~ msgid "Start Singleplayer" #~ msgstr "Tek oyunculu başlat" @@ -7603,3 +7886,6 @@ msgstr "cURL zaman aşımı" #~ msgid "Yes" #~ msgstr "Evet" + +#~ msgid "needs_fallback_font" +#~ msgstr "no" diff --git a/po/tt/minetest.po b/po/tt/minetest.po new file mode 100644 index 000000000..2064907ff --- /dev/null +++ b/po/tt/minetest.po @@ -0,0 +1,6556 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the minetest package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: minetest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-06-16 18:27+0200\n" +"PO-Revision-Date: 2021-04-08 18:26+0000\n" +"Last-Translator: Timur Seber \n" +"Language-Team: Tatar \n" +"Language: tt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 4.6-dev\n" + +#: builtin/client/chatcommands.lua +msgid "Clear the out chat queue" +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "Empty command." +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "Exit to main menu" +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "Invalid command: " +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "Issued command: " +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "List online players" +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "Online players: " +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "The out chat queue is now empty." +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "This command is disabled by server." +msgstr "" + +#: 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/client/death_formspec.lua +#, fuzzy +msgid "You died." +msgstr "Сез үлдегез" + +#: builtin/common/chatcommands.lua +msgid "Available commands:" +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "Available commands: " +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "Command not available: " +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "Get help for commands" +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "" +"Use '.help ' to get more information, or '.help all' to list everything." +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "[all | ]" +msgstr "" + +#: builtin/fstk/dialog.lua builtin/fstk/ui.lua src/gui/modalMenu.cpp +msgid "OK" +msgstr "Ярый" + +#: builtin/fstk/ui.lua +msgid "An error occurred in a Lua script:" +msgstr "" + +#: builtin/fstk/ui.lua +msgid "An error occurred:" +msgstr "" + +#: builtin/fstk/ui.lua +msgid "Main menu" +msgstr "" + +#: builtin/fstk/ui.lua +msgid "Reconnect" +msgstr "" + +#: builtin/fstk/ui.lua +msgid "The server has requested a reconnect:" +msgstr "" + +#: builtin/mainmenu/common.lua +msgid "Protocol version mismatch. " +msgstr "" + +#: builtin/mainmenu/common.lua +msgid "Server enforces protocol version $1. " +msgstr "" + +#: builtin/mainmenu/common.lua +msgid "Server supports protocol versions between $1 and $2. " +msgstr "" + +#: builtin/mainmenu/common.lua +msgid "We only support protocol version $1." +msgstr "" + +#: builtin/mainmenu/common.lua +msgid "We support protocol versions between version $1 and $2." +msgstr "" + +#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/dlg_contentstore.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/dlg_contentstore.lua +#: builtin/mainmenu/tab_content.lua +msgid "Dependencies:" +msgstr "" + +#: builtin/mainmenu/dlg_config_world.lua +msgid "Disable all" +msgstr "" + +#: builtin/mainmenu/dlg_config_world.lua +msgid "Disable modpack" +msgstr "" + +#: builtin/mainmenu/dlg_config_world.lua +msgid "Enable all" +msgstr "" + +#: builtin/mainmenu/dlg_config_world.lua +msgid "Enable modpack" +msgstr "" + +#: builtin/mainmenu/dlg_config_world.lua +msgid "" +"Failed to enable mod \"$1\" as it contains disallowed characters. Only " +"characters [a-z0-9_] are allowed." +msgstr "" + +#: builtin/mainmenu/dlg_config_world.lua +msgid "Find More Mods" +msgstr "" + +#: builtin/mainmenu/dlg_config_world.lua +msgid "Mod:" +msgstr "" + +#: builtin/mainmenu/dlg_config_world.lua +msgid "No (optional) dependencies" +msgstr "" + +#: builtin/mainmenu/dlg_config_world.lua +msgid "No game description provided." +msgstr "" + +#: builtin/mainmenu/dlg_config_world.lua +msgid "No hard dependencies" +msgstr "" + +#: builtin/mainmenu/dlg_config_world.lua +msgid "No modpack description provided." +msgstr "" + +#: builtin/mainmenu/dlg_config_world.lua +msgid "No optional dependencies" +msgstr "" + +#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua +msgid "Optional dependencies:" +msgstr "" + +#: builtin/mainmenu/dlg_config_world.lua +#: builtin/mainmenu/dlg_settings_advanced.lua src/gui/guiKeyChangeMenu.cpp +msgid "Save" +msgstr "Саклау" + +#: builtin/mainmenu/dlg_config_world.lua +msgid "World:" +msgstr "Дөнья:" + +#: builtin/mainmenu/dlg_config_world.lua +msgid "enabled" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "\"$1\" already exists. Would you like to overwrite it?" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "$1 and $2 dependencies will be installed." +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "$1 by $2" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "" +"$1 downloading,\n" +"$2 queued" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "$1 downloading..." +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "$1 required dependencies could not be found." +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "$1 will be installed, and $2 dependencies will be skipped." +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "All packages" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "Already installed" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "Back to Main Menu" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "Base Game:" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "ContentDB is not available when Minetest was compiled without cURL" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "Downloading..." +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "Failed to download $1" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Games" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "Install" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "Install $1" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "Install missing dependencies" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Mods" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "No packages could be retrieved" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "No results" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "No updates" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "Not found" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "Overwrite" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "Please check that the base game is correct." +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "Queued" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "Texture packs" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "Uninstall" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "Update" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "Update All [$1]" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "View more information in a web browser" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "A world named \"$1\" already exists" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Additional terrain" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua src/settings_translation_file.cpp +msgid "Altitude chill" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Altitude dry" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Biome blending" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Biomes" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Caverns" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Caves" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Create" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Decorations" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Download a game, such as Minetest Game, from minetest.net" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Download one from minetest.net" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Dungeons" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Flat terrain" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Floating landmasses in the sky" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Floatlands (experimental)" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua src/settings_translation_file.cpp +msgid "Game" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Generate non-fractal terrain: Oceans and underground" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Hills" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Humid rivers" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Increases humidity around rivers" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Lakes" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Low humidity and high heat causes shallow or dry rivers" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua src/settings_translation_file.cpp +msgid "Mapgen" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua src/settings_translation_file.cpp +msgid "Mapgen flags" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Mapgen-specific flags" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Mountains" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Mud flow" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Network of tunnels and caves" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "No game selected" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Reduces heat with altitude" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Reduces humidity with altitude" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Rivers" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Sea level rivers" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Seed" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Smooth transition between biomes" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "" +"Structures appearing on the terrain (no effect on trees and jungle grass " +"created by v6)" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Structures appearing on the terrain, typically trees and plants" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Temperate, Desert" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Temperate, Desert, Jungle" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Temperate, Desert, Jungle, Tundra, Taiga" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Terrain surface erosion" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Trees and jungle grass" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Vary river depth" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Very large caverns deep in the underground" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Warning: The Development Test is meant for developers." +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "World name" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "You have no games installed." +msgstr "" + +#: builtin/mainmenu/dlg_delete_content.lua +msgid "Are you sure you want to delete \"$1\"?" +msgstr "" + +#: builtin/mainmenu/dlg_delete_content.lua +#: builtin/mainmenu/dlg_delete_world.lua builtin/mainmenu/tab_local.lua +#: src/client/keycode.cpp +msgid "Delete" +msgstr "" + +#: builtin/mainmenu/dlg_delete_content.lua +msgid "pkgmgr: failed to delete \"$1\"" +msgstr "" + +#: builtin/mainmenu/dlg_delete_content.lua +msgid "pkgmgr: invalid path \"$1\"" +msgstr "" + +#: builtin/mainmenu/dlg_delete_world.lua +msgid "Delete World \"$1\"?" +msgstr "" + +#: builtin/mainmenu/dlg_rename_modpack.lua +msgid "Accept" +msgstr "" + +#: builtin/mainmenu/dlg_rename_modpack.lua +msgid "Rename Modpack:" +msgstr "" + +#: builtin/mainmenu/dlg_rename_modpack.lua +msgid "" +"This modpack has an explicit name given in its modpack.conf which will " +"override any renaming here." +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "(No description of setting given)" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "2D Noise" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "< Back to Settings page" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Browse" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_settings.lua +msgid "Disabled" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Edit" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Enabled" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Lacunarity" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Octaves" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp +msgid "Offset" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Persistance" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Please enter a valid integer." +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Please enter a valid number." +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Restore Default" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp +msgid "Scale" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua +msgid "Search" +msgstr "Эзләү" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Select directory" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Select file" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Show technical names" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "The value must be at least $1." +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "The value must not be larger than $1." +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "X" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "X spread" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Y" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Y spread" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Z" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Z spread" +msgstr "" + +#. ~ "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 "" + +#: builtin/mainmenu/pkgmgr.lua +msgid "$1 mods" +msgstr "" + +#: builtin/mainmenu/pkgmgr.lua +msgid "Failed to install $1 to $2" +msgstr "" + +#: builtin/mainmenu/pkgmgr.lua +msgid "Install Mod: Unable to find real mod name for: $1" +msgstr "" + +#: builtin/mainmenu/pkgmgr.lua +msgid "Install Mod: Unable to find suitable folder name for modpack $1" +msgstr "" + +#: builtin/mainmenu/pkgmgr.lua +msgid "Install: Unsupported file type \"$1\" or broken archive" +msgstr "" + +#: builtin/mainmenu/pkgmgr.lua +msgid "Install: file: \"$1\"" +msgstr "" + +#: builtin/mainmenu/pkgmgr.lua +msgid "Unable to find a valid mod or modpack" +msgstr "" + +#: builtin/mainmenu/pkgmgr.lua +msgid "Unable to install a $1 as a texture pack" +msgstr "" + +#: builtin/mainmenu/pkgmgr.lua +msgid "Unable to install a game as a $1" +msgstr "" + +#: builtin/mainmenu/pkgmgr.lua +msgid "Unable to install a mod as a $1" +msgstr "" + +#: builtin/mainmenu/pkgmgr.lua +msgid "Unable to install a modpack as a $1" +msgstr "" + +#: builtin/mainmenu/serverlistmgr.lua src/client/game.cpp +msgid "Loading..." +msgstr "" + +#: builtin/mainmenu/serverlistmgr.lua +msgid "Public server list is disabled" +msgstr "" + +#: builtin/mainmenu/serverlistmgr.lua +msgid "Try reenabling public serverlist and check your internet connection." +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "About" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active Contributors" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active renderer:" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Core Developers" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Open User Data Directory" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "" +"Opens the directory that contains user-provided worlds, games, mods,\n" +"and texture packs in a file manager / explorer." +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Contributors" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Core Developers" +msgstr "" + +#: builtin/mainmenu/tab_content.lua +msgid "Browse online content" +msgstr "" + +#: builtin/mainmenu/tab_content.lua +msgid "Content" +msgstr "" + +#: builtin/mainmenu/tab_content.lua +msgid "Disable Texture Pack" +msgstr "" + +#: builtin/mainmenu/tab_content.lua +msgid "Information:" +msgstr "" + +#: builtin/mainmenu/tab_content.lua +msgid "Installed Packages:" +msgstr "" + +#: builtin/mainmenu/tab_content.lua +msgid "No dependencies." +msgstr "" + +#: builtin/mainmenu/tab_content.lua +msgid "No package description available" +msgstr "" + +#: builtin/mainmenu/tab_content.lua +msgid "Rename" +msgstr "" + +#: builtin/mainmenu/tab_content.lua +msgid "Uninstall Package" +msgstr "" + +#: builtin/mainmenu/tab_content.lua +msgid "Use Texture Pack" +msgstr "" + +#: builtin/mainmenu/tab_local.lua +msgid "Announce Server" +msgstr "" + +#: builtin/mainmenu/tab_local.lua +msgid "Bind Address" +msgstr "" + +#: builtin/mainmenu/tab_local.lua +msgid "Creative Mode" +msgstr "" + +#: builtin/mainmenu/tab_local.lua +msgid "Enable Damage" +msgstr "" + +#: builtin/mainmenu/tab_local.lua +msgid "Host Game" +msgstr "" + +#: builtin/mainmenu/tab_local.lua +msgid "Host Server" +msgstr "" + +#: builtin/mainmenu/tab_local.lua +msgid "Install games from ContentDB" +msgstr "" + +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua +msgid "Name" +msgstr "" + +#: builtin/mainmenu/tab_local.lua +msgid "New" +msgstr "" + +#: builtin/mainmenu/tab_local.lua +msgid "No world created or selected!" +msgstr "" + +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua +msgid "Password" +msgstr "" + +#: builtin/mainmenu/tab_local.lua +msgid "Play Game" +msgstr "" + +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua +msgid "Port" +msgstr "" + +#: builtin/mainmenu/tab_local.lua +msgid "Select Mods" +msgstr "" + +#: builtin/mainmenu/tab_local.lua +msgid "Select World:" +msgstr "" + +#: builtin/mainmenu/tab_local.lua +msgid "Server Port" +msgstr "" + +#: builtin/mainmenu/tab_local.lua +msgid "Start Game" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +msgid "Address" +msgstr "" + +#: builtin/mainmenu/tab_online.lua src/client/keycode.cpp +msgid "Clear" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +msgid "Connect" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +msgid "Creative mode" +msgstr "" + +#. ~ PvP = Player versus Player +#: builtin/mainmenu/tab_online.lua +msgid "Damage / PvP" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +msgid "Del. Favorite" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +msgid "Favorites" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +msgid "Incompatible Servers" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +msgid "Join Game" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +msgid "Ping" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +msgid "Public Servers" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +msgid "Refresh" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +msgid "Server Description" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "2x" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "3D Clouds" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "4x" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "8x" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "All Settings" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Antialiasing:" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Autosave Screen Size" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Bilinear Filter" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua src/client/game.cpp +msgid "Change Keys" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Connected Glass" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp +msgid "Dynamic shadows" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Dynamic shadows: " +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Fancy Leaves" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Low" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Medium" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Mipmap" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Mipmap + Aniso. Filter" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "No Filter" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "No Mipmap" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Node Highlighting" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Node Outlining" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "None" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Opaque Leaves" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Opaque Water" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Particles" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Screen:" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Settings" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp +msgid "Shaders" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Shaders (experimental)" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Shaders (unavailable)" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Simple Leaves" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Smooth Lighting" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Texturing:" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "To enable shaders the OpenGL driver needs to be used." +msgstr "" + +#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp +msgid "Tone Mapping" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Touchthreshold: (px)" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Trilinear Filter" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Ultra High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Very Low" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Waving Leaves" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Waving Liquids" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Waving Plants" +msgstr "" + +#: src/client/client.cpp +msgid "Connection timed out." +msgstr "" + +#: src/client/client.cpp +msgid "Done!" +msgstr "" + +#: src/client/client.cpp +msgid "Initializing nodes" +msgstr "" + +#: src/client/client.cpp +msgid "Initializing nodes..." +msgstr "" + +#: src/client/client.cpp +msgid "Loading textures..." +msgstr "" + +#: src/client/client.cpp +msgid "Rebuilding shaders..." +msgstr "" + +#: src/client/clientlauncher.cpp +msgid "Connection error (timed out?)" +msgstr "" + +#: src/client/clientlauncher.cpp +msgid "Could not find or load game \"" +msgstr "" + +#: src/client/clientlauncher.cpp +msgid "Invalid gamespec." +msgstr "" + +#: src/client/clientlauncher.cpp +msgid "Main Menu" +msgstr "" + +#: src/client/clientlauncher.cpp +msgid "No world selected and no address provided. Nothing to do." +msgstr "" + +#: src/client/clientlauncher.cpp +msgid "Player name too long." +msgstr "" + +#: src/client/clientlauncher.cpp +msgid "Please choose a name!" +msgstr "" + +#: src/client/clientlauncher.cpp +msgid "Provided password file failed to open: " +msgstr "" + +#: src/client/clientlauncher.cpp +msgid "Provided world path doesn't exist: " +msgstr "" + +#: src/client/game.cpp +msgid "" +"\n" +"Check debug.txt for details." +msgstr "" + +#: src/client/game.cpp +msgid "- Address: " +msgstr "" + +#: src/client/game.cpp +msgid "- Creative Mode: " +msgstr "" + +#: src/client/game.cpp +msgid "- Damage: " +msgstr "" + +#: src/client/game.cpp +msgid "- Mode: " +msgstr "" + +#: src/client/game.cpp +msgid "- Port: " +msgstr "" + +#: src/client/game.cpp +msgid "- Public: " +msgstr "" + +#. ~ PvP = Player versus Player +#: src/client/game.cpp +msgid "- PvP: " +msgstr "" + +#: src/client/game.cpp +msgid "- Server Name: " +msgstr "" + +#: src/client/game.cpp +msgid "Automatic forward disabled" +msgstr "" + +#: src/client/game.cpp +msgid "Automatic forward enabled" +msgstr "" + +#: src/client/game.cpp +msgid "Camera update disabled" +msgstr "" + +#: src/client/game.cpp +msgid "Camera update enabled" +msgstr "" + +#: src/client/game.cpp +msgid "Change Password" +msgstr "" + +#: src/client/game.cpp +msgid "Cinematic mode disabled" +msgstr "" + +#: src/client/game.cpp +msgid "Cinematic mode enabled" +msgstr "" + +#: src/client/game.cpp +msgid "Client side scripting is disabled" +msgstr "" + +#: src/client/game.cpp +msgid "Connecting to server..." +msgstr "" + +#: src/client/game.cpp +msgid "Continue" +msgstr "" + +#: src/client/game.cpp +#, c-format +msgid "" +"Controls:\n" +"- %s: move forwards\n" +"- %s: move backwards\n" +"- %s: move left\n" +"- %s: move right\n" +"- %s: jump/climb up\n" +"- %s: dig/punch\n" +"- %s: place/use\n" +"- %s: sneak/climb down\n" +"- %s: drop item\n" +"- %s: inventory\n" +"- Mouse: turn/look\n" +"- Mouse wheel: select item\n" +"- %s: chat\n" +msgstr "" + +#: src/client/game.cpp +msgid "Creating client..." +msgstr "" + +#: src/client/game.cpp +msgid "Creating server..." +msgstr "" + +#: src/client/game.cpp +msgid "Debug info and profiler graph hidden" +msgstr "" + +#: src/client/game.cpp +msgid "Debug info shown" +msgstr "" + +#: src/client/game.cpp +msgid "Debug info, profiler graph, and wireframe hidden" +msgstr "" + +#: src/client/game.cpp +msgid "" +"Default Controls:\n" +"No menu visible:\n" +"- single tap: button activate\n" +"- double tap: place/use\n" +"- slide finger: look around\n" +"Menu/Inventory visible:\n" +"- double tap (outside):\n" +" -->close\n" +"- touch stack, touch slot:\n" +" --> move stack\n" +"- touch&drag, tap 2nd finger\n" +" --> place single item to slot\n" +msgstr "" + +#: src/client/game.cpp +msgid "Disabled unlimited viewing range" +msgstr "" + +#: src/client/game.cpp +msgid "Enabled unlimited viewing range" +msgstr "" + +#: src/client/game.cpp +msgid "Exit to Menu" +msgstr "" + +#: src/client/game.cpp +msgid "Exit to OS" +msgstr "" + +#: src/client/game.cpp +msgid "Fast mode disabled" +msgstr "" + +#: src/client/game.cpp +msgid "Fast mode enabled" +msgstr "" + +#: src/client/game.cpp +msgid "Fast mode enabled (note: no 'fast' privilege)" +msgstr "" + +#: src/client/game.cpp +msgid "Fly mode disabled" +msgstr "" + +#: src/client/game.cpp +msgid "Fly mode enabled" +msgstr "" + +#: src/client/game.cpp +msgid "Fly mode enabled (note: no 'fly' privilege)" +msgstr "" + +#: src/client/game.cpp +msgid "Fog disabled" +msgstr "" + +#: src/client/game.cpp +msgid "Fog enabled" +msgstr "" + +#: src/client/game.cpp +msgid "Game info:" +msgstr "" + +#: src/client/game.cpp +msgid "Game paused" +msgstr "" + +#: src/client/game.cpp +msgid "Hosting server" +msgstr "" + +#: src/client/game.cpp +msgid "Item definitions..." +msgstr "" + +#: src/client/game.cpp +msgid "KiB/s" +msgstr "" + +#: src/client/game.cpp +msgid "Media..." +msgstr "" + +#: src/client/game.cpp +msgid "MiB/s" +msgstr "" + +#: src/client/game.cpp +msgid "Minimap currently disabled by game or mod" +msgstr "" + +#: src/client/game.cpp +msgid "Multiplayer" +msgstr "" + +#: src/client/game.cpp +msgid "Noclip mode disabled" +msgstr "" + +#: src/client/game.cpp +msgid "Noclip mode enabled" +msgstr "" + +#: src/client/game.cpp +msgid "Noclip mode enabled (note: no 'noclip' privilege)" +msgstr "" + +#: src/client/game.cpp +msgid "Node definitions..." +msgstr "" + +#: src/client/game.cpp +msgid "Off" +msgstr "" + +#: src/client/game.cpp +msgid "On" +msgstr "" + +#: src/client/game.cpp +msgid "Pitch move mode disabled" +msgstr "" + +#: src/client/game.cpp +msgid "Pitch move mode enabled" +msgstr "" + +#: src/client/game.cpp +msgid "Profiler graph shown" +msgstr "" + +#: src/client/game.cpp +msgid "Remote server" +msgstr "" + +#: src/client/game.cpp +msgid "Resolving address..." +msgstr "" + +#: src/client/game.cpp +msgid "Shutting down..." +msgstr "" + +#: src/client/game.cpp +msgid "Singleplayer" +msgstr "" + +#: src/client/game.cpp +msgid "Sound Volume" +msgstr "" + +#: src/client/game.cpp +msgid "Sound muted" +msgstr "" + +#: src/client/game.cpp +msgid "Sound system is disabled" +msgstr "" + +#: src/client/game.cpp +msgid "Sound system is not supported on this build" +msgstr "" + +#: src/client/game.cpp +msgid "Sound unmuted" +msgstr "" + +#: src/client/game.cpp +#, c-format +msgid "Viewing range changed to %d" +msgstr "" + +#: src/client/game.cpp +#, c-format +msgid "Viewing range is at maximum: %d" +msgstr "" + +#: src/client/game.cpp +#, c-format +msgid "Viewing range is at minimum: %d" +msgstr "" + +#: src/client/game.cpp +#, c-format +msgid "Volume changed to %d%%" +msgstr "" + +#: src/client/game.cpp +msgid "Wireframe shown" +msgstr "" + +#: src/client/game.cpp +msgid "Zoom currently disabled by game or mod" +msgstr "" + +#: src/client/game.cpp +msgid "ok" +msgstr "" + +#: src/client/gameui.cpp +msgid "Chat hidden" +msgstr "" + +#: src/client/gameui.cpp +msgid "Chat shown" +msgstr "" + +#: src/client/gameui.cpp +msgid "HUD hidden" +msgstr "" + +#: src/client/gameui.cpp +msgid "HUD shown" +msgstr "" + +#: src/client/gameui.cpp +msgid "Profiler hidden" +msgstr "" + +#: src/client/gameui.cpp +#, c-format +msgid "Profiler shown (page %d of %d)" +msgstr "" + +#: src/client/keycode.cpp +msgid "Apps" +msgstr "" + +#: src/client/keycode.cpp +msgid "Backspace" +msgstr "" + +#: src/client/keycode.cpp +msgid "Caps Lock" +msgstr "" + +#: src/client/keycode.cpp +msgid "Control" +msgstr "" + +#: src/client/keycode.cpp +msgid "Down" +msgstr "" + +#: src/client/keycode.cpp +msgid "End" +msgstr "" + +#: src/client/keycode.cpp +msgid "Erase EOF" +msgstr "" + +#: src/client/keycode.cpp +msgid "Execute" +msgstr "" + +#: src/client/keycode.cpp +msgid "Help" +msgstr "" + +#: src/client/keycode.cpp +msgid "Home" +msgstr "" + +#: src/client/keycode.cpp +msgid "IME Accept" +msgstr "" + +#: src/client/keycode.cpp +msgid "IME Convert" +msgstr "" + +#: src/client/keycode.cpp +msgid "IME Escape" +msgstr "" + +#: src/client/keycode.cpp +msgid "IME Mode Change" +msgstr "" + +#: src/client/keycode.cpp +msgid "IME Nonconvert" +msgstr "" + +#: src/client/keycode.cpp +msgid "Insert" +msgstr "" + +#: src/client/keycode.cpp src/gui/guiKeyChangeMenu.cpp +msgid "Left" +msgstr "" + +#: src/client/keycode.cpp +msgid "Left Button" +msgstr "" + +#: src/client/keycode.cpp +msgid "Left Control" +msgstr "" + +#: src/client/keycode.cpp +msgid "Left Menu" +msgstr "" + +#: src/client/keycode.cpp +msgid "Left Shift" +msgstr "" + +#: src/client/keycode.cpp +msgid "Left Windows" +msgstr "" + +#. ~ Key name, common on Windows keyboards +#: src/client/keycode.cpp +msgid "Menu" +msgstr "" + +#: src/client/keycode.cpp +msgid "Middle Button" +msgstr "" + +#: src/client/keycode.cpp +msgid "Num Lock" +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad *" +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad +" +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad -" +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad ." +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad /" +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad 0" +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad 1" +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad 2" +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad 3" +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad 4" +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad 5" +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad 6" +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad 7" +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad 8" +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad 9" +msgstr "" + +#: src/client/keycode.cpp +msgid "OEM Clear" +msgstr "" + +#: src/client/keycode.cpp +msgid "Page down" +msgstr "" + +#: src/client/keycode.cpp +msgid "Page up" +msgstr "" + +#: src/client/keycode.cpp +msgid "Pause" +msgstr "" + +#: src/client/keycode.cpp +msgid "Play" +msgstr "" + +#. ~ "Print screen" key +#: src/client/keycode.cpp +msgid "Print" +msgstr "" + +#: src/client/keycode.cpp +msgid "Return" +msgstr "" + +#: src/client/keycode.cpp src/gui/guiKeyChangeMenu.cpp +msgid "Right" +msgstr "" + +#: src/client/keycode.cpp +msgid "Right Button" +msgstr "" + +#: src/client/keycode.cpp +msgid "Right Control" +msgstr "" + +#: src/client/keycode.cpp +msgid "Right Menu" +msgstr "" + +#: src/client/keycode.cpp +msgid "Right Shift" +msgstr "" + +#: src/client/keycode.cpp +msgid "Right Windows" +msgstr "" + +#: src/client/keycode.cpp +msgid "Scroll Lock" +msgstr "" + +#. ~ Key name +#: src/client/keycode.cpp +msgid "Select" +msgstr "" + +#: src/client/keycode.cpp +msgid "Shift" +msgstr "" + +#: src/client/keycode.cpp +msgid "Sleep" +msgstr "" + +#: src/client/keycode.cpp +msgid "Snapshot" +msgstr "" + +#: src/client/keycode.cpp +msgid "Space" +msgstr "" + +#: src/client/keycode.cpp +msgid "Tab" +msgstr "" + +#: src/client/keycode.cpp +msgid "Up" +msgstr "" + +#: src/client/keycode.cpp +msgid "X Button 1" +msgstr "" + +#: src/client/keycode.cpp +msgid "X Button 2" +msgstr "" + +#: src/client/keycode.cpp src/gui/guiKeyChangeMenu.cpp +msgid "Zoom" +msgstr "" + +#: src/client/minimap.cpp +msgid "Minimap hidden" +msgstr "" + +#: src/client/minimap.cpp +#, c-format +msgid "Minimap in radar mode, Zoom x%d" +msgstr "" + +#: src/client/minimap.cpp +#, c-format +msgid "Minimap in surface mode, Zoom x%d" +msgstr "" + +#: src/client/minimap.cpp +msgid "Minimap in texture mode" +msgstr "" + +#: src/gui/guiConfirmRegistration.cpp src/gui/guiPasswordChange.cpp +msgid "Passwords do not match!" +msgstr "" + +#: src/gui/guiConfirmRegistration.cpp +msgid "Register and Join" +msgstr "" + +#: src/gui/guiConfirmRegistration.cpp +#, c-format +msgid "" +"You are about to join this server with the name \"%s\" for the first time.\n" +"If you proceed, a new account using your credentials will be created on this " +"server.\n" +"Please retype your password and click 'Register and Join' to confirm account " +"creation, or click 'Cancel' to abort." +msgstr "" + +#: src/gui/guiFormSpecMenu.cpp +msgid "Proceed" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "\"Aux1\" = climb down" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Autoforward" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp src/settings_translation_file.cpp +msgid "Automatic jumping" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Aux1" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Backward" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Block bounds" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Change camera" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Chat" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Command" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Console" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Dec. range" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Dec. volume" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Double tap \"jump\" to toggle fly" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Drop" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Forward" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Inc. range" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Inc. volume" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Inventory" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Jump" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Key already in use" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Keybindings. (If this menu screws up, remove stuff from minetest.conf)" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Local command" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Mute" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Next item" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Prev. item" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Range select" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp src/settings_translation_file.cpp +msgid "Screenshot" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Sneak" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Toggle HUD" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Toggle chat log" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Toggle fast" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Toggle fly" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Toggle fog" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Toggle minimap" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Toggle noclip" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Toggle pitchmove" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "press key" +msgstr "" + +#: src/gui/guiPasswordChange.cpp +msgid "Change" +msgstr "" + +#: src/gui/guiPasswordChange.cpp +msgid "Confirm Password" +msgstr "" + +#: src/gui/guiPasswordChange.cpp +msgid "New Password" +msgstr "" + +#: src/gui/guiPasswordChange.cpp +msgid "Old Password" +msgstr "" + +#: src/gui/guiVolumeChange.cpp +msgid "Exit" +msgstr "" + +#: src/gui/guiVolumeChange.cpp +msgid "Muted" +msgstr "" + +#: src/gui/guiVolumeChange.cpp +msgid "Sound Volume: " +msgstr "" + +#. ~ Imperative, as in "Enter/type in text". +#. Don't forget the space. +#: src/gui/modalMenu.cpp +msgid "Enter " +msgstr "" + +#. ~ 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 "" + +#: src/settings_translation_file.cpp +msgid "" +"(Android) Fixes the position of virtual joystick.\n" +"If disabled, virtual joystick will center to first-touch's position." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"(Android) Use virtual joystick to trigger \"Aux1\" button.\n" +"If enabled, virtual joystick will also tap \"Aux1\" button when out of main " +"circle." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"(X,Y,Z) offset of fractal from world center in units of 'scale'.\n" +"Can be used to move a desired point to (0, 0) to create a\n" +"suitable spawn point, or to allow 'zooming in' on a desired\n" +"point by increasing 'scale'.\n" +"The default is tuned for a suitable spawn point for Mandelbrot\n" +"sets with default parameters, it may need altering in other\n" +"situations.\n" +"Range roughly -2 to 2. Multiply by 'scale' for offset in nodes." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"(X,Y,Z) scale of fractal in nodes.\n" +"Actual fractal size will be 2 to 3 times larger.\n" +"These numbers can be made very large, the fractal does\n" +"not have to fit inside the world.\n" +"Increase these to 'zoom' into the detail of the fractal.\n" +"Default is for a vertically-squashed shape suitable for\n" +"an island, set all 3 numbers equal for the raw shape." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "2D noise that controls the shape/size of ridged mountains." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "2D noise that controls the shape/size of rolling hills." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "2D noise that controls the shape/size of step mountains." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "2D noise that controls the size/occurrence of ridged mountain ranges." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "2D noise that controls the size/occurrence of rolling hills." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "2D noise that controls the size/occurrence of step mountain ranges." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "2D noise that locates the river valleys and channels." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "3D clouds" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "3D mode" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "3D mode parallax strength" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "3D noise defining giant caverns." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"3D noise defining mountain structure and height.\n" +"Also defines structure of floatland mountain terrain." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"3D noise defining structure of floatlands.\n" +"If altered from the default, the noise 'scale' (0.7 by default) may need\n" +"to be adjusted, as floatland tapering functions best when this noise has\n" +"a value range of approximately -2.0 to 2.0." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "3D noise defining structure of river canyon walls." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "3D noise defining terrain." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "3D noise for mountain overhangs, cliffs, etc. Usually small variations." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "3D noise that determines number of dungeons per mapchunk." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"3D support.\n" +"Currently supported:\n" +"- none: no 3d output.\n" +"- anaglyph: cyan/magenta color 3d.\n" +"- interlaced: odd/even line based polarisation screen support.\n" +"- topbottom: split screen top/bottom.\n" +"- sidebyside: split screen side by side.\n" +"- crossview: Cross-eyed 3d\n" +"- pageflip: quadbuffer based 3d.\n" +"Note that the interlaced mode requires shaders to be enabled." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"A chosen map seed for a new map, leave empty for random.\n" +"Will be overridden when creating a new world in the main menu." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "A message to be displayed to all clients when the server crashes." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "A message to be displayed to all clients when the server shuts down." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "ABM interval" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "ABM time budget" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Absolute limit of queued blocks to emerge" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Acceleration in air" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Acceleration of gravity, in nodes per second per second." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Active Block Modifiers" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Active block management interval" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Active block range" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Active object send range" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Address to connect to.\n" +"Leave this blank to start a local server.\n" +"Note that the address field in the main menu overrides this setting." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Adds particles when digging a node." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Adjust dpi configuration to your screen (non X11/Android only) e.g. for 4k " +"screens." +msgstr "" + +#: src/settings_translation_file.cpp +#, c-format +msgid "" +"Adjusts the density of the floatland layer.\n" +"Increase value to increase density. Can be positive or negative.\n" +"Value = 0.0: 50% of volume is floatland.\n" +"Value = 2.0 (can be higher depending on 'mgv7_np_floatland', always test\n" +"to be sure) creates a solid floatland layer." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Advanced" +msgstr "" + +#: src/settings_translation_file.cpp +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 "Always fly and fast" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Ambient occlusion gamma" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Amount of messages a player may send per 10 seconds." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Amplifies the valleys." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Anisotropic filtering" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Announce server" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Announce to this serverlist." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Append item name" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Append item name to tooltip." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Apple trees noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Arm inertia" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Arm inertia, gives a more realistic movement of\n" +"the arm when the camera moves." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Ask to reconnect after crash" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"At this distance the server will aggressively optimize which blocks are sent " +"to\n" +"clients.\n" +"Small values potentially improve performance a lot, at the expense of " +"visible\n" +"rendering glitches (some blocks will not be rendered under water and in " +"caves,\n" +"as well as sometimes on land).\n" +"Setting this to a value greater than max_block_send_distance disables this\n" +"optimization.\n" +"Stated in mapblocks (16 nodes)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Automatic forward key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Automatically jump up single-node obstacles." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Automatically report to the serverlist." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Autosave screen size" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Autoscaling mode" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Aux1 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Aux1 key for climbing/descending" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Backward key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Base ground level" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Base terrain height." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Basic" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Basic privileges" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Beach noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Beach noise threshold" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Bilinear filtering" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Bind address" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Biome API temperature and humidity noise parameters" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Biome noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "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 "" + +#: src/settings_translation_file.cpp +msgid "Builtin" +msgstr "" + +#: src/settings_translation_file.cpp +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 "Camera smoothing" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Camera smoothing in cinematic mode" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Camera update toggle key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Cave noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Cave noise #1" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Cave noise #2" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Cave width" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Cave1 noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Cave2 noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Cavern limit" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Cavern noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Cavern taper" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Cavern threshold" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Cavern upper limit" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Center of light curve boost range.\n" +"Where 0.0 is minimum light level, 1.0 is maximum light level." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Chat command time message threshold" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Chat font size" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Chat key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Chat log level" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Chat message count limit" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Chat message format" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Chat message kick threshold" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Chat message max length" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Chat toggle key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Chatcommands" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Chunk size" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Cinematic mode" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Cinematic mode key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Clean transparent textures" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Client" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Client and Server" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Client modding" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Client side modding restrictions" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Client side node lookup range restriction" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Climbing speed" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Cloud radius" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Clouds" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Clouds are a client side effect." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Clouds in menu" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Colored fog" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Colored shadows" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Comma-separated list of flags to hide in the content repository.\n" +"\"nonfree\" can be used to hide packages which do not qualify as 'free " +"software',\n" +"as defined by the Free Software Foundation.\n" +"You can also specify content ratings.\n" +"These flags are independent from Minetest versions,\n" +"so see a full list at https://content.minetest.net/help/content_flags/" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Comma-separated list of mods that are allowed to access HTTP APIs, which\n" +"allow them to upload and download data to/from the internet." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Comma-separated list of trusted mods that are allowed to access insecure\n" +"functions even when mod security is on (via request_insecure_environment())." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Command key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Connect glass" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Connect to external media server" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Connects glass if supported by node." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Console alpha" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Console color" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Console height" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "ContentDB Flag Blacklist" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "ContentDB Max Concurrent Downloads" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "ContentDB URL" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Continuous forward" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Continuous forward movement, toggled by autoforward key.\n" +"Press the autoforward key again or the backwards movement to disable." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Controls" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Controls length of day/night cycle.\n" +"Examples:\n" +"72 = 20min, 360 = 4min, 1 = 24hour, 0 = day/night/whatever stays unchanged." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Controls sinking speed in liquid." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Controls steepness/depth of lake depressions." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Controls steepness/height of hills." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Controls 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" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Creative" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Crosshair alpha" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Crosshair alpha (opaqueness, between 0 and 255).\n" +"Also controls the object crosshair color" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Crosshair color" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Crosshair color (R,G,B).\n" +"Also controls the object crosshair color" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "DPI" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Damage" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Debug info toggle key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Debug log file size threshold" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Debug log level" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Dec. volume key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Decrease this to increase liquid resistance to movement." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Dedicated server step" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Default acceleration" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Default game" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Default game when creating a new world.\n" +"This will be overridden when creating a world from the main menu." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Default password" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Default privileges" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Default report format" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Default stack size" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Define shadow filtering quality\n" +"This simulates the soft shadows effect by applying a PCF or poisson disk\n" +"but also uses more resources." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Defines areas where trees have apples." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Defines areas with sandy beaches." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Defines distribution of higher terrain and steepness of cliffs." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Defines distribution of higher terrain." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Defines full size of caverns, smaller values create larger caverns." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Defines large-scale river channel structure." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Defines location and terrain of optional hills and lakes." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Defines the base ground level." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Defines the depth of the river channel." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Defines the maximal player transfer distance in blocks (0 = unlimited)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Defines the width of the river channel." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Defines the width of the river valley." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Defines tree areas and tree density." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Delay between mesh updates on the client in ms. Increasing this will slow\n" +"down the rate of mesh updates, thus reducing jitter on slower clients." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Delay in sending blocks after building" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Delay showing tooltips, stated in milliseconds." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Deprecated Lua API handling" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Depth below which you'll find giant caverns." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Depth below which you'll find large caves." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Description of server, to be displayed when players join and in the " +"serverlist." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Desert noise threshold" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Deserts occur when np_biome exceeds this value.\n" +"When the 'snowbiomes' flag is enabled, this is ignored." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Desynchronize block animation" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Dig key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Digging particles" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Disable anticheat" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Disallow empty passwords" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Domain name of server, to be displayed in the serverlist." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Double tap jump for fly" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Double-tapping the jump key toggles fly mode." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Drop item key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Dump the mapgen debug information." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Dungeon maximum Y" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Dungeon minimum Y" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Dungeon noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Enable 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 "" + +#: src/settings_translation_file.cpp +msgid "" +"Enable colored shadows. \n" +"On true translucent nodes cast colored shadows. This is expensive." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Enable console window" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Enable creative mode for all players" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Enable joysticks" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Enable mod channels support." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Enable mod security" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Enable players getting damage and dying." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Enable poisson disk filtering.\n" +"On true uses poisson disk to make \"soft shadows\". Otherwise uses PCF " +"filtering." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Enable random user input (only used for testing)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Enable register confirmation" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Enable register confirmation when connecting to server.\n" +"If disabled, new account will be registered automatically." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Enable smooth lighting with simple ambient occlusion.\n" +"Disable for speed or for different looks." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Enable to disallow old clients from connecting.\n" +"Older clients are compatible in the sense that they will not crash when " +"connecting\n" +"to new servers, but they may not support all new features that you are " +"expecting." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Enable usage of remote media server (if provided by server).\n" +"Remote servers offer a significantly faster way to download media (e.g. " +"textures)\n" +"when connecting to the server." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Enable 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 "" + +#: src/settings_translation_file.cpp +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 "" +"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 "" + +#: src/settings_translation_file.cpp +msgid "Enables caching of facedir rotated meshes." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Enables minimap." +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 "" + +#: src/settings_translation_file.cpp +msgid "Entity methods" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Exponent of the floatland tapering. Alters the tapering behaviour.\n" +"Value = 1.0 creates a uniform, linear tapering.\n" +"Values > 1.0 create a smooth tapering suitable for the default separated\n" +"floatlands.\n" +"Values < 1.0 (for example 0.25) create a more defined surface level with\n" +"flatter lowlands, suitable for a solid floatland layer." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "FPS when unfocused or paused" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "FSAA" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Factor noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fall bobbing factor" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fallback font path" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fast key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fast mode acceleration" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fast mode speed" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fast movement" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Fast movement (via the \"Aux1\" key).\n" +"This requires the \"fast\" privilege on the server." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Field of view" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Field of view in degrees." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"File in client/serverlist/ that contains your favorite servers displayed in " +"the\n" +"Multiplayer Tab." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Filler depth" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Filler depth noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Filmic tone mapping" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Filtered textures can blend RGB values with fully-transparent neighbors,\n" +"which PNG optimizers usually discard, often resulting in dark or\n" +"light edges to transparent textures. Apply a filter to clean that up\n" +"at texture load time. This is automatically enabled if mipmapping is enabled." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Filtering" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "First of 4 2D noises that together define hill/mountain range height." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "First of two 3D noises that together define tunnels." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fixed map seed" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fixed virtual joystick" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Floatland density" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Floatland maximum Y" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Floatland minimum Y" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Floatland noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Floatland taper exponent" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Floatland tapering distance" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Floatland water level" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fly key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Flying" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fog" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fog start" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fog toggle key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Font 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 "Font shadow alpha" +msgstr "" + +#: src/settings_translation_file.cpp +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 size of the monospace font in point (pt)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Font size of the recent chat text and chat prompt in point (pt).\n" +"Value 0 will use the default font size." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Format of player chat messages. The following strings are valid " +"placeholders:\n" +"@name, @message, @timestamp (optional)" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Format of screenshots." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Formspec Default Background Color" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Formspec Default Background Opacity" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Formspec Full-Screen Background Color" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Formspec Full-Screen Background Opacity" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Formspec default background color (R,G,B)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Formspec default background opacity (between 0 and 255)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Formspec full-screen background color (R,G,B)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Formspec full-screen background opacity (between 0 and 255)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Forward key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fourth of 4 2D noises that together define hill/mountain range height." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fractal type" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fraction of the visible distance at which fog starts to be rendered" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "FreeType fonts" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"From how far blocks are generated for clients, stated in mapblocks (16 " +"nodes)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"From how far blocks are sent to clients, stated in mapblocks (16 nodes)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"From how far clients know about objects, stated in mapblocks (16 nodes).\n" +"\n" +"Setting this larger than active_block_range will also cause the server\n" +"to maintain active objects up to this distance in the direction the\n" +"player is looking. (This can avoid mobs suddenly disappearing from view)" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Full screen" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fullscreen mode." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "GUI scaling" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "GUI scaling filter" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "GUI scaling filter txr2img" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Global callbacks" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Global map generation attributes.\n" +"In Mapgen v6 the 'decorations' flag controls all decorations except trees\n" +"and junglegrass, in all other mapgens this flag controls all decorations." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Gradient of light curve at maximum light level.\n" +"Controls the contrast of the highest light levels." +msgstr "" + +#: src/settings_translation_file.cpp +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 "Graphics" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Gravity" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Ground level" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Ground noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "HTTP mods" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "HUD scale factor" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "HUD toggle key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Handling for deprecated Lua API calls:\n" +"- none: Do not log deprecated calls\n" +"- log: mimic and log backtrace of deprecated call (default).\n" +"- error: abort on usage of deprecated call (suggested for mod developers)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Have the profiler instrument itself:\n" +"* Instrument an empty function.\n" +"This estimates the overhead, that instrumentation is adding (+1 function " +"call).\n" +"* Instrument the sampler being used to update the statistics." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Heat blend noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Heat noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Height component of the initial window size. Ignored in fullscreen mode." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Height noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Height select noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hill steepness" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hill threshold" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hilliness1 noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hilliness2 noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hilliness3 noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hilliness4 noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Homepage of server, to be displayed in the serverlist." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Horizontal acceleration in air when jumping or falling,\n" +"in nodes per second per second." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Horizontal and vertical acceleration in fast mode,\n" +"in nodes per second per second." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Horizontal and vertical acceleration on ground or when climbing,\n" +"in nodes per second per second." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar next key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar previous key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 1 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 10 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 11 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 12 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 13 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 14 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 15 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 16 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 17 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 18 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 19 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 2 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 20 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 21 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 22 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 23 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 24 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 25 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 26 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 27 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 28 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 29 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 3 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 30 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 31 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 32 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 4 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 5 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 6 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 7 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 8 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 9 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "How deep to make rivers." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"How 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 "" + +#: src/settings_translation_file.cpp +msgid "How wide to make rivers." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Humidity blend noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Humidity noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Humidity variation for biomes." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "IPv6" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "IPv6 server" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"If FPS would go higher than this, limit it by sleeping\n" +"to not waste CPU power for no benefit." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"If disabled, \"Aux1\" key is used to fly fast if both fly and fast mode are\n" +"enabled." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"If enabled the server will perform map block occlusion culling based on\n" +"on the eye position of the player. This can reduce the number of blocks\n" +"sent to the client 50-80%. The client will not longer receive most " +"invisible\n" +"so that the utility of noclip mode is reduced." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"If enabled together with fly mode, player is able to fly through solid " +"nodes.\n" +"This requires the \"noclip\" privilege on the server." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"If enabled, \"Aux1\" key instead of \"Sneak\" key is used for climbing down " +"and\n" +"descending." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"If enabled, actions are recorded for rollback.\n" +"This option is only read when server starts." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "If enabled, disable cheat prevention in multiplayer." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"If enabled, invalid world data won't cause the server to shut down.\n" +"Only enable this if you know what you are doing." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"If enabled, makes move directions relative to the player's pitch when flying " +"or swimming." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "If enabled, new players cannot join with an empty password." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"If enabled, you can place blocks at the position (feet + eye level) where " +"you stand.\n" +"This is helpful when working with nodeboxes in small areas." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"If the CSM restriction for node range is enabled, get_node calls are " +"limited\n" +"to this distance from the player to the node." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"If the execution of a chat command takes longer than this specified time in\n" +"seconds, add the time information to the chat command message" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"If the file size of debug.txt exceeds the number of megabytes specified in\n" +"this setting when it is opened, the file is moved to debug.txt.1,\n" +"deleting an older debug.txt.1 if it exists.\n" +"debug.txt is only moved if this setting is positive." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "If this is set, players will always (re)spawn at the given position." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Ignore world errors" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "In-Game" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "In-game chat console background alpha (opaqueness, between 0 and 255)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "In-game chat console background color (R,G,B)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "In-game chat console height, between 0.1 (10%) and 1.0 (100%)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Inc. volume key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Initial vertical speed when jumping, in nodes per second." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Instrument builtin.\n" +"This is usually only needed by core/builtin contributors" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Instrument chatcommands on registration." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Instrument global callback functions on registration.\n" +"(anything you pass to a minetest.register_*() function)" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Instrument the action function of Active Block Modifiers on registration." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Instrument the action function of Loading Block Modifiers on registration." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Instrument the methods of entities on registration." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Instrumentation" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Interval of saving important changes in the world, stated in seconds." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Interval of sending time of day to clients." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Inventory items animations" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Inventory key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Invert mouse" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Invert vertical mouse movement." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "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 "" + +#: src/settings_translation_file.cpp +msgid "Iterations" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Iterations of the recursive function.\n" +"Increasing this increases the amount of fine detail, but also\n" +"increases processing load.\n" +"At iterations = 20 this mapgen has a similar load to mapgen V7." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Joystick ID" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Joystick button repetition interval" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Joystick deadzone" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Joystick frustum sensitivity" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Joystick type" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Julia set only.\n" +"W component of hypercomplex constant.\n" +"Alters the shape of the fractal.\n" +"Has no effect on 3D fractals.\n" +"Range roughly -2 to 2." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Julia set only.\n" +"X component of hypercomplex constant.\n" +"Alters the shape of the fractal.\n" +"Range roughly -2 to 2." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Julia set only.\n" +"Y component of hypercomplex constant.\n" +"Alters the shape of the fractal.\n" +"Range roughly -2 to 2." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Julia set only.\n" +"Z component of hypercomplex constant.\n" +"Alters the shape of the fractal.\n" +"Range roughly -2 to 2." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Julia w" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Julia x" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Julia y" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Julia z" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Jump key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Jumping speed" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for decreasing the viewing range.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for decreasing the volume.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for digging.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for dropping the currently selected item.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for increasing the viewing range.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for increasing the volume.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for jumping.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for moving fast in fast mode.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for moving the player backward.\n" +"Will also disable autoforward, when active.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for moving the player forward.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for moving the player left.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for moving the player right.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for muting the game.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for opening the chat window to type commands.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for opening the chat window to type local commands.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for opening the chat window.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for opening the inventory.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for placing.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 11th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 12th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 13th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 14th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 15th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 16th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 17th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 18th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 19th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 20th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 21st hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 22nd hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 23rd hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 24th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 25th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 26th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 27th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 28th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 29th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 30th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 31st hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 32nd hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the eighth hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the fifth hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the first hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the fourth hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the next item in the hotbar.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the ninth hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the previous item in the hotbar.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the second hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the seventh hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the sixth hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the tenth hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the third hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for sneaking.\n" +"Also used for climbing down and descending in water if aux1_descends is " +"disabled.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for switching between first- and third-person camera.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for taking screenshots.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling autoforward.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling cinematic mode.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling display of minimap.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling fast mode.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling flying.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling noclip mode.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling pitch move mode.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling the camera update. Only used for development\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling the display of chat.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling the display of debug info.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling the display of fog.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling the display of the HUD.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling the display of the large chat console.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling the display of the profiler. Used for development.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling unlimited view range.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key to use view zoom when possible.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Kick players who sent more than X messages per 10 seconds." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Lake steepness" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Lake threshold" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Language" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Large cave depth" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Large 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 "Large chat console key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Leaves style" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Leaves style:\n" +"- Fancy: all faces visible\n" +"- Simple: only outer faces, if defined special_tiles are used\n" +"- Opaque: disable transparency" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Left key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Length of a server tick and the interval at which objects are generally " +"updated over\n" +"network." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Length of 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 "" + +#: src/settings_translation_file.cpp +msgid "Length of time between NodeTimer execution cycles" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Length of time between active block management cycles" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Level of logging to be written to debug.txt:\n" +"- (no logging)\n" +"- none (messages with no level)\n" +"- error\n" +"- warning\n" +"- action\n" +"- info\n" +"- verbose" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Light curve 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 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 map generation, in nodes, in all 6 directions from (0, 0, 0).\n" +"Only mapchunks completely within the mapgen limit are generated.\n" +"Value is stored per-world." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Limits number of parallel HTTP requests. Affects:\n" +"- Media fetch if server uses remote_media setting.\n" +"- Serverlist download and server announcement.\n" +"- Downloads performed by main menu (e.g. mod manager).\n" +"Only has an effect if compiled with cURL." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Liquid fluidity" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Liquid fluidity smoothing" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Liquid loop max" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Liquid queue purge time" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Liquid sinking" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Liquid update interval in seconds." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Liquid update tick" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Load the game profiler" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Load the game profiler to collect game profiling data.\n" +"Provides a /profiler command to access the compiled profile.\n" +"Useful for mod developers and server operators." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Loading Block Modifiers" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Lower Y limit of dungeons." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Lower Y limit of floatlands." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Main menu script" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Make fog and sky colors depend on daytime (dawn/sunset) and view direction." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Makes all liquids opaque" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Map Compression Level for Disk Storage" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Map Compression Level for Network Transfer" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Map directory" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Map generation attributes specific to Mapgen Carpathian." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Map generation attributes specific to Mapgen 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 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 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 "" + +#: src/settings_translation_file.cpp +msgid "" +"Map generation attributes specific to Mapgen v6.\n" +"The 'snowbiomes' flag enables the new 5 biome system.\n" +"When the 'snowbiomes' flag is enabled jungles are automatically enabled and\n" +"the 'jungles' flag is ignored." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Map generation attributes specific to Mapgen v7.\n" +"'ridges': Rivers.\n" +"'floatlands': Floating land masses in the atmosphere.\n" +"'caverns': Giant caves deep underground." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Map generation limit" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Map save interval" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Map update time" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapblock limit" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapblock mesh generation delay" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapblock mesh generator's MapBlock cache size in MB" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapblock unload timeout" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen Carpathian" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen Carpathian specific flags" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen Flat" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen Flat specific flags" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen Fractal" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen Fractal specific flags" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen V5" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen V5 specific flags" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen V6" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen V6 specific flags" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen V7" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen V7 specific flags" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen Valleys" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen Valleys specific flags" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen debug" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen name" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Max block generate distance" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Max block send distance" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Max liquids processed per step." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Max. clearobjects extra blocks" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Max. packets per iteration" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum FPS" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum FPS when the window is not focused, or when the game is paused." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum distance to render shadows." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum forceloaded blocks" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum hotbar width" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum 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 resistance. Controls deceleration when entering liquid at\n" +"high speed." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum number of blocks that are simultaneously sent per client.\n" +"The maximum total count is calculated dynamically:\n" +"max_total = ceil((#clients + max_users) * per_client / 4)" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum number of blocks that can be queued for loading." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum number of blocks to be queued that are to be generated.\n" +"This limit is enforced per player." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum number of blocks to be queued that are to be loaded from file.\n" +"This limit is enforced per player." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum number of concurrent downloads. Downloads exceeding this limit will " +"be queued.\n" +"This should be lower than curl_parallel_limit." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum number of forceloaded mapblocks." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum number of mapblocks for client to be kept in memory.\n" +"Set to -1 for unlimited amount." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum number of packets sent per send step, if you have a slow connection\n" +"try reducing it, but don't reduce it to a number below double of targeted\n" +"client number." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum number of players that can be connected simultaneously." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum number of recent chat messages to show" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum number of statically stored objects in a block." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum objects per block" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum proportion of current window to be used for hotbar.\n" +"Useful if there's something to be displayed right or left of hotbar." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum simultaneous block sends per client" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum size of the out chat queue" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum size of the out chat queue.\n" +"0 to disable queueing and -1 to make the queue size unlimited." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum time a file download (e.g. a mod download) may take, stated in " +"milliseconds." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum time an interactive request (e.g. server list fetch) may take, " +"stated in milliseconds." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum users" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Menus" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mesh cache" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Message of the day" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Message of the day displayed to players connecting." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Method used to highlight selected object." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Minimal level of logging to be written to chat." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Minimap" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Minimap key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Minimap scan height" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Minimum 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 "" + +#: src/settings_translation_file.cpp +msgid "Mipmapping" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mod channels" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Modifies the size of the hudbar elements." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Monospace font path" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Monospace font size" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mountain height noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mountain noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mountain variation noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mountain zero level" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mouse sensitivity" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mouse sensitivity multiplier." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mud noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Multiplier for fall bobbing.\n" +"For example: 0 for no view bobbing; 1.0 for normal; 2.0 for double." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mute key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mute sound" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Name of map generator to be used when creating a new world.\n" +"Creating a world in the main menu will override this.\n" +"Current mapgens in a highly unstable state:\n" +"- The optional floatlands of v7 (disabled by default)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Name of the player.\n" +"When running a server, clients connecting with this name are admins.\n" +"When starting from the main menu, this is overridden." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Name of the server, to be displayed when players join and in the serverlist." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Near plane" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Network" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Network port to listen (UDP).\n" +"This value will be overridden when starting from the main menu." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "New users need to input this password." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Noclip" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Noclip key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Node highlighting" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "NodeTimer interval" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Noises" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Number of emerge threads" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Number of emerge threads to use.\n" +"Value 0:\n" +"- Automatic selection. The number of emerge threads will be\n" +"- 'number of processors - 2', with a lower limit of 1.\n" +"Any other value:\n" +"- Specifies the number of emerge threads, with a lower limit of 1.\n" +"WARNING: Increasing the number of emerge threads increases engine mapgen\n" +"speed, but this may harm game performance by interfering with other\n" +"processes, especially in singleplayer and/or when running Lua code in\n" +"'on_generated'. For many users the optimum setting may be '1'." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Number of extra blocks that can be loaded by /clearobjects at once.\n" +"This is a trade-off between sqlite transaction overhead and\n" +"memory consumption (4096=100MB, as a rule of thumb)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Online Content Repository" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Opaque liquids" +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 "" +"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 "" +"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. Can be an absolute or relative path.\n" +"The folder will be created if it doesn't already exist." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Path to shader directory. If no path is defined, default location will be " +"used." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Path to texture directory. All textures are first searched from here." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"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 "Per-player limit of queued blocks load from disk" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Per-player limit of queued blocks to generate" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Physics" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Pitch move key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Pitch move mode" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Place key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Place repetition interval" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Player is able to fly without being affected by gravity.\n" +"This requires the \"fly\" privilege on the server." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Player name" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Player transfer distance" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Player versus player" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Poisson filtering" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Port to connect to (UDP).\n" +"Note that the port field in the main menu overrides this setting." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Prevent digging and placing from repeating when holding the mouse buttons.\n" +"Enable this when you dig or place too often by accident." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Prevent mods from doing insecure things like running shell commands." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Print the engine's profiling data in regular intervals (in seconds).\n" +"0 = disable. Useful for developers." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Privileges that players with basic_privs can grant" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Profiler" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Profiler toggle key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Profiling" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Prometheus listener address" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Prometheus listener address.\n" +"If minetest is compiled with ENABLE_PROMETHEUS option enabled,\n" +"enable metrics listener for Prometheus on that address.\n" +"Metrics can be fetch on http://127.0.0.1:30000/metrics" +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 " +"corners." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Raises terrain to make valleys around the rivers." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Random input" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Range select key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Recent Chat Messages" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Regular font path" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Remote media" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Remote port" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Remove color codes from incoming chat messages\n" +"Use this to stop players from being able to use color in their messages" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Replaces the default main menu with a custom one." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Report path" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Restricts the access of certain client-side functions on servers.\n" +"Combine the byteflags below to restrict client-side features, or set to 0\n" +"for no restrictions:\n" +"LOAD_CLIENT_MODS: 1 (disable loading client-provided mods)\n" +"CHAT_MESSAGES: 2 (disable send_chat_message call client-side)\n" +"READ_ITEMDEFS: 4 (disable get_item_def call client-side)\n" +"READ_NODEDEFS: 8 (disable get_node_def call client-side)\n" +"LOOKUP_NODES_LIMIT: 16 (limits get_node call client-side to\n" +"csm_restriction_noderange)\n" +"READ_PLAYERINFO: 32 (disable get_player_names call client-side)" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Ridge mountain spread noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Ridge noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Ridge underwater noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Ridged mountain size noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Right key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "River channel depth" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "River channel width" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "River depth" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "River noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "River size" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "River valley width" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Rollback recording" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Rolling hill size noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Rolling hills spread noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Round minimap" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Safe digging and placing" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Sandy beaches occur when np_beach exceeds this value." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Save the map received by the client on disk." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Save window size automatically when modified." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Saving map received from server" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Scale GUI by a user specified value.\n" +"Use a nearest-neighbor-anti-alias filter to scale the GUI.\n" +"This will smooth over some of the rough edges, and blend\n" +"pixels when scaling down, at the cost of blurring some\n" +"edge pixels when images are scaled by non-integer sizes." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Screen height" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Screen width" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Screenshot folder" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Screenshot format" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Screenshot quality" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Screenshot quality. Only used for JPEG format.\n" +"1 means worst quality; 100 means best quality.\n" +"Use 0 for default quality." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Seabed noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Second of 4 2D noises that together define hill/mountain range height." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Second of two 3D noises that together define tunnels." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Security" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "See https://www.sqlite.org/pragma.html#pragma_synchronous" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Selection box border color (R,G,B)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Selection box color" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Selection box width" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Selects one of 18 fractal types.\n" +"1 = 4D \"Roundy\" Mandelbrot set.\n" +"2 = 4D \"Roundy\" Julia set.\n" +"3 = 4D \"Squarry\" Mandelbrot set.\n" +"4 = 4D \"Squarry\" Julia set.\n" +"5 = 4D \"Mandy Cousin\" Mandelbrot set.\n" +"6 = 4D \"Mandy Cousin\" Julia set.\n" +"7 = 4D \"Variation\" Mandelbrot set.\n" +"8 = 4D \"Variation\" Julia set.\n" +"9 = 3D \"Mandelbrot/Mandelbar\" Mandelbrot set.\n" +"10 = 3D \"Mandelbrot/Mandelbar\" Julia set.\n" +"11 = 3D \"Christmas Tree\" Mandelbrot set.\n" +"12 = 3D \"Christmas Tree\" Julia set.\n" +"13 = 3D \"Mandelbulb\" Mandelbrot set.\n" +"14 = 3D \"Mandelbulb\" Julia set.\n" +"15 = 3D \"Cosine Mandelbulb\" Mandelbrot set.\n" +"16 = 3D \"Cosine Mandelbulb\" Julia set.\n" +"17 = 4D \"Mandelbulb\" Mandelbrot set.\n" +"18 = 4D \"Mandelbulb\" Julia set." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Server / Singleplayer" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Server URL" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Server address" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Server description" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Server name" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Server port" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Server side occlusion culling" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Serverlist URL" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Serverlist file" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the language. Leave empty to use the system language.\n" +"A restart is required after changing this." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Set the maximum character length of a chat message sent by clients." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow strength.\n" +"Lower value means lighter shadows, higher value means darker shadows." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow update time.\n" +"Lower value means shadows and map updates faster, but it consume more " +"resources.\n" +"Minimun value 0.001 seconds max value 0.2 seconds" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the soft shadow radius size.\n" +"Lower values mean sharper shadows bigger values softer.\n" +"Minimun value 1.0 and max value 10.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the tilt of Sun/Moon orbit in degrees\n" +"Value of 0 means no tilt / vertical orbit.\n" +"Minimun value 0.0 and max value 60.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set to true to enable Shadow Mapping.\n" +"Requires shaders to be enabled." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set to true to enable waving leaves.\n" +"Requires shaders to be enabled." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"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 to enable waving plants.\n" +"Requires shaders to be enabled." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Sets shadow texture quality to 32 bits.\n" +"On false, 16 bits texture will be used.\n" +"This can cause much more artifacts in the shadow." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shader path" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Shaders allow advanced visual effects and may increase performance on some " +"video\n" +"cards.\n" +"This only works with the OpenGL video backend." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow filter quality" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map max distance in nodes to render shadows" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture in 32 bits" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture size" +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 "Shadow strength" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shape of the minimap. Enabled = round, disabled = square." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Show debug info" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Show entity selection boxes" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Show entity selection boxes\n" +"A restart is required after changing this." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Show nametag backgrounds by default" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shutdown message" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Size of mapchunks generated by mapgen, stated in mapblocks (16 nodes).\n" +"WARNING!: There is no benefit, and there are several dangers, in\n" +"increasing this value above 5.\n" +"Reducing this value increases cave and dungeon density.\n" +"Altering this value is for special usage, leaving it unchanged is\n" +"recommended." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Size of the MapBlock cache of the mesh generator. Increasing this will\n" +"increase the cache hit %, reducing the data being copied from the main\n" +"thread, thus reducing jitter." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Sky Body Orbit Tilt" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Slice w" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Slope and fill work together to modify the heights." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Small 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 "" + +#: src/settings_translation_file.cpp +msgid "Small-scale temperature variation for blending biomes on borders." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Smooth lighting" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Smooths camera when looking around. Also called look or mouse smoothing.\n" +"Useful for recording videos." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Smooths rotation of camera in cinematic mode. 0 to disable." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Smooths rotation of camera. 0 to disable." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Sneak key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Sneaking speed" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Sneaking speed, in nodes per second." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Soft shadow radius" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Sound" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Specifies URL from which client fetches media instead of using UDP.\n" +"$filename should be accessible from $remote_media$filename via cURL\n" +"(obviously, remote_media should end with a slash).\n" +"Files that are not present will be fetched the usual way." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Specifies the default stack size of nodes, items and tools.\n" +"Note that mods or games may explicitly set a stack for certain (or all) " +"items." +msgstr "" + +#: src/settings_translation_file.cpp +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 "Static spawnpoint" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Steepness noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Step mountain size noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Step mountain spread noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Strength of 3D mode parallax." +msgstr "" + +#: src/settings_translation_file.cpp +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 "Strict protocol checking" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Strip color codes" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Surface level of optional water placed on a solid floatland layer.\n" +"Water is disabled by default and will only be placed if this value is set\n" +"to above 'mgv7_floatland_ymax' - 'mgv7_floatland_taper' (the start of the\n" +"upper tapering).\n" +"***WARNING, POTENTIAL DANGER TO WORLDS AND SERVER PERFORMANCE***:\n" +"When enabling water placement the floatlands must be configured and tested\n" +"to be a solid layer by setting 'mgv7_floatland_density' to 2.0 (or other\n" +"required value depending on 'mgv7_np_floatland'), to avoid\n" +"server-intensive extreme water flow and to avoid vast flooding of the\n" +"world surface below." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Synchronous SQLite" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Temperature variation for biomes." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Terrain alternative noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Terrain base noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Terrain height" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Terrain higher noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Terrain noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Terrain noise threshold for hills.\n" +"Controls proportion of world area covered by hills.\n" +"Adjust towards 0.0 for a larger proportion." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Terrain noise threshold for lakes.\n" +"Controls proportion of world area covered by lakes.\n" +"Adjust towards 0.0 for a larger proportion." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Terrain persistence noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Texture path" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Texture size to render the shadow map on.\n" +"This must be a power of two.\n" +"Bigger numbers create better shadowsbut it is also more expensive." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Textures on a node may be aligned either to the node or to the world.\n" +"The former mode suits better things like machines, furniture, etc., while\n" +"the latter makes stairs and microblocks fit surroundings better.\n" +"However, as this possibility is new, thus may not be used by older servers,\n" +"this option allows enforcing it for certain node types. Note though that\n" +"that is considered EXPERIMENTAL and may not work properly." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "The URL for the content repository" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "The deadzone of the joystick" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"The default format in which profiles are being saved,\n" +"when calling `/profiler save [format]` without format." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "The depth of dirt or other biome filler node." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"The file path relative to your worldpath in which profiles will be saved to." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "The identifier of the joystick to use" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "The length in pixels it takes for touch screen interaction to start." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"The 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 "" + +#: src/settings_translation_file.cpp +msgid "" +"The privileges that new users automatically get.\n" +"See /privs in game for a full list on your server and mod configuration." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"The radius of the volume of blocks around every player that is subject to " +"the\n" +"active block stuff, stated in mapblocks (16 nodes).\n" +"In active blocks objects are loaded and ABMs run.\n" +"This is also the minimum range in which active objects (mobs) are " +"maintained.\n" +"This should be configured together with active_object_send_range_blocks." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"The rendering back-end.\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.\n" +"Shaders are supported by OpenGL (desktop only) and OGLES2 (experimental)" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"The sensitivity of the joystick axes for moving the\n" +"ingame view frustum around." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"The strength (darkness) of node ambient-occlusion shading.\n" +"Lower is darker, Higher is lighter. The valid range of values for this\n" +"setting is 0.25 to 4.0 inclusive. If the value is out of range it will be\n" +"set to the nearest valid value." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"The time (in seconds) that the liquids queue may grow beyond processing\n" +"capacity until an attempt is made to decrease its size by dumping old queue\n" +"items. A value of 0 disables the functionality." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"The time budget allowed for ABMs to execute on each step\n" +"(as a fraction of the ABM Interval)" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"The time in seconds it takes between repeated events\n" +"when holding down a joystick button combination." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"The time in seconds it takes between repeated node placements when holding\n" +"the place button." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "The type of joystick" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"The vertical distance over which heat drops by 20 if 'altitude_chill' is\n" +"enabled. Also the vertical distance over which humidity drops by 10 if\n" +"'altitude_dry' is enabled." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Third of 4 2D noises that together define hill/mountain range height." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Time in seconds for item entity (dropped items) to live.\n" +"Setting it to -1 disables the feature." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Time of day when a new world is started, in millihours (0-23999)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Time send interval" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Time speed" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Timeout for client to remove unused map data from memory." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"To reduce lag, block transfers are slowed down when a player is building " +"something.\n" +"This determines how long they are slowed down after placing or removing a " +"node." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Toggle camera mode key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Tooltip delay" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Touch screen threshold" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Trees noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Trilinear filtering" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"True = 256\n" +"False = 128\n" +"Usable to make minimap smoother on slower machines." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Trusted mods" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "URL to the server list displayed in the Multiplayer Tab." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Undersampling" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Undersampling is similar to using a lower screen resolution, but it applies\n" +"to the game world only, keeping the GUI intact.\n" +"It should give a significant performance boost at the cost of less detailed " +"image.\n" +"Higher values result in a less detailed image." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Unlimited player transfer distance" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Unload unused server data" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Upper Y limit of dungeons." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Upper Y limit of floatlands." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Use 3D cloud look instead of flat." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Use a cloud animation for the main menu background." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Use anisotropic filtering when viewing at textures from an angle." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Use bilinear filtering when scaling textures." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Use mip mapping to scale textures. May slightly increase performance,\n" +"especially when using a high resolution texture pack.\n" +"Gamma correct downscaling is not supported." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Use multi-sample antialiasing (MSAA) to smooth out block edges.\n" +"This algorithm smooths out the 3D viewport while keeping the image sharp,\n" +"but it doesn't affect the insides of textures\n" +"(which is especially noticeable with transparent textures).\n" +"Visible spaces appear between nodes when shaders are disabled.\n" +"If set to 0, MSAA is disabled.\n" +"A restart is required after changing this option." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Use trilinear filtering when scaling textures." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "VBO" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "VSync" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Valley depth" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Valley fill" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Valley profile" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Valley slope" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Variation of biome filler depth." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Variation of maximum mountain height (in nodes)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Variation of number of caves." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Variation of terrain vertical scale.\n" +"When noise is < -0.55 terrain is near-flat." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Varies depth of biome surface nodes." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Varies roughness of terrain.\n" +"Defines the 'persistence' value for terrain_base and terrain_alt noises." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Varies steepness of cliffs." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Vertical climbing speed, in nodes per second." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Vertical screen synchronization." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Video driver" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "View bobbing factor" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "View distance in nodes." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "View range decrease key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "View range increase key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "View zoom key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Viewing range" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Virtual joystick triggers Aux1 button" +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 "" +"W coordinate of the generated 3D slice of a 4D fractal.\n" +"Determines which 3D slice of the 4D shape is generated.\n" +"Alters the shape of the fractal.\n" +"Has no effect on 3D fractals.\n" +"Range roughly -2 to 2." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Walking and flying speed, in nodes per second." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Walking speed" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Walking, flying and climbing speed in fast mode, in nodes per second." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Water level" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Water surface level of the world." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Waving Nodes" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Waving leaves" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Waving liquids" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Waving liquids wave height" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Waving liquids wave speed" +msgstr "" + +#: src/settings_translation_file.cpp +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" +"to hardware (e.g. render-to-texture for nodes in inventory)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"When gui_scaling_filter_txr2img is true, copy those images\n" +"from hardware to software for scaling. When false, fall back\n" +"to the old scaling method, for video drivers that don't\n" +"properly support downloading textures back from hardware." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"When using bilinear/trilinear/anisotropic filters, low-resolution textures\n" +"can be blurred, so automatically upscale them with nearest-neighbor\n" +"interpolation to preserve crisp pixels. This sets the minimum texture size\n" +"for the upscaled textures; higher values look sharper, but require more\n" +"memory. Powers of 2 are recommended. This setting is ONLY applies if\n" +"bilinear/trilinear/anisotropic filtering is enabled.\n" +"This is also used as the base node texture size for world-aligned\n" +"texture autoscaling." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Whether FreeType fonts are used, requires FreeType support to be compiled " +"in.\n" +"If disabled, bitmap and XML vectors fonts are used instead." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Whether nametag backgrounds should be shown by default.\n" +"Mods may still set a background." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Whether node texture animations should be desynchronized per mapblock." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Whether players are shown to clients without any range limit.\n" +"Deprecated, use the setting player_transfer_distance instead." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Whether to allow players to damage and kill each other." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Whether to ask clients to reconnect after a (Lua) crash.\n" +"Set this to true if your server is set up to restart automatically." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Whether to fog out the end of the visible area." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Whether to 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 "" + +#: src/settings_translation_file.cpp +msgid "Width component of the initial window size. Ignored in fullscreen mode." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Width of the selection box lines around nodes." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Windows systems only: Start Minetest with the command line window in the " +"background.\n" +"Contains the same information as the file debug.txt (default name)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"World directory (everything in the world is stored here).\n" +"Not needed if starting from the main menu." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "World start time" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"World-aligned textures may be scaled to span several nodes. However,\n" +"the server may not send the scale you want, especially if you use\n" +"a specially-designed texture pack; with this option, the client tries\n" +"to determine the scale automatically basing on the texture size.\n" +"See also texture_min_size.\n" +"Warning: This option is EXPERIMENTAL!" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "World-aligned textures mode" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Y of flat ground." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Y of mountain density gradient zero level. Used to shift mountains " +"vertically." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Y of upper limit of large caves." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Y-distance over which caverns expand to full size." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Y-distance over which floatlands taper from full density to nothing.\n" +"Tapering starts at this distance from the Y limit.\n" +"For a solid floatland layer, this controls the height of hills/mountains.\n" +"Must be less than or equal to half the distance between the Y limits." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Y-level of average terrain surface." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Y-level of cavern upper limit." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Y-level of 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 "" +"ZLib compression level to use when saving mapblocks to disk.\n" +"-1 - Zlib's default compression level\n" +"0 - no compresson, fastest\n" +"9 - best compression, slowest\n" +"(levels 1-3 use Zlib's \"fast\" method, 4-9 use the normal method)" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"ZLib compression level to use when sending mapblocks to the client.\n" +"-1 - Zlib's default compression level\n" +"0 - no compresson, fastest\n" +"9 - best compression, slowest\n" +"(levels 1-3 use Zlib's \"fast\" method, 4-9 use the normal method)" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "cURL file download timeout" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "cURL interactive timeout" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "cURL parallel limit" +msgstr "" diff --git a/po/uk/minetest.po b/po/uk/minetest.po index 81b100511..f36fddc27 100644 --- a/po/uk/minetest.po +++ b/po/uk/minetest.po @@ -2,9 +2,9 @@ msgid "" msgstr "" "Project-Id-Version: Ukrainian (Minetest)\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-02-23 19:03+0100\n" -"PO-Revision-Date: 2020-10-25 19:26+0000\n" -"Last-Translator: Nick Naumenko \n" +"POT-Creation-Date: 2021-06-16 18:27+0200\n" +"PO-Revision-Date: 2021-06-07 14:33+0000\n" +"Last-Translator: Andrij Mizyk \n" "Language-Team: Ukrainian \n" "Language: uk\n" @@ -13,7 +13,48 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Generator: Weblate 4.3.2-dev\n" +"X-Generator: Weblate 4.7-dev\n" + +#: builtin/client/chatcommands.lua +msgid "Clear the out chat queue" +msgstr "" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Empty command." +msgstr "Команди чату" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Exit to main menu" +msgstr "Вихід в меню" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Invalid command: " +msgstr "Команда (локальна)" + +#: builtin/client/chatcommands.lua +msgid "Issued command: " +msgstr "" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "List online players" +msgstr "Одиночна гра" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Online players: " +msgstr "Одиночна гра" + +#: builtin/client/chatcommands.lua +msgid "The out chat queue is now empty." +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "This command is disabled by server." +msgstr "" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -23,13 +64,45 @@ msgstr "Переродитися" msgid "You died" msgstr "Ви загинули" +#: builtin/client/death_formspec.lua +#, fuzzy +msgid "You died." +msgstr "Ви загинули" + +#: builtin/common/chatcommands.lua +#, fuzzy +msgid "Available commands:" +msgstr "Команда (локальна)" + +#: builtin/common/chatcommands.lua +#, fuzzy +msgid "Available commands: " +msgstr "Команда (локальна)" + +#: builtin/common/chatcommands.lua +msgid "Command not available: " +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "Get help for commands" +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "" +"Use '.help ' to get more information, or '.help all' to list everything." +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "[all | ]" +msgstr "" + #: builtin/fstk/dialog.lua builtin/fstk/ui.lua src/gui/modalMenu.cpp msgid "OK" 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:" @@ -41,11 +114,11 @@ msgstr "Головне меню" #: builtin/fstk/ui.lua msgid "Reconnect" -msgstr "Повторне підключення" +msgstr "Перепідключення" #: builtin/fstk/ui.lua msgid "The server has requested a reconnect:" -msgstr "Сервер запросив перез'єднання:" +msgstr "Сервер запросив перезʼєднання:" #: builtin/mainmenu/common.lua msgid "Protocol version mismatch. " @@ -81,7 +154,7 @@ msgstr "Скасувати" #: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/dlg_contentstore.lua #: builtin/mainmenu/tab_content.lua msgid "Dependencies:" -msgstr "Залежить від:" +msgstr "Залежності:" #: builtin/mainmenu/dlg_config_world.lua msgid "Disable all" @@ -89,23 +162,23 @@ msgstr "Вимкнути все" #: builtin/mainmenu/dlg_config_world.lua msgid "Disable modpack" -msgstr "Вимкнути модпак" +msgstr "Вимкнути пакмод" #: builtin/mainmenu/dlg_config_world.lua msgid "Enable all" -msgstr "Увімкнути все" +msgstr "Дозволити все" #: builtin/mainmenu/dlg_config_world.lua msgid "Enable modpack" -msgstr "Увімкнути модпак" +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 "" -"Не вдалося ввімкнути модифікацію \"$1\", тому що вона містить заборонені " -"символи. Дозволяється використання таких символів: [a-z0-9_]." +"Не вдалося ввімкнути мод \"$1\", тому що він містить не дозволені знаки. " +"Дозволяються такі знаки: [a-z0-9_]." #: builtin/mainmenu/dlg_config_world.lua msgid "Find More Mods" @@ -117,7 +190,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." @@ -125,19 +198,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 "Опис модифікації відсутній." +msgstr "Опис пакмода відсутній." #: 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 @@ -150,60 +223,59 @@ msgstr "Світ:" #: builtin/mainmenu/dlg_config_world.lua msgid "enabled" -msgstr "увімкнено" +msgstr "дозволено" #: builtin/mainmenu/dlg_contentstore.lua msgid "\"$1\" already exists. Would you like to overwrite it?" -msgstr "" +msgstr "\"$1\" вже існує. Бажаєте перезаписати?" #: builtin/mainmenu/dlg_contentstore.lua msgid "$1 and $2 dependencies will be installed." -msgstr "" +msgstr "Встановиться $1 і $2 залежностей." #: builtin/mainmenu/dlg_contentstore.lua msgid "$1 by $2" -msgstr "" +msgstr "$1 від $2" #: builtin/mainmenu/dlg_contentstore.lua msgid "" "$1 downloading,\n" "$2 queued" msgstr "" +"$1 завантажується,\n" +"$2 у черзі" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "$1 downloading..." -msgstr "Завантаження..." +msgstr "$1 завантажується..." #: builtin/mainmenu/dlg_contentstore.lua msgid "$1 required dependencies could not be found." -msgstr "" +msgstr "$1 необхідних залежностей не знайдено." #: builtin/mainmenu/dlg_contentstore.lua msgid "$1 will be installed, and $2 dependencies will be skipped." -msgstr "" +msgstr "$1 встановиться, і $2 залежностей буде пропущено." #: builtin/mainmenu/dlg_contentstore.lua msgid "All packages" -msgstr "Всі пакунки" +msgstr "Усі пакунки" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "Already installed" -msgstr "Клавіша вже використовується" +msgstr "Уже встановлено" #: builtin/mainmenu/dlg_contentstore.lua msgid "Back to Main Menu" -msgstr "Назад в Головне Меню" +msgstr "Назад до головного меню" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "Base Game:" -msgstr "Грати (сервер)" +msgstr "Базова гра:" #: builtin/mainmenu/dlg_contentstore.lua msgid "ContentDB is not available when Minetest was compiled without cURL" -msgstr "ContentDB не є доступним коли Minetest не містить підтримку cURL" +msgstr "ContentDB недоступний, коли Minetest скомпільований без CURL" #: builtin/mainmenu/dlg_contentstore.lua msgid "Downloading..." @@ -223,48 +295,45 @@ msgid "Install" msgstr "Встановити" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "Install $1" -msgstr "Встановити" +msgstr "Встановити $1" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "Install missing dependencies" -msgstr "Необов'язкові залежності:" +msgstr "Встановити відсутні залежності" #: builtin/mainmenu/dlg_contentstore.lua #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Mods" -msgstr "Модифікації" +msgstr "Моди" #: builtin/mainmenu/dlg_contentstore.lua msgid "No packages could be retrieved" -msgstr "Неможливо закачати пакунки" +msgstr "Не вдалося отримати пакунки" #: builtin/mainmenu/dlg_contentstore.lua msgid "No results" msgstr "Нічого не знайдено" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "No updates" -msgstr "Оновити" +msgstr "Нема оновлень" #: builtin/mainmenu/dlg_contentstore.lua msgid "Not found" -msgstr "" +msgstr "Не знайдено" #: builtin/mainmenu/dlg_contentstore.lua msgid "Overwrite" -msgstr "" +msgstr "Перезаписати" #: builtin/mainmenu/dlg_contentstore.lua msgid "Please check that the base game is correct." -msgstr "" +msgstr "Перевірте чи основна гра є правильною." #: builtin/mainmenu/dlg_contentstore.lua msgid "Queued" -msgstr "" +msgstr "У черзі" #: builtin/mainmenu/dlg_contentstore.lua msgid "Texture packs" @@ -280,15 +349,15 @@ msgstr "Оновити" #: builtin/mainmenu/dlg_contentstore.lua msgid "Update All [$1]" -msgstr "" +msgstr "Оновити все [$1]" #: builtin/mainmenu/dlg_contentstore.lua msgid "View more information in a web browser" -msgstr "" +msgstr "Переглянути більше інформації у вебоглядачі" #: builtin/mainmenu/dlg_create_world.lua msgid "A world named \"$1\" already exists" -msgstr "Світ з такою назвою \"$1\" вже існує" +msgstr "Світ з назвою \"$1\" вже існує" #: builtin/mainmenu/dlg_create_world.lua msgid "Additional terrain" @@ -348,7 +417,7 @@ msgstr "Плаваючі земельні масиви в небі" #: builtin/mainmenu/dlg_create_world.lua msgid "Floatlands (experimental)" -msgstr "Висячі острови" +msgstr "Висячі острови (експериментальне)" #: builtin/mainmenu/dlg_create_world.lua src/settings_translation_file.cpp msgid "Game" @@ -356,7 +425,7 @@ msgstr "Гра" #: builtin/mainmenu/dlg_create_world.lua msgid "Generate non-fractal terrain: Oceans and underground" -msgstr "Генерувати нефрактальну місцевість: Океани та підземелля" +msgstr "Ґенерувати нефрактальну місцевість: океани і підземелля" #: builtin/mainmenu/dlg_create_world.lua msgid "Hills" @@ -380,15 +449,15 @@ msgstr "Низька вологість і велика спека спричи #: builtin/mainmenu/dlg_create_world.lua src/settings_translation_file.cpp msgid "Mapgen" -msgstr "Генератор світу" +msgstr "Ґенератор світу" #: builtin/mainmenu/dlg_create_world.lua src/settings_translation_file.cpp msgid "Mapgen flags" -msgstr "Прапори Генератору світу" +msgstr "Мітки ґенератора світу" #: builtin/mainmenu/dlg_create_world.lua msgid "Mapgen-specific flags" -msgstr "Властивості генератору світу" +msgstr "Мітки для ґенератора світу" #: builtin/mainmenu/dlg_create_world.lua msgid "Mountains" @@ -396,7 +465,7 @@ msgstr "Гори" #: builtin/mainmenu/dlg_create_world.lua msgid "Mud flow" -msgstr "Грязьовий потік" +msgstr "Болотяний потік" #: builtin/mainmenu/dlg_create_world.lua msgid "Network of tunnels and caves" @@ -404,7 +473,7 @@ msgstr "Мережа тунелів і печер" #: builtin/mainmenu/dlg_create_world.lua msgid "No game selected" -msgstr "Гру не вибрано" +msgstr "Не вибрано гру" #: builtin/mainmenu/dlg_create_world.lua msgid "Reduces heat with altitude" @@ -420,7 +489,7 @@ msgstr "Річки" #: builtin/mainmenu/dlg_create_world.lua msgid "Sea level rivers" -msgstr "Річки Рівня моря" +msgstr "Річки на рівні моря" #: builtin/mainmenu/dlg_create_world.lua #: builtin/mainmenu/dlg_settings_advanced.lua @@ -449,7 +518,7 @@ msgstr "Помірний, пустеля" #: builtin/mainmenu/dlg_create_world.lua msgid "Temperate, Desert, Jungle" -msgstr "Помірного Поясу, Пустелі, Джунглі" +msgstr "Помірний, пустелі, джунглі" #: builtin/mainmenu/dlg_create_world.lua msgid "Temperate, Desert, Jungle, Tundra, Taiga" @@ -461,7 +530,7 @@ msgstr "Ерозія поверхні місцевості" #: builtin/mainmenu/dlg_create_world.lua msgid "Trees and jungle grass" -msgstr "Дерева та трава джунглів" +msgstr "Дерева і трава джунглів" #: builtin/mainmenu/dlg_create_world.lua msgid "Vary river depth" @@ -472,9 +541,8 @@ msgid "Very large caverns deep in the underground" msgstr "Дуже великі печери глибоко під землею" #: builtin/mainmenu/dlg_create_world.lua -#, fuzzy msgid "Warning: The Development Test is meant for developers." -msgstr "Увага: мінімальна тестова версія призначена для розробників." +msgstr "Увага: тестова розробка означає для розробників." #: builtin/mainmenu/dlg_create_world.lua msgid "World name" @@ -512,35 +580,34 @@ msgstr "Прийняти" #: builtin/mainmenu/dlg_rename_modpack.lua msgid "Rename Modpack:" -msgstr "Перейменувати збірку модифікацій:" +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 "" -"Цей набір модифікацій (модпак) має точну назву, встановлену у modpack.conf, " -"на що не вплине перейменування." +"Цей пакмод має явну назву в modpack.conf, на що не вплине перейменування." #: builtin/mainmenu/dlg_settings_advanced.lua msgid "(No description of setting given)" -msgstr "(пояснення налаштування відсутнє)" +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" -msgstr "< Назад до Налаштувань" +msgstr "< Назад до налаштувань" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Browse" -msgstr "Переглянути" +msgstr "Оглянути" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_settings.lua msgid "Disabled" -msgstr "Вимкнено" +msgstr "Заборонено" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Edit" @@ -548,11 +615,11 @@ msgstr "Правити" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Enabled" -msgstr "Увімкнено" +msgstr "Дозволено" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Lacunarity" -msgstr "Лакунарність" +msgstr "Порожнистість" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Octaves" @@ -568,27 +635,27 @@ 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" msgstr "Шкала" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua msgid "Search" msgstr "Пошук" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Select directory" -msgstr "Виберіть директорію" +msgstr "Виберіть каталог" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Select file" @@ -600,7 +667,7 @@ 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." @@ -655,11 +722,11 @@ msgstr "полегшений" #: builtin/mainmenu/pkgmgr.lua msgid "$1 (Enabled)" -msgstr "$1 (Увімкнено)" +msgstr "$1 (Дозволено)" #: builtin/mainmenu/pkgmgr.lua msgid "$1 mods" -msgstr "$1 модифікації" +msgstr "$1 модів" #: builtin/mainmenu/pkgmgr.lua msgid "Failed to install $1 to $2" @@ -667,13 +734,12 @@ msgstr "Не вдалося встановити $1 в $2" #: builtin/mainmenu/pkgmgr.lua msgid "Install Mod: Unable to find real mod name for: $1" -msgstr "Встановлення модифікації: не вдається знайти реальну назву для: $1" +msgstr "Встановлення мода: не вдається знайти справжню назву для: $1" #: builtin/mainmenu/pkgmgr.lua msgid "Install Mod: Unable to find suitable folder name for modpack $1" msgstr "" -"Встановлення модифікації: неможливо знайти відповідну назву папки для " -"модпаку $1" +"Встановлення мода: неможливо знайти відповідну назву теки для пакмоду $1" #: builtin/mainmenu/pkgmgr.lua msgid "Install: Unsupported file type \"$1\" or broken archive" @@ -685,7 +751,7 @@ msgstr "Встановлення: файл: \"$1\"" #: builtin/mainmenu/pkgmgr.lua msgid "Unable to find a valid mod or modpack" -msgstr "Неможливо знайти вірну модифікацію або набір модифікацій (модпак)" +msgstr "Неможливо знайти правильний мод або пакмод" #: builtin/mainmenu/pkgmgr.lua msgid "Unable to install a $1 as a texture pack" @@ -708,9 +774,8 @@ msgid "Loading..." msgstr "Завантаження..." #: builtin/mainmenu/serverlistmgr.lua -#, fuzzy msgid "Public server list is disabled" -msgstr "Клієнтосторонні скрипти на клієнті вимкнено" +msgstr "Список публічних серверів вимкнено" #: builtin/mainmenu/serverlistmgr.lua msgid "Try reenabling public serverlist and check your internet connection." @@ -718,6 +783,43 @@ msgstr "" "Спробуйте оновити список публічних серверів та перевірте своє Інтернет-" "з'єднання." +#: builtin/mainmenu/tab_about.lua +msgid "About" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active Contributors" +msgstr "Активні учасники" + +#: builtin/mainmenu/tab_about.lua +#, fuzzy +msgid "Active renderer:" +msgstr "Діапазон відправлення активних блоків" + +#: builtin/mainmenu/tab_about.lua +msgid "Core Developers" +msgstr "Розробники ядра" + +#: builtin/mainmenu/tab_about.lua +msgid "Open User Data Directory" +msgstr "Відкрийте каталог користувацьких даних" + +#: builtin/mainmenu/tab_about.lua +msgid "" +"Opens the directory that contains user-provided worlds, games, mods,\n" +"and texture packs in a file manager / explorer." +msgstr "" +"Відкриває каталог, що містить надані користувачем світи, ігри, моди,\n" +"і набори текстур у файловому керівнику / оглядачі." + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Contributors" +msgstr "Попередні учасники" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Core Developers" +msgstr "Попередні розробники ядра" + #: builtin/mainmenu/tab_content.lua msgid "Browse online content" msgstr "Переглянути контент у мережі" @@ -758,37 +860,6 @@ msgstr "Видалити пакунок" msgid "Use Texture Pack" msgstr "Увімкнути набір текстур" -#: builtin/mainmenu/tab_credits.lua -msgid "Active Contributors" -msgstr "Активні учасники" - -#: builtin/mainmenu/tab_credits.lua -msgid "Core Developers" -msgstr "Розробники ядра" - -#: builtin/mainmenu/tab_credits.lua -msgid "Credits" -msgstr "Подяки" - -#: builtin/mainmenu/tab_credits.lua -#, fuzzy -msgid "Open User Data Directory" -msgstr "Виберіть директорію" - -#: builtin/mainmenu/tab_credits.lua -msgid "" -"Opens the directory that contains user-provided worlds, games, mods,\n" -"and texture packs in a file manager / explorer." -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Contributors" -msgstr "Попередні учасники" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Core Developers" -msgstr "Попередні розробники ядра" - #: builtin/mainmenu/tab_local.lua msgid "Announce Server" msgstr "Публічний" @@ -817,9 +888,9 @@ msgstr "Сервер" msgid "Install games from ContentDB" msgstr "Встановити ігри з ContentDB" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Name" -msgstr "" +msgstr "Назва" #: builtin/mainmenu/tab_local.lua msgid "New" @@ -829,23 +900,21 @@ msgstr "Новий" msgid "No world created or selected!" msgstr "Світ не створено або не обрано!" -#: builtin/mainmenu/tab_local.lua -#, fuzzy +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Password" -msgstr "Новий пароль" +msgstr "Пароль" #: builtin/mainmenu/tab_local.lua msgid "Play Game" msgstr "Грати" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Port" msgstr "Порт" #: builtin/mainmenu/tab_local.lua -#, fuzzy msgid "Select Mods" -msgstr "Виберіть світ:" +msgstr "Виберіть моди" #: builtin/mainmenu/tab_local.lua msgid "Select World:" @@ -860,8 +929,13 @@ msgid "Start Game" msgstr "Почати гру" #: builtin/mainmenu/tab_online.lua -msgid "Address / Port" -msgstr "Адреса / Порт" +#, fuzzy +msgid "Address" +msgstr "- Адреса: " + +#: builtin/mainmenu/tab_online.lua src/client/keycode.cpp +msgid "Clear" +msgstr "Очистити" #: builtin/mainmenu/tab_online.lua msgid "Connect" @@ -871,34 +945,46 @@ msgstr "Під'єднатися" msgid "Creative mode" msgstr "Творчій режим" +#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "Damage enabled" -msgstr "Ушкодження ввімкнено" +#, fuzzy +msgid "Damage / PvP" +msgstr "Поранення" #: builtin/mainmenu/tab_online.lua msgid "Del. Favorite" msgstr "Видалити з закладок" #: builtin/mainmenu/tab_online.lua -msgid "Favorite" +#, fuzzy +msgid "Favorites" msgstr "Закладки" +#: builtin/mainmenu/tab_online.lua +msgid "Incompatible Servers" +msgstr "" + #: builtin/mainmenu/tab_online.lua msgid "Join Game" msgstr "Під'єднатися до гри" -#: builtin/mainmenu/tab_online.lua -msgid "Name / Password" -msgstr "Ім'я / Пароль" - #: builtin/mainmenu/tab_online.lua msgid "Ping" msgstr "Пінг" -#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "PvP enabled" -msgstr "Бої увімкнено" +#, fuzzy +msgid "Public Servers" +msgstr "Публічний" + +#: builtin/mainmenu/tab_online.lua +msgid "Refresh" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +#, fuzzy +msgid "Server Description" +msgstr "Опис сервера" #: builtin/mainmenu/tab_settings.lua msgid "2x" @@ -940,10 +1026,30 @@ msgstr "Змінити клавіші" msgid "Connected Glass" msgstr "З'єднане скло" +#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp +msgid "Dynamic shadows" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Dynamic shadows: " +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Fancy Leaves" msgstr "Гарне листя" +#: builtin/mainmenu/tab_settings.lua +msgid "High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Low" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Medium" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Mipmap" msgstr "Міпмапи" @@ -997,9 +1103,8 @@ msgid "Shaders" msgstr "Шейдери" #: builtin/mainmenu/tab_settings.lua -#, fuzzy msgid "Shaders (experimental)" -msgstr "Висячі острови" +msgstr "Відтінювачі (експериментальне)" #: builtin/mainmenu/tab_settings.lua msgid "Shaders (unavailable)" @@ -1033,6 +1138,14 @@ msgstr "Чутливість дотику: (пкс)" msgid "Trilinear Filter" msgstr "Трилінійна фільтрація" +#: builtin/mainmenu/tab_settings.lua +msgid "Ultra High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Very Low" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Waving Leaves" msgstr "Коливати листя" @@ -1105,18 +1218,6 @@ 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" - #: src/client/game.cpp msgid "" "\n" @@ -1199,7 +1300,7 @@ msgid "Continue" msgstr "Продовжити" #: src/client/game.cpp -#, fuzzy, c-format +#, c-format msgid "" "Controls:\n" "- %s: move forwards\n" @@ -1216,19 +1317,19 @@ msgid "" "- Mouse wheel: select item\n" "- %s: chat\n" msgstr "" -"Стандартне керування клавішами:\n" -"- %s: вперед\n" -"- %s: назад\n" -"- %s: ліворуч\n" -"- %s: праворуч\n" +"Керування:\n" +"- %s: рухатися вперед\n" +"- %s: рухатися назад\n" +"- %s: рухатися вліво\n" +"- %s: рухатися вправо\n" "- %s: стрибок/лізти вгору\n" +"- %s: копати/удар\n" +"- %s: поставити/використати\n" "- %s: крастися/лізти вниз\n" "- %s: кинути предмет\n" "- %s: інвентар\n" -"- Мишка: поворот/дивитися\n" -"- Ліва кнопка миші: копати/удар\n" -"- Права кнопка миші: поставити/використати\n" -"- Колесо миші: вибір предмета\n" +"- Mouse: поворот/дивитися\n" +"- Mouse wheel: вибір предмета\n" "- %s: чат\n" #: src/client/game.cpp @@ -1359,6 +1460,11 @@ msgstr "МіБ/сек" msgid "Minimap currently disabled by game or mod" msgstr "Мінімапа вимкнена грою або модифікацією" +#: src/client/game.cpp +#, fuzzy +msgid "Multiplayer" +msgstr "Одиночна гра" + #: src/client/game.cpp msgid "Noclip mode disabled" msgstr "Прохід крізь стіни вимкнено" @@ -1500,10 +1606,6 @@ msgstr "Назад (Backspace)" msgid "Caps Lock" msgstr "Caps Lock" -#: src/client/keycode.cpp -msgid "Clear" -msgstr "Очистити" - #: src/client/keycode.cpp msgid "Control" msgstr "Ctrl" @@ -1756,14 +1858,14 @@ msgid "Minimap hidden" msgstr "Мінімапа вимкнена" #: src/client/minimap.cpp -#, fuzzy, c-format +#, c-format msgid "Minimap in radar mode, Zoom x%d" -msgstr "Мінімапа в режимі радар. Наближення х1" +msgstr "Мінімапа в режимі радара. Наближення x%d" #: src/client/minimap.cpp -#, fuzzy, c-format +#, c-format msgid "Minimap in surface mode, Zoom x%d" -msgstr "Мінімапа в режимі поверхня. Наближення х1" +msgstr "Мінімапа в режимі поверхні. Наближення x%d" #: src/client/minimap.cpp #, fuzzy @@ -1798,7 +1900,8 @@ msgid "Proceed" msgstr "Далі" #: src/gui/guiKeyChangeMenu.cpp -msgid "\"Special\" = climb down" +#, fuzzy +msgid "\"Aux1\" = climb down" msgstr "Спеціальна = спускатися" #: src/gui/guiKeyChangeMenu.cpp @@ -1809,10 +1912,18 @@ msgstr "Автохід" msgid "Automatic jumping" msgstr "Автоматичне перестрибування" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Aux1" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Backward" msgstr "Назад" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Block bounds" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Change camera" msgstr "Змінити камеру" @@ -1903,10 +2014,6 @@ msgstr "Знімок екрану" msgid "Sneak" msgstr "Крастися" -#: src/gui/guiKeyChangeMenu.cpp -msgid "Special" -msgstr "Спеціальна" - #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle HUD" msgstr "Увімкнути позначки на екрані" @@ -1994,9 +2101,10 @@ 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 " +"(Android) Use virtual joystick to trigger \"Aux1\" button.\n" +"If enabled, virtual joystick will also tap \"Aux1\" button when out of main " "circle." msgstr "" "(Android) Використовувати віртуальний джойстик для активації кнопки \"aux" @@ -2212,13 +2320,15 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Adds particles when digging a node." -msgstr "" +msgstr "Додавати часточки при копанні блока." #: src/settings_translation_file.cpp msgid "" "Adjust dpi configuration to your screen (non X11/Android only) e.g. for 4k " "screens." msgstr "" +"Налаштувати dpi на вашому екрані (тільки не X11/Android), напр. для 4k-" +"екранів." #: src/settings_translation_file.cpp #, c-format @@ -2229,6 +2339,13 @@ msgid "" "Value = 2.0 (can be higher depending on 'mgv7_np_floatland', always test\n" "to be sure) creates a solid floatland layer." msgstr "" +"Налаштувати щільність плавучого шару.\n" +"Збільшуйте значення, щоб збільшити щільність. Може бути позитивним або " +"негативним.\n" +"Значення = 0.0: 50% від обсягу плавучого острова.\n" +"Значення = 2.0 (можна збільшувати залежно від 'mgv7_np_floatland', завжди " +"перевіряйте,\n" +"щоб бути певними) створює твердий шар плавучої землі." #: src/settings_translation_file.cpp msgid "Advanced" @@ -2242,10 +2359,15 @@ msgid "" "This only has significant effect on daylight and artificial\n" "light, it has very little effect on natural night light." msgstr "" +"Змінює криву світла застосовуючи до неї 'гамма-корекцію'.\n" +"Більше значення робить середній і нижчий рівень яскравості освітлення.\n" +"Значення '1.0' залишає криву світла незмінною.\n" +"Це впливає лише на денне і штучне світло,\n" +"воно мало впливає на природне нічне світло." #: src/settings_translation_file.cpp msgid "Always fly and fast" -msgstr "" +msgstr "Завжди літає і швидко" #: src/settings_translation_file.cpp msgid "Ambient occlusion gamma" @@ -2253,7 +2375,7 @@ 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 msgid "Amplifies the valleys." @@ -2273,29 +2395,31 @@ 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 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 "" +msgstr "Запитувати про перезʼєднання під час збою" #: src/settings_translation_file.cpp msgid "" @@ -2319,11 +2443,11 @@ msgstr "Клавіша автоматичного руху вперед" #: src/settings_translation_file.cpp msgid "Automatically jump up single-node obstacles." -msgstr "" +msgstr "Автоматично стрибати на блок вище." #: src/settings_translation_file.cpp msgid "Automatically report to the serverlist." -msgstr "" +msgstr "Автоматично звітувати у список серверів." #: src/settings_translation_file.cpp msgid "Autosave screen size" @@ -2331,7 +2455,17 @@ msgstr "Зберігати розмір вікна" #: src/settings_translation_file.cpp msgid "Autoscaling mode" -msgstr "" +msgstr "Режим автомасштабування" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Aux1 key" +msgstr "Стрибок" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Aux1 key for climbing/descending" +msgstr "Спеціальна клавіша для руху вгору/вниз" #: src/settings_translation_file.cpp msgid "Backward key" @@ -2339,7 +2473,7 @@ msgstr "Назад" #: src/settings_translation_file.cpp msgid "Base ground level" -msgstr "" +msgstr "Базовий рівень землі" #: src/settings_translation_file.cpp msgid "Base terrain height." @@ -2347,7 +2481,7 @@ msgstr "Висота основної поверхні." #: src/settings_translation_file.cpp msgid "Basic" -msgstr "" +msgstr "Основи" #: src/settings_translation_file.cpp msgid "Basic privileges" @@ -2355,11 +2489,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" @@ -2375,11 +2509,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Biome noise" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Bits per pixel (aka color depth) in fullscreen mode." -msgstr "" +msgstr "Шум біому" #: src/settings_translation_file.cpp msgid "Block send optimize distance" @@ -2387,20 +2517,19 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Bold and italic font path" -msgstr "" +msgstr "Шлях до жирного і курсивного шрифту" #: src/settings_translation_file.cpp msgid "Bold and italic monospace font path" -msgstr "" +msgstr "Шлях до жирного і курсивного моноширного шрифту" #: src/settings_translation_file.cpp -#, fuzzy msgid "Bold font path" -msgstr "Шлях до шрифту" +msgstr "Шлях до жирного шрифту" #: src/settings_translation_file.cpp msgid "Bold monospace font path" -msgstr "" +msgstr "Шлях до жирного моноширного шрифту" #: src/settings_translation_file.cpp msgid "Build inside player" @@ -2432,35 +2561,35 @@ msgstr "Контроль оновлення камери" #: src/settings_translation_file.cpp msgid "Cave noise" -msgstr "" +msgstr "Шум печери" #: src/settings_translation_file.cpp msgid "Cave noise #1" -msgstr "" +msgstr "Шум печери #1" #: src/settings_translation_file.cpp msgid "Cave noise #2" -msgstr "" +msgstr "Шум печери #2" #: src/settings_translation_file.cpp msgid "Cave width" -msgstr "" +msgstr "Ширина печери" #: src/settings_translation_file.cpp msgid "Cave1 noise" -msgstr "" +msgstr "Шум для Печера1" #: src/settings_translation_file.cpp msgid "Cave2 noise" -msgstr "" +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" @@ -2472,7 +2601,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Cavern upper limit" -msgstr "" +msgstr "Верхнє обмеження каверни" #: src/settings_translation_file.cpp msgid "" @@ -2480,26 +2609,29 @@ msgid "" "Where 0.0 is minimum light level, 1.0 is maximum light level." msgstr "" +#: src/settings_translation_file.cpp +msgid "Chat command time message threshold" +msgstr "" + #: src/settings_translation_file.cpp msgid "Chat font size" msgstr "Розмір шрифту чату" #: src/settings_translation_file.cpp msgid "Chat key" -msgstr "Чат" +msgstr "Клавіша чату" #: src/settings_translation_file.cpp -#, fuzzy msgid "Chat log level" -msgstr "Чат" +msgstr "Рівень журналу чату" #: src/settings_translation_file.cpp msgid "Chat message count limit" -msgstr "" +msgstr "Обмеження к-сті повідомлень чату" #: src/settings_translation_file.cpp msgid "Chat message format" -msgstr "" +msgstr "Формат повідомлень чату" #: src/settings_translation_file.cpp msgid "Chat message kick threshold" @@ -2507,7 +2639,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Chat message max length" -msgstr "" +msgstr "Максимальна довжина повідомлення чату" #: src/settings_translation_file.cpp msgid "Chat toggle key" @@ -2577,6 +2709,11 @@ msgstr "Хмари в меню" msgid "Colored fog" msgstr "Кольоровий туман" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Colored shadows" +msgstr "Кольоровий туман" + #: src/settings_translation_file.cpp msgid "" "Comma-separated list of flags to hide in the content repository.\n" @@ -2776,8 +2913,9 @@ msgstr "Стандартна гра" #: src/settings_translation_file.cpp msgid "" -"Default timeout for cURL, stated in milliseconds.\n" -"Only has an effect if compiled with cURL." +"Define shadow filtering quality\n" +"This simulates the soft shadows effect by applying a PCF or poisson disk\n" +"but also uses more resources." msgstr "" #: src/settings_translation_file.cpp @@ -2939,6 +3077,12 @@ msgid "" "This support is experimental and API can change." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Enable colored shadows. \n" +"On true translucent nodes cast colored shadows. This is expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable console window" msgstr "" @@ -2963,6 +3107,13 @@ msgstr "" msgid "Enable players getting damage and dying." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Enable poisson disk filtering.\n" +"On true uses poisson disk to make \"soft shadows\". Otherwise uses PCF " +"filtering." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable random user input (only used for testing)." msgstr "" @@ -3087,18 +3238,6 @@ msgstr "" msgid "Fallback font path" msgstr "Шлях до шрифту" -#: src/settings_translation_file.cpp -msgid "Fallback font shadow" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Fallback font shadow alpha" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Fallback font size" -msgstr "" - #: src/settings_translation_file.cpp msgid "Fast key" msgstr "" @@ -3117,7 +3256,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"Fast movement (via the \"special\" key).\n" +"Fast movement (via the \"Aux1\" key).\n" "This requires the \"fast\" privilege on the server." msgstr "" @@ -3151,9 +3290,9 @@ 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." +"which PNG optimizers usually discard, often resulting in dark or\n" +"light edges to transparent textures. Apply a filter to clean that up\n" +"at texture load time. This is automatically enabled if mipmapping is enabled." msgstr "" #: src/settings_translation_file.cpp @@ -3248,10 +3387,6 @@ msgstr "Розмір шрифту" msgid "Font size of the default font in point (pt)." msgstr "" -#: src/settings_translation_file.cpp -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 "" @@ -3349,10 +3484,6 @@ msgstr "" msgid "Full screen" msgstr "Повний екран" -#: src/settings_translation_file.cpp -msgid "Full screen BPP" -msgstr "" - #: src/settings_translation_file.cpp msgid "Fullscreen mode." msgstr "Повноекранний режим." @@ -3446,7 +3577,8 @@ msgid "Heat noise" msgstr "" #: src/settings_translation_file.cpp -msgid "Height component of the initial window size." +msgid "" +"Height component of the initial window size. Ignored in fullscreen mode." msgstr "" #: src/settings_translation_file.cpp @@ -3457,10 +3589,6 @@ msgstr "Висотний шум" msgid "Height select noise" msgstr "" -#: src/settings_translation_file.cpp -msgid "High-precision FPU" -msgstr "" - #: src/settings_translation_file.cpp msgid "Hill steepness" msgstr "" @@ -3692,8 +3820,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"If disabled, \"special\" key is used to fly fast if both fly and fast mode " -"are\n" +"If disabled, \"Aux1\" key is used to fly fast if both fly and fast mode are\n" "enabled." msgstr "" @@ -3715,8 +3842,8 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"If enabled, \"special\" key instead of \"sneak\" key is used for climbing " -"down and\n" +"If enabled, \"Aux1\" key instead of \"Sneak\" key is used for climbing down " +"and\n" "descending." msgstr "" @@ -3760,6 +3887,12 @@ msgid "" "to this distance from the player to the node." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"If the execution of a chat command takes longer than this specified time in\n" +"seconds, add the time information to the chat command message" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "If the file size of debug.txt exceeds the number of megabytes specified in\n" @@ -4649,10 +4782,6 @@ msgid "" "Make fog and sky colors depend on daytime (dawn/sunset) and view direction." msgstr "" -#: src/settings_translation_file.cpp -msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." -msgstr "" - #: src/settings_translation_file.cpp msgid "Makes all liquids opaque" msgstr "" @@ -4724,6 +4853,10 @@ msgstr "Межі генерації мапи" msgid "Map save interval" msgstr "Інтервал збереження мапи" +#: src/settings_translation_file.cpp +msgid "Map update time" +msgstr "" + #: src/settings_translation_file.cpp msgid "Mapblock limit" msgstr "" @@ -4839,6 +4972,10 @@ msgstr "Максимальна кількість кадрів в секунду msgid "Maximum FPS when the window is not focused, or when the game is paused." msgstr "Максимум FPS при паузі." +#: src/settings_translation_file.cpp +msgid "Maximum distance to render shadows." +msgstr "" + #: src/settings_translation_file.cpp msgid "Maximum forceloaded blocks" msgstr "" @@ -4945,7 +5082,15 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "Maximum time in ms a file download (e.g. a mod download) may take." +msgid "" +"Maximum time a file download (e.g. a mod download) may take, stated in " +"milliseconds." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum time an interactive request (e.g. server list fetch) may take, " +"stated in milliseconds." msgstr "" #: src/settings_translation_file.cpp @@ -5158,11 +5303,6 @@ 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 " @@ -5263,6 +5403,11 @@ msgstr "" msgid "Player versus player" msgstr "Гравець проти гравця" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Poisson filtering" +msgstr "Білінійна фільтрація" + #: src/settings_translation_file.cpp msgid "" "Port to connect to (UDP).\n" @@ -5601,6 +5746,40 @@ msgstr "" msgid "Set the maximum character length of a chat message sent by clients." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow strength.\n" +"Lower value means lighter shadows, higher value means darker shadows." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow update time.\n" +"Lower value means shadows and map updates faster, but it consume more " +"resources.\n" +"Minimun value 0.001 seconds max value 0.2 seconds" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the soft shadow radius size.\n" +"Lower values mean sharper shadows bigger values softer.\n" +"Minimun value 1.0 and max value 10.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the tilt of Sun/Moon orbit in degrees\n" +"Value of 0 means no tilt / vertical orbit.\n" +"Minimun value 0.0 and max value 60.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set to true to enable Shadow Mapping.\n" +"Requires shaders to be enabled." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Set to true to enable waving leaves.\n" @@ -5619,6 +5798,13 @@ msgid "" "Requires shaders to be enabled." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Sets shadow texture quality to 32 bits.\n" +"On false, 16 bits texture will be used.\n" +"This can cause much more artifacts in the shadow." +msgstr "" + #: src/settings_translation_file.cpp msgid "Shader path" msgstr "Шлях до шейдерів" @@ -5631,6 +5817,23 @@ msgid "" "This only works with the OpenGL video backend." msgstr "" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Shadow filter quality" +msgstr "Якість знімку" + +#: src/settings_translation_file.cpp +msgid "Shadow map max distance in nodes to render shadows" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture in 32 bits" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture size" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Shadow offset (in pixels) of the default font. If 0, then shadow will not be " @@ -5638,9 +5841,7 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "" -"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not " -"be drawn." +msgid "Shadow strength" msgstr "" #: src/settings_translation_file.cpp @@ -5689,6 +5890,10 @@ msgid "" "thread, thus reducing jitter." msgstr "" +#: src/settings_translation_file.cpp +msgid "Sky Body Orbit Tilt" +msgstr "" + #: src/settings_translation_file.cpp msgid "Slice w" msgstr "" @@ -5743,18 +5948,15 @@ msgstr "Швидкість підкрадання" msgid "Sneaking speed, in nodes per second." msgstr "" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Soft shadow radius" +msgstr "Радіус хмар" + #: src/settings_translation_file.cpp msgid "Sound" msgstr "Звук" -#: src/settings_translation_file.cpp -msgid "Special key" -msgstr "Спеціальна клавіша" - -#: src/settings_translation_file.cpp -msgid "Special key for climbing/descending" -msgstr "Спеціальна клавіша для руху вгору/вниз" - #: src/settings_translation_file.cpp msgid "" "Specifies URL from which client fetches media instead of using UDP.\n" @@ -5876,6 +6078,13 @@ msgstr "" msgid "Texture path" msgstr "Шлях до текстури" +#: src/settings_translation_file.cpp +msgid "" +"Texture size to render the shadow map on.\n" +"This must be a power of two.\n" +"Bigger numbers create better shadowsbut it is also more expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Textures on a node may be aligned either to the node or to the world.\n" @@ -5949,7 +6158,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"The rendering back-end for Irrlicht.\n" +"The rendering back-end.\n" "A restart is required after changing this.\n" "Note: On Android, stick with OGLES1 if unsure! App may fail to start " "otherwise.\n" @@ -6236,7 +6445,7 @@ msgid "Viewing range" msgstr "Видимість" #: src/settings_translation_file.cpp -msgid "Virtual joystick triggers aux button" +msgid "Virtual joystick triggers Aux1 button" msgstr "" #: src/settings_translation_file.cpp @@ -6331,9 +6540,8 @@ msgid "" "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" +"memory. Powers of 2 are recommended. This setting is ONLY applies if\n" +"bilinear/trilinear/anisotropic filtering is enabled.\n" "This is also used as the base node texture size for world-aligned\n" "texture autoscaling." msgstr "" @@ -6389,7 +6597,7 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "Width component of the initial window size." +msgid "Width component of the initial window size. Ignored in fullscreen mode." msgstr "" #: src/settings_translation_file.cpp @@ -6496,11 +6704,11 @@ msgid "cURL file download timeout" msgstr "" #: src/settings_translation_file.cpp -msgid "cURL parallel limit" +msgid "cURL interactive timeout" msgstr "" #: src/settings_translation_file.cpp -msgid "cURL timeout" +msgid "cURL parallel limit" msgstr "" #~ msgid "" @@ -6510,12 +6718,18 @@ msgstr "" #~ "0 = технологія \"parallax occlusion\" з інформацією про криві (швидше).\n" #~ "1 = технологія \"relief mapping\" (повільніше, більш акуратніше)." +#~ msgid "Address / Port" +#~ msgstr "Адреса / Порт" + #~ msgid "Are you sure to reset your singleplayer world?" #~ msgstr "Ви впевнені, що бажаєте скинути свій світ одиночної гри?" #~ msgid "Back" #~ msgstr "Назад" +#~ msgid "Bits per pixel (aka color depth) in fullscreen mode." +#~ msgstr "Бітів на піксель (глибина кольору) в повноекранному режимі." + #~ msgid "Bump Mapping" #~ msgstr "Бамп-маппінг" @@ -6531,6 +6745,12 @@ msgstr "" #~ msgid "Content Store" #~ msgstr "Додатки" +#~ msgid "Credits" +#~ msgstr "Подяки" + +#~ msgid "Damage enabled" +#~ msgstr "Ушкодження ввімкнено" + #~ msgid "Downloading and installing $1, please wait..." #~ msgstr "Завантаження і встановлення $1, зачекайте..." @@ -6567,6 +6787,9 @@ msgstr "" #~ msgid "Minimap in surface mode, Zoom x4" #~ msgstr "Мінімапа в режимі поверхня. Наближення х4" +#~ msgid "Name / Password" +#~ msgstr "Ім'я / Пароль" + #~ msgid "Name/Password" #~ msgstr "Ім'я/Пароль" @@ -6585,12 +6808,21 @@ msgstr "" #~ msgid "Parallax occlusion scale" #~ msgstr "Ступінь паралаксової оклюзії" +#~ msgid "PvP enabled" +#~ msgstr "Бої увімкнено" + #~ msgid "Reset singleplayer world" #~ msgstr "Скинути світ одиночної гри" #~ msgid "Select Package File:" #~ msgstr "Виберіть файл пакунку:" +#~ msgid "Special" +#~ msgstr "Спеціальна" + +#~ msgid "Special key" +#~ msgstr "Спеціальна клавіша" + #~ msgid "Start Singleplayer" #~ msgstr "Почати одиночну гру" @@ -6602,3 +6834,6 @@ msgstr "" #~ msgid "Yes" #~ msgstr "Так" + +#~ msgid "needs_fallback_font" +#~ msgstr "no" diff --git a/po/vi/minetest.po b/po/vi/minetest.po index 1238015ec..60be1b239 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: 2021-02-23 19:03+0100\n" +"POT-Creation-Date: 2021-06-16 18:27+0200\n" "PO-Revision-Date: 2020-06-13 21:08+0000\n" "Last-Translator: darkcloudcat \n" "Language-Team: Vietnamese ' to get more information, or '.help all' to list everything." +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "[all | ]" +msgstr "" + #: builtin/fstk/dialog.lua builtin/fstk/ui.lua src/gui/modalMenu.cpp msgid "OK" msgstr "" @@ -532,7 +599,7 @@ msgstr "" msgid "Browse" msgstr "" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_settings.lua msgid "Disabled" msgstr "" @@ -576,7 +643,7 @@ msgstr "" msgid "Scale" msgstr "" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua msgid "Search" msgstr "" @@ -709,6 +776,40 @@ msgstr "" "Hãy thử kích hoạt lại danh sách máy chủ công cộng và kiểm tra kết nối " "internet của bạn." +#: builtin/mainmenu/tab_about.lua +msgid "About" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active Contributors" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active renderer:" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Core Developers" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Open User Data Directory" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "" +"Opens the directory that contains user-provided worlds, games, mods,\n" +"and texture packs in a file manager / explorer." +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Contributors" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Core Developers" +msgstr "" + #: builtin/mainmenu/tab_content.lua msgid "Browse online content" msgstr "" @@ -749,36 +850,6 @@ msgstr "" msgid "Use Texture Pack" msgstr "" -#: builtin/mainmenu/tab_credits.lua -msgid "Active Contributors" -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Core Developers" -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Credits" -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Open User Data Directory" -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "" -"Opens the directory that contains user-provided worlds, games, mods,\n" -"and texture packs in a file manager / explorer." -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Contributors" -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Core Developers" -msgstr "" - #: builtin/mainmenu/tab_local.lua msgid "Announce Server" msgstr "" @@ -807,7 +878,7 @@ msgstr "" msgid "Install games from ContentDB" msgstr "" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Name" msgstr "" @@ -819,7 +890,7 @@ msgstr "" msgid "No world created or selected!" msgstr "" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Password" msgstr "" @@ -827,7 +898,7 @@ msgstr "" msgid "Play Game" msgstr "" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Port" msgstr "" @@ -848,7 +919,11 @@ msgid "Start Game" msgstr "" #: builtin/mainmenu/tab_online.lua -msgid "Address / Port" +msgid "Address" +msgstr "" + +#: builtin/mainmenu/tab_online.lua src/client/keycode.cpp +msgid "Clear" msgstr "" #: builtin/mainmenu/tab_online.lua @@ -859,8 +934,9 @@ msgstr "" msgid "Creative mode" msgstr "" +#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "Damage enabled" +msgid "Damage / PvP" msgstr "" #: builtin/mainmenu/tab_online.lua @@ -868,24 +944,31 @@ msgid "Del. Favorite" msgstr "" #: builtin/mainmenu/tab_online.lua -msgid "Favorite" +msgid "Favorites" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +msgid "Incompatible Servers" msgstr "" #: builtin/mainmenu/tab_online.lua msgid "Join Game" msgstr "" -#: builtin/mainmenu/tab_online.lua -msgid "Name / Password" -msgstr "" - #: builtin/mainmenu/tab_online.lua msgid "Ping" msgstr "" -#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "PvP enabled" +msgid "Public Servers" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +msgid "Refresh" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +msgid "Server Description" msgstr "" #: builtin/mainmenu/tab_settings.lua @@ -928,10 +1011,30 @@ msgstr "" msgid "Connected Glass" msgstr "" +#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp +msgid "Dynamic shadows" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Dynamic shadows: " +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Fancy Leaves" msgstr "" +#: builtin/mainmenu/tab_settings.lua +msgid "High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Low" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Medium" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Mipmap" msgstr "" @@ -1020,6 +1123,14 @@ msgstr "" msgid "Trilinear Filter" msgstr "" +#: builtin/mainmenu/tab_settings.lua +msgid "Ultra High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Very Low" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Waving Leaves" msgstr "" @@ -1092,18 +1203,6 @@ 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 "" - #: src/client/game.cpp msgid "" "\n" @@ -1318,6 +1417,10 @@ msgstr "" msgid "Minimap currently disabled by game or mod" msgstr "" +#: src/client/game.cpp +msgid "Multiplayer" +msgstr "" + #: src/client/game.cpp msgid "Noclip mode disabled" msgstr "" @@ -1459,10 +1562,6 @@ msgstr "" msgid "Caps Lock" msgstr "" -#: src/client/keycode.cpp -msgid "Clear" -msgstr "" - #: src/client/keycode.cpp msgid "Control" msgstr "" @@ -1751,7 +1850,7 @@ msgid "Proceed" msgstr "" #: src/gui/guiKeyChangeMenu.cpp -msgid "\"Special\" = climb down" +msgid "\"Aux1\" = climb down" msgstr "" #: src/gui/guiKeyChangeMenu.cpp @@ -1762,10 +1861,18 @@ msgstr "" msgid "Automatic jumping" msgstr "" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Aux1" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Backward" msgstr "" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Block bounds" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Change camera" msgstr "" @@ -1854,10 +1961,6 @@ msgstr "" msgid "Sneak" msgstr "" -#: src/gui/guiKeyChangeMenu.cpp -msgid "Special" -msgstr "" - #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle HUD" msgstr "" @@ -1943,8 +2046,8 @@ 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 " +"(Android) Use virtual joystick to trigger \"Aux1\" button.\n" +"If enabled, virtual joystick will also tap \"Aux1\" button when out of main " "circle." msgstr "" @@ -2238,6 +2341,14 @@ msgstr "" msgid "Autoscaling mode" msgstr "" +#: src/settings_translation_file.cpp +msgid "Aux1 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Aux1 key for climbing/descending" +msgstr "" + #: src/settings_translation_file.cpp msgid "Backward key" msgstr "" @@ -2282,10 +2393,6 @@ msgstr "" msgid "Biome noise" msgstr "" -#: src/settings_translation_file.cpp -msgid "Bits per pixel (aka color depth) in fullscreen mode." -msgstr "" - #: src/settings_translation_file.cpp msgid "Block send optimize distance" msgstr "" @@ -2384,6 +2491,10 @@ msgid "" "Where 0.0 is minimum light level, 1.0 is maximum light level." msgstr "" +#: src/settings_translation_file.cpp +msgid "Chat command time message threshold" +msgstr "" + #: src/settings_translation_file.cpp msgid "Chat font size" msgstr "" @@ -2480,6 +2591,10 @@ msgstr "" msgid "Colored fog" msgstr "" +#: src/settings_translation_file.cpp +msgid "Colored shadows" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Comma-separated list of flags to hide in the content repository.\n" @@ -2675,8 +2790,9 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"Default timeout for cURL, stated in milliseconds.\n" -"Only has an effect if compiled with cURL." +"Define shadow filtering quality\n" +"This simulates the soft shadows effect by applying a PCF or poisson disk\n" +"but also uses more resources." msgstr "" #: src/settings_translation_file.cpp @@ -2837,6 +2953,12 @@ msgid "" "This support is experimental and API can change." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Enable colored shadows. \n" +"On true translucent nodes cast colored shadows. This is expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable console window" msgstr "" @@ -2861,6 +2983,13 @@ msgstr "" msgid "Enable players getting damage and dying." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Enable poisson disk filtering.\n" +"On true uses poisson disk to make \"soft shadows\". Otherwise uses PCF " +"filtering." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable random user input (only used for testing)." msgstr "" @@ -2983,18 +3112,6 @@ msgstr "" msgid "Fallback font path" msgstr "" -#: src/settings_translation_file.cpp -msgid "Fallback font shadow" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Fallback font shadow alpha" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Fallback font size" -msgstr "" - #: src/settings_translation_file.cpp msgid "Fast key" msgstr "" @@ -3013,7 +3130,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"Fast movement (via the \"special\" key).\n" +"Fast movement (via the \"Aux1\" key).\n" "This requires the \"fast\" privilege on the server." msgstr "" @@ -3047,9 +3164,9 @@ 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." +"which PNG optimizers usually discard, often resulting in dark or\n" +"light edges to transparent textures. Apply a filter to clean that up\n" +"at texture load time. This is automatically enabled if mipmapping is enabled." msgstr "" #: src/settings_translation_file.cpp @@ -3144,10 +3261,6 @@ msgstr "" msgid "Font size of the default font in point (pt)." msgstr "" -#: src/settings_translation_file.cpp -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 "" @@ -3245,10 +3358,6 @@ msgstr "" msgid "Full screen" msgstr "" -#: src/settings_translation_file.cpp -msgid "Full screen BPP" -msgstr "" - #: src/settings_translation_file.cpp msgid "Fullscreen mode." msgstr "" @@ -3342,7 +3451,8 @@ msgid "Heat noise" msgstr "" #: src/settings_translation_file.cpp -msgid "Height component of the initial window size." +msgid "" +"Height component of the initial window size. Ignored in fullscreen mode." msgstr "" #: src/settings_translation_file.cpp @@ -3353,10 +3463,6 @@ msgstr "" msgid "Height select noise" msgstr "" -#: src/settings_translation_file.cpp -msgid "High-precision FPU" -msgstr "" - #: src/settings_translation_file.cpp msgid "Hill steepness" msgstr "" @@ -3588,8 +3694,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"If disabled, \"special\" key is used to fly fast if both fly and fast mode " -"are\n" +"If disabled, \"Aux1\" key is used to fly fast if both fly and fast mode are\n" "enabled." msgstr "" @@ -3611,8 +3716,8 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"If enabled, \"special\" key instead of \"sneak\" key is used for climbing " -"down and\n" +"If enabled, \"Aux1\" key instead of \"Sneak\" key is used for climbing down " +"and\n" "descending." msgstr "" @@ -3656,6 +3761,12 @@ msgid "" "to this distance from the player to the node." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"If the execution of a chat command takes longer than this specified time in\n" +"seconds, add the time information to the chat command message" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "If the file size of debug.txt exceeds the number of megabytes specified in\n" @@ -4544,10 +4655,6 @@ msgid "" "Make fog and sky colors depend on daytime (dawn/sunset) and view direction." msgstr "" -#: src/settings_translation_file.cpp -msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." -msgstr "" - #: src/settings_translation_file.cpp msgid "Makes all liquids opaque" msgstr "" @@ -4619,6 +4726,10 @@ msgstr "" msgid "Map save interval" msgstr "" +#: src/settings_translation_file.cpp +msgid "Map update time" +msgstr "" + #: src/settings_translation_file.cpp msgid "Mapblock limit" msgstr "" @@ -4727,6 +4838,10 @@ msgstr "" msgid "Maximum FPS when the window is not focused, or when the game is paused." msgstr "" +#: src/settings_translation_file.cpp +msgid "Maximum distance to render shadows." +msgstr "" + #: src/settings_translation_file.cpp msgid "Maximum forceloaded blocks" msgstr "" @@ -4833,7 +4948,15 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "Maximum time in ms a file download (e.g. a mod download) may take." +msgid "" +"Maximum time a file download (e.g. a mod download) may take, stated in " +"milliseconds." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum time an interactive request (e.g. server list fetch) may take, " +"stated in milliseconds." msgstr "" #: src/settings_translation_file.cpp @@ -5046,11 +5169,6 @@ 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 " @@ -5149,6 +5267,10 @@ msgstr "" msgid "Player versus player" msgstr "" +#: src/settings_translation_file.cpp +msgid "Poisson filtering" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Port to connect to (UDP).\n" @@ -5483,6 +5605,40 @@ msgstr "" msgid "Set the maximum character length of a chat message sent by clients." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow strength.\n" +"Lower value means lighter shadows, higher value means darker shadows." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow update time.\n" +"Lower value means shadows and map updates faster, but it consume more " +"resources.\n" +"Minimun value 0.001 seconds max value 0.2 seconds" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the soft shadow radius size.\n" +"Lower values mean sharper shadows bigger values softer.\n" +"Minimun value 1.0 and max value 10.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the tilt of Sun/Moon orbit in degrees\n" +"Value of 0 means no tilt / vertical orbit.\n" +"Minimun value 0.0 and max value 60.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set to true to enable Shadow Mapping.\n" +"Requires shaders to be enabled." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Set to true to enable waving leaves.\n" @@ -5501,6 +5657,13 @@ msgid "" "Requires shaders to be enabled." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Sets shadow texture quality to 32 bits.\n" +"On false, 16 bits texture will be used.\n" +"This can cause much more artifacts in the shadow." +msgstr "" + #: src/settings_translation_file.cpp msgid "Shader path" msgstr "" @@ -5513,6 +5676,22 @@ msgid "" "This only works with the OpenGL video backend." msgstr "" +#: src/settings_translation_file.cpp +msgid "Shadow filter quality" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map max distance in nodes to render shadows" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture in 32 bits" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture size" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Shadow offset (in pixels) of the default font. If 0, then shadow will not be " @@ -5520,9 +5699,7 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "" -"Shadow offset (in pixels) of the fallback font. If 0, then shadow will not " -"be drawn." +msgid "Shadow strength" msgstr "" #: src/settings_translation_file.cpp @@ -5568,6 +5745,10 @@ msgid "" "thread, thus reducing jitter." msgstr "" +#: src/settings_translation_file.cpp +msgid "Sky Body Orbit Tilt" +msgstr "" + #: src/settings_translation_file.cpp msgid "Slice w" msgstr "" @@ -5622,18 +5803,14 @@ msgstr "" msgid "Sneaking speed, in nodes per second." msgstr "" +#: src/settings_translation_file.cpp +msgid "Soft shadow radius" +msgstr "" + #: src/settings_translation_file.cpp msgid "Sound" msgstr "" -#: src/settings_translation_file.cpp -msgid "Special key" -msgstr "" - -#: src/settings_translation_file.cpp -msgid "Special key for climbing/descending" -msgstr "" - #: src/settings_translation_file.cpp msgid "" "Specifies URL from which client fetches media instead of using UDP.\n" @@ -5755,6 +5932,13 @@ msgstr "" msgid "Texture path" msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"Texture size to render the shadow map on.\n" +"This must be a power of two.\n" +"Bigger numbers create better shadowsbut it is also more expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Textures on a node may be aligned either to the node or to the world.\n" @@ -5828,7 +6012,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"The rendering back-end for Irrlicht.\n" +"The rendering back-end.\n" "A restart is required after changing this.\n" "Note: On Android, stick with OGLES1 if unsure! App may fail to start " "otherwise.\n" @@ -6115,7 +6299,7 @@ msgid "Viewing range" msgstr "" #: src/settings_translation_file.cpp -msgid "Virtual joystick triggers aux button" +msgid "Virtual joystick triggers Aux1 button" msgstr "" #: src/settings_translation_file.cpp @@ -6206,9 +6390,8 @@ msgid "" "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" +"memory. Powers of 2 are recommended. This setting is ONLY applies if\n" +"bilinear/trilinear/anisotropic filtering is enabled.\n" "This is also used as the base node texture size for world-aligned\n" "texture autoscaling." msgstr "" @@ -6264,7 +6447,7 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "Width component of the initial window size." +msgid "Width component of the initial window size. Ignored in fullscreen mode." msgstr "" #: src/settings_translation_file.cpp @@ -6371,11 +6554,11 @@ msgid "cURL file download timeout" msgstr "" #: src/settings_translation_file.cpp -msgid "cURL parallel limit" +msgid "cURL interactive timeout" msgstr "" #: src/settings_translation_file.cpp -msgid "cURL timeout" +msgid "cURL parallel limit" msgstr "" #~ msgid "Ok" diff --git a/po/zh_CN/minetest.po b/po/zh_CN/minetest.po index aa816e11d..2aa7edeb4 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: 2021-02-23 19:03+0100\n" -"PO-Revision-Date: 2021-01-20 15:10+0000\n" -"Last-Translator: ZhiZe-ZG \n" +"POT-Creation-Date: 2021-06-16 18:27+0200\n" +"PO-Revision-Date: 2021-06-10 14:35+0000\n" +"Last-Translator: Riceball LEE \n" "Language-Team: Chinese (Simplified) \n" "Language: zh_CN\n" @@ -12,7 +12,49 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 4.5-dev\n" +"X-Generator: Weblate 4.7-dev\n" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Clear the out chat queue" +msgstr "显示最大聊天记录的行度" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Empty command." +msgstr "聊天命令" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Exit to main menu" +msgstr "退出至菜单" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Invalid command: " +msgstr "本地命令" + +#: builtin/client/chatcommands.lua +msgid "Issued command: " +msgstr "" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "List online players" +msgstr "单人游戏" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Online players: " +msgstr "单人游戏" + +#: builtin/client/chatcommands.lua +msgid "The out chat queue is now empty." +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "This command is disabled by server." +msgstr "" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -20,7 +62,39 @@ msgstr "重生" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "You died" -msgstr "您已死亡" +msgstr "您已经死亡" + +#: builtin/client/death_formspec.lua +#, fuzzy +msgid "You died." +msgstr "您已经死亡" + +#: builtin/common/chatcommands.lua +#, fuzzy +msgid "Available commands:" +msgstr "本地命令" + +#: builtin/common/chatcommands.lua +#, fuzzy +msgid "Available commands: " +msgstr "本地命令" + +#: builtin/common/chatcommands.lua +msgid "Command not available: " +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "Get help for commands" +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "" +"Use '.help ' to get more information, or '.help all' to list everything." +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "[all | ]" +msgstr "" #: builtin/fstk/dialog.lua builtin/fstk/ui.lua src/gui/modalMenu.cpp msgid "OK" @@ -36,7 +110,7 @@ msgstr "发生了错误:" #: builtin/fstk/ui.lua msgid "Main menu" -msgstr "主菜单" +msgstr "主单" #: builtin/fstk/ui.lua msgid "Reconnect" @@ -151,11 +225,11 @@ msgstr "启用" #: builtin/mainmenu/dlg_contentstore.lua msgid "\"$1\" already exists. Would you like to overwrite it?" -msgstr "" +msgstr "\"$1\"已经存在,你想覆写吗?" #: builtin/mainmenu/dlg_contentstore.lua msgid "$1 and $2 dependencies will be installed." -msgstr "" +msgstr "$1 和 $2 依赖项将被安装." #: builtin/mainmenu/dlg_contentstore.lua msgid "$1 by $2" @@ -166,37 +240,36 @@ msgid "" "$1 downloading,\n" "$2 queued" msgstr "" +"$1 正在下载,\n" +"$2 排队中" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "$1 downloading..." -msgstr "下载中..." +msgstr "正在下载 $1 ……" #: builtin/mainmenu/dlg_contentstore.lua msgid "$1 required dependencies could not be found." -msgstr "" +msgstr "没有找到需要的依赖项: $1" #: builtin/mainmenu/dlg_contentstore.lua msgid "$1 will be installed, and $2 dependencies will be skipped." -msgstr "" +msgstr "$1 将被安装, $2 依赖项将被跳过." #: builtin/mainmenu/dlg_contentstore.lua msgid "All packages" msgstr "所有包" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "Already installed" -msgstr "按键已被占用" +msgstr "已安装" #: builtin/mainmenu/dlg_contentstore.lua msgid "Back to Main Menu" msgstr "返回主菜单" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "Base Game:" -msgstr "主持游戏" +msgstr "基础游戏:" #: builtin/mainmenu/dlg_contentstore.lua msgid "ContentDB is not available when Minetest was compiled without cURL" @@ -213,21 +286,19 @@ msgstr "下载 $1 失败" #: builtin/mainmenu/dlg_contentstore.lua #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Games" -msgstr "子游戏" +msgstr "游戏" #: builtin/mainmenu/dlg_contentstore.lua msgid "Install" msgstr "安装" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "Install $1" -msgstr "安装" +msgstr "安装$1" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "Install missing dependencies" -msgstr "可选依赖项:" +msgstr "安装缺失的依赖项" #: builtin/mainmenu/dlg_contentstore.lua #: builtin/mainmenu/dlg_settings_advanced.lua @@ -243,26 +314,25 @@ msgid "No results" msgstr "无结果" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "No updates" -msgstr "更新" +msgstr "没有更新" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "Not found" -msgstr "静音" +msgstr "未找到" #: builtin/mainmenu/dlg_contentstore.lua msgid "Overwrite" -msgstr "" +msgstr "覆写" #: builtin/mainmenu/dlg_contentstore.lua msgid "Please check that the base game is correct." -msgstr "" +msgstr "请查看游戏是否正确。" #: builtin/mainmenu/dlg_contentstore.lua +#, fuzzy msgid "Queued" -msgstr "" +msgstr "已加入队列" #: builtin/mainmenu/dlg_contentstore.lua msgid "Texture packs" @@ -278,11 +348,11 @@ msgstr "更新" #: builtin/mainmenu/dlg_contentstore.lua msgid "Update All [$1]" -msgstr "" +msgstr "更新所有 [$1]" #: builtin/mainmenu/dlg_contentstore.lua msgid "View more information in a web browser" -msgstr "" +msgstr "在网络浏览器中查看更多信息" #: builtin/mainmenu/dlg_create_world.lua msgid "A world named \"$1\" already exists" @@ -532,7 +602,7 @@ msgstr "< 返回设置页面" msgid "Browse" msgstr "浏览" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_settings.lua msgid "Disabled" msgstr "禁用" @@ -576,7 +646,7 @@ msgstr "恢复初始设置" msgid "Scale" msgstr "比例" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua msgid "Search" msgstr "搜索" @@ -700,14 +770,48 @@ msgid "Loading..." msgstr "载入中..." #: builtin/mainmenu/serverlistmgr.lua -#, fuzzy msgid "Public server list is disabled" -msgstr "客户端脚本已禁用" +msgstr "已禁用公共服务器列表" #: builtin/mainmenu/serverlistmgr.lua msgid "Try reenabling public serverlist and check your internet connection." msgstr "请尝试重新启用公共服务器列表并检查您的网络连接。" +#: builtin/mainmenu/tab_about.lua +msgid "About" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active Contributors" +msgstr "积极贡献者" + +#: builtin/mainmenu/tab_about.lua +#, fuzzy +msgid "Active renderer:" +msgstr "活动目标发送范围" + +#: builtin/mainmenu/tab_about.lua +msgid "Core Developers" +msgstr "核心开发者" + +#: builtin/mainmenu/tab_about.lua +msgid "Open User Data Directory" +msgstr "打开用户数据目录" + +#: builtin/mainmenu/tab_about.lua +msgid "" +"Opens the directory that contains user-provided worlds, games, mods,\n" +"and texture packs in a file manager / explorer." +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Contributors" +msgstr "前贡献者" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Core Developers" +msgstr "前核心开发者" + #: builtin/mainmenu/tab_content.lua msgid "Browse online content" msgstr "浏览在线内容" @@ -748,37 +852,6 @@ msgstr "删除包" msgid "Use Texture Pack" msgstr "使用材质包" -#: builtin/mainmenu/tab_credits.lua -msgid "Active Contributors" -msgstr "积极贡献者" - -#: builtin/mainmenu/tab_credits.lua -msgid "Core Developers" -msgstr "核心开发者" - -#: builtin/mainmenu/tab_credits.lua -msgid "Credits" -msgstr "贡献者" - -#: builtin/mainmenu/tab_credits.lua -#, fuzzy -msgid "Open User Data Directory" -msgstr "选择目录" - -#: builtin/mainmenu/tab_credits.lua -msgid "" -"Opens the directory that contains user-provided worlds, games, mods,\n" -"and texture packs in a file manager / explorer." -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Contributors" -msgstr "前贡献者" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Core Developers" -msgstr "前核心开发者" - #: builtin/mainmenu/tab_local.lua msgid "Announce Server" msgstr "公开服务器" @@ -807,9 +880,9 @@ msgstr "建立服务器" msgid "Install games from ContentDB" msgstr "从 ContentDB 安装游戏" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Name" -msgstr "" +msgstr "名称" #: builtin/mainmenu/tab_local.lua msgid "New" @@ -819,23 +892,21 @@ msgstr "新建" msgid "No world created or selected!" msgstr "未创建或选择世界!" -#: builtin/mainmenu/tab_local.lua -#, fuzzy +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Password" -msgstr "新密码" +msgstr "密码" #: builtin/mainmenu/tab_local.lua msgid "Play Game" msgstr "开始游戏" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Port" msgstr "端口" #: builtin/mainmenu/tab_local.lua -#, fuzzy msgid "Select Mods" -msgstr "选择世界:" +msgstr "选择Mod" #: builtin/mainmenu/tab_local.lua msgid "Select World:" @@ -850,8 +921,13 @@ msgid "Start Game" msgstr "启动游戏" #: builtin/mainmenu/tab_online.lua -msgid "Address / Port" -msgstr "地址/端口" +#, fuzzy +msgid "Address" +msgstr "- 地址: " + +#: builtin/mainmenu/tab_online.lua src/client/keycode.cpp +msgid "Clear" +msgstr "Clear键" #: builtin/mainmenu/tab_online.lua msgid "Connect" @@ -861,34 +937,46 @@ msgstr "连接" msgid "Creative mode" msgstr "创造模式" +#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "Damage enabled" -msgstr "伤害已启用" +#, fuzzy +msgid "Damage / PvP" +msgstr "伤害" #: builtin/mainmenu/tab_online.lua msgid "Del. Favorite" msgstr "删除收藏项" #: builtin/mainmenu/tab_online.lua -msgid "Favorite" +#, fuzzy +msgid "Favorites" msgstr "收藏项" +#: builtin/mainmenu/tab_online.lua +msgid "Incompatible Servers" +msgstr "" + #: builtin/mainmenu/tab_online.lua msgid "Join Game" msgstr "加入游戏" -#: builtin/mainmenu/tab_online.lua -msgid "Name / Password" -msgstr "用户名/密码" - #: builtin/mainmenu/tab_online.lua msgid "Ping" msgstr "应答速度" -#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "PvP enabled" -msgstr "启用玩家对战" +#, fuzzy +msgid "Public Servers" +msgstr "公开服务器" + +#: builtin/mainmenu/tab_online.lua +msgid "Refresh" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +#, fuzzy +msgid "Server Description" +msgstr "服务器描述" #: builtin/mainmenu/tab_settings.lua msgid "2x" @@ -930,10 +1018,31 @@ msgstr "更改键位设置" msgid "Connected Glass" msgstr "连通玻璃" +#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp +#, fuzzy +msgid "Dynamic shadows" +msgstr "字体阴影" + +#: builtin/mainmenu/tab_settings.lua +msgid "Dynamic shadows: " +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Fancy Leaves" msgstr "华丽树叶" +#: builtin/mainmenu/tab_settings.lua +msgid "High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Low" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Medium" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Mipmap" msgstr "Mip 贴图" @@ -987,9 +1096,8 @@ msgid "Shaders" msgstr "着色器" #: builtin/mainmenu/tab_settings.lua -#, fuzzy msgid "Shaders (experimental)" -msgstr "悬空岛(实验性)" +msgstr "着色器(实验性)" #: builtin/mainmenu/tab_settings.lua msgid "Shaders (unavailable)" @@ -1023,6 +1131,14 @@ msgstr "触控阈值:(px)" msgid "Trilinear Filter" msgstr "三线性过滤" +#: builtin/mainmenu/tab_settings.lua +msgid "Ultra High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Very Low" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Waving Leaves" msgstr "飘动树叶" @@ -1095,18 +1211,6 @@ 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" - #: src/client/game.cpp msgid "" "\n" @@ -1349,6 +1453,11 @@ msgstr "MiB/s" msgid "Minimap currently disabled by game or mod" msgstr "小地图被当前子游戏或者 mod 禁用" +#: src/client/game.cpp +#, fuzzy +msgid "Multiplayer" +msgstr "单人游戏" + #: src/client/game.cpp msgid "Noclip mode disabled" msgstr "穿墙模式已禁用" @@ -1379,7 +1488,7 @@ msgstr "俯仰移动模式已禁用" #: src/client/game.cpp msgid "Pitch move mode enabled" -msgstr "俯仰移动模式已禁用" +msgstr "俯仰移动模式已启用" #: src/client/game.cpp msgid "Profiler graph shown" @@ -1490,10 +1599,6 @@ msgstr "退格" msgid "Caps Lock" msgstr "大写锁定键" -#: src/client/keycode.cpp -msgid "Clear" -msgstr "Clear键" - #: src/client/keycode.cpp msgid "Control" msgstr "Ctrl键" @@ -1756,9 +1861,8 @@ msgid "Minimap in surface mode, Zoom x%d" msgstr "地表模式小地图, 放大至一倍" #: src/client/minimap.cpp -#, fuzzy msgid "Minimap in texture mode" -msgstr "最小材质大小" +msgstr "材质模式小地图" #: src/gui/guiConfirmRegistration.cpp src/gui/guiPasswordChange.cpp msgid "Passwords do not match!" @@ -1786,7 +1890,8 @@ msgid "Proceed" msgstr "继续" #: src/gui/guiKeyChangeMenu.cpp -msgid "\"Special\" = climb down" +#, fuzzy +msgid "\"Aux1\" = climb down" msgstr "“特殊” = 向下爬" #: src/gui/guiKeyChangeMenu.cpp @@ -1797,10 +1902,18 @@ msgstr "自动向前" msgid "Automatic jumping" msgstr "自动跳跃" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Aux1" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Backward" msgstr "向后" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Block bounds" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Change camera" msgstr "改变相机" @@ -1889,10 +2002,6 @@ msgstr "截图" msgid "Sneak" msgstr "潜行" -#: src/gui/guiKeyChangeMenu.cpp -msgid "Special" -msgstr "特殊" - #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle HUD" msgstr "启用/禁用HUD" @@ -1979,9 +2088,10 @@ 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 " +"(Android) Use virtual joystick to trigger \"Aux1\" button.\n" +"If enabled, virtual joystick will also tap \"Aux1\" button when out of main " "circle." msgstr "" "(安卓)使用虚拟操纵杆触发\"aux\"按钮。\n" @@ -2151,7 +2261,7 @@ msgstr "ABM间隔" #: src/settings_translation_file.cpp msgid "ABM time budget" -msgstr "" +msgstr "ABM 时间预算" #: src/settings_translation_file.cpp msgid "Absolute limit of queued blocks to emerge" @@ -2333,6 +2443,16 @@ msgstr "自动保存屏幕大小" msgid "Autoscaling mode" msgstr "自动缩放模式" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Aux1 key" +msgstr "跳跃键" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Aux1 key for climbing/descending" +msgstr "用于攀登/降落的特殊键" + #: src/settings_translation_file.cpp msgid "Backward key" msgstr "后退键" @@ -2377,10 +2497,6 @@ msgstr "生物群系 API 温度和湿度噪声参数" msgid "Biome noise" msgstr "生物群系噪声" -#: src/settings_translation_file.cpp -msgid "Bits per pixel (aka color depth) in fullscreen mode." -msgstr "全屏模式中的位每像素(又称色彩深度)。" - #: src/settings_translation_file.cpp msgid "Block send optimize distance" msgstr "最优方块发送距离" @@ -2485,6 +2601,11 @@ msgstr "" "亮度曲线范围中心。\n" "0.0为最小值时1.0为最大值。" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Chat command time message threshold" +msgstr "聊天消息踢出阈值" + #: src/settings_translation_file.cpp msgid "Chat font size" msgstr "聊天字体大小" @@ -2581,6 +2702,11 @@ msgstr "主菜单显示云彩" msgid "Colored fog" msgstr "彩色雾" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Colored shadows" +msgstr "彩色雾" + #: src/settings_translation_file.cpp msgid "" "Comma-separated list of flags to hide in the content repository.\n" @@ -2648,7 +2774,7 @@ msgstr "ContentDB标签黑名单" #: src/settings_translation_file.cpp msgid "ContentDB Max Concurrent Downloads" -msgstr "" +msgstr "ContentDB 最大并发下载量" #: src/settings_translation_file.cpp msgid "ContentDB URL" @@ -2797,11 +2923,10 @@ msgstr "默认栈大小" #: src/settings_translation_file.cpp msgid "" -"Default timeout for cURL, stated in milliseconds.\n" -"Only has an effect if compiled with cURL." +"Define shadow filtering quality\n" +"This simulates the soft shadows effect by applying a PCF or poisson disk\n" +"but also uses more resources." msgstr "" -"cURL 的默认时限,单位毫秒。\n" -"仅使用 cURL 编译时有效果。" #: src/settings_translation_file.cpp msgid "Defines areas where trees have apples." @@ -2970,14 +3095,19 @@ msgstr "" "启用客户端Lua mod支持。\n" "该功能是实验性的,且API会变动。" +#: src/settings_translation_file.cpp +msgid "" +"Enable colored shadows. \n" +"On true translucent nodes cast colored shadows. This is expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable console window" msgstr "启用控制台窗口" #: src/settings_translation_file.cpp -#, fuzzy msgid "Enable creative mode for all players" -msgstr "为新建地图启用创造模式。" +msgstr "为所有玩家启用创造模式" #: src/settings_translation_file.cpp msgid "Enable joysticks" @@ -2995,6 +3125,13 @@ msgstr "启用 mod 安全" msgid "Enable players getting damage and dying." msgstr "启用玩家受到伤害和死亡。" +#: src/settings_translation_file.cpp +msgid "" +"Enable poisson disk filtering.\n" +"On true uses poisson disk to make \"soft shadows\". Otherwise uses PCF " +"filtering." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable random user input (only used for testing)." msgstr "启用随机用户输入(仅用于测试)。" @@ -3128,9 +3265,8 @@ msgstr "" "适用于固体悬空岛层。" #: src/settings_translation_file.cpp -#, fuzzy msgid "FPS when unfocused or paused" -msgstr "游戏暂停时最高 FPS。" +msgstr "游戏暂停时最高 FPS" #: src/settings_translation_file.cpp msgid "FSAA" @@ -3148,18 +3284,6 @@ msgstr "坠落上下摆动系数" msgid "Fallback font path" msgstr "后备字体路径" -#: src/settings_translation_file.cpp -msgid "Fallback font shadow" -msgstr "后备字体阴影" - -#: src/settings_translation_file.cpp -msgid "Fallback font shadow alpha" -msgstr "后备字体阴影透明度" - -#: src/settings_translation_file.cpp -msgid "Fallback font size" -msgstr "后备字体大小" - #: src/settings_translation_file.cpp msgid "Fast key" msgstr "快速键" @@ -3177,8 +3301,9 @@ msgid "Fast movement" msgstr "快速移动" #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"Fast movement (via the \"special\" key).\n" +"Fast movement (via the \"Aux1\" key).\n" "This requires the \"fast\" privilege on the server." msgstr "" "快速移动(通过“特殊”键)。\n" @@ -3214,11 +3339,12 @@ msgid "Filmic tone mapping" msgstr "电影色调映射" #: src/settings_translation_file.cpp +#, fuzzy msgid "" "Filtered textures can blend RGB values with fully-transparent neighbors,\n" -"which PNG optimizers usually discard, sometimes resulting in a dark or\n" -"light edge to transparent textures. Apply this filter to clean that up\n" -"at texture load time." +"which PNG optimizers usually discard, often resulting in dark or\n" +"light edges to transparent textures. Apply a filter to clean that up\n" +"at texture load time. This is automatically enabled if mipmapping is enabled." msgstr "" "经过滤的材质会与邻近的全透明材质混合RGB值,\n" "该值通常会被PNG优化器丢弃,某些时候会给透明材质产生暗色或\n" @@ -3317,10 +3443,6 @@ msgstr "字体大小" msgid "Font size of the default font in point (pt)." msgstr "默认字体大小,单位pt。" -#: src/settings_translation_file.cpp -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。" @@ -3427,10 +3549,6 @@ msgstr "" msgid "Full screen" msgstr "全屏" -#: src/settings_translation_file.cpp -msgid "Full screen BPP" -msgstr "全屏 BPP" - #: src/settings_translation_file.cpp msgid "Fullscreen mode." msgstr "全屏模式。" @@ -3540,7 +3658,9 @@ msgid "Heat noise" msgstr "热噪声" #: src/settings_translation_file.cpp -msgid "Height component of the initial window size." +#, fuzzy +msgid "" +"Height component of the initial window size. Ignored in fullscreen mode." msgstr "初始窗口高度。" #: src/settings_translation_file.cpp @@ -3551,10 +3671,6 @@ msgstr "高度噪声" msgid "Height select noise" msgstr "高度选择噪声" -#: src/settings_translation_file.cpp -msgid "High-precision FPU" -msgstr "高精度 FPU" - #: src/settings_translation_file.cpp msgid "Hill steepness" msgstr "山丘坡度" @@ -3798,9 +3914,9 @@ msgstr "" "节省无效 CPU 功耗。" #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"If disabled, \"special\" key is used to fly fast if both fly and fast mode " -"are\n" +"If disabled, \"Aux1\" key is used to fly fast if both fly and fast mode are\n" "enabled." msgstr "" "如果禁用,当飞行和快速模式同时启用时“特殊”键用于快速\n" @@ -3829,9 +3945,10 @@ msgstr "" "这需要服务器的“noclip”权限。" #: src/settings_translation_file.cpp +#, fuzzy msgid "" -"If enabled, \"special\" key instead of \"sneak\" key is used for climbing " -"down and\n" +"If enabled, \"Aux1\" key instead of \"Sneak\" key is used for climbing down " +"and\n" "descending." msgstr "" "如果启用,“特殊”键将代替潜行键的向下攀爬和\n" @@ -3885,6 +4002,12 @@ msgstr "" "如果客户端mod方块范围限制启用,限制get_node至玩家\n" "到方块的距离" +#: src/settings_translation_file.cpp +msgid "" +"If the execution of a chat command takes longer than this specified time in\n" +"seconds, add the time information to the chat command message" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "If the file size of debug.txt exceeds the number of megabytes specified in\n" @@ -4028,9 +4151,8 @@ msgid "Joystick button repetition interval" msgstr "摇杆按钮重复间隔" #: src/settings_translation_file.cpp -#, fuzzy msgid "Joystick deadzone" -msgstr "摇杆类型" +msgstr "摇杆无效区" #: src/settings_translation_file.cpp msgid "Joystick frustum sensitivity" @@ -5047,21 +5169,17 @@ msgid "" "Make fog and sky colors depend on daytime (dawn/sunset) and view direction." msgstr "使雾和天空颜色依赖于一天中的时间(黎明/傍晚)和视线方向。" -#: src/settings_translation_file.cpp -msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." -msgstr "使DirectX和LuaJIT一起工作。如果这导致了问题禁用它。" - #: src/settings_translation_file.cpp msgid "Makes all liquids opaque" msgstr "使所有液体不透明" #: src/settings_translation_file.cpp msgid "Map Compression Level for Disk Storage" -msgstr "" +msgstr "磁盘存储的映射压缩级别" #: src/settings_translation_file.cpp msgid "Map Compression Level for Network Transfer" -msgstr "" +msgstr "网络传输的地图压缩级别" #: src/settings_translation_file.cpp msgid "Map directory" @@ -5141,6 +5259,11 @@ msgstr "地图生成限制" msgid "Map save interval" msgstr "地图保存间隔" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Map update time" +msgstr "液体更新时钟间隔" + #: src/settings_translation_file.cpp msgid "Mapblock limit" msgstr "地图块限制" @@ -5246,9 +5369,12 @@ msgid "Maximum FPS" msgstr "最大 FPS" #: src/settings_translation_file.cpp -#, fuzzy msgid "Maximum FPS when the window is not focused, or when the game is paused." -msgstr "游戏暂停时最高 FPS。" +msgstr "窗口未聚焦或游戏暂停时的最大 FPS。" + +#: src/settings_translation_file.cpp +msgid "Maximum distance to render shadows." +msgstr "" #: src/settings_translation_file.cpp msgid "Maximum forceloaded blocks" @@ -5374,9 +5500,18 @@ msgstr "" "0取消队列,-1使队列大小无限。" #: src/settings_translation_file.cpp -msgid "Maximum time in ms a file download (e.g. a mod download) may take." +#, fuzzy +msgid "" +"Maximum time a file download (e.g. a mod download) may take, stated in " +"milliseconds." msgstr "单个文件下载(如mod下载)的最大时间。" +#: src/settings_translation_file.cpp +msgid "" +"Maximum time an interactive request (e.g. server list fetch) may take, " +"stated in milliseconds." +msgstr "" + #: src/settings_translation_file.cpp msgid "Maximum users" msgstr "最大用户数" @@ -5611,11 +5746,6 @@ 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 "" "Open the pause menu when the window's focus is lost. Does not pause if a " @@ -5710,9 +5840,8 @@ msgid "Place key" msgstr "飞行键" #: src/settings_translation_file.cpp -#, fuzzy msgid "Place repetition interval" -msgstr "右击重复间隔" +msgstr "放置重复间隔" #: src/settings_translation_file.cpp msgid "" @@ -5734,6 +5863,11 @@ msgstr "玩家转移距离" msgid "Player versus player" msgstr "玩家对战" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Poisson filtering" +msgstr "双线性过滤" + #: src/settings_translation_file.cpp msgid "" "Port to connect to (UDP).\n" @@ -6121,6 +6255,43 @@ msgstr "" msgid "Set the maximum character length of a chat message sent by clients." msgstr "设定客户端传送的聊天讯息的最大字符长度。" +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow strength.\n" +"Lower value means lighter shadows, higher value means darker shadows." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow update time.\n" +"Lower value means shadows and map updates faster, but it consume more " +"resources.\n" +"Minimun value 0.001 seconds max value 0.2 seconds" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the soft shadow radius size.\n" +"Lower values mean sharper shadows bigger values softer.\n" +"Minimun value 1.0 and max value 10.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the tilt of Sun/Moon orbit in degrees\n" +"Value of 0 means no tilt / vertical orbit.\n" +"Minimun value 0.0 and max value 60.0" +msgstr "" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "" +"Set to true to enable Shadow Mapping.\n" +"Requires shaders to be enabled." +msgstr "" +"设置为真以启用飘动树叶。\n" +"需要启用着色器。" + #: src/settings_translation_file.cpp msgid "" "Set to true to enable waving leaves.\n" @@ -6145,6 +6316,13 @@ msgstr "" "设置为真以启用摆动植物。\n" "需要启用着色器。" +#: src/settings_translation_file.cpp +msgid "" +"Sets shadow texture quality to 32 bits.\n" +"On false, 16 bits texture will be used.\n" +"This can cause much more artifacts in the shadow." +msgstr "" + #: src/settings_translation_file.cpp msgid "Shader path" msgstr "着色器路径" @@ -6160,6 +6338,24 @@ msgstr "" "性能。\n" "仅用于OpenGL视频后端。" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Shadow filter quality" +msgstr "截图品质" + +#: src/settings_translation_file.cpp +msgid "Shadow map max distance in nodes to render shadows" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture in 32 bits" +msgstr "" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Shadow map texture size" +msgstr "最小材质大小" + #: src/settings_translation_file.cpp msgid "" "Shadow offset (in pixels) of the default font. If 0, then shadow will not be " @@ -6167,10 +6363,8 @@ msgid "" 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 "后备字体阴影偏移(单位为像素),0 表示不绘制阴影。" +msgid "Shadow strength" +msgstr "" #: src/settings_translation_file.cpp msgid "Shape of the minimap. Enabled = round, disabled = square." @@ -6194,9 +6388,8 @@ msgstr "" "变更后须重新启动。" #: src/settings_translation_file.cpp -#, fuzzy msgid "Show nametag backgrounds by default" -msgstr "默认粗体" +msgstr "默认显示名称标签背景" #: src/settings_translation_file.cpp msgid "Shutdown message" @@ -6228,6 +6421,10 @@ msgstr "" "增加缓存命中率,减少从主线程复制数据,从而\n" "减少抖动。" +#: src/settings_translation_file.cpp +msgid "Sky Body Orbit Tilt" +msgstr "" + #: src/settings_translation_file.cpp msgid "Slice w" msgstr "切片 w" @@ -6284,18 +6481,15 @@ msgstr "潜行速度" msgid "Sneaking speed, in nodes per second." msgstr "潜行速度,以方块每秒为单位。" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Soft shadow radius" +msgstr "字体阴影透明度" + #: src/settings_translation_file.cpp msgid "Sound" msgstr "音效" -#: src/settings_translation_file.cpp -msgid "Special key" -msgstr "特殊键" - -#: src/settings_translation_file.cpp -msgid "Special key for climbing/descending" -msgstr "用于攀登/降落的特殊键" - #: src/settings_translation_file.cpp msgid "" "Specifies URL from which client fetches media instead of using UDP.\n" @@ -6445,6 +6639,13 @@ msgstr "地形持久性噪声" msgid "Texture path" msgstr "材质路径" +#: src/settings_translation_file.cpp +msgid "" +"Texture size to render the shadow map on.\n" +"This must be a power of two.\n" +"Bigger numbers create better shadowsbut it is also more expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Textures on a node may be aligned either to the node or to the world.\n" @@ -6456,13 +6657,12 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -#, fuzzy msgid "The URL for the content repository" msgstr "内容存储库的 URL" #: src/settings_translation_file.cpp msgid "The deadzone of the joystick" -msgstr "" +msgstr "摇杆的无效区" #: src/settings_translation_file.cpp msgid "" @@ -6485,7 +6685,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "The length in pixels it takes for touch screen interaction to start." -msgstr "" +msgstr "开始触摸屏交互所需的长度(以像素为单位)。" #: src/settings_translation_file.cpp msgid "" @@ -6521,7 +6721,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"The rendering back-end for Irrlicht.\n" +"The rendering back-end.\n" "A restart is required after changing this.\n" "Note: On Android, stick with OGLES1 if unsure! App may fail to start " "otherwise.\n" @@ -6570,7 +6770,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "The type of joystick" -msgstr "" +msgstr "摇杆类型" #: src/settings_translation_file.cpp msgid "" @@ -6658,7 +6858,6 @@ msgid "URL to the server list displayed in the Multiplayer Tab." msgstr "显示在“多人游戏”选项卡中的服务器列表的URL。" #: src/settings_translation_file.cpp -#, fuzzy msgid "Undersampling" msgstr "欠采样" @@ -6692,7 +6891,6 @@ msgid "Use 3D cloud look instead of flat." msgstr "使用 3D 云彩,而不是看起来是平面的。" #: src/settings_translation_file.cpp -#, fuzzy msgid "Use a cloud animation for the main menu background." msgstr "主菜单背景使用云动画。" @@ -6702,7 +6900,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Use bilinear filtering when scaling textures." -msgstr "" +msgstr "缩放材质时使用双线过滤。" #: src/settings_translation_file.cpp msgid "" @@ -6724,7 +6922,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Use trilinear filtering when scaling textures." -msgstr "" +msgstr "缩放材质时使用三线过滤。" #: src/settings_translation_file.cpp msgid "VBO" @@ -6797,9 +6995,8 @@ msgid "Video driver" msgstr "视频驱动程序" #: src/settings_translation_file.cpp -#, fuzzy msgid "View bobbing factor" -msgstr "范围摇动" +msgstr "视野晃动系数" #: src/settings_translation_file.cpp msgid "View distance in nodes." @@ -6822,7 +7019,7 @@ msgid "Viewing range" msgstr "可视范围" #: src/settings_translation_file.cpp -msgid "Virtual joystick triggers aux button" +msgid "Virtual joystick triggers Aux1 button" msgstr "" #: src/settings_translation_file.cpp @@ -6917,9 +7114,8 @@ msgid "" "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" +"memory. Powers of 2 are recommended. This setting is ONLY applies if\n" +"bilinear/trilinear/anisotropic filtering is enabled.\n" "This is also used as the base node texture size for world-aligned\n" "texture autoscaling." msgstr "" @@ -6977,7 +7173,8 @@ msgid "" msgstr "是否显示客户端调试信息(与按 F5 的效果相同)。" #: src/settings_translation_file.cpp -msgid "Width component of the initial window size." +#, fuzzy +msgid "Width component of the initial window size. Ignored in fullscreen mode." msgstr "初始窗口大小的宽度。" #: src/settings_translation_file.cpp @@ -7088,12 +7285,13 @@ msgid "cURL file download timeout" msgstr "cURL 文件下载超时" #: src/settings_translation_file.cpp -msgid "cURL parallel limit" -msgstr "cURL 并发限制" +#, fuzzy +msgid "cURL interactive timeout" +msgstr "cURL 超时" #: src/settings_translation_file.cpp -msgid "cURL timeout" -msgstr "cURL 超时" +msgid "cURL parallel limit" +msgstr "cURL 并发限制" #~ msgid "" #~ "0 = parallax occlusion with slope information (faster).\n" @@ -7102,6 +7300,9 @@ msgstr "cURL 超时" #~ "0 = 利用梯度信息进行视差遮蔽 (较快).\n" #~ "1 = 浮雕映射 (较慢, 但准确)." +#~ msgid "Address / Port" +#~ msgstr "地址/端口" + #~ msgid "" #~ "Adjust the gamma encoding for the light tables. Higher numbers are " #~ "brighter.\n" @@ -7116,6 +7317,9 @@ msgstr "cURL 超时" #~ msgid "Back" #~ msgstr "后退" +#~ msgid "Bits per pixel (aka color depth) in fullscreen mode." +#~ msgstr "全屏模式中的位每像素(又称色彩深度)。" + #~ msgid "Bump Mapping" #~ msgstr "凹凸贴图" @@ -7152,13 +7356,26 @@ msgstr "cURL 超时" #~ msgid "Controls width of tunnels, a smaller value creates wider tunnels." #~ msgstr "控制隧道宽度,较小的值创建更宽的隧道。" +#~ msgid "Credits" +#~ msgstr "贡献者" + #~ msgid "Crosshair color (R,G,B)." #~ msgstr "准星颜色(红,绿,蓝)。" +#~ msgid "Damage enabled" +#~ msgstr "伤害已启用" + #, fuzzy #~ msgid "Darkness sharpness" #~ msgstr "地图生成器平面湖坡度" +#~ msgid "" +#~ "Default timeout for cURL, stated in milliseconds.\n" +#~ "Only has an effect if compiled with cURL." +#~ msgstr "" +#~ "cURL 的默认时限,单位毫秒。\n" +#~ "仅使用 cURL 编译时有效果。" + #~ msgid "" #~ "Defines areas of floatland smooth terrain.\n" #~ "Smooth floatlands occur when noise > 0." @@ -7216,9 +7433,24 @@ msgstr "cURL 超时" #~ msgid "FPS in pause menu" #~ msgstr "暂停菜单 FPS" +#~ msgid "Fallback font shadow" +#~ msgstr "后备字体阴影" + +#~ msgid "Fallback font shadow alpha" +#~ msgstr "后备字体阴影透明度" + +#~ msgid "Fallback font size" +#~ msgstr "后备字体大小" + #~ msgid "Font shadow alpha (opaqueness, between 0 and 255)." #~ msgstr "字体阴影不透明度(0-255)。" +#~ msgid "Font size of the fallback font in point (pt)." +#~ msgstr "后备字体大小,单位pt。" + +#~ msgid "Full screen BPP" +#~ msgstr "全屏 BPP" + #~ msgid "Gamma" #~ msgstr "伽马" @@ -7228,6 +7460,9 @@ msgstr "cURL 超时" #~ msgid "Generate normalmaps" #~ msgstr "生成发现贴图" +#~ msgid "High-precision FPU" +#~ msgstr "高精度 FPU" + #~ msgid "IPv6 support." #~ msgstr "IPv6 支持。" @@ -7244,6 +7479,9 @@ msgstr "cURL 超时" #~ msgid "Main menu style" #~ msgstr "主菜单样式" +#~ msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." +#~ msgstr "使DirectX和LuaJIT一起工作。如果这导致了问题禁用它。" + #~ msgid "Minimap in radar mode, Zoom x2" #~ msgstr "雷达小地图,放大至两倍" @@ -7256,6 +7494,9 @@ msgstr "cURL 超时" #~ msgid "Minimap in surface mode, Zoom x4" #~ msgstr "地表模式小地图, 放大至四倍" +#~ msgid "Name / Password" +#~ msgstr "用户名/密码" + #~ msgid "Name/Password" #~ msgstr "用户名/密码" @@ -7274,6 +7515,11 @@ msgstr "cURL 超时" #~ msgid "Ok" #~ msgstr "确定" +#~ msgid "" +#~ "Opaqueness (alpha) of the shadow behind the fallback font, between 0 and " +#~ "255." +#~ msgstr "后备字体后阴影的透明度(alpha),取值范围0~255。" + #~ msgid "Overall bias of parallax occlusion effect, usually scale/2." #~ msgstr "视差遮蔽效果的整体斜纹,通常为比例/2。" @@ -7307,6 +7553,9 @@ msgstr "cURL 超时" #~ msgid "Path to save screenshots at." #~ msgstr "屏幕截图保存路径。" +#~ msgid "PvP enabled" +#~ msgstr "启用玩家对战" + #~ msgid "Reset singleplayer world" #~ msgstr "重置单人世界" @@ -7317,6 +7566,17 @@ msgstr "cURL 超时" #~ msgid "Shadow limit" #~ msgstr "地图块限制" +#~ msgid "" +#~ "Shadow offset (in pixels) of the fallback font. If 0, then shadow will " +#~ "not be drawn." +#~ msgstr "后备字体阴影偏移(单位为像素),0 表示不绘制阴影。" + +#~ msgid "Special" +#~ msgstr "特殊" + +#~ msgid "Special key" +#~ msgstr "特殊键" + #~ msgid "Start Singleplayer" #~ msgstr "单人游戏" @@ -7344,3 +7604,6 @@ msgstr "cURL 超时" #~ msgid "Yes" #~ msgstr "是" + +#~ msgid "needs_fallback_font" +#~ msgstr "yes" diff --git a/po/zh_TW/minetest.po b/po/zh_TW/minetest.po index 99332e226..8d6d22ae3 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: 2021-02-23 19:03+0100\n" -"PO-Revision-Date: 2020-12-24 05:29+0000\n" -"Last-Translator: Man Ho Yiu \n" +"POT-Creation-Date: 2021-06-16 18:27+0200\n" +"PO-Revision-Date: 2021-05-20 14:34+0000\n" +"Last-Translator: Yiu Man Ho \n" "Language-Team: Chinese (Traditional) \n" "Language: zh_TW\n" @@ -12,7 +12,48 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 4.4.1-dev\n" +"X-Generator: Weblate 4.7-dev\n" + +#: builtin/client/chatcommands.lua +msgid "Clear the out chat queue" +msgstr "" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Empty command." +msgstr "聊天指令" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Exit to main menu" +msgstr "離開,回到選單" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Invalid command: " +msgstr "本機指令" + +#: builtin/client/chatcommands.lua +msgid "Issued command: " +msgstr "" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "List online players" +msgstr "單人遊戲" + +#: builtin/client/chatcommands.lua +#, fuzzy +msgid "Online players: " +msgstr "單人遊戲" + +#: builtin/client/chatcommands.lua +msgid "The out chat queue is now empty." +msgstr "" + +#: builtin/client/chatcommands.lua +msgid "This command is disabled by server." +msgstr "" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -22,8 +63,39 @@ msgstr "重生" msgid "You died" msgstr "您已死亡" -#: builtin/fstk/dialog.lua builtin/fstk/ui.lua src/gui/modalMenu.cpp +#: builtin/client/death_formspec.lua #, fuzzy +msgid "You died." +msgstr "您已死亡" + +#: builtin/common/chatcommands.lua +#, fuzzy +msgid "Available commands:" +msgstr "本機指令" + +#: builtin/common/chatcommands.lua +#, fuzzy +msgid "Available commands: " +msgstr "本機指令" + +#: builtin/common/chatcommands.lua +msgid "Command not available: " +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "Get help for commands" +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "" +"Use '.help ' to get more information, or '.help all' to list everything." +msgstr "" + +#: builtin/common/chatcommands.lua +msgid "[all | ]" +msgstr "" + +#: builtin/fstk/dialog.lua builtin/fstk/ui.lua src/gui/modalMenu.cpp msgid "OK" msgstr "OK" @@ -152,34 +224,35 @@ msgstr "已啟用" #: builtin/mainmenu/dlg_contentstore.lua msgid "\"$1\" already exists. Would you like to overwrite it?" -msgstr "" +msgstr "“$1”已經存在。您要覆蓋它嗎?" #: builtin/mainmenu/dlg_contentstore.lua msgid "$1 and $2 dependencies will be installed." -msgstr "" +msgstr "$1 和他的 $2 個依賴將會被安裝。" #: builtin/mainmenu/dlg_contentstore.lua msgid "$1 by $2" -msgstr "" +msgstr "$1 作者: $2" #: builtin/mainmenu/dlg_contentstore.lua msgid "" "$1 downloading,\n" "$2 queued" msgstr "" +"$1 個正在下載,\n" +"$2 個正在等待" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "$1 downloading..." -msgstr "正在載入..." +msgstr "正在下載 $1..." #: builtin/mainmenu/dlg_contentstore.lua msgid "$1 required dependencies could not be found." -msgstr "" +msgstr "找不到 $1 所需的依賴項。" #: builtin/mainmenu/dlg_contentstore.lua msgid "$1 will be installed, and $2 dependencies will be skipped." -msgstr "" +msgstr "將安裝 $1,並且將跳過他的 $2 個依賴項。" #: builtin/mainmenu/dlg_contentstore.lua msgid "All packages" @@ -205,9 +278,8 @@ msgid "ContentDB is not available when Minetest was compiled without cURL" msgstr "在沒有cURL的情況下編譯Minetest時,ContentDB不可用" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "Downloading..." -msgstr "正在載入..." +msgstr "正在下載..." #: builtin/mainmenu/dlg_contentstore.lua msgid "Failed to download $1" @@ -223,19 +295,17 @@ msgid "Install" msgstr "安裝" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "Install $1" -msgstr "安裝" +msgstr "安裝 $1" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "Install missing dependencies" -msgstr "可選相依元件:" +msgstr "安裝缺少的依賴" #: builtin/mainmenu/dlg_contentstore.lua #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Mods" -msgstr "Mod" +msgstr "Mods" #: builtin/mainmenu/dlg_contentstore.lua msgid "No packages could be retrieved" @@ -246,25 +316,24 @@ msgid "No results" msgstr "無結果" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "No updates" -msgstr "更新" +msgstr "無更新" #: builtin/mainmenu/dlg_contentstore.lua msgid "Not found" -msgstr "" +msgstr "找不到" #: builtin/mainmenu/dlg_contentstore.lua msgid "Overwrite" -msgstr "" +msgstr "覆蓋" #: builtin/mainmenu/dlg_contentstore.lua msgid "Please check that the base game is correct." -msgstr "" +msgstr "請檢查基礎遊戲是否正確。" #: builtin/mainmenu/dlg_contentstore.lua msgid "Queued" -msgstr "" +msgstr "已排程" #: builtin/mainmenu/dlg_contentstore.lua msgid "Texture packs" @@ -280,20 +349,19 @@ msgstr "更新" #: builtin/mainmenu/dlg_contentstore.lua msgid "Update All [$1]" -msgstr "" +msgstr "全部更新 [$1]" #: builtin/mainmenu/dlg_contentstore.lua msgid "View more information in a web browser" -msgstr "" +msgstr "在網絡瀏覽器中查看更多信息" #: builtin/mainmenu/dlg_create_world.lua msgid "A world named \"$1\" already exists" -msgstr "名為「$1」的世界已存在" +msgstr "名為「$1」的世界已經存在" #: builtin/mainmenu/dlg_create_world.lua -#, fuzzy msgid "Additional terrain" -msgstr "其他地形" +msgstr "更多地形" #: builtin/mainmenu/dlg_create_world.lua src/settings_translation_file.cpp msgid "Altitude chill" @@ -315,23 +383,20 @@ msgid "Biomes" msgstr "生物雜訊" #: builtin/mainmenu/dlg_create_world.lua -#, fuzzy msgid "Caverns" -msgstr "洞穴雜訊" +msgstr "大洞穴" #: builtin/mainmenu/dlg_create_world.lua -#, fuzzy msgid "Caves" -msgstr "倍頻程" +msgstr "洞穴" #: builtin/mainmenu/dlg_create_world.lua msgid "Create" msgstr "建立" #: builtin/mainmenu/dlg_create_world.lua -#, fuzzy msgid "Decorations" -msgstr "迭代" +msgstr "裝飾物" #: builtin/mainmenu/dlg_create_world.lua msgid "Download a game, such as Minetest Game, from minetest.net" @@ -342,14 +407,12 @@ msgid "Download one from minetest.net" msgstr "從 minetest.net 下載一個" #: builtin/mainmenu/dlg_create_world.lua -#, fuzzy msgid "Dungeons" -msgstr "地城雜訊" +msgstr "地牢" #: builtin/mainmenu/dlg_create_world.lua -#, fuzzy msgid "Flat terrain" -msgstr "平坦世界" +msgstr "超平坦世界" #: builtin/mainmenu/dlg_create_world.lua #, fuzzy @@ -357,9 +420,8 @@ msgid "Floating landmasses in the sky" msgstr "浮地山密度" #: builtin/mainmenu/dlg_create_world.lua -#, fuzzy msgid "Floatlands (experimental)" -msgstr "浮地高度" +msgstr "空島(實驗性)" #: builtin/mainmenu/dlg_create_world.lua src/settings_translation_file.cpp msgid "Game" @@ -398,17 +460,15 @@ msgstr "地圖產生器" #: builtin/mainmenu/dlg_create_world.lua src/settings_translation_file.cpp msgid "Mapgen flags" -msgstr "Mapgen 旗標" +msgstr "地圖產生器旗標" #: builtin/mainmenu/dlg_create_world.lua -#, fuzzy msgid "Mapgen-specific flags" -msgstr "Mapgen v5 特別旗標" +msgstr "v5 地圖產生器特別旗標" #: builtin/mainmenu/dlg_create_world.lua -#, fuzzy msgid "Mountains" -msgstr "山雜訊" +msgstr "山脈" #: builtin/mainmenu/dlg_create_world.lua msgid "Mud flow" @@ -432,9 +492,8 @@ msgid "Reduces humidity with altitude" msgstr "" #: builtin/mainmenu/dlg_create_world.lua -#, fuzzy msgid "Rivers" -msgstr "河流大小" +msgstr "河流" #: builtin/mainmenu/dlg_create_world.lua msgid "Sea level rivers" @@ -443,7 +502,7 @@ msgstr "生成在海平面的河流" #: builtin/mainmenu/dlg_create_world.lua #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Seed" -msgstr "種子" +msgstr "種子碼" #: builtin/mainmenu/dlg_create_world.lua msgid "Smooth transition between biomes" @@ -456,9 +515,8 @@ msgid "" msgstr "出現在地形上的結構(對v6地圖生成器創建的樹木和叢林草無影響)" #: builtin/mainmenu/dlg_create_world.lua -#, fuzzy msgid "Structures appearing on the terrain, typically trees and plants" -msgstr "出現在地形上的結構,通常是樹木和植物" +msgstr "出現在世界上的結構,通常是樹木和植物" #: builtin/mainmenu/dlg_create_world.lua #, fuzzy @@ -480,7 +538,7 @@ msgstr "地形基礎高度" #: builtin/mainmenu/dlg_create_world.lua msgid "Trees and jungle grass" -msgstr "" +msgstr "樹木和叢林草" #: builtin/mainmenu/dlg_create_world.lua #, fuzzy @@ -492,9 +550,8 @@ msgid "Very large caverns deep in the underground" msgstr "地下深處的巨大洞穴" #: builtin/mainmenu/dlg_create_world.lua -#, fuzzy msgid "Warning: The Development Test is meant for developers." -msgstr "警告:最小化的開發測試僅供開發者使用。" +msgstr "警告:Development Test 僅供開發者使用。" #: builtin/mainmenu/dlg_create_world.lua msgid "World name" @@ -502,7 +559,7 @@ msgstr "世界名稱" #: builtin/mainmenu/dlg_create_world.lua msgid "You have no games installed." -msgstr "您未安裝遊戲。" +msgstr "您未安裝任何遊戲。" #: builtin/mainmenu/dlg_delete_content.lua msgid "Are you sure you want to delete \"$1\"?" @@ -520,11 +577,11 @@ msgstr "pkgmgr:無法刪除「$1」" #: builtin/mainmenu/dlg_delete_content.lua msgid "pkgmgr: invalid path \"$1\"" -msgstr "pkgmgr:「%1」路徑無效" +msgstr "pkgmgr:「$1」路徑無效" #: builtin/mainmenu/dlg_delete_world.lua msgid "Delete World \"$1\"?" -msgstr "刪除「$1」世界?" +msgstr "刪除世界「$1」?" #: builtin/mainmenu/dlg_rename_modpack.lua msgid "Accept" @@ -546,7 +603,7 @@ msgstr "(未提供設定描述)" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "2D Noise" -msgstr "2D 雜訊值" +msgstr "二維雜訊值" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "< Back to Settings page" @@ -556,7 +613,7 @@ msgstr "< 回到設定頁面" msgid "Browse" msgstr "瀏覽" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_settings.lua msgid "Disabled" msgstr "已停用" @@ -593,7 +650,7 @@ msgstr "請輸入有效的整數。" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Please enter a valid number." -msgstr "請輸入有效的數字。" +msgstr "請輸入一個有效的數字。" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Restore Default" @@ -603,7 +660,7 @@ msgstr "還原至預設值" msgid "Scale" msgstr "規模" -#: builtin/mainmenu/dlg_settings_advanced.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua msgid "Search" msgstr "搜尋" @@ -727,14 +784,50 @@ msgid "Loading..." msgstr "正在載入..." #: builtin/mainmenu/serverlistmgr.lua -#, fuzzy msgid "Public server list is disabled" -msgstr "已停用用戶端指令稿" +msgstr "已停用公開伺服器列表" #: builtin/mainmenu/serverlistmgr.lua msgid "Try reenabling public serverlist and check your internet connection." msgstr "請嘗試重新啟用公共伺服器清單並檢查您的網際網路連線。" +#: builtin/mainmenu/tab_about.lua +msgid "About" +msgstr "" + +#: builtin/mainmenu/tab_about.lua +msgid "Active Contributors" +msgstr "活躍的貢獻者" + +#: builtin/mainmenu/tab_about.lua +#, fuzzy +msgid "Active renderer:" +msgstr "活動目標傳送範圍" + +#: builtin/mainmenu/tab_about.lua +msgid "Core Developers" +msgstr "核心開發者" + +#: builtin/mainmenu/tab_about.lua +msgid "Open User Data Directory" +msgstr "打開用戶資料目錄" + +#: builtin/mainmenu/tab_about.lua +msgid "" +"Opens the directory that contains user-provided worlds, games, mods,\n" +"and texture packs in a file manager / explorer." +msgstr "" +"在文件管理器/文件瀏覽器中打開包含\n" +"用戶提供的世界、遊戲、mod、材質包的目錄。" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Contributors" +msgstr "先前的貢獻者" + +#: builtin/mainmenu/tab_about.lua +msgid "Previous Core Developers" +msgstr "先前的核心開發者" + #: builtin/mainmenu/tab_content.lua msgid "Browse online content" msgstr "瀏覽線上內容" @@ -775,37 +868,6 @@ msgstr "解除安裝套件" msgid "Use Texture Pack" msgstr "使用材質包" -#: builtin/mainmenu/tab_credits.lua -msgid "Active Contributors" -msgstr "活躍的貢獻者" - -#: builtin/mainmenu/tab_credits.lua -msgid "Core Developers" -msgstr "核心開發者" - -#: builtin/mainmenu/tab_credits.lua -msgid "Credits" -msgstr "感謝" - -#: builtin/mainmenu/tab_credits.lua -#, fuzzy -msgid "Open User Data Directory" -msgstr "選擇目錄" - -#: builtin/mainmenu/tab_credits.lua -msgid "" -"Opens the directory that contains user-provided worlds, games, mods,\n" -"and texture packs in a file manager / explorer." -msgstr "" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Contributors" -msgstr "先前的貢獻者" - -#: builtin/mainmenu/tab_credits.lua -msgid "Previous Core Developers" -msgstr "先前的核心開發者" - #: builtin/mainmenu/tab_local.lua msgid "Announce Server" msgstr "公佈伺服器" @@ -835,7 +897,7 @@ msgstr "主機伺服器" msgid "Install games from ContentDB" msgstr "從ContentDB安裝遊戲" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Name" msgstr "" @@ -847,23 +909,21 @@ msgstr "新增" msgid "No world created or selected!" msgstr "未建立或選取世界!" -#: builtin/mainmenu/tab_local.lua -#, fuzzy +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Password" -msgstr "新密碼" +msgstr "密碼" #: builtin/mainmenu/tab_local.lua msgid "Play Game" msgstr "遊玩遊戲" -#: builtin/mainmenu/tab_local.lua +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_online.lua msgid "Port" msgstr "連線埠" #: builtin/mainmenu/tab_local.lua -#, fuzzy msgid "Select Mods" -msgstr "選取世界:" +msgstr "選擇模組:" #: builtin/mainmenu/tab_local.lua msgid "Select World:" @@ -878,8 +938,13 @@ msgid "Start Game" msgstr "開始遊戲" #: builtin/mainmenu/tab_online.lua -msgid "Address / Port" -msgstr "地址/連線埠" +#, fuzzy +msgid "Address" +msgstr "- 地址: " + +#: builtin/mainmenu/tab_online.lua src/client/keycode.cpp +msgid "Clear" +msgstr "清除" #: builtin/mainmenu/tab_online.lua msgid "Connect" @@ -889,34 +954,46 @@ msgstr "連線" msgid "Creative mode" msgstr "創造模式" +#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "Damage enabled" -msgstr "已啟用傷害" +#, fuzzy +msgid "Damage / PvP" +msgstr "傷害" #: builtin/mainmenu/tab_online.lua msgid "Del. Favorite" msgstr "刪除收藏" #: builtin/mainmenu/tab_online.lua -msgid "Favorite" +#, fuzzy +msgid "Favorites" msgstr "收藏" +#: builtin/mainmenu/tab_online.lua +msgid "Incompatible Servers" +msgstr "" + #: builtin/mainmenu/tab_online.lua msgid "Join Game" msgstr "加入遊戲" -#: builtin/mainmenu/tab_online.lua -msgid "Name / Password" -msgstr "名稱/密碼" - #: builtin/mainmenu/tab_online.lua msgid "Ping" msgstr "Ping" -#. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua -msgid "PvP enabled" -msgstr "已啟用 PvP" +#, fuzzy +msgid "Public Servers" +msgstr "公佈伺服器" + +#: builtin/mainmenu/tab_online.lua +msgid "Refresh" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +#, fuzzy +msgid "Server Description" +msgstr "伺服器描述" #: builtin/mainmenu/tab_settings.lua msgid "2x" @@ -924,7 +1001,7 @@ msgstr "2x" #: builtin/mainmenu/tab_settings.lua msgid "3D Clouds" -msgstr "3D 雲朵" +msgstr "三維雲朵" #: builtin/mainmenu/tab_settings.lua msgid "4x" @@ -958,15 +1035,38 @@ msgstr "變更按鍵" msgid "Connected Glass" msgstr "連接玻璃" +#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp +#, fuzzy +msgid "Dynamic shadows" +msgstr "字型陰影" + +#: builtin/mainmenu/tab_settings.lua +msgid "Dynamic shadows: " +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Fancy Leaves" msgstr "華麗葉子" #: builtin/mainmenu/tab_settings.lua +msgid "High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Low" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Medium" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +#, fuzzy msgid "Mipmap" msgstr "Mip 貼圖" #: builtin/mainmenu/tab_settings.lua +#, fuzzy msgid "Mipmap + Aniso. Filter" msgstr "Mip 貼圖 + Aniso. 過濾器" @@ -975,16 +1075,17 @@ msgid "No Filter" msgstr "沒有過濾器" #: builtin/mainmenu/tab_settings.lua +#, fuzzy msgid "No Mipmap" msgstr "沒有 Mip 貼圖" #: builtin/mainmenu/tab_settings.lua msgid "Node Highlighting" -msgstr "突顯節點" +msgstr "突顯方塊" #: builtin/mainmenu/tab_settings.lua msgid "Node Outlining" -msgstr "加入節點外框" +msgstr "加入方塊外框" #: builtin/mainmenu/tab_settings.lua msgid "None" @@ -1015,9 +1116,8 @@ msgid "Shaders" msgstr "著色器" #: builtin/mainmenu/tab_settings.lua -#, fuzzy msgid "Shaders (experimental)" -msgstr "浮地高度" +msgstr "著色器(實驗性)" #: builtin/mainmenu/tab_settings.lua msgid "Shaders (unavailable)" @@ -1051,6 +1151,14 @@ msgstr "觸控閾值:(像素)" msgid "Trilinear Filter" msgstr "三線性過濾器" +#: builtin/mainmenu/tab_settings.lua +msgid "Ultra High" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Very Low" +msgstr "" + #: builtin/mainmenu/tab_settings.lua msgid "Waving Leaves" msgstr "葉子擺動" @@ -1123,18 +1231,6 @@ 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" - #: src/client/game.cpp msgid "" "\n" @@ -1377,6 +1473,11 @@ msgstr "MiB/秒" msgid "Minimap currently disabled by game or mod" msgstr "迷你地圖目前已被遊戲或 Mod 停用" +#: src/client/game.cpp +#, fuzzy +msgid "Multiplayer" +msgstr "單人遊戲" + #: src/client/game.cpp msgid "Noclip mode disabled" msgstr "已停用穿牆模式" @@ -1519,10 +1620,6 @@ msgstr "退格鍵" msgid "Caps Lock" msgstr "大寫鎖定鍵" -#: src/client/keycode.cpp -msgid "Clear" -msgstr "清除" - #: src/client/keycode.cpp msgid "Control" msgstr "Control" @@ -1815,7 +1912,8 @@ msgid "Proceed" msgstr "繼續" #: src/gui/guiKeyChangeMenu.cpp -msgid "\"Special\" = climb down" +#, fuzzy +msgid "\"Aux1\" = climb down" msgstr "\"Special\" = 向下攀爬" #: src/gui/guiKeyChangeMenu.cpp @@ -1826,10 +1924,18 @@ msgstr "自動前進" msgid "Automatic jumping" msgstr "自動跳躍" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Aux1" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Backward" msgstr "後退" +#: src/gui/guiKeyChangeMenu.cpp +msgid "Block bounds" +msgstr "" + #: src/gui/guiKeyChangeMenu.cpp msgid "Change camera" msgstr "變更相機" @@ -1918,10 +2024,6 @@ msgstr "螢幕擷取" msgid "Sneak" msgstr "潛行" -#: src/gui/guiKeyChangeMenu.cpp -msgid "Special" -msgstr "特殊" - #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle HUD" msgstr "切換 HUD" @@ -2010,8 +2112,8 @@ 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 " +"(Android) Use virtual joystick to trigger \"Aux1\" button.\n" +"If enabled, virtual joystick will also tap \"Aux1\" button when out of main " "circle." msgstr "(Android) 使用虛擬搖桿觸發 \"aux\" 按鍵。\n" @@ -2341,6 +2443,16 @@ msgstr "自動儲存視窗大小" msgid "Autoscaling mode" msgstr "" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Aux1 key" +msgstr "跳躍鍵" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Aux1 key for climbing/descending" +msgstr "用於攀爬/下降的按鍵" + #: src/settings_translation_file.cpp msgid "Backward key" msgstr "後退鍵" @@ -2388,10 +2500,6 @@ msgstr "Biome API 溫度與濕度 雜訊 參數" msgid "Biome noise" msgstr "生物雜訊" -#: src/settings_translation_file.cpp -msgid "Bits per pixel (aka color depth) in fullscreen mode." -msgstr "全螢幕模式中的位元/像素(又稱色彩深度)。" - #: src/settings_translation_file.cpp #, fuzzy msgid "Block send optimize distance" @@ -2496,6 +2604,11 @@ msgid "" "Where 0.0 is minimum light level, 1.0 is maximum light level." msgstr "" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Chat command time message threshold" +msgstr "聊天訊息踢出閾值" + #: src/settings_translation_file.cpp #, fuzzy msgid "Chat font size" @@ -2595,6 +2708,11 @@ msgstr "選單中的雲朵" msgid "Colored fog" msgstr "彩色迷霧" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Colored shadows" +msgstr "彩色迷霧" + #: src/settings_translation_file.cpp msgid "" "Comma-separated list of flags to hide in the content repository.\n" @@ -2803,11 +2921,10 @@ msgstr "預設遊戲" #: src/settings_translation_file.cpp msgid "" -"Default timeout for cURL, stated in milliseconds.\n" -"Only has an effect if compiled with cURL." +"Define shadow filtering quality\n" +"This simulates the soft shadows effect by applying a PCF or poisson disk\n" +"but also uses more resources." msgstr "" -"cURL 的預設逾時,以毫秒計算。\n" -"只會在與 cURL 一同編譯的情況下才會有影響。" #: src/settings_translation_file.cpp msgid "Defines areas where trees have apples." @@ -2983,6 +3100,12 @@ msgstr "" "在用戶端上啟用 Lua 修改支援。\n" "這個支援是實驗性的,且 API 可能會變動。" +#: src/settings_translation_file.cpp +msgid "" +"Enable colored shadows. \n" +"On true translucent nodes cast colored shadows. This is expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable console window" msgstr "啟用終端機視窗" @@ -3010,6 +3133,13 @@ msgstr "啟用 mod 安全性" msgid "Enable players getting damage and dying." msgstr "啟用玩家傷害及瀕死。" +#: src/settings_translation_file.cpp +msgid "" +"Enable poisson disk filtering.\n" +"On true uses poisson disk to make \"soft shadows\". Otherwise uses PCF " +"filtering." +msgstr "" + #: src/settings_translation_file.cpp msgid "Enable random user input (only used for testing)." msgstr "啟用隨機使用者輸入(僅供測試使用)。" @@ -3148,18 +3278,6 @@ msgstr "墜落晃動因素" msgid "Fallback font path" msgstr "備用字型" -#: src/settings_translation_file.cpp -msgid "Fallback font shadow" -msgstr "後備字型陰影" - -#: src/settings_translation_file.cpp -msgid "Fallback font shadow alpha" -msgstr "後備字型陰影 alpha 值" - -#: src/settings_translation_file.cpp -msgid "Fallback font size" -msgstr "後備字型大小" - #: src/settings_translation_file.cpp msgid "Fast key" msgstr "快速按鍵" @@ -3179,7 +3297,7 @@ msgstr "快速移動" #: src/settings_translation_file.cpp #, fuzzy msgid "" -"Fast movement (via the \"special\" key).\n" +"Fast movement (via the \"Aux1\" key).\n" "This requires the \"fast\" privilege on the server." msgstr "" "快速移動(透過使用鍵)。\n" @@ -3219,9 +3337,9 @@ msgstr "電影色調映射" #, 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" -"light edge to transparent textures. Apply this filter to clean that up\n" -"at texture load time." +"which PNG optimizers usually discard, often resulting in dark or\n" +"light edges to transparent textures. Apply a filter to clean that up\n" +"at texture load time. This is automatically enabled if mipmapping is enabled." msgstr "" "已過濾的材質會與完全透明的鄰居混合 RGB 值,\n" "PNG 最佳化器通常會丟棄,有時候會導致透明材質\n" @@ -3327,10 +3445,6 @@ msgstr "字型大小" msgid "Font size of the default font in point (pt)." msgstr "" -#: src/settings_translation_file.cpp -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 "" @@ -3435,10 +3549,6 @@ msgstr "" msgid "Full screen" msgstr "全螢幕" -#: src/settings_translation_file.cpp -msgid "Full screen BPP" -msgstr "全螢幕 BPP" - #: src/settings_translation_file.cpp msgid "Fullscreen mode." msgstr "全螢幕模式。" @@ -3548,7 +3658,9 @@ msgid "Heat noise" msgstr "熱 雜訊" #: src/settings_translation_file.cpp -msgid "Height component of the initial window size." +#, fuzzy +msgid "" +"Height component of the initial window size. Ignored in fullscreen mode." msgstr "初始視窗大小的高度組件。" #: src/settings_translation_file.cpp @@ -3559,10 +3671,6 @@ msgstr "高度雜訊" msgid "Height select noise" msgstr "高度 選擇 雜訊" -#: src/settings_translation_file.cpp -msgid "High-precision FPU" -msgstr "高精度 FPU" - #: src/settings_translation_file.cpp msgid "Hill steepness" msgstr "山丘坡度" @@ -3801,8 +3909,7 @@ msgstr "" #: src/settings_translation_file.cpp #, fuzzy msgid "" -"If disabled, \"special\" key is used to fly fast if both fly and fast mode " -"are\n" +"If disabled, \"Aux1\" key is used to fly fast if both fly and fast mode are\n" "enabled." msgstr "若停用,在飛行與快速模式皆啟用時,「使用」鍵將用於快速飛行。" @@ -3831,8 +3938,8 @@ msgstr "" #: src/settings_translation_file.cpp #, fuzzy msgid "" -"If enabled, \"special\" key instead of \"sneak\" key is used for climbing " -"down and\n" +"If enabled, \"Aux1\" key instead of \"Sneak\" key is used for climbing down " +"and\n" "descending." msgstr "若啟用,向下爬與下降將使用「使用」鍵而非「潛行」鍵。" @@ -3882,6 +3989,12 @@ msgid "" "to this distance from the player to the node." msgstr "" +#: src/settings_translation_file.cpp +msgid "" +"If the execution of a chat command takes longer than this specified time in\n" +"seconds, add the time information to the chat command message" +msgstr "" + #: src/settings_translation_file.cpp msgid "" "If the file size of debug.txt exceeds the number of megabytes specified in\n" @@ -5043,10 +5156,6 @@ msgid "" "Make fog and sky colors depend on daytime (dawn/sunset) and view direction." msgstr "讓霧與天空的顏色取決於時間(黎明/日落)與觀看方向。" -#: src/settings_translation_file.cpp -msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." -msgstr "讓 DirectX 與 LuaJIT 一同運作。若其造成麻煩則請停用。" - #: src/settings_translation_file.cpp msgid "Makes all liquids opaque" msgstr "讓所有的液體不透明" @@ -5140,6 +5249,11 @@ msgstr "地圖生成限制" msgid "Map save interval" msgstr "地圖儲存間隔" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Map update time" +msgstr "液體更新 tick" + #: src/settings_translation_file.cpp msgid "Mapblock limit" msgstr "地圖區塊限制" @@ -5263,6 +5377,10 @@ msgstr "最高 FPS" msgid "Maximum FPS when the window is not focused, or when the game is paused." msgstr "當遊戲暫停時的最高 FPS。" +#: src/settings_translation_file.cpp +msgid "Maximum distance to render shadows." +msgstr "" + #: src/settings_translation_file.cpp msgid "Maximum forceloaded blocks" msgstr "強制載入區塊的最大值" @@ -5383,9 +5501,18 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -msgid "Maximum time in ms a file download (e.g. a mod download) may take." +#, fuzzy +msgid "" +"Maximum time a file download (e.g. a mod download) may take, stated in " +"milliseconds." msgstr "檔案下載(例如下載 mod)可花費的最大時間,以毫秒計。" +#: src/settings_translation_file.cpp +msgid "" +"Maximum time an interactive request (e.g. server list fetch) may take, " +"stated in milliseconds." +msgstr "" + #: src/settings_translation_file.cpp msgid "Maximum users" msgstr "最多使用者" @@ -5608,11 +5735,6 @@ 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 " @@ -5718,6 +5840,11 @@ msgstr "玩家傳送距離" msgid "Player versus player" msgstr "玩家對玩家" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Poisson filtering" +msgstr "雙線性過濾器" + #: src/settings_translation_file.cpp msgid "" "Port to connect to (UDP).\n" @@ -6098,6 +6225,43 @@ msgstr "" msgid "Set the maximum character length of a chat message sent by clients." msgstr "設定用戶端傳送之聊天訊息的最大字元長度。" +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow strength.\n" +"Lower value means lighter shadows, higher value means darker shadows." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the shadow update time.\n" +"Lower value means shadows and map updates faster, but it consume more " +"resources.\n" +"Minimun value 0.001 seconds max value 0.2 seconds" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the soft shadow radius size.\n" +"Lower values mean sharper shadows bigger values softer.\n" +"Minimun value 1.0 and max value 10.0" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the tilt of Sun/Moon orbit in degrees\n" +"Value of 0 means no tilt / vertical orbit.\n" +"Minimun value 0.0 and max value 60.0" +msgstr "" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "" +"Set to true to enable Shadow Mapping.\n" +"Requires shaders to be enabled." +msgstr "" +"設定為真以啟用擺動的樹葉。\n" +"必須同時啟用著色器。" + #: src/settings_translation_file.cpp #, fuzzy msgid "" @@ -6125,6 +6289,13 @@ msgstr "" "設定為真以啟用擺動的植物。\n" "必須同時啟用著色器。" +#: src/settings_translation_file.cpp +msgid "" +"Sets shadow texture quality to 32 bits.\n" +"On false, 16 bits texture will be used.\n" +"This can cause much more artifacts in the shadow." +msgstr "" + #: src/settings_translation_file.cpp msgid "Shader path" msgstr "著色器路徑" @@ -6140,6 +6311,24 @@ msgstr "" "著色器讓您可以有進階視覺效果並可能會在某些顯示卡上增強效能。\n" "這僅在 OpenGL 視訊後端上才能運作。" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Shadow filter quality" +msgstr "螢幕截圖品質" + +#: src/settings_translation_file.cpp +msgid "Shadow map max distance in nodes to render shadows" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow map texture in 32 bits" +msgstr "" + +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Shadow map texture size" +msgstr "過濾器的最大材質大小" + #: src/settings_translation_file.cpp #, fuzzy msgid "" @@ -6148,11 +6337,8 @@ msgid "" 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 則陰影將不會被繪製。" +msgid "Shadow strength" +msgstr "" #: src/settings_translation_file.cpp msgid "Shape of the minimap. Enabled = round, disabled = square." @@ -6203,6 +6389,10 @@ msgstr "" "增加快取命中率,減少從主執行緒複製資料,從\n" "而減少抖動。" +#: src/settings_translation_file.cpp +msgid "Sky Body Orbit Tilt" +msgstr "" + #: src/settings_translation_file.cpp msgid "Slice w" msgstr "切片 w" @@ -6261,20 +6451,15 @@ msgstr "走路速度" msgid "Sneaking speed, in nodes per second." msgstr "" +#: src/settings_translation_file.cpp +#, fuzzy +msgid "Soft shadow radius" +msgstr "字型陰影 alpha 值" + #: src/settings_translation_file.cpp msgid "Sound" msgstr "聲音" -#: src/settings_translation_file.cpp -#, fuzzy -msgid "Special key" -msgstr "潛行按鍵" - -#: src/settings_translation_file.cpp -#, fuzzy -msgid "Special key for climbing/descending" -msgstr "用於攀爬/下降的按鍵" - #: src/settings_translation_file.cpp msgid "" "Specifies URL from which client fetches media instead of using UDP.\n" @@ -6410,6 +6595,13 @@ msgstr "地形持續性雜訊" msgid "Texture path" msgstr "材質路徑" +#: src/settings_translation_file.cpp +msgid "" +"Texture size to render the shadow map on.\n" +"This must be a power of two.\n" +"Bigger numbers create better shadowsbut it is also more expensive." +msgstr "" + #: src/settings_translation_file.cpp msgid "" "Textures on a node may be aligned either to the node or to the world.\n" @@ -6489,7 +6681,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "" -"The rendering back-end for Irrlicht.\n" +"The rendering back-end.\n" "A restart is required after changing this.\n" "Note: On Android, stick with OGLES1 if unsure! App may fail to start " "otherwise.\n" @@ -6811,7 +7003,7 @@ msgid "Viewing range" msgstr "視野" #: src/settings_translation_file.cpp -msgid "Virtual joystick triggers aux button" +msgid "Virtual joystick triggers Aux1 button" msgstr "" #: src/settings_translation_file.cpp @@ -6922,9 +7114,8 @@ msgid "" "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" +"memory. Powers of 2 are recommended. This setting is ONLY applies if\n" +"bilinear/trilinear/anisotropic filtering is enabled.\n" "This is also used as the base node texture size for world-aligned\n" "texture autoscaling." msgstr "" @@ -6992,7 +7183,8 @@ msgid "" msgstr "是否顯示用戶端除錯資訊(與按下 F5 有同樣的效果)。" #: src/settings_translation_file.cpp -msgid "Width component of the initial window size." +#, fuzzy +msgid "Width component of the initial window size. Ignored in fullscreen mode." msgstr "初始視窗大小的寬度元素。" #: src/settings_translation_file.cpp @@ -7108,12 +7300,13 @@ msgid "cURL file download timeout" msgstr "cURL 檔案下載逾時" #: src/settings_translation_file.cpp -msgid "cURL parallel limit" -msgstr "cURL 並行限制" +#, fuzzy +msgid "cURL interactive timeout" +msgstr "cURL 逾時" #: src/settings_translation_file.cpp -msgid "cURL timeout" -msgstr "cURL 逾時" +msgid "cURL parallel limit" +msgstr "cURL 並行限制" #~ msgid "" #~ "0 = parallax occlusion with slope information (faster).\n" @@ -7122,6 +7315,9 @@ msgstr "cURL 逾時" #~ "0 = 包含斜率資訊的視差遮蔽(較快)。\n" #~ "1 = 替換貼圖(較慢,較準確)。" +#~ msgid "Address / Port" +#~ msgstr "地址/連線埠" + #~ msgid "" #~ "Adjust the gamma encoding for the light tables. Higher numbers are " #~ "brighter.\n" @@ -7136,6 +7332,9 @@ msgstr "cURL 逾時" #~ msgid "Back" #~ msgstr "返回" +#~ msgid "Bits per pixel (aka color depth) in fullscreen mode." +#~ msgstr "全螢幕模式中的位元/像素(又稱色彩深度)。" + #~ msgid "Bump Mapping" #~ msgstr "映射貼圖" @@ -7159,13 +7358,26 @@ msgstr "cURL 逾時" #~ msgid "Controls width of tunnels, a smaller value creates wider tunnels." #~ msgstr "控制隧道的寬度,較小的值會創造出較寬的隧道。" +#~ msgid "Credits" +#~ msgstr "感謝" + #~ msgid "Crosshair color (R,G,B)." #~ msgstr "十字色彩 (R,G,B)。" +#~ msgid "Damage enabled" +#~ msgstr "已啟用傷害" + #, fuzzy #~ msgid "Darkness sharpness" #~ msgstr "湖泊坡度" +#~ msgid "" +#~ "Default timeout for cURL, stated in milliseconds.\n" +#~ "Only has an effect if compiled with cURL." +#~ msgstr "" +#~ "cURL 的預設逾時,以毫秒計算。\n" +#~ "只會在與 cURL 一同編譯的情況下才會有影響。" + #~ msgid "" #~ "Defines areas of floatland smooth terrain.\n" #~ "Smooth floatlands occur when noise > 0." @@ -7223,12 +7435,24 @@ msgstr "cURL 逾時" #~ msgid "FPS in pause menu" #~ msgstr "在暫停選單中的 FPS" +#~ msgid "Fallback font shadow" +#~ msgstr "後備字型陰影" + +#~ msgid "Fallback font shadow alpha" +#~ msgstr "後備字型陰影 alpha 值" + +#~ msgid "Fallback font size" +#~ msgstr "後備字型大小" + #~ msgid "Floatland base height noise" #~ msgstr "浮地基礎高度噪音" #~ msgid "Font shadow alpha (opaqueness, between 0 and 255)." #~ msgstr "字型陰影 alpha(不透明度,介於 0 到 255)。" +#~ msgid "Full screen BPP" +#~ msgstr "全螢幕 BPP" + #~ msgid "Gamma" #~ msgstr "Gamma" @@ -7238,6 +7462,9 @@ msgstr "cURL 逾時" #~ msgid "Generate normalmaps" #~ msgstr "生成一般地圖" +#~ msgid "High-precision FPU" +#~ msgstr "高精度 FPU" + #~ msgid "IPv6 support." #~ msgstr "IPv6 支援。" @@ -7255,6 +7482,9 @@ msgstr "cURL 逾時" #~ msgid "Main menu style" #~ msgstr "主選單指令稿" +#~ msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." +#~ msgstr "讓 DirectX 與 LuaJIT 一同運作。若其造成麻煩則請停用。" + #~ msgid "Minimap in radar mode, Zoom x2" #~ msgstr "雷達模式的迷你地圖,放大 2 倍" @@ -7267,6 +7497,9 @@ msgstr "cURL 逾時" #~ msgid "Minimap in surface mode, Zoom x4" #~ msgstr "表面模式的迷你地圖,放大 4 倍" +#~ msgid "Name / Password" +#~ msgstr "名稱/密碼" + #~ msgid "Name/Password" #~ msgstr "名稱/密碼" @@ -7319,6 +7552,9 @@ msgstr "cURL 逾時" #~ msgid "Path to save screenshots at." #~ msgstr "儲存螢幕截圖的路徑。" +#~ msgid "PvP enabled" +#~ msgstr "已啟用玩家對戰" + #~ msgid "Reset singleplayer world" #~ msgstr "重設單人遊戲世界" @@ -7329,6 +7565,19 @@ msgstr "cURL 逾時" #~ msgid "Shadow limit" #~ msgstr "陰影限制" +#, fuzzy +#~ msgid "" +#~ "Shadow offset (in pixels) of the fallback font. If 0, then shadow will " +#~ "not be drawn." +#~ msgstr "字型陰影偏移,若為 0 則陰影將不會被繪製。" + +#~ msgid "Special" +#~ msgstr "特殊" + +#, fuzzy +#~ msgid "Special key" +#~ msgstr "潛行按鍵" + #~ msgid "Start Singleplayer" #~ msgstr "開始單人遊戲" @@ -7370,3 +7619,6 @@ msgstr "cURL 逾時" #~ msgid "Yes" #~ msgstr "是" + +#~ msgid "needs_fallback_font" +#~ msgstr "yes" diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 9526e88f9..dc2072d11 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -203,6 +203,7 @@ endif(ENABLE_REDIS) find_package(SQLite3 REQUIRED) + OPTION(ENABLE_PROMETHEUS "Enable prometheus client support" FALSE) set(USE_PROMETHEUS FALSE) @@ -239,6 +240,10 @@ if(ENABLE_SPATIAL) endif(ENABLE_SPATIAL) +find_package(ZLIB REQUIRED) +find_package(Zstd REQUIRED) + + if(NOT MSVC) set(USE_GPROF FALSE CACHE BOOL "Use -pg flag for g++") endif() @@ -267,13 +272,10 @@ if(WIN32) endif() set(PLATFORM_LIBS ws2_32.lib version.lib shlwapi.lib ${PLATFORM_LIBS}) - # Zlib stuff - find_path(ZLIB_INCLUDE_DIR "zlib.h" DOC "Zlib include directory") - find_library(ZLIB_LIBRARIES "zlib" DOC "Path to zlib library") - - # Dll's are automatically copied to the output directory by vcpkg when VCPKG_APPLOCAL_DEPS=ON + # DLLs are automatically copied to the output directory by vcpkg when VCPKG_APPLOCAL_DEPS=ON if(NOT VCPKG_APPLOCAL_DEPS) - find_file(ZLIB_DLL NAMES "zlib.dll" "zlib1.dll" DOC "Path to zlib.dll for installation (optional)") + find_file(ZLIB_DLL NAMES "" DOC "Path to Zlib DLL for installation (optional)") + find_file(ZSTD_DLL NAMES "" DOC "Path to Zstd DLL for installation (optional)") if(ENABLE_SOUND) set(OPENAL_DLL "" CACHE FILEPATH "Path to OpenAL32.dll for installation (optional)") set(OGG_DLL "" CACHE FILEPATH "Path to libogg.dll for installation (optional)") @@ -293,35 +295,8 @@ else() if(NOT HAIKU AND NOT APPLE) find_package(X11 REQUIRED) endif(NOT HAIKU AND NOT APPLE) + endif() - ## - # 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(PNG REQUIRED) - if(APPLE) - 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 - IOKIT_LIB - ) - 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) set(PLATFORM_LIBS "-framework CoreFoundation" ${PLATFORM_LIBS}) @@ -511,9 +486,8 @@ endif() include_directories( ${PROJECT_BINARY_DIR} ${PROJECT_SOURCE_DIR} - ${IRRLICHT_INCLUDE_DIR} ${ZLIB_INCLUDE_DIR} - ${PNG_INCLUDE_DIR} + ${ZSTD_INCLUDE_DIR} ${SOUND_INCLUDE_DIRS} ${SQLITE3_INCLUDE_DIR} ${LUA_INCLUDE_DIR} @@ -548,10 +522,8 @@ if(BUILD_CLIENT) target_link_libraries( ${PROJECT_NAME} ${ZLIB_LIBRARIES} - ${IRRLICHT_LIBRARY} - ${JPEG_LIBRARIES} - ${BZIP2_LIBRARIES} - ${PNG_LIBRARIES} + IrrlichtMt::IrrlichtMt + ${ZSTD_LIBRARY} ${X11_LIBRARIES} ${SOUND_LIBRARIES} ${SQLITE3_LIBRARY} @@ -559,7 +531,6 @@ if(BUILD_CLIENT) ${GMP_LIBRARY} ${JSON_LIBRARY} ${PLATFORM_LIBS} - ${CLIENT_PLATFORM_LIBS} ) if(NOT USE_LUAJIT) set_target_properties(${PROJECT_NAME} PROPERTIES @@ -629,9 +600,15 @@ endif(BUILD_CLIENT) if(BUILD_SERVER) add_executable(${PROJECT_NAME}server ${server_SRCS} ${extra_windows_SRCS}) add_dependencies(${PROJECT_NAME}server GenerateVersion) + + get_target_property( + IRRLICHT_INCLUDES IrrlichtMt::IrrlichtMt INTERFACE_INCLUDE_DIRECTORIES) + # Doesn't work without PRIVATE/PUBLIC/INTERFACE mode specified. + target_include_directories(${PROJECT_NAME}server PRIVATE ${IRRLICHT_INCLUDES}) target_link_libraries( ${PROJECT_NAME}server ${ZLIB_LIBRARIES} + ${ZSTD_LIBRARY} ${SQLITE3_LIBRARY} ${JSON_LIBRARY} ${LUA_LIBRARY} @@ -685,12 +662,11 @@ set(GETTEXT_BLACKLISTED_LOCALES he hi kn - ky ms_Arab th ) -option(APPLY_LOCALE_BLACKLIST "Use a blacklist to avoid broken locales" TRUE) +option(APPLY_LOCALE_BLACKLIST "Use a blacklist to avoid known broken locales" TRUE) if (GETTEXTLIB_FOUND AND APPLY_LOCALE_BLACKLIST) set(GETTEXT_USED_LOCALES "") @@ -700,6 +676,8 @@ if (GETTEXTLIB_FOUND AND APPLY_LOCALE_BLACKLIST) endif() endforeach() message(STATUS "Locale blacklist applied; Locales used: ${GETTEXT_USED_LOCALES}") +elseif (GETTEXTLIB_FOUND) + set(GETTEXT_USED_LOCALES ${GETTEXT_AVAILABLE_LOCALES}) endif() # Set some optimizations and tweaks @@ -758,7 +736,16 @@ else() check_c_source_compiles("#ifndef __aarch64__\n#error\n#endif\nint main(){}" IS_AARCH64) if(IS_AARCH64) # Move text segment below LuaJIT's 47-bit limit (see issue #9367) - SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-Ttext-segment=0x200000000") + if(CMAKE_SYSTEM_NAME MATCHES "FreeBSD") + # FreeBSD uses lld, and lld does not support -Ttext-segment, suggesting + # --image-base instead. Not sure if it's equivalent change for the purpose + # but at least if fixes build on FreeBSD/aarch64 + # XXX: the condition should also be changed to check for lld regardless of + # os, bit CMake doesn't have anything like CMAKE_LINKER_IS_LLD yet + SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--image-base=0x200000000") + else() + SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-Ttext-segment=0x200000000") + endif() endif() endif() @@ -838,6 +825,9 @@ if(WIN32) if(ZLIB_DLL) install(FILES ${ZLIB_DLL} DESTINATION ${BINDIR}) endif() + if(ZSTD_DLL) + install(FILES ${ZSTD_DLL} DESTINATION ${BINDIR}) + endif() if(BUILD_CLIENT AND FREETYPE_DLL) install(FILES ${FREETYPE_DLL} DESTINATION ${BINDIR}) endif() diff --git a/src/chat.cpp b/src/chat.cpp index c9317a079..162622abe 100644 --- a/src/chat.cpp +++ b/src/chat.cpp @@ -35,6 +35,17 @@ ChatBuffer::ChatBuffer(u32 scrollback): if (m_scrollback == 0) m_scrollback = 1; m_empty_formatted_line.first = true; + + m_cache_clickable_chat_weblinks = false; + // Curses mode cannot access g_settings here + if (g_settings != nullptr) { + m_cache_clickable_chat_weblinks = g_settings->getBool("clickable_chat_weblinks"); + if (m_cache_clickable_chat_weblinks) { + std::string colorval = g_settings->get("chat_weblink_color"); + parseColorString(colorval, m_cache_chat_weblink_color, false, 255); + m_cache_chat_weblink_color.setAlpha(255); + } + } } void ChatBuffer::addLine(const std::wstring &name, const std::wstring &text) @@ -263,78 +274,144 @@ u32 ChatBuffer::formatChatLine(const ChatLine& line, u32 cols, //EnrichedString line_text(line.text); next_line.first = true; - bool text_processing = false; + // Set/use forced newline after the last frag in each line + bool mark_newline = false; // Produce fragments and layout them into lines - while (!next_frags.empty() || in_pos < line.text.size()) - { + while (!next_frags.empty() || in_pos < line.text.size()) { + mark_newline = false; // now using this to USE line-end frag + // Layout fragments into lines - while (!next_frags.empty()) - { + while (!next_frags.empty()) { ChatFormattedFragment& frag = next_frags[0]; - if (frag.text.size() <= cols - out_column) - { + + // Force newline after this frag, if marked + if (frag.column == INT_MAX) + mark_newline = true; + + if (frag.text.size() <= cols - out_column) { // Fragment fits into current line frag.column = out_column; next_line.fragments.push_back(frag); out_column += frag.text.size(); next_frags.erase(next_frags.begin()); - } - else - { + } else { // Fragment does not fit into current line // So split it up temp_frag.text = frag.text.substr(0, cols - out_column); temp_frag.column = out_column; - //temp_frag.bold = frag.bold; + temp_frag.weblink = frag.weblink; + next_line.fragments.push_back(temp_frag); frag.text = frag.text.substr(cols - out_column); + frag.column = 0; out_column = cols; } - if (out_column == cols || text_processing) - { + + if (out_column == cols || mark_newline) { // End the current line destination.push_back(next_line); num_added++; next_line.fragments.clear(); next_line.first = false; - out_column = text_processing ? hanging_indentation : 0; + out_column = hanging_indentation; + mark_newline = false; } } - // Produce fragment - if (in_pos < line.text.size()) - { - u32 remaining_in_input = line.text.size() - in_pos; - u32 remaining_in_output = cols - out_column; + // Produce fragment(s) for next formatted line + if (!(in_pos < line.text.size())) + continue; + const std::wstring &linestring = line.text.getString(); + u32 remaining_in_output = cols - out_column; + size_t http_pos = std::wstring::npos; + mark_newline = false; // now using this to SET line-end frag + + // Construct all frags for next output line + while (!mark_newline) { // Determine a fragment length <= the minimum of // remaining_in_{in,out}put. Try to end the fragment // on a word boundary. - u32 frag_length = 1, space_pos = 0; + u32 frag_length = 0, space_pos = 0; + u32 remaining_in_input = line.text.size() - in_pos; + + if (m_cache_clickable_chat_weblinks) { + // Note: unsigned(-1) on fail + http_pos = linestring.find(L"https://", in_pos); + if (http_pos == std::wstring::npos) + http_pos = linestring.find(L"http://", in_pos); + if (http_pos != std::wstring::npos) + http_pos -= in_pos; + } + while (frag_length < remaining_in_input && - frag_length < remaining_in_output) - { - if (iswspace(line.text.getString()[in_pos + frag_length])) + frag_length < remaining_in_output) { + if (iswspace(linestring[in_pos + frag_length])) space_pos = frag_length; ++frag_length; } + + if (http_pos >= remaining_in_output) { + // Http not in range, grab until space or EOL, halt as normal. + // Note this works because (http_pos = npos) is unsigned(-1) + + mark_newline = true; + } else if (http_pos == 0) { + // At http, grab ALL until FIRST whitespace or end marker. loop. + // If at end of string, next loop will be empty string to mark end of weblink. + + frag_length = 6; // Frag is at least "http://" + + // Chars to mark end of weblink + // TODO? replace this with a safer (slower) regex whitelist? + static const std::wstring delim_chars = L"\'\";,"; + wchar_t tempchar = linestring[in_pos+frag_length]; + while (frag_length < remaining_in_input && + !iswspace(tempchar) && + delim_chars.find(tempchar) == std::wstring::npos) { + ++frag_length; + tempchar = linestring[in_pos+frag_length]; + } + + space_pos = frag_length - 1; + // This frag may need to be force-split. That's ok, urls aren't "words" + if (frag_length >= remaining_in_output) { + mark_newline = true; + } + } else { + // Http in range, grab until http, loop + + space_pos = http_pos - 1; + frag_length = http_pos; + } + + // Include trailing space in current frag if (space_pos != 0 && frag_length < remaining_in_input) frag_length = space_pos + 1; temp_frag.text = line.text.substr(in_pos, frag_length); - temp_frag.column = 0; - //temp_frag.bold = 0; + // A hack so this frag remembers mark_newline for the layout phase + temp_frag.column = mark_newline ? INT_MAX : 0; + + if (http_pos == 0) { + // Discard color stuff from the source frag + temp_frag.text = EnrichedString(temp_frag.text.getString()); + temp_frag.text.setDefaultColor(m_cache_chat_weblink_color); + // Set weblink in the frag meta + temp_frag.weblink = wide_to_utf8(temp_frag.text.getString()); + } else { + temp_frag.weblink.clear(); + } next_frags.push_back(temp_frag); in_pos += frag_length; - text_processing = true; + remaining_in_output -= std::min(frag_length, remaining_in_output); } } // End the last line - if (num_added == 0 || !next_line.fragments.empty()) - { + if (num_added == 0 || !next_line.fragments.empty()) { destination.push_back(next_line); num_added++; } diff --git a/src/chat.h b/src/chat.h index 0b98e4d3c..aabb0821e 100644 --- a/src/chat.h +++ b/src/chat.h @@ -57,6 +57,8 @@ struct ChatFormattedFragment EnrichedString text; // starting column u32 column; + // web link is empty for most frags + std::string weblink; // formatting //u8 bold:1; }; @@ -118,6 +120,7 @@ public: std::vector& destination) const; void resize(u32 scrollback); + protected: s32 getTopScrollPos() const; s32 getBottomScrollPos() const; @@ -138,6 +141,11 @@ private: std::vector m_formatted; // Empty formatted line, for error returns ChatFormattedLine m_empty_formatted_line; + + // Enable clickable chat weblinks + bool m_cache_clickable_chat_weblinks; + // Color of clickable chat weblinks + irr::video::SColor m_cache_chat_weblink_color; }; class ChatPrompt diff --git a/src/client/CMakeLists.txt b/src/client/CMakeLists.txt index 140814911..8d058852a 100644 --- a/src/client/CMakeLists.txt +++ b/src/client/CMakeLists.txt @@ -58,5 +58,9 @@ set(client_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/sky.cpp ${CMAKE_CURRENT_SOURCE_DIR}/tile.cpp ${CMAKE_CURRENT_SOURCE_DIR}/wieldmesh.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/shadows/dynamicshadows.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/shadows/dynamicshadowsrender.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/shadows/shadowsshadercallbacks.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/shadows/shadowsScreenQuad.cpp PARENT_SCOPE ) diff --git a/src/client/client.cpp b/src/client/client.cpp index 57f8e6593..3c4ea5f95 100644 --- a/src/client/client.cpp +++ b/src/client/client.cpp @@ -178,11 +178,7 @@ void Client::loadMods() // Load "mod" scripts for (const ModSpec &mod : m_mods) { - if (!string_allowed(mod.name, MODNAME_ALLOWED_CHARS)) { - throw ModError("Error loading mod \"" + mod.name + - "\": Mod name does not follow naming conventions: " - "Only characters [a-z0-9_] are allowed."); - } + mod.checkAndLog(); scanModIntoMemory(mod.name, mod.path); } @@ -213,6 +209,9 @@ void Client::scanModSubfolder(const std::string &mod_name, const std::string &mo std::string full_path = mod_path + DIR_DELIM + mod_subpath; std::vector mod = fs::GetDirListing(full_path); for (const fs::DirListNode &j : mod) { + if (j.name[0] == '.') + continue; + if (j.dir) { scanModSubfolder(mod_name, mod_path, mod_subpath + j.name + DIR_DELIM); continue; @@ -559,6 +558,29 @@ void Client::step(float dtime) m_media_downloader = NULL; } } + { + // Acknowledge dynamic media downloads to server + std::vector done; + for (auto it = m_pending_media_downloads.begin(); + it != m_pending_media_downloads.end();) { + assert(it->second->isStarted()); + it->second->step(this); + if (it->second->isDone()) { + done.emplace_back(it->first); + + it = m_pending_media_downloads.erase(it); + } else { + it++; + } + + if (done.size() == 255) { // maximum in one packet + sendHaveMedia(done); + done.clear(); + } + } + if (!done.empty()) + sendHaveMedia(done); + } /* If the server didn't update the inventory in a while, revert @@ -774,7 +796,8 @@ void Client::request_media(const std::vector &file_requests) Send(&pkt); infostream << "Client: Sending media request list to server (" - << file_requests.size() << " files. packet size)" << std::endl; + << file_requests.size() << " files, packet size " + << pkt.getSize() << ")" << std::endl; } void Client::initLocalMapSaving(const Address &address, @@ -1307,6 +1330,19 @@ void Client::sendPlayerPos() sendPlayerPos(player->getLegitPosition()); } +void Client::sendHaveMedia(const std::vector &tokens) +{ + NetworkPacket pkt(TOSERVER_HAVE_MEDIA, 1 + tokens.size() * 4); + + sanity_check(tokens.size() < 256); + + pkt << static_cast(tokens.size()); + for (u32 token : tokens) + pkt << token; + + Send(&pkt); +} + void Client::removeNode(v3s16 p) { std::map modified_blocks; @@ -1679,13 +1715,13 @@ float Client::mediaReceiveProgress() return 1.0; // downloader only exists when not yet done } -typedef struct TextureUpdateArgs { +struct TextureUpdateArgs { gui::IGUIEnvironment *guienv; u64 last_time_ms; u16 last_percent; const wchar_t* text_base; ITextureSource *tsrc; -} TextureUpdateArgs; +}; void Client::showUpdateProgressTexture(void *args, u32 progress, u32 max_progress) { @@ -1704,8 +1740,8 @@ void Client::showUpdateProgressTexture(void *args, u32 progress, u32 max_progres if (do_draw) { targs->last_time_ms = time_ms; - std::basic_stringstream strm; - strm << targs->text_base << " " << targs->last_percent << "%..."; + std::wostringstream strm; + strm << targs->text_base << L" " << targs->last_percent << L"%..."; m_rendering_engine->draw_load_screen(strm.str(), targs->guienv, targs->tsrc, 0, 72 + (u16) ((18. / 100.) * (double) targs->last_percent), true); } @@ -1758,7 +1794,7 @@ void Client::afterContentReceived() tu_args.guienv = guienv; tu_args.last_time_ms = porting::getTimeMs(); tu_args.last_percent = 0; - tu_args.text_base = wgettext("Initializing nodes"); + tu_args.text_base = wgettext("Initializing nodes"); tu_args.tsrc = m_tsrc; m_nodedef->updateTextures(this, &tu_args); delete[] tu_args.text_base; diff --git a/src/client/client.h b/src/client/client.h index 8d7f63c0c..1493d3ce3 100644 --- a/src/client/client.h +++ b/src/client/client.h @@ -52,6 +52,7 @@ class ISoundManager; class NodeDefManager; //class IWritableCraftDefManager; class ClientMediaDownloader; +class SingleMediaDownloader; struct MapDrawControl; class ModChannelMgr; class MtEventManager; @@ -244,6 +245,7 @@ public: void sendDamage(u16 damage); void sendRespawn(); void sendReady(); + void sendHaveMedia(const std::vector &tokens); ClientEnvironment& getEnv() { return m_env; } ITextureSource *tsrc() { return getTextureSource(); } @@ -324,6 +326,10 @@ public: m_access_denied = true; m_access_denied_reason = reason; } + inline void setFatalError(const LuaError &e) + { + setFatalError(std::string("Lua: ") + e.what()); + } // Renaming accessDeniedReason to better name could be good as it's used to // disconnect client when CSM failed. @@ -542,9 +548,13 @@ private: bool m_activeobjects_received = false; bool m_mods_loaded = false; + std::vector m_remote_media_servers; + // Media downloader, only exists during init ClientMediaDownloader *m_media_downloader; // Set of media filenames pushed by server at runtime std::unordered_set m_media_pushed_files; + // Pending downloads of dynamic media (key: token) + std::vector>> m_pending_media_downloads; // time_of_day speed approximation for old protocol bool m_time_of_day_set = false; diff --git a/src/client/clientevent.h b/src/client/clientevent.h index 2215aecbd..17d3aedd6 100644 --- a/src/client/clientevent.h +++ b/src/client/clientevent.h @@ -59,7 +59,7 @@ struct ClientEventHudAdd v2f pos, scale; std::string name; std::string text, text2; - u32 number, item, dir; + u32 number, item, dir, style; v2f align, offset; v3f world_pos; v2s32 size; diff --git a/src/client/clientlauncher.cpp b/src/client/clientlauncher.cpp index 6db5f2e70..6ab610670 100644 --- a/src/client/clientlauncher.cpp +++ b/src/client/clientlauncher.cpp @@ -99,10 +99,6 @@ bool ClientLauncher::run(GameStartData &start_data, const Settings &cmd_args) init_args(start_data, cmd_args); - // List video modes if requested - if (list_video_modes) - return m_rendering_engine->print_video_modes(); - #if USE_SOUND if (g_settings->getBool("enable_sound")) g_sound_manager_singleton = createSoundManagerSingleton(); @@ -277,14 +273,6 @@ bool ClientLauncher::run(GameStartData &start_data, const Settings &cmd_args) chat_backend, &reconnect_requested ); - m_rendering_engine->get_scene_manager()->clear(); - -#ifdef HAVE_TOUCHSCREENGUI - delete g_touchscreengui; - g_touchscreengui = NULL; - receiver->m_touchscreengui = NULL; -#endif - } //try catch (con::PeerNotFoundException &e) { error_message = gettext("Connection error (timed out?)"); @@ -300,6 +288,14 @@ bool ClientLauncher::run(GameStartData &start_data, const Settings &cmd_args) } #endif + m_rendering_engine->get_scene_manager()->clear(); + +#ifdef HAVE_TOUCHSCREENGUI + delete g_touchscreengui; + g_touchscreengui = NULL; + receiver->m_touchscreengui = NULL; +#endif + // If no main menu, show error and exit if (skip_main_menu) { if (!error_message.empty()) { @@ -336,8 +332,6 @@ void ClientLauncher::init_args(GameStartData &start_data, const Settings &cmd_ar if (cmd_args.exists("name")) start_data.name = cmd_args.get("name"); - list_video_modes = cmd_args.getFlag("videomodes"); - random_input = g_settings->getBool("random_input") || cmd_args.getFlag("random-input"); } @@ -518,8 +512,8 @@ bool ClientLauncher::launch_game(std::string &error_message, // Load gamespec for required game start_data.game_spec = findWorldSubgame(worldspec.path); if (!start_data.game_spec.isValid()) { - error_message = gettext("Could not find or load game \"") - + worldspec.gameid + "\""; + error_message = gettext("Could not find or load game: ") + + worldspec.gameid; errorstream << error_message << std::endl; return false; } diff --git a/src/client/clientlauncher.h b/src/client/clientlauncher.h index 79727e1fe..d1fd9a258 100644 --- a/src/client/clientlauncher.h +++ b/src/client/clientlauncher.h @@ -46,7 +46,6 @@ private: void speed_tests(); - bool list_video_modes = false; bool skip_main_menu = false; bool random_input = false; RenderingEngine *m_rendering_engine = nullptr; diff --git a/src/client/clientmap.cpp b/src/client/clientmap.cpp index 29a7fd3ba..4a4784f91 100644 --- a/src/client/clientmap.cpp +++ b/src/client/clientmap.cpp @@ -72,8 +72,15 @@ ClientMap::ClientMap( scene::ISceneNode(rendering_engine->get_scene_manager()->getRootSceneNode(), rendering_engine->get_scene_manager(), id), m_client(client), + m_rendering_engine(rendering_engine), m_control(control) { + + /* + * @Liso: Sadly C++ doesn't have introspection, so the only way we have to know + * the class is whith a name ;) Name property cames from ISceneNode base class. + */ + Name = "ClientMap"; m_box = aabb3f(-BS*1000000,-BS*1000000,-BS*1000000, BS*1000000,BS*1000000,BS*1000000); @@ -115,12 +122,21 @@ void ClientMap::OnRegisterSceneNode() } ISceneNode::OnRegisterSceneNode(); + + if (!m_added_to_shadow_renderer) { + m_added_to_shadow_renderer = true; + if (auto shadows = m_rendering_engine->get_shadow_renderer()) + shadows->addNodeToShadowList(this); + } } void ClientMap::getBlocksInViewRange(v3s16 cam_pos_nodes, - v3s16 *p_blocks_min, v3s16 *p_blocks_max) + v3s16 *p_blocks_min, v3s16 *p_blocks_max, float range) { - v3s16 box_nodes_d = m_control.wanted_range * v3s16(1, 1, 1); + if (range <= 0.0f) + range = m_control.wanted_range; + + v3s16 box_nodes_d = range * v3s16(1, 1, 1); // Define p_nodes_min/max as v3s32 because 'cam_pos_nodes -/+ box_nodes_d' // can exceed the range of v3s16 when a large view range is used near the // world edges. @@ -321,7 +337,6 @@ void ClientMap::renderMap(video::IVideoDriver* driver, s32 pass) // Mesh animation if (pass == scene::ESNRP_SOLID) { - //MutexAutoLock lock(block->mesh_mutex); MapBlockMesh *mapBlockMesh = block->mesh; assert(mapBlockMesh); // Pretty random but this should work somewhat nicely @@ -342,8 +357,6 @@ void ClientMap::renderMap(video::IVideoDriver* driver, s32 pass) Get the meshbuffers of the block */ { - //MutexAutoLock lock(block->mesh_mutex); - MapBlockMesh *mapBlockMesh = block->mesh; assert(mapBlockMesh); @@ -394,6 +407,17 @@ void ClientMap::renderMap(video::IVideoDriver* driver, s32 pass) "returning." << std::endl; return; } + + // pass the shadow map texture to the buffer texture + ShadowRenderer *shadow = m_rendering_engine->get_shadow_renderer(); + if (shadow && shadow->is_active()) { + auto &layer = list.m.TextureLayer[3]; + layer.Texture = shadow->get_texture(); + layer.TextureWrapU = video::E_TEXTURE_CLAMP::ETC_CLAMP_TO_EDGE; + layer.TextureWrapV = video::E_TEXTURE_CLAMP::ETC_CLAMP_TO_EDGE; + layer.TrilinearFilter = true; + } + driver->setMaterial(list.m); drawcall_count += list.bufs.size(); @@ -610,3 +634,210 @@ void ClientMap::PrintInfo(std::ostream &out) { out<<"ClientMap: "; } + +void ClientMap::renderMapShadows(video::IVideoDriver *driver, + const video::SMaterial &material, s32 pass, int frame, int total_frames) +{ + bool is_transparent_pass = pass != scene::ESNRP_SOLID; + std::string prefix; + if (is_transparent_pass) + prefix = "renderMap(SHADOW TRANS): "; + else + prefix = "renderMap(SHADOW SOLID): "; + + u32 drawcall_count = 0; + u32 vertex_count = 0; + + MeshBufListList drawbufs; + + int count = 0; + int low_bound = is_transparent_pass ? 0 : m_drawlist_shadow.size() / total_frames * frame; + int high_bound = is_transparent_pass ? m_drawlist_shadow.size() : m_drawlist_shadow.size() / total_frames * (frame + 1); + + // transparent pass should be rendered in one go + if (is_transparent_pass && frame != total_frames - 1) { + return; + } + + for (auto &i : m_drawlist_shadow) { + // only process specific part of the list & break early + ++count; + if (count <= low_bound) + continue; + if (count > high_bound) + break; + + v3s16 block_pos = i.first; + MapBlock *block = i.second; + + // If the mesh of the block happened to get deleted, ignore it + if (!block->mesh) + continue; + + /* + Get the meshbuffers of the block + */ + { + MapBlockMesh *mapBlockMesh = block->mesh; + assert(mapBlockMesh); + + for (int layer = 0; layer < MAX_TILE_LAYERS; layer++) { + scene::IMesh *mesh = mapBlockMesh->getMesh(layer); + assert(mesh); + + u32 c = mesh->getMeshBufferCount(); + for (u32 i = 0; i < c; i++) { + scene::IMeshBuffer *buf = mesh->getMeshBuffer(i); + + video::SMaterial &mat = buf->getMaterial(); + auto rnd = driver->getMaterialRenderer(mat.MaterialType); + bool transparent = rnd && rnd->isTransparent(); + if (transparent == is_transparent_pass) + drawbufs.add(buf, block_pos, layer); + } + } + } + } + + TimeTaker draw("Drawing shadow mesh buffers"); + + core::matrix4 m; // Model matrix + v3f offset = intToFloat(m_camera_offset, BS); + + // Render all layers in order + for (auto &lists : drawbufs.lists) { + for (MeshBufList &list : lists) { + // Check and abort if the machine is swapping a lot + if (draw.getTimerTime() > 1000) { + infostream << "ClientMap::renderMapShadows(): Rendering " + "took >1s, returning." << std::endl; + break; + } + for (auto &pair : list.bufs) { + scene::IMeshBuffer *buf = pair.second; + + // override some material properties + video::SMaterial local_material = buf->getMaterial(); + local_material.MaterialType = material.MaterialType; + local_material.BackfaceCulling = material.BackfaceCulling; + local_material.FrontfaceCulling = material.FrontfaceCulling; + local_material.BlendOperation = material.BlendOperation; + local_material.Lighting = false; + driver->setMaterial(local_material); + + v3f block_wpos = intToFloat(pair.first * MAP_BLOCKSIZE, BS); + m.setTranslation(block_wpos - offset); + + driver->setTransform(video::ETS_WORLD, m); + driver->drawMeshBuffer(buf); + vertex_count += buf->getVertexCount(); + } + + drawcall_count += list.bufs.size(); + } + } + + // restore the driver material state + video::SMaterial clean; + clean.BlendOperation = video::EBO_ADD; + driver->setMaterial(clean); // reset material to defaults + driver->draw3DLine(v3f(), v3f(), video::SColor(0)); + + g_profiler->avg(prefix + "draw meshes [ms]", draw.stop(true)); + g_profiler->avg(prefix + "vertices drawn [#]", vertex_count); + g_profiler->avg(prefix + "drawcalls [#]", drawcall_count); +} + +/* + Custom update draw list for the pov of shadow light. +*/ +void ClientMap::updateDrawListShadow(const v3f &shadow_light_pos, const v3f &shadow_light_dir, float shadow_range) +{ + ScopeProfiler sp(g_profiler, "CM::updateDrawListShadow()", SPT_AVG); + + const v3f camera_position = shadow_light_pos; + const v3f camera_direction = shadow_light_dir; + // I "fake" fov just to avoid creating a new function to handle orthographic + // projection. + const f32 camera_fov = m_camera_fov * 1.9f; + + v3s16 cam_pos_nodes = floatToInt(camera_position, BS); + v3s16 p_blocks_min; + v3s16 p_blocks_max; + getBlocksInViewRange(cam_pos_nodes, &p_blocks_min, &p_blocks_max, shadow_range); + + std::vector blocks_in_range; + + for (auto &i : m_drawlist_shadow) { + MapBlock *block = i.second; + block->refDrop(); + } + m_drawlist_shadow.clear(); + + // We need to append the blocks from the camera POV because sometimes + // they are not inside the light frustum and it creates glitches. + // FIXME: This could be removed if we figure out why they are missing + // from the light frustum. + for (auto &i : m_drawlist) { + i.second->refGrab(); + m_drawlist_shadow[i.first] = i.second; + } + + // Number of blocks currently loaded by the client + u32 blocks_loaded = 0; + // Number of blocks with mesh in rendering range + u32 blocks_in_range_with_mesh = 0; + // Number of blocks occlusion culled + u32 blocks_occlusion_culled = 0; + + for (auto §or_it : m_sectors) { + MapSector *sector = sector_it.second; + if (!sector) + continue; + blocks_loaded += sector->size(); + + MapBlockVect sectorblocks; + sector->getBlocks(sectorblocks); + + /* + Loop through blocks in sector + */ + for (MapBlock *block : sectorblocks) { + if (!block->mesh) { + // Ignore if mesh doesn't exist + continue; + } + + float range = shadow_range; + + float d = 0.0; + if (!isBlockInSight(block->getPos(), camera_position, + camera_direction, camera_fov, range, &d)) + continue; + + blocks_in_range_with_mesh++; + + /* + Occlusion culling + */ + if (isBlockOccluded(block, cam_pos_nodes)) { + blocks_occlusion_culled++; + continue; + } + + // This block is in range. Reset usage timer. + block->resetUsageTimer(); + + // Add to set + if (m_drawlist_shadow.find(block->getPos()) == m_drawlist_shadow.end()) { + block->refGrab(); + m_drawlist_shadow[block->getPos()] = block; + } + } + } + + g_profiler->avg("SHADOW MapBlock meshes in range [#]", blocks_in_range_with_mesh); + g_profiler->avg("SHADOW MapBlocks occlusion culled [#]", blocks_occlusion_culled); + g_profiler->avg("SHADOW MapBlocks drawn [#]", m_drawlist_shadow.size()); + g_profiler->avg("SHADOW MapBlocks loaded [#]", blocks_loaded); +} diff --git a/src/client/clientmap.h b/src/client/clientmap.h index 80add4a44..97ce8d355 100644 --- a/src/client/clientmap.h +++ b/src/client/clientmap.h @@ -119,10 +119,14 @@ public: } void getBlocksInViewRange(v3s16 cam_pos_nodes, - v3s16 *p_blocks_min, v3s16 *p_blocks_max); + v3s16 *p_blocks_min, v3s16 *p_blocks_max, float range=-1.0f); void updateDrawList(); + void updateDrawListShadow(const v3f &shadow_light_pos, const v3f &shadow_light_dir, float shadow_range); void renderMap(video::IVideoDriver* driver, s32 pass); + void renderMapShadows(video::IVideoDriver *driver, + const video::SMaterial &material, s32 pass, int frame, int total_frames); + int getBackgroundBrightness(float max_d, u32 daylight_factor, int oldvalue, bool *sunlight_seen_result); @@ -132,9 +136,12 @@ public: virtual void PrintInfo(std::ostream &out); const MapDrawControl & getControl() const { return m_control; } + f32 getWantedRange() const { return m_control.wanted_range; } f32 getCameraFov() const { return m_camera_fov; } + private: Client *m_client; + RenderingEngine *m_rendering_engine; aabb3f m_box = aabb3f(-BS * 1000000, -BS * 1000000, -BS * 1000000, BS * 1000000, BS * 1000000, BS * 1000000); @@ -147,10 +154,12 @@ private: v3s16 m_camera_offset; std::map m_drawlist; + std::map m_drawlist_shadow; std::set m_last_drawn_sectors; bool m_cache_trilinear_filter; bool m_cache_bilinear_filter; bool m_cache_anistropic_filter; + bool m_added_to_shadow_renderer{false}; }; diff --git a/src/client/clientmedia.cpp b/src/client/clientmedia.cpp index 0f9ba5356..6c5d4a8bf 100644 --- a/src/client/clientmedia.cpp +++ b/src/client/clientmedia.cpp @@ -49,7 +49,6 @@ bool clientMediaUpdateCache(const std::string &raw_hash, const std::string &file */ ClientMediaDownloader::ClientMediaDownloader(): - m_media_cache(getMediaCacheDir()), m_httpfetch_caller(HTTPFETCH_DISCARD) { } @@ -66,6 +65,12 @@ ClientMediaDownloader::~ClientMediaDownloader() delete remote; } +bool ClientMediaDownloader::loadMedia(Client *client, const std::string &data, + const std::string &name) +{ + return client->loadMedia(data, name); +} + void ClientMediaDownloader::addFile(const std::string &name, const std::string &sha1) { assert(!m_initial_step_done); // pre-condition @@ -105,7 +110,7 @@ void ClientMediaDownloader::addRemoteServer(const std::string &baseurl) { assert(!m_initial_step_done); // pre-condition - #ifdef USE_CURL +#ifdef USE_CURL if (g_settings->getBool("enable_remote_media_server")) { infostream << "Client: Adding remote server \"" @@ -117,13 +122,13 @@ void ClientMediaDownloader::addRemoteServer(const std::string &baseurl) m_remotes.push_back(remote); } - #else +#else infostream << "Client: Ignoring remote server \"" << baseurl << "\" because cURL support is not compiled in" << std::endl; - #endif +#endif } void ClientMediaDownloader::step(Client *client) @@ -172,36 +177,21 @@ void ClientMediaDownloader::initialStep(Client *client) // Check media cache m_uncached_count = m_files.size(); for (auto &file_it : m_files) { - std::string name = file_it.first; + const std::string &name = file_it.first; FileStatus *filestatus = file_it.second; const std::string &sha1 = filestatus->sha1; - std::ostringstream tmp_os(std::ios_base::binary); - bool found_in_cache = m_media_cache.load(hex_encode(sha1), tmp_os); - - // If found in cache, try to load it from there - if (found_in_cache) { - bool success = checkAndLoad(name, sha1, - tmp_os.str(), true, client); - if (success) { - filestatus->received = true; - m_uncached_count--; - } + if (tryLoadFromCache(name, sha1, client)) { + filestatus->received = true; + m_uncached_count--; } } assert(m_uncached_received_count == 0); // Create the media cache dir if we are likely to write to it - if (m_uncached_count != 0) { - bool did = fs::CreateAllDirs(getMediaCacheDir()); - if (!did) { - errorstream << "Client: " - << "Could not create media cache directory: " - << getMediaCacheDir() - << std::endl; - } - } + if (m_uncached_count != 0) + createCacheDirs(); // If we found all files in the cache, report this fact to the server. // If the server reported no remote servers, immediately start @@ -301,8 +291,7 @@ void ClientMediaDownloader::remoteHashSetReceived( // available on this server, add this server // to the available_remotes array - for(std::map::iterator - it = m_files.upper_bound(m_name_bound); + for(auto it = m_files.upper_bound(m_name_bound); it != m_files.end(); ++it) { FileStatus *f = it->second; if (!f->received && sha1_set.count(f->sha1)) @@ -328,8 +317,7 @@ void ClientMediaDownloader::remoteMediaReceived( std::string name; { - std::unordered_map::iterator it = - m_remote_file_transfers.find(fetch_result.request_id); + auto it = m_remote_file_transfers.find(fetch_result.request_id); assert(it != m_remote_file_transfers.end()); name = it->second; m_remote_file_transfers.erase(it); @@ -398,8 +386,7 @@ void ClientMediaDownloader::startRemoteMediaTransfers() { bool changing_name_bound = true; - for (std::map::iterator - files_iter = m_files.upper_bound(m_name_bound); + for (auto files_iter = m_files.upper_bound(m_name_bound); files_iter != m_files.end(); ++files_iter) { // Abort if active fetch limit is exceeded @@ -477,19 +464,18 @@ void ClientMediaDownloader::startConventionalTransfers(Client *client) } } -void ClientMediaDownloader::conventionalTransferDone( +bool ClientMediaDownloader::conventionalTransferDone( const std::string &name, const std::string &data, Client *client) { // Check that file was announced - std::map::iterator - file_iter = m_files.find(name); + auto file_iter = m_files.find(name); if (file_iter == m_files.end()) { errorstream << "Client: server sent media file that was" << "not announced, ignoring it: \"" << name << "\"" << std::endl; - return; + return false; } FileStatus *filestatus = file_iter->second; assert(filestatus != NULL); @@ -499,7 +485,7 @@ void ClientMediaDownloader::conventionalTransferDone( errorstream << "Client: server sent media file that we already" << "received, ignoring it: \"" << name << "\"" << std::endl; - return; + return true; } // Mark file as received, regardless of whether loading it works and @@ -512,9 +498,45 @@ void ClientMediaDownloader::conventionalTransferDone( // Check that received file matches announced checksum // If so, load it checkAndLoad(name, filestatus->sha1, data, false, client); + + return true; } -bool ClientMediaDownloader::checkAndLoad( +/* + IClientMediaDownloader +*/ + +IClientMediaDownloader::IClientMediaDownloader(): + m_media_cache(getMediaCacheDir()), m_write_to_cache(true) +{ +} + +void IClientMediaDownloader::createCacheDirs() +{ + if (!m_write_to_cache) + return; + + std::string path = getMediaCacheDir(); + if (!fs::CreateAllDirs(path)) { + errorstream << "Client: Could not create media cache directory: " + << path << std::endl; + } +} + +bool IClientMediaDownloader::tryLoadFromCache(const std::string &name, + const std::string &sha1, Client *client) +{ + std::ostringstream tmp_os(std::ios_base::binary); + bool found_in_cache = m_media_cache.load(hex_encode(sha1), tmp_os); + + // If found in cache, try to load it from there + if (found_in_cache) + return checkAndLoad(name, sha1, tmp_os.str(), true, client); + + return false; +} + +bool IClientMediaDownloader::checkAndLoad( const std::string &name, const std::string &sha1, const std::string &data, bool is_from_cache, Client *client) { @@ -544,7 +566,7 @@ bool ClientMediaDownloader::checkAndLoad( } // Checksum is ok, try loading the file - bool success = client->loadMedia(data, name); + bool success = loadMedia(client, data, name); if (!success) { infostream << "Client: " << "Failed to load " << cached_or_received << " media: " @@ -559,7 +581,7 @@ bool ClientMediaDownloader::checkAndLoad( << std::endl; // Update cache (unless we just loaded the file from the cache) - if (!is_from_cache) + if (!is_from_cache && m_write_to_cache) m_media_cache.update(sha1_hex, data); return true; @@ -587,12 +609,10 @@ std::string ClientMediaDownloader::serializeRequiredHashSet() // Write list of hashes of files that have not been // received (found in cache) yet - for (std::map::iterator - it = m_files.begin(); - it != m_files.end(); ++it) { - if (!it->second->received) { - FATAL_ERROR_IF(it->second->sha1.size() != 20, "Invalid SHA1 size"); - os << it->second->sha1; + for (const auto &it : m_files) { + if (!it.second->received) { + FATAL_ERROR_IF(it.second->sha1.size() != 20, "Invalid SHA1 size"); + os << it.second->sha1; } } @@ -628,3 +648,145 @@ void ClientMediaDownloader::deSerializeHashSet(const std::string &data, result.insert(data.substr(pos, 20)); } } + +/* + SingleMediaDownloader +*/ + +SingleMediaDownloader::SingleMediaDownloader(bool write_to_cache): + m_httpfetch_caller(HTTPFETCH_DISCARD) +{ + m_write_to_cache = write_to_cache; +} + +SingleMediaDownloader::~SingleMediaDownloader() +{ + if (m_httpfetch_caller != HTTPFETCH_DISCARD) + httpfetch_caller_free(m_httpfetch_caller); +} + +bool SingleMediaDownloader::loadMedia(Client *client, const std::string &data, + const std::string &name) +{ + return client->loadMedia(data, name, true); +} + +void SingleMediaDownloader::addFile(const std::string &name, const std::string &sha1) +{ + assert(m_stage == STAGE_INIT); // pre-condition + + assert(!name.empty()); + assert(sha1.size() == 20); + + FATAL_ERROR_IF(!m_file_name.empty(), "Cannot add a second file"); + m_file_name = name; + m_file_sha1 = sha1; +} + +void SingleMediaDownloader::addRemoteServer(const std::string &baseurl) +{ + assert(m_stage == STAGE_INIT); // pre-condition + + if (g_settings->getBool("enable_remote_media_server")) + m_remotes.emplace_back(baseurl); +} + +void SingleMediaDownloader::step(Client *client) +{ + if (m_stage == STAGE_INIT) { + m_stage = STAGE_CACHE_CHECKED; + initialStep(client); + } + + // Remote media: check for completion of fetches + if (m_httpfetch_caller != HTTPFETCH_DISCARD) { + HTTPFetchResult fetch_result; + while (httpfetch_async_get(m_httpfetch_caller, fetch_result)) { + remoteMediaReceived(fetch_result, client); + } + } +} + +bool SingleMediaDownloader::conventionalTransferDone(const std::string &name, + const std::string &data, Client *client) +{ + if (name != m_file_name) + return false; + + // Mark file as received unconditionally and try to load it + m_stage = STAGE_DONE; + checkAndLoad(name, m_file_sha1, data, false, client); + return true; +} + +void SingleMediaDownloader::initialStep(Client *client) +{ + if (tryLoadFromCache(m_file_name, m_file_sha1, client)) + m_stage = STAGE_DONE; + if (isDone()) + return; + + createCacheDirs(); + + // If the server reported no remote servers, immediately fall back to + // conventional transfer. + if (!USE_CURL || m_remotes.empty()) { + startConventionalTransfer(client); + } else { + // Otherwise start by requesting the file from the first remote media server + m_httpfetch_caller = httpfetch_caller_alloc(); + m_current_remote = 0; + startRemoteMediaTransfer(); + } +} + +void SingleMediaDownloader::remoteMediaReceived( + const HTTPFetchResult &fetch_result, Client *client) +{ + sanity_check(!isDone()); + sanity_check(m_current_remote >= 0); + + // If fetch succeeded, try to load it + if (fetch_result.succeeded) { + bool success = checkAndLoad(m_file_name, m_file_sha1, + fetch_result.data, false, client); + if (success) { + m_stage = STAGE_DONE; + return; + } + } + + // Otherwise try the next remote server or fall back to conventional transfer + m_current_remote++; + if (m_current_remote >= (int)m_remotes.size()) { + infostream << "Client: Failed to remote-fetch \"" << m_file_name + << "\". Requesting it the usual way." << std::endl; + m_current_remote = -1; + startConventionalTransfer(client); + } else { + startRemoteMediaTransfer(); + } +} + +void SingleMediaDownloader::startRemoteMediaTransfer() +{ + std::string url = m_remotes.at(m_current_remote) + hex_encode(m_file_sha1); + verbosestream << "Client: Requesting remote media file " + << "\"" << m_file_name << "\" " << "\"" << url << "\"" << std::endl; + + HTTPFetchRequest fetch_request; + fetch_request.url = url; + fetch_request.caller = m_httpfetch_caller; + fetch_request.request_id = m_httpfetch_next_id; + fetch_request.timeout = g_settings->getS32("curl_file_download_timeout"); + httpfetch_async(fetch_request); + + m_httpfetch_next_id++; +} + +void SingleMediaDownloader::startConventionalTransfer(Client *client) +{ + std::vector requests; + requests.emplace_back(m_file_name); + client->request_media(requests); +} diff --git a/src/client/clientmedia.h b/src/client/clientmedia.h index e97a0f24b..aa7b0f398 100644 --- a/src/client/clientmedia.h +++ b/src/client/clientmedia.h @@ -21,6 +21,7 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "irrlichttypes.h" #include "filecache.h" +#include "util/basic_macros.h" #include #include #include @@ -38,7 +39,62 @@ struct HTTPFetchResult; bool clientMediaUpdateCache(const std::string &raw_hash, const std::string &filedata); -class ClientMediaDownloader +// more of a base class than an interface but this name was most convenient... +class IClientMediaDownloader +{ +public: + DISABLE_CLASS_COPY(IClientMediaDownloader) + + virtual bool isStarted() const = 0; + + // If this returns true, the downloader is done and can be deleted + virtual bool isDone() const = 0; + + // Add a file to the list of required file (but don't fetch it yet) + virtual void addFile(const std::string &name, const std::string &sha1) = 0; + + // Add a remote server to the list; ignored if not built with cURL + virtual void addRemoteServer(const std::string &baseurl) = 0; + + // Steps the media downloader: + // - May load media into client by calling client->loadMedia() + // - May check media cache for files + // - May add files to media cache + // - May start remote transfers by calling httpfetch_async + // - May check for completion of current remote transfers + // - May start conventional transfers by calling client->request_media() + // - May inform server that all media has been loaded + // by calling client->received_media() + // After step has been called once, don't call addFile/addRemoteServer. + virtual void step(Client *client) = 0; + + // Must be called for each file received through TOCLIENT_MEDIA + // returns true if this file belongs to this downloader + virtual bool conventionalTransferDone(const std::string &name, + const std::string &data, Client *client) = 0; + +protected: + IClientMediaDownloader(); + virtual ~IClientMediaDownloader() = default; + + // Forwards the call to the appropriate Client method + virtual bool loadMedia(Client *client, const std::string &data, + const std::string &name) = 0; + + void createCacheDirs(); + + bool tryLoadFromCache(const std::string &name, const std::string &sha1, + Client *client); + + bool checkAndLoad(const std::string &name, const std::string &sha1, + const std::string &data, bool is_from_cache, Client *client); + + // Filesystem-based media cache + FileCache m_media_cache; + bool m_write_to_cache; +}; + +class ClientMediaDownloader : public IClientMediaDownloader { public: ClientMediaDownloader(); @@ -52,39 +108,29 @@ public: return 0.0f; } - bool isStarted() const { + bool isStarted() const override { return m_initial_step_done; } - // If this returns true, the downloader is done and can be deleted - bool isDone() const { + bool isDone() const override { return m_initial_step_done && m_uncached_received_count == m_uncached_count; } - // Add a file to the list of required file (but don't fetch it yet) - void addFile(const std::string &name, const std::string &sha1); + void addFile(const std::string &name, const std::string &sha1) override; - // Add a remote server to the list; ignored if not built with cURL - void addRemoteServer(const std::string &baseurl); + void addRemoteServer(const std::string &baseurl) override; - // Steps the media downloader: - // - May load media into client by calling client->loadMedia() - // - May check media cache for files - // - May add files to media cache - // - May start remote transfers by calling httpfetch_async - // - May check for completion of current remote transfers - // - May start conventional transfers by calling client->request_media() - // - May inform server that all media has been loaded - // by calling client->received_media() - // After step has been called once, don't call addFile/addRemoteServer. - void step(Client *client); + void step(Client *client) override; - // Must be called for each file received through TOCLIENT_MEDIA - void conventionalTransferDone( + bool conventionalTransferDone( const std::string &name, const std::string &data, - Client *client); + Client *client) override; + +protected: + bool loadMedia(Client *client, const std::string &data, + const std::string &name) override; private: struct FileStatus { @@ -107,13 +153,9 @@ private: void startRemoteMediaTransfers(); void startConventionalTransfers(Client *client); - bool checkAndLoad(const std::string &name, const std::string &sha1, - const std::string &data, bool is_from_cache, - Client *client); - - std::string serializeRequiredHashSet(); static void deSerializeHashSet(const std::string &data, std::set &result); + std::string serializeRequiredHashSet(); // Maps filename to file status std::map m_files; @@ -121,9 +163,6 @@ private: // Array of remote media servers std::vector m_remotes; - // Filesystem-based media cache - FileCache m_media_cache; - // Has an attempt been made to load media files from the file cache? // Have hash sets been requested from remote servers? bool m_initial_step_done = false; @@ -149,3 +188,63 @@ private: std::string m_name_bound = ""; }; + +// A media downloader that only downloads a single file. +// It does/doesn't do several things the normal downloader does: +// - won't fetch hash sets from remote servers +// - will mark loaded media as coming from file push +// - writing to file cache is optional +class SingleMediaDownloader : public IClientMediaDownloader +{ +public: + SingleMediaDownloader(bool write_to_cache); + ~SingleMediaDownloader(); + + bool isStarted() const override { + return m_stage > STAGE_INIT; + } + + bool isDone() const override { + return m_stage >= STAGE_DONE; + } + + void addFile(const std::string &name, const std::string &sha1) override; + + void addRemoteServer(const std::string &baseurl) override; + + void step(Client *client) override; + + bool conventionalTransferDone(const std::string &name, + const std::string &data, Client *client) override; + +protected: + bool loadMedia(Client *client, const std::string &data, + const std::string &name) override; + +private: + void initialStep(Client *client); + void remoteMediaReceived(const HTTPFetchResult &fetch_result, Client *client); + void startRemoteMediaTransfer(); + void startConventionalTransfer(Client *client); + + enum Stage { + STAGE_INIT, + STAGE_CACHE_CHECKED, // we have tried to load the file from cache + STAGE_DONE + }; + + // Information about the one file we want to fetch + std::string m_file_name; + std::string m_file_sha1; + s32 m_current_remote; + + // Array of remote media servers + std::vector m_remotes; + + enum Stage m_stage = STAGE_INIT; + + // Status of remote transfers + unsigned long m_httpfetch_caller; + unsigned long m_httpfetch_next_id = 0; + +}; diff --git a/src/client/clouds.cpp b/src/client/clouds.cpp index 5008047af..383a1d799 100644 --- a/src/client/clouds.cpp +++ b/src/client/clouds.cpp @@ -352,7 +352,7 @@ void Clouds::update(const v3f &camera_p, const video::SColorf &color_diffuse) // is the camera inside the cloud mesh? m_camera_inside_cloud = false; // default if (m_enable_3d) { - float camera_height = camera_p.Y; + float camera_height = camera_p.Y - BS * m_camera_offset.Y; if (camera_height >= m_box.MinEdge.Y && camera_height <= m_box.MaxEdge.Y) { v2f camera_in_noise; diff --git a/src/client/content_cao.cpp b/src/client/content_cao.cpp index 3a6ca3e29..5d8a597a2 100644 --- a/src/client/content_cao.cpp +++ b/src/client/content_cao.cpp @@ -23,6 +23,7 @@ with this program; if not, write to the Free Software Foundation, Inc., #include #include #include "client/client.h" +#include "client/renderingengine.h" #include "client/sound.h" #include "client/tile.h" #include "util/basic_macros.h" @@ -346,18 +347,6 @@ void GenericCAO::initialize(const std::string &data) infostream<<"GenericCAO: Got init data"<getLocalPlayer(); - if (player && strcmp(player->getName(), m_name.c_str()) == 0) { - m_is_local_player = true; - m_is_visible = false; - player->setCAO(this); - - m_prop.show_on_minimap = false; - } - } - m_enable_shaders = g_settings->getBool("enable_shaders"); } @@ -380,6 +369,16 @@ void GenericCAO::processInitData(const std::string &data) m_rotation = readV3F32(is); m_hp = readU16(is); + if (m_is_player) { + // Check if it's the current player + LocalPlayer *player = m_env->getLocalPlayer(); + if (player && strcmp(player->getName(), m_name.c_str()) == 0) { + m_is_local_player = true; + m_is_visible = false; + player->setCAO(this); + } + } + const u8 num_messages = readU8(is); for (int i = 0; i < num_messages; i++) { @@ -560,6 +559,9 @@ void GenericCAO::removeFromScene(bool permanent) clearParentAttachment(); } + if (auto shadow = RenderingEngine::get_shadow_renderer()) + shadow->removeNodeFromShadowList(getSceneNode()); + if (m_meshnode) { m_meshnode->remove(); m_meshnode->drop(); @@ -808,10 +810,13 @@ void GenericCAO::addToScene(ITextureSource *tsrc, scene::ISceneManager *smgr) if (m_reset_textures_timer < 0) updateTextures(m_current_texture_modifier); - scene::ISceneNode *node = getSceneNode(); + if (scene::ISceneNode *node = getSceneNode()) { + if (m_matrixnode) + node->setParent(m_matrixnode); - if (node && m_matrixnode) - node->setParent(m_matrixnode); + if (auto shadow = RenderingEngine::get_shadow_renderer()) + shadow->addNodeToShadowList(node); + } updateNametag(); updateMarker(); @@ -1011,9 +1016,7 @@ void GenericCAO::step(float dtime, ClientEnvironment *env) const PlayerControl &controls = player->getPlayerControl(); bool walking = false; - if ((controls.up || controls.down || controls.left || controls.right || - controls.forw_move_joystick_axis != 0.f || - controls.sidew_move_joystick_axis != 0.f) && ! g_settings->getBool("freecam")) + if (controls.movement_speed > 0.001f && ! g_settings->getBool("freecam")) walking = true; f32 new_speed = player->local_animation_speed; @@ -1028,9 +1031,10 @@ void GenericCAO::step(float dtime, ClientEnvironment *env) g_settings->getBool("free_move") && m_client->checkLocalPrivilege("fly")))) || g_settings->getBool("freecam")) new_speed *= 1.5; - // slowdown speed if sneeking + // slowdown speed if sneaking if (controls.sneak && walking && ! g_settings->getBool("no_slow")) new_speed /= 2; + new_speed *= controls.movement_speed; if (walking && (controls.dig || controls.place)) { new_anim = player->local_animations[3]; @@ -1744,6 +1748,7 @@ void GenericCAO::processMessage(const std::string &data) m_tx_basepos = p; m_anim_num_frames = num_frames; + m_anim_frame = 0; m_anim_framelength = framelength; m_tx_select_horiz_by_yawpitch = select_horiz_by_yawpitch; diff --git a/src/client/content_mapblock.cpp b/src/client/content_mapblock.cpp index 810c57138..bb2d6398f 100644 --- a/src/client/content_mapblock.cpp +++ b/src/client/content_mapblock.cpp @@ -958,10 +958,38 @@ void MapblockMeshGenerator::drawPlantlikeQuad(float rotation, float quad_offset, vertex.rotateXZBy(rotation + rotate_degree); vertex += offset; } + + u8 wall = n.getWallMounted(nodedef); + if (wall != DWM_YN) { + for (v3f &vertex : vertices) { + switch (wall) { + case DWM_YP: + vertex.rotateYZBy(180); + vertex.rotateXZBy(180); + break; + case DWM_XP: + vertex.rotateXYBy(90); + break; + case DWM_XN: + vertex.rotateXYBy(-90); + vertex.rotateYZBy(180); + break; + case DWM_ZP: + vertex.rotateYZBy(-90); + vertex.rotateXYBy(90); + break; + case DWM_ZN: + vertex.rotateYZBy(90); + vertex.rotateXYBy(90); + break; + } + } + } + drawQuad(vertices, v3s16(0, 0, 0), plant_height); } -void MapblockMeshGenerator::drawPlantlike() +void MapblockMeshGenerator::drawPlantlike(bool is_rooted) { draw_style = PLANT_STYLE_CROSS; scale = BS / 2 * f->visual_scale; @@ -998,6 +1026,22 @@ void MapblockMeshGenerator::drawPlantlike() break; } + if (is_rooted) { + u8 wall = n.getWallMounted(nodedef); + switch (wall) { + case DWM_YP: + offset.Y += BS*2; + break; + case DWM_XN: + case DWM_XP: + case DWM_ZN: + case DWM_ZP: + offset.X += -BS; + offset.Y += BS; + break; + } + } + switch (draw_style) { case PLANT_STYLE_CROSS: drawPlantlikeQuad(46); @@ -1048,7 +1092,7 @@ void MapblockMeshGenerator::drawPlantlikeRootedNode() MapNode ntop = data->m_vmanip.getNodeNoEx(blockpos_nodes + p); light = LightPair(getInteriorLight(ntop, 1, nodedef)); } - drawPlantlike(); + drawPlantlike(true); p.Y--; } diff --git a/src/client/content_mapblock.h b/src/client/content_mapblock.h index 237cc7847..7344f05ee 100644 --- a/src/client/content_mapblock.h +++ b/src/client/content_mapblock.h @@ -146,7 +146,7 @@ public: void drawPlantlikeQuad(float rotation, float quad_offset = 0, bool offset_top_only = false); - void drawPlantlike(); + void drawPlantlike(bool is_rooted = false); // firelike-specific void drawFirelikeQuad(float rotation, float opening_angle, diff --git a/src/client/fontengine.cpp b/src/client/fontengine.cpp index 0382c2f18..f64315db4 100644 --- a/src/client/fontengine.cpp +++ b/src/client/fontengine.cpp @@ -342,8 +342,9 @@ gui::IGUIFont *FontEngine::initSimpleFont(const FontSpec &spec) (spec.mode == FM_SimpleMono) ? "mono_font_path" : "font_path"); size_t pos_dot = font_path.find_last_of('.'); - std::string basename = font_path; - std::string ending = lowercase(font_path.substr(pos_dot)); + std::string basename = font_path, ending; + if (pos_dot != std::string::npos) + ending = lowercase(font_path.substr(pos_dot)); if (ending == ".ttf") { errorstream << "FontEngine: Found font \"" << font_path diff --git a/src/client/game.cpp b/src/client/game.cpp index 5bfe55e66..d2a751040 100644 --- a/src/client/game.cpp +++ b/src/client/game.cpp @@ -300,6 +300,7 @@ void Game::run() m_game_ui->clearInfoText(); hud->resizeHotbar(); + updateProfilers(stats, draw_times, dtime); processUserInput(dtime); // Update camera before player movement to avoid camera lag of one frame @@ -311,10 +312,11 @@ void Game::run() updatePlayerControl(cam_view); step(&dtime); processClientEvents(&cam_view_target); + updateDebugState(); updateCamera(draw_times.busy_time, dtime); updateSound(dtime); processPlayerInteraction(dtime, m_game_ui->m_flags.show_hud, - m_game_ui->m_flags.show_debug); + m_game_ui->m_flags.show_basic_debug); updateFrame(&graph, &stats, dtime, cam_view); updateProfilerGraphs(&graph); @@ -823,7 +825,7 @@ bool Game::getServerContent(bool *aborted) dtime, progress); delete[] text; } else { - std::stringstream message; + std::ostringstream message; std::fixed(message); message.precision(0); float receive = client->mediaReceiveProgress() * 100; @@ -932,6 +934,25 @@ void Game::processQueues() shader_src->processQueue(); } +void Game::updateDebugState() +{ + bool has_basic_debug = client->checkPrivilege("basic_debug"); + bool has_debug = client->checkPrivilege("debug"); + + if (m_game_ui->m_flags.show_basic_debug) { + if (!has_basic_debug) { + m_game_ui->m_flags.show_basic_debug = false; + } + } else if (m_game_ui->m_flags.show_minimal_debug) { + if (has_basic_debug) { + m_game_ui->m_flags.show_basic_debug = true; + } + } + if (!has_basic_debug) + hud->disableBlockBounds(); + if (!has_debug) + draw_control->show_wireframe = false; +} void Game::updateProfilers(const RunStats &stats, const FpsControl &draw_times, f32 dtime) @@ -1133,24 +1154,18 @@ void Game::processKeyInput() } else if (wasKeyDown(KeyType::INC_VOLUME)) { if (g_settings->getBool("enable_sound")) { float new_volume = rangelim(g_settings->getFloat("sound_volume") + 0.1f, 0.0f, 1.0f); - wchar_t buf[100]; g_settings->setFloat("sound_volume", new_volume); - const wchar_t *str = wgettext("Volume changed to %d%%"); - swprintf(buf, sizeof(buf) / sizeof(wchar_t), str, myround(new_volume * 100)); - delete[] str; - m_game_ui->showStatusText(buf); + std::wstring msg = fwgettext("Volume changed to %d%%", myround(new_volume * 100)); + m_game_ui->showStatusText(msg); } else { m_game_ui->showTranslatedStatusText("Sound system is disabled"); } } else if (wasKeyDown(KeyType::DEC_VOLUME)) { if (g_settings->getBool("enable_sound")) { float new_volume = rangelim(g_settings->getFloat("sound_volume") - 0.1f, 0.0f, 1.0f); - wchar_t buf[100]; g_settings->setFloat("sound_volume", new_volume); - const wchar_t *str = wgettext("Volume changed to %d%%"); - swprintf(buf, sizeof(buf) / sizeof(wchar_t), str, myround(new_volume * 100)); - delete[] str; - m_game_ui->showStatusText(buf); + std::wstring msg = fwgettext("Volume changed to %d%%", myround(new_volume * 100)); + m_game_ui->showStatusText(msg); } else { m_game_ui->showTranslatedStatusText("Sound system is disabled"); } @@ -1164,7 +1179,7 @@ void Game::processKeyInput() } else if (wasKeyDown(KeyType::SCREENSHOT)) { client->makeScreenshot(); } else if (wasKeyDown(KeyType::TOGGLE_BLOCK_BOUNDS)) { - hud->toggleBlockBounds(); + toggleBlockBounds(); } else if (wasKeyDown(KeyType::TOGGLE_HUD)) { m_game_ui->toggleHud(); } else if (wasKeyDown(KeyType::MINIMAP)) { @@ -1452,6 +1467,32 @@ void Game::toggleCinematic() m_game_ui->showTranslatedStatusText("Cinematic mode disabled"); } +void Game::toggleBlockBounds() +{ + if (client->checkPrivilege("basic_debug")) { + enum Hud::BlockBoundsMode newmode = hud->toggleBlockBounds(); + switch (newmode) { + case Hud::BLOCK_BOUNDS_OFF: + m_game_ui->showTranslatedStatusText("Block bounds hidden"); + break; + case Hud::BLOCK_BOUNDS_CURRENT: + m_game_ui->showTranslatedStatusText("Block bounds shown for current block"); + break; + case Hud::BLOCK_BOUNDS_NEAR: + m_game_ui->showTranslatedStatusText("Block bounds shown for nearby blocks"); + break; + case Hud::BLOCK_BOUNDS_MAX: + m_game_ui->showTranslatedStatusText("Block bounds shown for all blocks"); + break; + default: + break; + } + + } else { + m_game_ui->showTranslatedStatusText("Can't show block bounds (need 'basic_debug' privilege)"); + } +} + // Autoforward by toggling continuous forward. void Game::toggleAutoforward() { @@ -1515,24 +1556,41 @@ void Game::toggleFog() void Game::toggleDebug() { - // Initial / 4x toggle: Chat only - // 1x toggle: Debug text with chat + // Initial: No debug info + // 1x toggle: Debug text // 2x toggle: Debug text with profiler graph - // 3x toggle: Debug text and wireframe - if (!m_game_ui->m_flags.show_debug) { - m_game_ui->m_flags.show_debug = true; + // 3x toggle: Debug text and wireframe (needs "debug" priv) + // Next toggle: Back to initial + // + // The debug text can be in 2 modes: minimal and basic. + // * Minimal: Only technical client info that not gameplay-relevant + // * Basic: Info that might give gameplay advantage, e.g. pos, angle + // Basic mode is used when player has "basic_debug" priv, + // otherwise the Minimal mode is used. + if (!m_game_ui->m_flags.show_minimal_debug) { + m_game_ui->m_flags.show_minimal_debug = true; + if (client->checkPrivilege("basic_debug")) { + m_game_ui->m_flags.show_basic_debug = true; + } m_game_ui->m_flags.show_profiler_graph = false; draw_control->show_wireframe = false; m_game_ui->showTranslatedStatusText("Debug info shown"); } else if (!m_game_ui->m_flags.show_profiler_graph && !draw_control->show_wireframe) { + if (client->checkPrivilege("basic_debug")) { + m_game_ui->m_flags.show_basic_debug = true; + } m_game_ui->m_flags.show_profiler_graph = true; m_game_ui->showTranslatedStatusText("Profiler graph shown"); } else if (!draw_control->show_wireframe && client->checkPrivilege("debug")) { + if (client->checkPrivilege("basic_debug")) { + m_game_ui->m_flags.show_basic_debug = true; + } m_game_ui->m_flags.show_profiler_graph = false; draw_control->show_wireframe = true; m_game_ui->showTranslatedStatusText("Wireframe shown"); } else { - m_game_ui->m_flags.show_debug = false; + m_game_ui->m_flags.show_minimal_debug = false; + m_game_ui->m_flags.show_basic_debug = false; m_game_ui->m_flags.show_profiler_graph = false; draw_control->show_wireframe = false; if (client->checkPrivilege("debug")) { @@ -1561,20 +1619,13 @@ void Game::increaseViewRange() s16 range = g_settings->getS16("viewing_range"); s16 range_new = range + 10; - wchar_t buf[255]; - const wchar_t *str; if (range_new > 4000) { range_new = 4000; - str = wgettext("Viewing range is at maximum: %d"); - swprintf(buf, sizeof(buf) / sizeof(wchar_t), str, range_new); - delete[] str; - m_game_ui->showStatusText(buf); - + std::wstring msg = fwgettext("Viewing range is at maximum: %d", range_new); + m_game_ui->showStatusText(msg); } else { - str = wgettext("Viewing range changed to %d"); - swprintf(buf, sizeof(buf) / sizeof(wchar_t), str, range_new); - delete[] str; - m_game_ui->showStatusText(buf); + std::wstring msg = fwgettext("Viewing range changed to %d", range_new); + m_game_ui->showStatusText(msg); } g_settings->set("viewing_range", itos(range_new)); } @@ -1585,19 +1636,13 @@ void Game::decreaseViewRange() s16 range = g_settings->getS16("viewing_range"); s16 range_new = range - 10; - wchar_t buf[255]; - const wchar_t *str; if (range_new < 20) { range_new = 20; - str = wgettext("Viewing range is at minimum: %d"); - swprintf(buf, sizeof(buf) / sizeof(wchar_t), str, range_new); - delete[] str; - m_game_ui->showStatusText(buf); + std::wstring msg = fwgettext("Viewing range is at minimum: %d", range_new); + m_game_ui->showStatusText(msg); } else { - str = wgettext("Viewing range changed to %d"); - swprintf(buf, sizeof(buf) / sizeof(wchar_t), str, range_new); - delete[] str; - m_game_ui->showStatusText(buf); + std::wstring msg = fwgettext("Viewing range changed to %d", range_new); + m_game_ui->showStatusText(msg); } g_settings->set("viewing_range", itos(range_new)); } @@ -1694,7 +1739,7 @@ void Game::updateCameraOrientation(CameraOrientation *cam, float dtime) if (m_cache_enable_joysticks) { f32 sens_scale = getSensitivityScaleFactor(); - f32 c = m_cache_joystick_frustum_sensitivity * (1.f / 32767.f) * dtime * sens_scale; + f32 c = m_cache_joystick_frustum_sensitivity * dtime * sens_scale; cam->camera_yaw -= input->joystick.getAxisWithoutDead(JA_FRUSTUM_HORIZONTAL) * c; cam->camera_pitch += input->joystick.getAxisWithoutDead(JA_FRUSTUM_VERTICAL) * c; } @@ -1705,18 +1750,12 @@ void Game::updateCameraOrientation(CameraOrientation *cam, float dtime) void Game::updatePlayerControl(const CameraOrientation &cam) { + LocalPlayer *player = client->getEnv().getLocalPlayer(); + //TimeTaker tt("update player control", NULL, PRECISION_NANO); - // DO NOT use the isKeyDown method for the forward, backward, left, right - // buttons, as the code that uses the controls needs to be able to - // distinguish between the two in order to know when to use joysticks. - PlayerControl control( - input->isKeyDown(KeyType::FORWARD), - input->isKeyDown(KeyType::BACKWARD), - input->isKeyDown(KeyType::LEFT), - input->isKeyDown(KeyType::RIGHT), - isKeyDown(KeyType::JUMP), + isKeyDown(KeyType::JUMP) || player->getAutojump(), isKeyDown(KeyType::AUX1), isKeyDown(KeyType::SNEAK), isKeyDown(KeyType::ZOOM), @@ -1724,22 +1763,16 @@ void Game::updatePlayerControl(const CameraOrientation &cam) isKeyDown(KeyType::PLACE), cam.camera_pitch, cam.camera_yaw, - input->joystick.getAxisWithoutDead(JA_SIDEWARD_MOVE), - input->joystick.getAxisWithoutDead(JA_FORWARD_MOVE) + input->getMovementSpeed(), + input->getMovementDirection() ); - u32 keypress_bits = ( - ( (u32)(isKeyDown(KeyType::FORWARD) & 0x1) << 0) | - ( (u32)(isKeyDown(KeyType::BACKWARD) & 0x1) << 1) | - ( (u32)(isKeyDown(KeyType::LEFT) & 0x1) << 2) | - ( (u32)(isKeyDown(KeyType::RIGHT) & 0x1) << 3) | - ( (u32)(isKeyDown(KeyType::JUMP) & 0x1) << 4) | - ( (u32)(isKeyDown(KeyType::AUX1) & 0x1) << 5) | - ( (u32)(isKeyDown(KeyType::SNEAK) & 0x1) << 6) | - ( (u32)(isKeyDown(KeyType::DIG) & 0x1) << 7) | - ( (u32)(isKeyDown(KeyType::PLACE) & 0x1) << 8) | - ( (u32)(isKeyDown(KeyType::ZOOM) & 0x1) << 9) - ); + // autoforward if set: move towards pointed position at maximum speed + if (player->getPlayerSettings().continuous_forward && + client->activeObjectsReceived() && !player->isDead()) { + control.movement_speed = 1.0f; + control.movement_direction = 0.0f; + } #ifdef ANDROID /* For Android, simulate holding down AUX1 (fast move) if the user has @@ -1749,23 +1782,38 @@ void Game::updatePlayerControl(const CameraOrientation &cam) */ if (m_cache_hold_aux1) { control.aux1 = control.aux1 ^ true; - keypress_bits ^= ((u32)(1U << 5)); } #endif - LocalPlayer *player = client->getEnv().getLocalPlayer(); + u32 keypress_bits = ( + ( (u32)(control.jump & 0x1) << 4) | + ( (u32)(control.aux1 & 0x1) << 5) | + ( (u32)(control.sneak & 0x1) << 6) | + ( (u32)(control.dig & 0x1) << 7) | + ( (u32)(control.place & 0x1) << 8) | + ( (u32)(control.zoom & 0x1) << 9) + ); - // autojump if set: simulate "jump" key - if (player->getAutojump()) { - control.jump = true; - keypress_bits |= 1U << 4; - } + // Set direction keys to ensure mod compatibility + if (control.movement_speed > 0.001f) { + float absolute_direction; - // autoforward if set: simulate "up" key - if (player->getPlayerSettings().continuous_forward && - client->activeObjectsReceived() && !player->isDead()) { - control.up = true; - keypress_bits |= 1U << 0; + // Check in original orientation (absolute value indicates forward / backward) + absolute_direction = abs(control.movement_direction); + if (absolute_direction < (3.0f / 8.0f * M_PI)) + keypress_bits |= (u32)(0x1 << 0); // Forward + if (absolute_direction > (5.0f / 8.0f * M_PI)) + keypress_bits |= (u32)(0x1 << 1); // Backward + + // Rotate entire coordinate system by 90 degrees (absolute value indicates left / right) + absolute_direction = control.movement_direction + M_PI_2; + if (absolute_direction >= M_PI) + absolute_direction -= 2 * M_PI; + absolute_direction = abs(absolute_direction); + if (absolute_direction < (3.0f / 8.0f * M_PI)) + keypress_bits |= (u32)(0x1 << 2); // Left + if (absolute_direction > (5.0f / 8.0f * M_PI)) + keypress_bits |= (u32)(0x1 << 3); // Right } client->setPlayerControl(control); @@ -1970,6 +2018,7 @@ void Game::handleClientEvent_HudAdd(ClientEvent *event, CameraOrientation *cam) e->size = event->hudadd->size; e->z_index = event->hudadd->z_index; e->text2 = event->hudadd->text2; + e->style = event->hudadd->style; m_hud_server_to_client[server_id] = player->addHud(e); delete event->hudadd; @@ -2035,6 +2084,8 @@ void Game::handleClientEvent_HudChange(ClientEvent *event, CameraOrientation *ca CASE_SET(HUD_STAT_Z_INDEX, z_index, data); CASE_SET(HUD_STAT_TEXT2, text2, sdata); + + CASE_SET(HUD_STAT_STYLE, style, data); } #undef CASE_SET @@ -3131,15 +3182,22 @@ void Game::updateFrame(ProfilerGraph *graph, RunStats *stats, f32 dtime, */ runData.update_draw_list_timer += dtime; + float update_draw_list_delta = 0.2f; + v3f camera_direction = camera->getDirection(); - if (runData.update_draw_list_timer >= 0.2 + if (runData.update_draw_list_timer >= update_draw_list_delta || runData.update_draw_list_last_cam_dir.getDistanceFrom(camera_direction) > 0.2 || m_camera_offset_changed) { + runData.update_draw_list_timer = 0; client->getEnv().getClientMap().updateDrawList(); runData.update_draw_list_last_cam_dir = camera_direction; } + if (RenderingEngine::get_shadow_renderer()) { + updateShadows(); + } + m_game_ui->update(*stats, client, draw_control, cam, runData.pointed_old, gui_chat_console, dtime); /* @@ -3205,7 +3263,7 @@ void Game::updateFrame(ProfilerGraph *graph, RunStats *stats, f32 dtime, if (! gui_chat_console->isOpen()) { if (m_game_ui->m_flags.show_cheat_menu) - m_cheat_menu->draw(driver, m_game_ui->m_flags.show_debug); + m_cheat_menu->draw(driver, m_game_ui->m_flags.show_minimal_debug); if (g_settings->getBool("cheat_hud")) m_cheat_menu->drawHUD(driver, dtime); } @@ -3277,7 +3335,34 @@ inline void Game::updateProfilerGraphs(ProfilerGraph *graph) graph->put(values); } +/**************************************************************************** + * Shadows + *****************************************************************************/ +void Game::updateShadows() +{ + ShadowRenderer *shadow = RenderingEngine::get_shadow_renderer(); + if (!shadow) + return; + float in_timeofday = fmod(runData.time_of_day_smooth, 1.0f); + + float timeoftheday = fmod(getWickedTimeOfDay(in_timeofday) + 0.75f, 0.5f) + 0.25f; + const float offset_constant = 10000.0f; + + v3f light(0.0f, 0.0f, -1.0f); + light.rotateXZBy(90); + light.rotateXYBy(timeoftheday * 360 - 90); + light.rotateYZBy(sky->getSkyBodyOrbitTilt()); + + v3f sun_pos = light * offset_constant; + + if (shadow->getDirectionalLightCount() == 0) + shadow->addDirectionalLight(); + shadow->getDirectionalLight().setDirection(sun_pos); + shadow->setTimeOfDay(in_timeofday); + + shadow->getDirectionalLight().update_frustum(camera, client, m_camera_offset_changed); +} /**************************************************************************** Misc diff --git a/src/client/game.h b/src/client/game.h index 8197b9a9b..cb40d4890 100644 --- a/src/client/game.h +++ b/src/client/game.h @@ -684,6 +684,7 @@ public: bool handleCallbacks(); void processQueues(); void updateProfilers(const RunStats &stats, const FpsControl &draw_times, f32 dtime); + void updateDebugState(); void updateStats(RunStats *stats, const FpsControl &draw_times, f32 dtime); void updateProfilerGraphs(ProfilerGraph *graph); @@ -706,6 +707,7 @@ public: void toggleScaffold(); void toggleNextItem(); void toggleCinematic(); + void toggleBlockBounds(); void toggleAutoforward(); void toggleMinimap(bool shift_pressed); @@ -752,6 +754,7 @@ public: const ItemStack &selected_item, const ItemStack &hand_item, f32 dtime); void updateFrame(ProfilerGraph *graph, RunStats *stats, f32 dtime, const CameraOrientation &cam); + void updateShadows(); // Misc void limitFps(FpsControl *fps_timings, f32 *dtime); diff --git a/src/client/gameui.cpp b/src/client/gameui.cpp index c97ae93b8..66a006ea1 100644 --- a/src/client/gameui.cpp +++ b/src/client/gameui.cpp @@ -74,11 +74,14 @@ void GameUI::init() chat_font_size, FM_Unspecified)); } - // At the middle of the screen - // Object infos are shown in this + + // Infotext of nodes and objects. + // If in debug mode, object debug infos shown here, too. + // Located on the left on the screen, below chat. u32 chat_font_height = m_guitext_chat->getActiveFont()->getDimension(L"Ay").Height; m_guitext_info = gui::StaticText::add(guienv, L"", - core::rect(0, 0, 400, g_fontengine->getTextHeight() * 5 + 5) + + // Size is limited; text will be truncated after 6 lines. + core::rect(0, 0, 400, g_fontengine->getTextHeight() * 6) + v2s32(100, chat_font_height * (g_settings->getU16("recent_chat_messages") + 3)), false, true, guiroot); @@ -119,7 +122,8 @@ void GameUI::update(const RunStats &stats, Client *client, MapDrawControl *draw_ m_guitext_coords->setVisible(show_coords); - if (m_flags.show_debug) { + // Minimal debug text must only contain info that can't give a gameplay advantage + if (m_flags.show_minimal_debug) { static float drawtime_avg = 0; drawtime_avg = drawtime_avg * 0.95 + stats.drawtime * 0.05; u16 fps = 1.0 / stats.dtime_jitter.avg; @@ -145,9 +149,13 @@ void GameUI::update(const RunStats &stats, Client *client, MapDrawControl *draw_ } // Finally set the guitext visible depending on the flag - m_guitext->setVisible(m_flags.show_debug); + m_guitext->setVisible(m_flags.show_minimal_debug); + + // Basic debug text also shows info that might give a gameplay advantage + if (m_flags.show_basic_debug) { + LocalPlayer *player = client->getEnv().getLocalPlayer(); + v3f player_position = player->getPosition(); - if (m_flags.show_debug) { std::ostringstream os(std::ios_base::binary); os << std::setprecision(1) << std::fixed << "pos: (" << (player_position.X / BS) @@ -177,7 +185,7 @@ void GameUI::update(const RunStats &stats, Client *client, MapDrawControl *draw_ )); } - m_guitext2->setVisible(m_flags.show_debug); + m_guitext2->setVisible(m_flags.show_basic_debug); setStaticText(m_guitext_info, m_infotext.c_str()); m_guitext_info->setVisible(m_flags.show_hud && g_menumgr.menuCount() == 0); @@ -220,7 +228,8 @@ void GameUI::update(const RunStats &stats, Client *client, MapDrawControl *draw_ void GameUI::initFlags() { m_flags = GameUI::Flags(); - m_flags.show_debug = g_settings->getBool("show_debug"); + m_flags.show_minimal_debug = g_settings->getBool("show_debug"); + m_flags.show_basic_debug = false; } void GameUI::showMinimap(bool show) @@ -244,8 +253,10 @@ void GameUI::setChatText(const EnrichedString &chat_text, u32 recent_chat_count) s32 chat_y = window_size.Y - 150 - m_guitext_chat->getTextHeight(); - if (m_flags.show_debug) - chat_y += 2 * g_fontengine->getLineHeight(); + if (m_flags.show_minimal_debug) + chat_y += g_fontengine->getLineHeight(); + if (m_flags.show_basic_debug) + chat_y += g_fontengine->getLineHeight(); core::rect chat_size(10, chat_y, window_size.X - 20, 0); @@ -320,12 +331,9 @@ void GameUI::toggleProfiler() updateProfiler(); if (m_profiler_current_page != 0) { - wchar_t buf[255]; - const wchar_t* str = wgettext("Profiler shown (page %d of %d)"); - swprintf(buf, sizeof(buf) / sizeof(wchar_t), str, - m_profiler_current_page, m_profiler_max_page); - delete[] str; - showStatusText(buf); + std::wstring msg = fwgettext("Profiler shown (page %d of %d)", + m_profiler_current_page, m_profiler_max_page); + showStatusText(msg); } else { showTranslatedStatusText("Profiler hidden"); } diff --git a/src/client/gameui.h b/src/client/gameui.h index f04fd97b8..5404643e2 100644 --- a/src/client/gameui.h +++ b/src/client/gameui.h @@ -58,7 +58,8 @@ public: bool show_chat = true; bool show_hud = true; bool show_minimap = false; - bool show_debug = true; + bool show_minimal_debug = false; + bool show_basic_debug = false; bool show_profiler_graph = false; bool show_cheat_menu = true; }; diff --git a/src/client/hud.cpp b/src/client/hud.cpp index 391af0995..3f687b698 100644 --- a/src/client/hud.cpp +++ b/src/client/hud.cpp @@ -331,8 +331,8 @@ bool Hud::calculateScreenPos(const v3s16 &camera_offset, HudElement *e, v2s32 *p void Hud::drawLuaElements(const v3s16 &camera_offset) { - u32 text_height = g_fontengine->getTextHeight(); - irr::gui::IGUIFont* font = g_fontengine->getFont(); + const u32 text_height = g_fontengine->getTextHeight(); + gui::IGUIFont *const font = g_fontengine->getFont(); // Reorder elements by z_index std::vector elems; @@ -356,38 +356,34 @@ void Hud::drawLuaElements(const v3s16 &camera_offset) floor(e->pos.Y * (float) m_screensize.Y + 0.5)); switch (e->type) { case HUD_ELEM_TEXT: { - irr::gui::IGUIFont *textfont = font; unsigned int font_size = g_fontengine->getDefaultFontSize(); if (e->size.X > 0) font_size *= e->size.X; - if (font_size != g_fontengine->getDefaultFontSize()) - textfont = g_fontengine->getFont(font_size); +#ifdef __ANDROID__ + // The text size on Android is not proportional with the actual scaling + // FIXME: why do we have such a weird unportable hack?? + if (font_size > 3 && e->offset.X < -20) + font_size -= 3; +#endif + auto textfont = g_fontengine->getFont(FontSpec(font_size, + (e->style & HUD_STYLE_MONO) ? FM_Mono : FM_Unspecified, + e->style & HUD_STYLE_BOLD, e->style & HUD_STYLE_ITALIC)); video::SColor color(255, (e->number >> 16) & 0xFF, (e->number >> 8) & 0xFF, (e->number >> 0) & 0xFF); std::wstring text = unescape_translate(utf8_to_wide(e->text)); core::dimension2d textsize = textfont->getDimension(text.c_str()); -#ifdef __ANDROID__ - // The text size on Android is not proportional with the actual scaling - irr::gui::IGUIFont *font_scaled = font_size <= 3 ? - textfont : g_fontengine->getFont(font_size - 3); - if (e->offset.X < -20) - textsize = font_scaled->getDimension(text.c_str()); -#endif + v2s32 offset((e->align.X - 1.0) * (textsize.Width / 2), (e->align.Y - 1.0) * (textsize.Height / 2)); core::rect size(0, 0, e->scale.X * m_scale_factor, text_height * e->scale.Y * m_scale_factor); v2s32 offs(e->offset.X * m_scale_factor, e->offset.Y * m_scale_factor); -#ifdef __ANDROID__ - if (e->offset.X < -20) - font_scaled->draw(text.c_str(), size + pos + offset + offs, color); - else -#endif + { textfont->draw(text.c_str(), size + pos + offset + offs, color); } @@ -861,13 +857,19 @@ void Hud::drawSelectionMesh() } } -void Hud::toggleBlockBounds() +enum Hud::BlockBoundsMode Hud::toggleBlockBounds() { m_block_bounds_mode = static_cast(m_block_bounds_mode + 1); if (m_block_bounds_mode >= BLOCK_BOUNDS_MAX) { m_block_bounds_mode = BLOCK_BOUNDS_OFF; } + return m_block_bounds_mode; +} + +void Hud::disableBlockBounds() +{ + m_block_bounds_mode = BLOCK_BOUNDS_OFF; } void Hud::drawBlockBounds() @@ -889,7 +891,7 @@ void Hud::drawBlockBounds() v3f offset = intToFloat(client->getCamera()->getOffset(), BS); - s8 radius = m_block_bounds_mode == BLOCK_BOUNDS_ALL ? 2 : 0; + s8 radius = m_block_bounds_mode == BLOCK_BOUNDS_NEAR ? 2 : 0; v3f halfNode = v3f(BS, BS, BS) / 2.0f; diff --git a/src/client/hud.h b/src/client/hud.h index d341105d2..fd79183a0 100644 --- a/src/client/hud.h +++ b/src/client/hud.h @@ -35,6 +35,14 @@ struct ItemStack; class Hud { public: + enum BlockBoundsMode + { + BLOCK_BOUNDS_OFF, + BLOCK_BOUNDS_CURRENT, + BLOCK_BOUNDS_NEAR, + BLOCK_BOUNDS_MAX + } m_block_bounds_mode = BLOCK_BOUNDS_OFF; + video::SColor crosshair_argb; video::SColor selectionbox_argb; @@ -51,7 +59,8 @@ public: Inventory *inventory); ~Hud(); - void toggleBlockBounds(); + enum BlockBoundsMode toggleBlockBounds(); + void disableBlockBounds(); void drawBlockBounds(); void drawHotbar(u16 playeritem); @@ -126,14 +135,6 @@ private: scene::SMeshBuffer m_rotation_mesh_buffer; - enum BlockBoundsMode - { - BLOCK_BOUNDS_OFF, - BLOCK_BOUNDS_CURRENT, - BLOCK_BOUNDS_ALL, - BLOCK_BOUNDS_MAX - } m_block_bounds_mode = BLOCK_BOUNDS_OFF; - enum { HIGHLIGHT_BOX, diff --git a/src/client/imagefilters.cpp b/src/client/imagefilters.cpp index 7b2ef9822..97ad094e5 100644 --- a/src/client/imagefilters.cpp +++ b/src/client/imagefilters.cpp @@ -95,9 +95,14 @@ void imageCleanTransparent(video::IImage *src, u32 threshold) Bitmap newmap = bitmap; + // Cap iterations to keep runtime reasonable, for higher-res textures we can + // get away with filling less pixels. + int iter_max = 11 - std::max(dim.Width, dim.Height) / 16; + iter_max = std::max(iter_max, 2); + // Then repeatedly look for transparent pixels, filling them in until - // we're finished (capped at 50 iterations). - for (u32 iter = 0; iter < 50; iter++) { + // we're finished. + for (int iter = 0; iter < iter_max; iter++) { for (u32 ctry = 0; ctry < dim.Height; ctry++) for (u32 ctrx = 0; ctrx < dim.Width; ctrx++) { diff --git a/src/client/inputhandler.cpp b/src/client/inputhandler.cpp index d833db2f1..d2d81be9c 100644 --- a/src/client/inputhandler.cpp +++ b/src/client/inputhandler.cpp @@ -148,11 +148,8 @@ bool MyEventReceiver::OnEvent(const SEvent &event) #endif } else if (event.EventType == irr::EET_JOYSTICK_INPUT_EVENT) { - /* TODO add a check like: - if (event.JoystickEvent != joystick_we_listen_for) - return false; - */ - return joystick->handleEvent(event.JoystickEvent); + // joystick may be nullptr if game is launched with '--random-input' parameter + return joystick && joystick->handleEvent(event.JoystickEvent); } else if (event.EventType == irr::EET_MOUSE_INPUT_EVENT) { // Handle mouse events KeyPress key; @@ -253,4 +250,39 @@ void RandomInputHandler::step(float dtime) } } mousepos += mousespeed; + static bool useJoystick = false; + { + static float counterUseJoystick = 0; + counterUseJoystick -= dtime; + if (counterUseJoystick < 0.0) { + counterUseJoystick = 5.0; // switch between joystick and keyboard direction input + useJoystick = !useJoystick; + } + } + if (useJoystick) { + static float counterMovement = 0; + counterMovement -= dtime; + if (counterMovement < 0.0) { + counterMovement = 0.1 * Rand(1, 40); + movementSpeed = Rand(0,100)*0.01; + movementDirection = Rand(-100, 100)*0.01 * M_PI; + } + } else { + bool f = keydown[keycache.key[KeyType::FORWARD]], + l = keydown[keycache.key[KeyType::LEFT]]; + if (f || l) { + movementSpeed = 1.0f; + if (f && !l) + movementDirection = 0.0; + else if (!f && l) + movementDirection = -M_PI_2; + else if (f && l) + movementDirection = -M_PI_4; + else + movementDirection = 0.0; + } else { + movementSpeed = 0.0; + movementDirection = 0.0; + } + } } diff --git a/src/client/inputhandler.h b/src/client/inputhandler.h index efe9442d5..951ec8884 100644 --- a/src/client/inputhandler.h +++ b/src/client/inputhandler.h @@ -242,6 +242,9 @@ public: virtual bool wasKeyReleased(GameKeyType k) = 0; virtual bool cancelPressed() = 0; + virtual float getMovementSpeed() = 0; + virtual float getMovementDirection() = 0; + virtual void clearWasKeyPressed() {} virtual void clearWasKeyReleased() {} @@ -296,6 +299,44 @@ public: { return m_receiver->WasKeyReleased(keycache.key[k]) || joystick.wasKeyReleased(k); } + virtual float getMovementSpeed() + { + bool f = m_receiver->IsKeyDown(keycache.key[KeyType::FORWARD]), + b = m_receiver->IsKeyDown(keycache.key[KeyType::BACKWARD]), + l = m_receiver->IsKeyDown(keycache.key[KeyType::LEFT]), + r = m_receiver->IsKeyDown(keycache.key[KeyType::RIGHT]); + if (f || b || l || r) + { + // if contradictory keys pressed, stay still + if (f && b && l && r) + return 0.0f; + else if (f && b && !l && !r) + return 0.0f; + else if (!f && !b && l && r) + return 0.0f; + return 1.0f; // If there is a keyboard event, assume maximum speed + } + return joystick.getMovementSpeed(); + } + virtual float getMovementDirection() + { + float x = 0, z = 0; + + /* Check keyboard for input */ + if (m_receiver->IsKeyDown(keycache.key[KeyType::FORWARD])) + z += 1; + if (m_receiver->IsKeyDown(keycache.key[KeyType::BACKWARD])) + z -= 1; + if (m_receiver->IsKeyDown(keycache.key[KeyType::RIGHT])) + x += 1; + if (m_receiver->IsKeyDown(keycache.key[KeyType::LEFT])) + x -= 1; + + if (x != 0 || z != 0) /* If there is a keyboard event, it takes priority */ + return atan2(x, z); + else + return joystick.getMovementDirection(); + } virtual bool cancelPressed() { return wasKeyDown(KeyType::ESC) || m_receiver->WasKeyDown(CancelKey); @@ -371,6 +412,8 @@ public: virtual bool wasKeyPressed(GameKeyType k) { return false; } virtual bool wasKeyReleased(GameKeyType k) { return false; } virtual bool cancelPressed() { return false; } + virtual float getMovementSpeed() { return movementSpeed; } + virtual float getMovementDirection() { return movementDirection; } virtual v2s32 getMousePos() { return mousepos; } virtual void setMousePos(s32 x, s32 y) { mousepos = v2s32(x, y); } @@ -384,4 +427,6 @@ private: KeyList keydown; v2s32 mousepos; v2s32 mousespeed; + float movementSpeed; + float movementDirection; }; diff --git a/src/client/joystick_controller.cpp b/src/client/joystick_controller.cpp index 919db5315..630565d8d 100644 --- a/src/client/joystick_controller.cpp +++ b/src/client/joystick_controller.cpp @@ -160,6 +160,7 @@ JoystickController::JoystickController() : for (float &i : m_past_pressed_time) { i = 0; } + m_layout.axes_deadzone = 0; clear(); } @@ -251,10 +252,27 @@ void JoystickController::clear() memset(m_axes_vals, 0, sizeof(m_axes_vals)); } -s16 JoystickController::getAxisWithoutDead(JoystickAxis axis) +float JoystickController::getAxisWithoutDead(JoystickAxis axis) { s16 v = m_axes_vals[axis]; + if (abs(v) < m_layout.axes_deadzone) - return 0; - return v; + return 0.0f; + + v += (v < 0 ? m_layout.axes_deadzone : -m_layout.axes_deadzone); + + return (float)v / ((float)(INT16_MAX - m_layout.axes_deadzone)); +} + +float JoystickController::getMovementDirection() +{ + return atan2(getAxisWithoutDead(JA_SIDEWARD_MOVE), -getAxisWithoutDead(JA_FORWARD_MOVE)); +} + +float JoystickController::getMovementSpeed() +{ + float speed = sqrt(pow(getAxisWithoutDead(JA_FORWARD_MOVE), 2) + pow(getAxisWithoutDead(JA_SIDEWARD_MOVE), 2)); + if (speed > 1.0f) + speed = 1.0f; + return speed; } diff --git a/src/client/joystick_controller.h b/src/client/joystick_controller.h index 3f361e4ef..cbc60886c 100644 --- a/src/client/joystick_controller.h +++ b/src/client/joystick_controller.h @@ -144,7 +144,10 @@ public: return m_axes_vals[axis]; } - s16 getAxisWithoutDead(JoystickAxis axis); + float getAxisWithoutDead(JoystickAxis axis); + + float getMovementDirection(); + float getMovementSpeed(); f32 doubling_dtime; diff --git a/src/client/localplayer.cpp b/src/client/localplayer.cpp index e979c5600..0a0a57cce 100644 --- a/src/client/localplayer.cpp +++ b/src/client/localplayer.cpp @@ -571,23 +571,7 @@ void LocalPlayer::applyControl(float dtime, Environment *env) } } - if (control.up) - speedH += v3f(0.0f, 0.0f, 1.0f); - - if (control.down) - speedH -= v3f(0.0f, 0.0f, 1.0f); - - if (!control.up && !control.down) - speedH -= v3f(0.0f, 0.0f, 1.0f) * (control.forw_move_joystick_axis / 32767.f); - - if (control.left) - speedH += v3f(-1.0f, 0.0f, 0.0f); - - if (control.right) - speedH += v3f(1.0f, 0.0f, 0.0f); - - if (!control.left && !control.right) - speedH += v3f(1.0f, 0.0f, 0.0f) * (control.sidew_move_joystick_axis / 32767.f); + speedH = v3f(sin(control.movement_direction), 0.0f, cos(control.movement_direction)); if (m_autojump) { // release autojump after a given time @@ -644,6 +628,8 @@ void LocalPlayer::applyControl(float dtime, Environment *env) else speedH = speedH.normalize() * movement_speed_walk; + speedH *= control.movement_speed; /* Apply analog input */ + // Acceleration increase f32 incH = 0.0f; // Horizontal (X, Z) f32 incV = 0.0f; // Vertical (Y) @@ -1133,9 +1119,7 @@ void LocalPlayer::handleAutojump(f32 dtime, Environment *env, if (m_autojump) return; - bool control_forward = control.up || - (!control.up && !control.down && - control.forw_move_joystick_axis < -0.05f); + bool control_forward = keyPressed & (1 << 0); bool could_autojump = m_can_jump && !control.jump && !control.sneak && control_forward; diff --git a/src/client/mapblock_mesh.cpp b/src/client/mapblock_mesh.cpp index 8877e0549..52729632a 100644 --- a/src/client/mapblock_mesh.cpp +++ b/src/client/mapblock_mesh.cpp @@ -410,20 +410,20 @@ static void getNodeTextureCoords(v3f base, const v3f &scale, const v3s16 &dir, f if (dir.X > 0 || dir.Y != 0 || dir.Z < 0) base -= scale; if (dir == v3s16(0,0,1)) { - *u = -base.X - 1; - *v = -base.Y - 1; + *u = -base.X; + *v = -base.Y; } else if (dir == v3s16(0,0,-1)) { *u = base.X + 1; - *v = -base.Y - 2; + *v = -base.Y - 1; } else if (dir == v3s16(1,0,0)) { *u = base.Z + 1; - *v = -base.Y - 2; - } else if (dir == v3s16(-1,0,0)) { - *u = -base.Z - 1; *v = -base.Y - 1; + } else if (dir == v3s16(-1,0,0)) { + *u = -base.Z; + *v = -base.Y; } else if (dir == v3s16(0,1,0)) { *u = base.X + 1; - *v = -base.Z - 2; + *v = -base.Z - 1; } else if (dir == v3s16(0,-1,0)) { *u = base.X + 1; *v = base.Z + 1; @@ -805,7 +805,7 @@ static void getTileInfo( VoxelManipulator &vmanip = data->m_vmanip; const NodeDefManager *ndef = data->m_client->ndef(); v3s16 blockpos_nodes = data->m_blockpos * MAP_BLOCKSIZE; - + const MapNode &n0 = vmanip.getNodeRefUnsafe(blockpos_nodes + p); content_t c0 = n0.getContent(); @@ -894,6 +894,9 @@ static void updateFastFaceRow( g_settings->getBool("enable_shaders") && g_settings->getBool("enable_waving_water"); + static thread_local const bool force_not_tiling = + g_settings->getBool("enable_dynamic_shadows"); + v3s16 p = startpos; u16 continuous_tiles_count = 1; @@ -925,7 +928,7 @@ static void updateFastFaceRow( // the face must be drawn anyway if (j != MAP_BLOCKSIZE - 1) { p += translate_dir; - + getTileInfo(data, p, face_dir, next_makes_face, next_p_corrected, next_face_dir_corrected, next_lights, @@ -933,8 +936,9 @@ static void updateFastFaceRow( next_tile, xray, xraySet); - - if (next_makes_face == makes_face + + if (!force_not_tiling + && next_makes_face == makes_face && next_p_corrected == p_corrected + translate_dir && next_face_dir_corrected == face_dir_corrected && memcmp(next_lights, lights, sizeof(lights)) == 0 @@ -1077,16 +1081,16 @@ MapBlockMesh::MapBlockMesh(MeshMakeData *data, v3s16 camera_offset): std::set xraySet, nodeESPSet; if (xray) xraySet = splitToContentT(g_settings->get("xray_nodes"), data->m_client->ndef()); - + nodeESPSet = splitToContentT(g_settings->get("node_esp_nodes"), data->m_client->ndef()); - + /* We are including the faces of the trailing edges of the block. This means that when something changes, the caller must also update the meshes of the blocks at the leading edges. NOTE: This is the slowest part of this method. - */ + */ { // 4-23ms for MAP_BLOCKSIZE=16 (NOTE: probably outdated) //TimeTaker timer2("updateAllFastFaceRows()"); diff --git a/src/client/render/core.cpp b/src/client/render/core.cpp index 99af085f9..1028a96e1 100644 --- a/src/client/render/core.cpp +++ b/src/client/render/core.cpp @@ -28,25 +28,35 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "client/content_cao.h" #include "mapblock.h" #include "mapsector.h" +#include "client/shadows/dynamicshadowsrender.h" RenderingCore::RenderingCore(IrrlichtDevice *_device, Client *_client, Hud *_hud) : device(_device), driver(device->getVideoDriver()), smgr(device->getSceneManager()), guienv(device->getGUIEnvironment()), client(_client), camera(client->getCamera()), - mapper(client->getMinimap()), hud(_hud) + mapper(client->getMinimap()), hud(_hud), + shadow_renderer(nullptr) { screensize = driver->getScreenSize(); virtual_size = screensize; + + if (g_settings->getBool("enable_shaders") && + g_settings->getBool("enable_dynamic_shadows")) { + shadow_renderer = new ShadowRenderer(device, client); + } } RenderingCore::~RenderingCore() { clearTextures(); + delete shadow_renderer; } void RenderingCore::initialize() { // have to be called late as the VMT is not ready in the constructor: initTextures(); + if (shadow_renderer) + shadow_renderer->initialize(); } void RenderingCore::updateScreenSize() @@ -75,24 +85,27 @@ void RenderingCore::draw(video::SColor _skycolor, bool _show_hud, bool _show_min draw_player_tracers = g_settings->getBool("enable_player_tracers"); draw_node_esp = g_settings->getBool("enable_node_esp"); draw_node_tracers = g_settings->getBool("enable_node_tracers"); - v3f entity_color = g_settings->getV3F("entity_esp_color"); + v3f entity_color = g_settings->getV3F("entity_esp_color"); v3f player_color = g_settings->getV3F("player_esp_color"); entity_esp_color = video::SColor(255, entity_color.X, entity_color.Y, entity_color.Z); player_esp_color = video::SColor(255, player_color.X, player_color.Y, player_color.Z); - + + if (shadow_renderer) + shadow_renderer->update(); + beforeDraw(); drawAll(); } void RenderingCore::drawTracersAndESP() -{ +{ ClientEnvironment &env = client->getEnv(); Camera *camera = client->getCamera(); - + v3f camera_offset = intToFloat(camera->getOffset(), BS); - + v3f eye_pos = (camera->getPosition() + camera->getDirection() - camera_offset); - + video::SMaterial material, oldmaterial; oldmaterial = driver->getMaterial2D(); material.setFlag(video::EMF_LIGHTING, false); @@ -100,7 +113,7 @@ void RenderingCore::drawTracersAndESP() material.setFlag(video::EMF_ZBUFFER, false); material.setFlag(video::EMF_ZWRITE_ENABLE, false); driver->setMaterial(material); - + if (draw_entity_esp || draw_entity_tracers || draw_player_esp || draw_player_tracers) { auto allObjects = env.getAllActiveObjects(); for (auto &it : allObjects) { @@ -153,13 +166,16 @@ void RenderingCore::drawTracersAndESP() } } } - + driver->setMaterial(oldmaterial); } void RenderingCore::draw3D() { smgr->drawAll(); + if (shadow_renderer) + shadow_renderer->drawDebug(); + driver->setTransform(video::ETS_WORLD, core::IdentityMatrix); if (!show_hud) return; @@ -176,7 +192,7 @@ void RenderingCore::drawHUD() if (show_hud) { if (draw_crosshair) hud->drawCrosshair(); - + hud->drawHotbar(client->getEnv().getLocalPlayer()->getWieldIndex()); hud->drawLuaElements(camera->getOffset()); camera->drawNametags(); diff --git a/src/client/render/core.h b/src/client/render/core.h index 386c5a840..0864f25bd 100644 --- a/src/client/render/core.h +++ b/src/client/render/core.h @@ -21,6 +21,7 @@ with this program; if not, write to the Free Software Foundation, Inc., #pragma once #include "irrlichttypes_extrabloated.h" +class ShadowRenderer; class Camera; class Client; class Hud; @@ -55,6 +56,8 @@ protected: Minimap *mapper; Hud *hud; + ShadowRenderer *shadow_renderer; + void updateScreenSize(); virtual void initTextures() {} virtual void clearTextures() {} @@ -81,4 +84,6 @@ public: bool _draw_wield_tool, bool _draw_crosshair); inline v2u32 getVirtualSize() const { return virtual_size; } + + ShadowRenderer *get_shadow_renderer() { return shadow_renderer; }; }; diff --git a/src/client/renderingengine.cpp b/src/client/renderingengine.cpp index 138012414..2e4994a40 100644 --- a/src/client/renderingengine.cpp +++ b/src/client/renderingengine.cpp @@ -19,7 +19,6 @@ with this program; if not, write to the Free Software Foundation, Inc., */ #include -#include #include "fontengine.h" #include "client.h" #include "clouds.h" @@ -92,7 +91,6 @@ RenderingEngine::RenderingEngine(IEventReceiver *receiver) // bpp, fsaa, vsync bool vsync = g_settings->getBool("vsync"); - u16 bits = g_settings->getU16("fullscreen_bpp"); u16 fsaa = g_settings->getU16("fsaa"); // stereo buffer required for pageflip stereo @@ -106,7 +104,7 @@ RenderingEngine::RenderingEngine(IEventReceiver *receiver) u32 i; for (i = 0; i != drivers.size(); i++) { if (!strcasecmp(driverstring.c_str(), - RenderingEngine::getVideoDriverName(drivers[i]))) { + RenderingEngine::getVideoDriverInfo(drivers[i]).name.c_str())) { driverType = drivers[i]; break; } @@ -122,15 +120,13 @@ RenderingEngine::RenderingEngine(IEventReceiver *receiver) params.LoggingLevel = irr::ELL_DEBUG; params.DriverType = driverType; params.WindowSize = core::dimension2d(screen_w, screen_h); - params.Bits = bits; params.AntiAlias = fsaa; params.Fullscreen = fullscreen; params.Stencilbuffer = false; params.Stereobuffer = stereo_buffer; params.Vsync = vsync; params.EventReceiver = receiver; - params.HighPrecisionFPU = g_settings->getBool("high_precision_fpu"); - params.ZBufferBits = 24; + params.HighPrecisionFPU = true; #ifdef __ANDROID__ params.PrivateData = porting::app_global; #endif @@ -171,60 +167,6 @@ void RenderingEngine::setResizable(bool resize) m_device->setResizable(resize); } -bool RenderingEngine::print_video_modes() -{ - IrrlichtDevice *nulldevice; - - bool vsync = g_settings->getBool("vsync"); - u16 fsaa = g_settings->getU16("fsaa"); - MyEventReceiver *receiver = new MyEventReceiver(); - - SIrrlichtCreationParameters params = SIrrlichtCreationParameters(); - params.DriverType = video::EDT_NULL; - params.WindowSize = core::dimension2d(640, 480); - params.Bits = 24; - params.AntiAlias = fsaa; - params.Fullscreen = false; - params.Stencilbuffer = false; - params.Vsync = vsync; - params.EventReceiver = receiver; - params.HighPrecisionFPU = g_settings->getBool("high_precision_fpu"); - - nulldevice = createDeviceEx(params); - - if (!nulldevice) { - delete receiver; - return false; - } - - std::cout << _("Available video modes (WxHxD):") << std::endl; - - video::IVideoModeList *videomode_list = nulldevice->getVideoModeList(); - - if (videomode_list != NULL) { - s32 videomode_count = videomode_list->getVideoModeCount(); - core::dimension2d videomode_res; - s32 videomode_depth; - for (s32 i = 0; i < videomode_count; ++i) { - videomode_res = videomode_list->getVideoModeResolution(i); - videomode_depth = videomode_list->getVideoModeDepth(i); - std::cout << videomode_res.Width << "x" << videomode_res.Height - << "x" << videomode_depth << std::endl; - } - - std::cout << _("Active video mode (WxHxD):") << std::endl; - videomode_res = videomode_list->getDesktopResolution(); - videomode_depth = videomode_list->getDesktopDepth(); - std::cout << videomode_res.Width << "x" << videomode_res.Height << "x" - << videomode_depth << std::endl; - } - - nulldevice->drop(); - delete receiver; - - return videomode_list != NULL; -} - void RenderingEngine::removeMesh(const scene::IMesh* mesh) { m_device->getSceneManager()->getMeshCache()->removeMesh(mesh); @@ -310,7 +252,7 @@ void RenderingEngine::setupTopLevelXorgWindow(const std::string &name) // force a shutdown of an application if it doesn't respond to the destroy // window message. - verbosestream << "Client: Setting Xorg _NET_WM_PID extened window manager property" + verbosestream << "Client: Setting Xorg _NET_WM_PID extended window manager property" << std::endl; Atom NET_WM_PID = XInternAtom(x11_dpl, "_NET_WM_PID", false); @@ -341,14 +283,6 @@ static bool getWindowHandle(irr::video::IVideoDriver *driver, HWND &hWnd) const video::SExposedVideoData exposedData = driver->getExposedVideoData(); switch (driver->getDriverType()) { -#if IRRLICHT_VERSION_MAJOR == 1 && IRRLICHT_VERSION_MINOR < 9 - case video::EDT_DIRECT3D8: - hWnd = reinterpret_cast(exposedData.D3D8.HWnd); - break; -#endif - case video::EDT_DIRECT3D9: - hWnd = reinterpret_cast(exposedData.D3D9.HWnd); - break; #if ENABLE_GLES case video::EDT_OGLES1: case video::EDT_OGLES2: @@ -581,32 +515,21 @@ void RenderingEngine::draw_menu_scene(gui::IGUIEnvironment *guienv, get_video_driver()->endScene(); } -std::vector> RenderingEngine::getSupportedVideoModes() -{ - IrrlichtDevice *nulldevice = createDevice(video::EDT_NULL); - sanity_check(nulldevice); - - std::vector> mlist; - video::IVideoModeList *modelist = nulldevice->getVideoModeList(); - - s32 num_modes = modelist->getVideoModeCount(); - for (s32 i = 0; i != num_modes; i++) { - core::dimension2d mode_res = modelist->getVideoModeResolution(i); - u32 mode_depth = (u32)modelist->getVideoModeDepth(i); - mlist.emplace_back(mode_res.Width, mode_res.Height, mode_depth); - } - - nulldevice->drop(); - return mlist; -} - std::vector RenderingEngine::getSupportedVideoDrivers() { + // Only check these drivers. + // We do not support software and D3D in any capacity. + static const irr::video::E_DRIVER_TYPE glDrivers[4] = { + irr::video::EDT_NULL, + irr::video::EDT_OPENGL, + irr::video::EDT_OGLES1, + irr::video::EDT_OGLES2, + }; std::vector drivers; - for (int i = 0; i != irr::video::EDT_COUNT; i++) { - if (irr::IrrlichtDevice::isDriverSupported((irr::video::E_DRIVER_TYPE)i)) - drivers.push_back((irr::video::E_DRIVER_TYPE)i); + for (int i = 0; i < 4; i++) { + if (irr::IrrlichtDevice::isDriverSupported(glDrivers[i])) + drivers.push_back(glDrivers[i]); } return drivers; @@ -630,36 +553,15 @@ void RenderingEngine::draw_scene(video::SColor skycolor, bool show_hud, core->draw(skycolor, show_hud, show_minimap, draw_wield_tool, draw_crosshair); } -const char *RenderingEngine::getVideoDriverName(irr::video::E_DRIVER_TYPE type) +const VideoDriverInfo &RenderingEngine::getVideoDriverInfo(irr::video::E_DRIVER_TYPE type) { - static const char *driver_ids[] = { - "null", - "software", - "burningsvideo", - "direct3d8", - "direct3d9", - "opengl", - "ogles1", - "ogles2", + static const std::unordered_map driver_info_map = { + {(int)video::EDT_NULL, {"null", "NULL Driver"}}, + {(int)video::EDT_OPENGL, {"opengl", "OpenGL"}}, + {(int)video::EDT_OGLES1, {"ogles1", "OpenGL ES1"}}, + {(int)video::EDT_OGLES2, {"ogles2", "OpenGL ES2"}}, }; - - return driver_ids[type]; -} - -const char *RenderingEngine::getVideoDriverFriendlyName(irr::video::E_DRIVER_TYPE type) -{ - static const char *driver_names[] = { - "NULL Driver", - "Software Renderer", - "Burning's Video", - "Direct3D 8", - "Direct3D 9", - "OpenGL", - "OpenGL ES1", - "OpenGL ES2", - }; - - return driver_names[type]; + return driver_info_map.at((int)type); } #ifndef __ANDROID__ diff --git a/src/client/renderingengine.h b/src/client/renderingengine.h index 28ddc8652..6f104bba9 100644 --- a/src/client/renderingengine.h +++ b/src/client/renderingengine.h @@ -25,6 +25,14 @@ with this program; if not, write to the Free Software Foundation, Inc., #include #include "irrlichttypes_extrabloated.h" #include "debug.h" +#include "client/render/core.h" +// include the shadow mapper classes too +#include "client/shadows/dynamicshadowsrender.h" + +struct VideoDriverInfo { + std::string name; + std::string friendly_name; +}; class ITextureSource; class Camera; @@ -45,8 +53,7 @@ public: video::IVideoDriver *getVideoDriver() { return driver; } - static const char *getVideoDriverName(irr::video::E_DRIVER_TYPE type); - static const char *getVideoDriverFriendlyName(irr::video::E_DRIVER_TYPE type); + static const VideoDriverInfo &getVideoDriverInfo(irr::video::E_DRIVER_TYPE type); static float getDisplayDensity(); static v2u32 getDisplaySize(); @@ -113,7 +120,13 @@ public: return m_device->run(); } - static std::vector> getSupportedVideoModes(); + // FIXME: this is still global when it shouldn't be + static ShadowRenderer *get_shadow_renderer() + { + if (s_singleton && s_singleton->core) + return s_singleton->core->get_shadow_renderer(); + return nullptr; + } static std::vector getSupportedVideoDrivers(); private: diff --git a/src/client/shader.cpp b/src/client/shader.cpp index 58946b90f..dc9e9ae6d 100644 --- a/src/client/shader.cpp +++ b/src/client/shader.cpp @@ -225,6 +225,16 @@ class MainShaderConstantSetter : public IShaderConstantSetter { CachedVertexShaderSetting m_world_view_proj; CachedVertexShaderSetting m_world; + + // Shadow-related + CachedPixelShaderSetting m_shadow_view_proj; + CachedPixelShaderSetting m_light_direction; + CachedPixelShaderSetting m_texture_res; + CachedPixelShaderSetting m_shadow_strength; + CachedPixelShaderSetting m_time_of_day; + CachedPixelShaderSetting m_shadowfar; + CachedPixelShaderSetting m_shadow_texture; + #if ENABLE_GLES // Modelview matrix CachedVertexShaderSetting m_world_view; @@ -243,6 +253,13 @@ public: , m_texture("mTexture") , m_normal("mNormal") #endif + , m_shadow_view_proj("m_ShadowViewProj") + , m_light_direction("v_LightDirection") + , m_texture_res("f_textureresolution") + , m_shadow_strength("f_shadow_strength") + , m_time_of_day("f_timeofday") + , m_shadowfar("f_shadowfar") + , m_shadow_texture("ShadowMapSampler") {} ~MainShaderConstantSetter() = default; @@ -280,6 +297,36 @@ public: }; m_normal.set(m, services); #endif + + // Set uniforms for Shadow shader + if (ShadowRenderer *shadow = RenderingEngine::get_shadow_renderer()) { + const auto &light = shadow->getDirectionalLight(); + + core::matrix4 shadowViewProj = light.getProjectionMatrix(); + shadowViewProj *= light.getViewMatrix(); + m_shadow_view_proj.set(shadowViewProj.pointer(), services); + + float v_LightDirection[3]; + light.getDirection().getAs3Values(v_LightDirection); + m_light_direction.set(v_LightDirection, services); + + float TextureResolution = light.getMapResolution(); + m_texture_res.set(&TextureResolution, services); + + float ShadowStrength = shadow->getShadowStrength(); + m_shadow_strength.set(&ShadowStrength, services); + + float timeOfDay = shadow->getTimeOfDay(); + m_time_of_day.set(&timeOfDay, services); + + float shadowFar = shadow->getMaxShadowFar(); + m_shadowfar.set(&shadowFar, services); + + // I dont like using this hardcoded value. maybe something like + // MAX_TEXTURE - 1 or somthing like that?? + s32 TextureLayerID = 3; + m_shadow_texture.set(&TextureLayerID, services); + } } }; @@ -627,8 +674,12 @@ ShaderInfo ShaderSource::generateShader(const std::string &name, if (strstr(gl_renderer, "GC7000")) use_discard = true; #endif - if (use_discard && shaderinfo.base_material != video::EMT_SOLID) - shaders_header << "#define USE_DISCARD 1\n"; + if (use_discard) { + if (shaderinfo.base_material == video::EMT_TRANSPARENT_ALPHA_CHANNEL) + shaders_header << "#define USE_DISCARD 1\n"; + else if (shaderinfo.base_material == video::EMT_TRANSPARENT_ALPHA_CHANNEL_REF) + shaders_header << "#define USE_DISCARD_REF 1\n"; + } #define PROVIDE(constant) shaders_header << "#define " #constant " " << (int)constant << "\n" @@ -682,6 +733,23 @@ ShaderInfo ShaderSource::generateShader(const std::string &name, shaders_header << "#define FOG_START " << core::clamp(g_settings->getFloat("fog_start"), 0.0f, 0.99f) << "\n"; + if (g_settings->getBool("enable_dynamic_shadows")) { + shaders_header << "#define ENABLE_DYNAMIC_SHADOWS 1\n"; + if (g_settings->getBool("shadow_map_color")) + shaders_header << "#define COLORED_SHADOWS 1\n"; + + if (g_settings->getBool("shadow_poisson_filter")) + shaders_header << "#define POISSON_FILTER 1\n"; + + s32 shadow_filter = g_settings->getS32("shadow_filters"); + shaders_header << "#define SHADOW_FILTER " << shadow_filter << "\n"; + + float shadow_soft_radius = g_settings->getFloat("shadow_soft_radius"); + if (shadow_soft_radius < 1.0f) + shadow_soft_radius = 1.0f; + shaders_header << "#define SOFTSHADOWRADIUS " << shadow_soft_radius << "\n"; + } + std::string common_header = shaders_header.str(); std::string vertex_shader = m_sourcecache.getOrLoad(name, "opengl_vertex.glsl"); diff --git a/src/client/shadows/dynamicshadows.cpp b/src/client/shadows/dynamicshadows.cpp new file mode 100644 index 000000000..0c7eea0e7 --- /dev/null +++ b/src/client/shadows/dynamicshadows.cpp @@ -0,0 +1,182 @@ +/* +Minetest +Copyright (C) 2021 Liso + +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 + +#include "client/shadows/dynamicshadows.h" +#include "client/client.h" +#include "client/clientenvironment.h" +#include "client/clientmap.h" +#include "client/camera.h" + +using m4f = core::matrix4; + +void DirectionalLight::createSplitMatrices(const Camera *cam) +{ + float radius; + v3f newCenter; + v3f look = cam->getDirection(); + + // camera view tangents + float tanFovY = tanf(cam->getFovY() * 0.5f); + float tanFovX = tanf(cam->getFovX() * 0.5f); + + // adjusted frustum boundaries + float sfNear = future_frustum.zNear; + float sfFar = adjustDist(future_frustum.zFar, cam->getFovY()); + + // adjusted camera positions + v3f camPos2 = cam->getPosition(); + v3f camPos = v3f(camPos2.X - cam->getOffset().X * BS, + camPos2.Y - cam->getOffset().Y * BS, + camPos2.Z - cam->getOffset().Z * BS); + camPos += look * sfNear; + camPos2 += look * sfNear; + + // center point of light frustum + float end = sfNear + sfFar; + newCenter = camPos + look * (sfNear + 0.05f * end); + v3f world_center = camPos2 + look * (sfNear + 0.05f * end); + + // Create a vector to the frustum far corner + const v3f &viewUp = cam->getCameraNode()->getUpVector(); + v3f viewRight = look.crossProduct(viewUp); + + v3f farCorner = look + viewRight * tanFovX + viewUp * tanFovY; + // Compute the frustumBoundingSphere radius + v3f boundVec = (camPos + farCorner * sfFar) - newCenter; + radius = boundVec.getLength() * 2.0f; + // boundVec.getLength(); + float vvolume = radius * 2.0f; + + float texelsPerUnit = getMapResolution() / vvolume; + m4f mTexelScaling; + mTexelScaling.setScale(texelsPerUnit); + + m4f mLookAt, mLookAtInv; + + mLookAt.buildCameraLookAtMatrixLH(v3f(0.0f, 0.0f, 0.0f), -direction, v3f(0.0f, 1.0f, 0.0f)); + + mLookAt *= mTexelScaling; + mLookAtInv = mLookAt; + mLookAtInv.makeInverse(); + + v3f frustumCenter = newCenter; + mLookAt.transformVect(frustumCenter); + frustumCenter.X = floorf(frustumCenter.X); // clamp to texel increment + frustumCenter.Y = floorf(frustumCenter.Y); // clamp to texel increment + frustumCenter.Z = floorf(frustumCenter.Z); + mLookAtInv.transformVect(frustumCenter); + // probar radius multipliacdor en funcion del I, a menor I mas multiplicador + v3f eye_displacement = direction * vvolume; + + // we must compute the viewmat with the position - the camera offset + // but the future_frustum position must be the actual world position + v3f eye = frustumCenter - eye_displacement; + future_frustum.position = world_center - eye_displacement; + future_frustum.length = vvolume; + future_frustum.ViewMat.buildCameraLookAtMatrixLH(eye, frustumCenter, v3f(0.0f, 1.0f, 0.0f)); + future_frustum.ProjOrthMat.buildProjectionMatrixOrthoLH(future_frustum.length, + future_frustum.length, -future_frustum.length, + future_frustum.length,false); + future_frustum.camera_offset = cam->getOffset(); +} + +DirectionalLight::DirectionalLight(const u32 shadowMapResolution, + const v3f &position, video::SColorf lightColor, + f32 farValue) : + diffuseColor(lightColor), + farPlane(farValue), mapRes(shadowMapResolution), pos(position) +{} + +void DirectionalLight::update_frustum(const Camera *cam, Client *client, bool force) +{ + if (dirty && !force) + return; + + float zNear = cam->getCameraNode()->getNearValue(); + float zFar = getMaxFarValue(); + + /////////////////////////////////// + // update splits near and fars + future_frustum.zNear = zNear; + future_frustum.zFar = zFar; + + // update shadow frustum + createSplitMatrices(cam); + // get the draw list for shadows + client->getEnv().getClientMap().updateDrawListShadow( + getPosition(), getDirection(), future_frustum.length); + should_update_map_shadow = true; + dirty = true; + + // when camera offset changes, adjust the current frustum view matrix to avoid flicker + v3s16 cam_offset = cam->getOffset(); + if (cam_offset != shadow_frustum.camera_offset) { + v3f rotated_offset; + shadow_frustum.ViewMat.rotateVect(rotated_offset, intToFloat(cam_offset - shadow_frustum.camera_offset, BS)); + shadow_frustum.ViewMat.setTranslation(shadow_frustum.ViewMat.getTranslation() + rotated_offset); + shadow_frustum.camera_offset = cam_offset; + } +} + +void DirectionalLight::commitFrustum() +{ + if (!dirty) + return; + + shadow_frustum = future_frustum; + dirty = false; +} + +void DirectionalLight::setDirection(v3f dir) +{ + direction = -dir; + direction.normalize(); +} + +v3f DirectionalLight::getPosition() const +{ + return shadow_frustum.position; +} + +const m4f &DirectionalLight::getViewMatrix() const +{ + return shadow_frustum.ViewMat; +} + +const m4f &DirectionalLight::getProjectionMatrix() const +{ + return shadow_frustum.ProjOrthMat; +} + +const m4f &DirectionalLight::getFutureViewMatrix() const +{ + return future_frustum.ViewMat; +} + +const m4f &DirectionalLight::getFutureProjectionMatrix() const +{ + return future_frustum.ProjOrthMat; +} + +m4f DirectionalLight::getViewProjMatrix() +{ + return shadow_frustum.ProjOrthMat * shadow_frustum.ViewMat; +} diff --git a/src/client/shadows/dynamicshadows.h b/src/client/shadows/dynamicshadows.h new file mode 100644 index 000000000..d8be66be8 --- /dev/null +++ b/src/client/shadows/dynamicshadows.h @@ -0,0 +1,109 @@ +/* +Minetest +Copyright (C) 2021 Liso + +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_bloated.h" +#include +#include "util/basic_macros.h" + +class Camera; +class Client; + +struct shadowFrustum +{ + float zNear{0.0f}; + float zFar{0.0f}; + float length{0.0f}; + core::matrix4 ProjOrthMat; + core::matrix4 ViewMat; + v3f position; + v3s16 camera_offset; +}; + +class DirectionalLight +{ +public: + DirectionalLight(const u32 shadowMapResolution, + const v3f &position, + video::SColorf lightColor = video::SColor(0xffffffff), + f32 farValue = 100.0f); + ~DirectionalLight() = default; + + //DISABLE_CLASS_COPY(DirectionalLight) + + void update_frustum(const Camera *cam, Client *client, bool force = false); + + // when set direction is updated to negative normalized(direction) + void setDirection(v3f dir); + v3f getDirection() const{ + return direction; + }; + v3f getPosition() const; + + /// Gets the light's matrices. + const core::matrix4 &getViewMatrix() const; + const core::matrix4 &getProjectionMatrix() const; + const core::matrix4 &getFutureViewMatrix() const; + const core::matrix4 &getFutureProjectionMatrix() const; + core::matrix4 getViewProjMatrix(); + + /// Gets the light's far value. + f32 getMaxFarValue() const + { + return farPlane; + } + + + /// Gets the light's color. + const video::SColorf &getLightColor() const + { + return diffuseColor; + } + + /// Sets the light's color. + void setLightColor(const video::SColorf &lightColor) + { + diffuseColor = lightColor; + } + + /// Gets the shadow map resolution for this light. + u32 getMapResolution() const + { + return mapRes; + } + + bool should_update_map_shadow{true}; + + void commitFrustum(); + +private: + void createSplitMatrices(const Camera *cam); + + video::SColorf diffuseColor; + + f32 farPlane; + u32 mapRes; + + v3f pos; + v3f direction{0}; + shadowFrustum shadow_frustum; + shadowFrustum future_frustum; + bool dirty{false}; +}; diff --git a/src/client/shadows/dynamicshadowsrender.cpp b/src/client/shadows/dynamicshadowsrender.cpp new file mode 100644 index 000000000..a913a9290 --- /dev/null +++ b/src/client/shadows/dynamicshadowsrender.cpp @@ -0,0 +1,630 @@ +/* +Minetest +Copyright (C) 2021 Liso + +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 +#include "client/shadows/dynamicshadowsrender.h" +#include "client/shadows/shadowsScreenQuad.h" +#include "client/shadows/shadowsshadercallbacks.h" +#include "settings.h" +#include "filesys.h" +#include "util/string.h" +#include "client/shader.h" +#include "client/client.h" +#include "client/clientmap.h" +#include "profiler.h" + +ShadowRenderer::ShadowRenderer(IrrlichtDevice *device, Client *client) : + m_device(device), m_smgr(device->getSceneManager()), + m_driver(device->getVideoDriver()), m_client(client), m_current_frame(0) +{ + m_shadows_enabled = true; + + m_shadow_strength = g_settings->getFloat("shadow_strength"); + + m_shadow_map_max_distance = g_settings->getFloat("shadow_map_max_distance"); + + m_shadow_map_texture_size = g_settings->getFloat("shadow_map_texture_size"); + + m_shadow_map_texture_32bit = g_settings->getBool("shadow_map_texture_32bit"); + m_shadow_map_colored = g_settings->getBool("shadow_map_color"); + m_shadow_samples = g_settings->getS32("shadow_filters"); + m_map_shadow_update_frames = g_settings->getS16("shadow_update_frames"); +} + +ShadowRenderer::~ShadowRenderer() +{ + if (m_shadow_depth_cb) + delete m_shadow_depth_cb; + if (m_shadow_mix_cb) + delete m_shadow_mix_cb; + m_shadow_node_array.clear(); + m_light_list.clear(); + + if (shadowMapTextureDynamicObjects) + m_driver->removeTexture(shadowMapTextureDynamicObjects); + + if (shadowMapTextureFinal) + m_driver->removeTexture(shadowMapTextureFinal); + + if (shadowMapTextureColors) + m_driver->removeTexture(shadowMapTextureColors); + + if (shadowMapClientMap) + m_driver->removeTexture(shadowMapClientMap); + + if (shadowMapClientMapFuture) + m_driver->removeTexture(shadowMapClientMapFuture); +} + +void ShadowRenderer::initialize() +{ + auto *gpu = m_driver->getGPUProgrammingServices(); + + // we need glsl + if (m_shadows_enabled && gpu && m_driver->queryFeature(video::EVDF_ARB_GLSL)) { + createShaders(); + } else { + m_shadows_enabled = false; + + warningstream << "Shadows: GLSL Shader not supported on this system." + << std::endl; + return; + } + + m_texture_format = m_shadow_map_texture_32bit + ? video::ECOLOR_FORMAT::ECF_R32F + : video::ECOLOR_FORMAT::ECF_R16F; + + m_texture_format_color = m_shadow_map_texture_32bit + ? video::ECOLOR_FORMAT::ECF_G32R32F + : video::ECOLOR_FORMAT::ECF_G16R16F; +} + + +size_t ShadowRenderer::addDirectionalLight() +{ + m_light_list.emplace_back(m_shadow_map_texture_size, + v3f(0.f, 0.f, 0.f), + video::SColor(255, 255, 255, 255), m_shadow_map_max_distance); + return m_light_list.size() - 1; +} + +DirectionalLight &ShadowRenderer::getDirectionalLight(u32 index) +{ + return m_light_list[index]; +} + +size_t ShadowRenderer::getDirectionalLightCount() const +{ + return m_light_list.size(); +} + +f32 ShadowRenderer::getMaxShadowFar() const +{ + if (!m_light_list.empty()) { + float wanted_range = m_client->getEnv().getClientMap().getWantedRange(); + + float zMax = m_light_list[0].getMaxFarValue() > wanted_range + ? wanted_range + : m_light_list[0].getMaxFarValue(); + return zMax * MAP_BLOCKSIZE; + } + return 0.0f; +} + +void ShadowRenderer::addNodeToShadowList( + scene::ISceneNode *node, E_SHADOW_MODE shadowMode) +{ + m_shadow_node_array.emplace_back(NodeToApply(node, shadowMode)); +} + +void ShadowRenderer::removeNodeFromShadowList(scene::ISceneNode *node) +{ + for (auto it = m_shadow_node_array.begin(); it != m_shadow_node_array.end();) { + if (it->node == node) { + it = m_shadow_node_array.erase(it); + break; + } else { + ++it; + } + } +} + +void ShadowRenderer::updateSMTextures() +{ + if (!m_shadows_enabled || m_smgr->getActiveCamera() == nullptr) { + return; + } + + if (!shadowMapTextureDynamicObjects) { + + shadowMapTextureDynamicObjects = getSMTexture( + std::string("shadow_dynamic_") + itos(m_shadow_map_texture_size), + m_texture_format, true); + } + + if (!shadowMapClientMap) { + + shadowMapClientMap = getSMTexture( + std::string("shadow_clientmap_") + itos(m_shadow_map_texture_size), + m_shadow_map_colored ? m_texture_format_color : m_texture_format, + true); + } + + if (!shadowMapClientMapFuture && m_map_shadow_update_frames > 1) { + shadowMapClientMapFuture = getSMTexture( + std::string("shadow_clientmap_bb_") + itos(m_shadow_map_texture_size), + m_shadow_map_colored ? m_texture_format_color : m_texture_format, + true); + } + + if (m_shadow_map_colored && !shadowMapTextureColors) { + shadowMapTextureColors = getSMTexture( + std::string("shadow_colored_") + itos(m_shadow_map_texture_size), + m_shadow_map_colored ? m_texture_format_color : m_texture_format, + true); + } + + // The merge all shadowmaps texture + if (!shadowMapTextureFinal) { + video::ECOLOR_FORMAT frt; + if (m_shadow_map_texture_32bit) { + if (m_shadow_map_colored) + frt = video::ECOLOR_FORMAT::ECF_A32B32G32R32F; + else + frt = video::ECOLOR_FORMAT::ECF_R32F; + } else { + if (m_shadow_map_colored) + frt = video::ECOLOR_FORMAT::ECF_A16B16G16R16F; + else + frt = video::ECOLOR_FORMAT::ECF_R16F; + } + shadowMapTextureFinal = getSMTexture( + std::string("shadowmap_final_") + itos(m_shadow_map_texture_size), + frt, true); + } + + if (!m_shadow_node_array.empty() && !m_light_list.empty()) { + bool reset_sm_texture = false; + + // detect if SM should be regenerated + for (DirectionalLight &light : m_light_list) { + if (light.should_update_map_shadow) { + light.should_update_map_shadow = false; + m_current_frame = 0; + reset_sm_texture = true; + } + } + + video::ITexture* shadowMapTargetTexture = shadowMapClientMapFuture; + if (shadowMapTargetTexture == nullptr) + shadowMapTargetTexture = shadowMapClientMap; + + // Update SM incrementally: + for (DirectionalLight &light : m_light_list) { + // Static shader values. + m_shadow_depth_cb->MapRes = (f32)m_shadow_map_texture_size; + m_shadow_depth_cb->MaxFar = (f32)m_shadow_map_max_distance * BS; + + // set the Render Target + // right now we can only render in usual RTT, not + // Depth texture is available in irrlicth maybe we + // should put some gl* fn here + + + if (m_current_frame < m_map_shadow_update_frames) { + m_driver->setRenderTarget(shadowMapTargetTexture, reset_sm_texture, true, + video::SColor(255, 255, 255, 255)); + renderShadowMap(shadowMapTargetTexture, light); + + // Render transparent part in one pass. + // This is also handled in ClientMap. + if (m_current_frame == m_map_shadow_update_frames - 1) { + if (m_shadow_map_colored) { + m_driver->setRenderTarget(0, false, false); + m_driver->setRenderTarget(shadowMapTextureColors, + true, false, video::SColor(255, 255, 255, 255)); + } + renderShadowMap(shadowMapTextureColors, light, + scene::ESNRP_TRANSPARENT); + } + m_driver->setRenderTarget(0, false, false); + } + + reset_sm_texture = false; + } // end for lights + + // move to the next section + if (m_current_frame <= m_map_shadow_update_frames) + ++m_current_frame; + + // pass finished, swap textures and commit light changes + if (m_current_frame == m_map_shadow_update_frames) { + if (shadowMapClientMapFuture != nullptr) + std::swap(shadowMapClientMapFuture, shadowMapClientMap); + + // Let all lights know that maps are updated + for (DirectionalLight &light : m_light_list) + light.commitFrustum(); + } + } +} + +void ShadowRenderer::update(video::ITexture *outputTarget) +{ + if (!m_shadows_enabled || m_smgr->getActiveCamera() == nullptr) { + return; + } + + updateSMTextures(); + + if (!m_shadow_node_array.empty() && !m_light_list.empty()) { + + for (DirectionalLight &light : m_light_list) { + // Static shader values. + m_shadow_depth_cb->MapRes = (f32)m_shadow_map_texture_size; + m_shadow_depth_cb->MaxFar = (f32)m_shadow_map_max_distance * BS; + + // render shadows for the n0n-map objects. + m_driver->setRenderTarget(shadowMapTextureDynamicObjects, true, + true, video::SColor(255, 255, 255, 255)); + renderShadowObjects(shadowMapTextureDynamicObjects, light); + // clear the Render Target + m_driver->setRenderTarget(0, false, false); + + // in order to avoid too many map shadow renders, + // we should make a second pass to mix clientmap shadows and + // entities shadows :( + m_screen_quad->getMaterial().setTexture(0, shadowMapClientMap); + // dynamic objs shadow texture. + if (m_shadow_map_colored) + m_screen_quad->getMaterial().setTexture(1, shadowMapTextureColors); + m_screen_quad->getMaterial().setTexture(2, shadowMapTextureDynamicObjects); + + m_driver->setRenderTarget(shadowMapTextureFinal, false, false, + video::SColor(255, 255, 255, 255)); + m_screen_quad->render(m_driver); + m_driver->setRenderTarget(0, false, false); + + } // end for lights + } +} + +void ShadowRenderer::drawDebug() +{ + /* this code just shows shadows textures in screen and in ONLY for debugging*/ + #if 0 + // this is debug, ignore for now. + m_driver->draw2DImage(shadowMapTextureFinal, + core::rect(0, 50, 128, 128 + 50), + core::rect({0, 0}, shadowMapTextureFinal->getSize())); + + m_driver->draw2DImage(shadowMapClientMap, + core::rect(0, 50 + 128, 128, 128 + 50 + 128), + core::rect({0, 0}, shadowMapTextureFinal->getSize())); + m_driver->draw2DImage(shadowMapTextureDynamicObjects, + core::rect(0, 128 + 50 + 128, 128, + 128 + 50 + 128 + 128), + core::rect({0, 0}, shadowMapTextureDynamicObjects->getSize())); + + if (m_shadow_map_colored) { + + m_driver->draw2DImage(shadowMapTextureColors, + core::rect(128,128 + 50 + 128 + 128, + 128 + 128, 128 + 50 + 128 + 128 + 128), + core::rect({0, 0}, shadowMapTextureColors->getSize())); + } + #endif +} + + +video::ITexture *ShadowRenderer::getSMTexture(const std::string &shadow_map_name, + video::ECOLOR_FORMAT texture_format, bool force_creation) +{ + if (force_creation) { + return m_driver->addRenderTargetTexture( + core::dimension2du(m_shadow_map_texture_size, + m_shadow_map_texture_size), + shadow_map_name.c_str(), texture_format); + } + + return m_driver->getTexture(shadow_map_name.c_str()); +} + +void ShadowRenderer::renderShadowMap(video::ITexture *target, + DirectionalLight &light, scene::E_SCENE_NODE_RENDER_PASS pass) +{ + m_driver->setTransform(video::ETS_VIEW, light.getFutureViewMatrix()); + m_driver->setTransform(video::ETS_PROJECTION, light.getFutureProjectionMatrix()); + + // Operate on the client map + for (const auto &shadow_node : m_shadow_node_array) { + if (strcmp(shadow_node.node->getName(), "ClientMap") != 0) + continue; + + ClientMap *map_node = static_cast(shadow_node.node); + + video::SMaterial material; + if (map_node->getMaterialCount() > 0) { + // we only want the first material, which is the one with the albedo info + material = map_node->getMaterial(0); + } + + material.BackfaceCulling = false; + material.FrontfaceCulling = true; + material.PolygonOffsetFactor = 4.0f; + material.PolygonOffsetDirection = video::EPO_BACK; + //material.PolygonOffsetDepthBias = 1.0f/4.0f; + //material.PolygonOffsetSlopeScale = -1.f; + + if (m_shadow_map_colored && pass != scene::ESNRP_SOLID) { + material.MaterialType = (video::E_MATERIAL_TYPE) depth_shader_trans; + } + else { + material.MaterialType = (video::E_MATERIAL_TYPE) depth_shader; + material.BlendOperation = video::EBO_MIN; + } + + // FIXME: I don't think this is needed here + map_node->OnAnimate(m_device->getTimer()->getTime()); + + m_driver->setTransform(video::ETS_WORLD, + map_node->getAbsoluteTransformation()); + + map_node->renderMapShadows(m_driver, material, pass, m_current_frame, m_map_shadow_update_frames); + break; + } +} + +void ShadowRenderer::renderShadowObjects( + video::ITexture *target, DirectionalLight &light) +{ + m_driver->setTransform(video::ETS_VIEW, light.getViewMatrix()); + m_driver->setTransform(video::ETS_PROJECTION, light.getProjectionMatrix()); + + for (const auto &shadow_node : m_shadow_node_array) { + // we only take care of the shadow casters + if (shadow_node.shadowMode == ESM_RECEIVE || + strcmp(shadow_node.node->getName(), "ClientMap") == 0) + continue; + + // render other objects + u32 n_node_materials = shadow_node.node->getMaterialCount(); + std::vector BufferMaterialList; + std::vector> BufferMaterialCullingList; + std::vector BufferBlendOperationList; + BufferMaterialList.reserve(n_node_materials); + BufferMaterialCullingList.reserve(n_node_materials); + BufferBlendOperationList.reserve(n_node_materials); + + // backup materialtype for each material + // (aka shader) + // and replace it by our "depth" shader + for (u32 m = 0; m < n_node_materials; m++) { + auto ¤t_mat = shadow_node.node->getMaterial(m); + + BufferMaterialList.push_back(current_mat.MaterialType); + current_mat.MaterialType = + (video::E_MATERIAL_TYPE)depth_shader_entities; + + BufferMaterialCullingList.emplace_back( + (bool)current_mat.BackfaceCulling, (bool)current_mat.FrontfaceCulling); + BufferBlendOperationList.push_back(current_mat.BlendOperation); + + current_mat.BackfaceCulling = true; + current_mat.FrontfaceCulling = false; + current_mat.PolygonOffsetFactor = 1.0f/2048.0f; + current_mat.PolygonOffsetDirection = video::EPO_BACK; + //current_mat.PolygonOffsetDepthBias = 1.0 * 2.8e-6; + //current_mat.PolygonOffsetSlopeScale = -1.f; + } + + m_driver->setTransform(video::ETS_WORLD, + shadow_node.node->getAbsoluteTransformation()); + shadow_node.node->render(); + + // restore the material. + + for (u32 m = 0; m < n_node_materials; m++) { + auto ¤t_mat = shadow_node.node->getMaterial(m); + + current_mat.MaterialType = (video::E_MATERIAL_TYPE) BufferMaterialList[m]; + + current_mat.BackfaceCulling = BufferMaterialCullingList[m].first; + current_mat.FrontfaceCulling = BufferMaterialCullingList[m].second; + current_mat.BlendOperation = BufferBlendOperationList[m]; + } + + } // end for caster shadow nodes +} + +void ShadowRenderer::mixShadowsQuad() +{ +} + +/* + * @Liso's disclaimer ;) This function loads the Shadow Mapping Shaders. + * I used a custom loader because I couldn't figure out how to use the base + * Shaders system with custom IShaderConstantSetCallBack without messing up the + * code too much. If anyone knows how to integrate this with the standard MT + * shaders, please feel free to change it. + */ + +void ShadowRenderer::createShaders() +{ + video::IGPUProgrammingServices *gpu = m_driver->getGPUProgrammingServices(); + + if (depth_shader == -1) { + std::string depth_shader_vs = getShaderPath("shadow_shaders", "pass1_vertex.glsl"); + if (depth_shader_vs.empty()) { + m_shadows_enabled = false; + errorstream << "Error shadow mapping vs shader not found." << std::endl; + return; + } + std::string depth_shader_fs = getShaderPath("shadow_shaders", "pass1_fragment.glsl"); + if (depth_shader_fs.empty()) { + m_shadows_enabled = false; + errorstream << "Error shadow mapping fs shader not found." << std::endl; + return; + } + m_shadow_depth_cb = new ShadowDepthShaderCB(); + + depth_shader = gpu->addHighLevelShaderMaterial( + readShaderFile(depth_shader_vs).c_str(), "vertexMain", + video::EVST_VS_1_1, + readShaderFile(depth_shader_fs).c_str(), "pixelMain", + video::EPST_PS_1_2, m_shadow_depth_cb, video::EMT_ONETEXTURE_BLEND); + + if (depth_shader == -1) { + // upsi, something went wrong loading shader. + delete m_shadow_depth_cb; + m_shadows_enabled = false; + errorstream << "Error compiling shadow mapping shader." << std::endl; + return; + } + + // HACK, TODO: investigate this better + // Grab the material renderer once more so minetest doesn't crash + // on exit + m_driver->getMaterialRenderer(depth_shader)->grab(); + } + + // This creates a clone of depth_shader with base material set to EMT_SOLID, + // because entities won't render shadows with base material EMP_ONETEXTURE_BLEND + if (depth_shader_entities == -1) { + std::string depth_shader_vs = getShaderPath("shadow_shaders", "pass1_vertex.glsl"); + if (depth_shader_vs.empty()) { + m_shadows_enabled = false; + errorstream << "Error shadow mapping vs shader not found." << std::endl; + return; + } + std::string depth_shader_fs = getShaderPath("shadow_shaders", "pass1_fragment.glsl"); + if (depth_shader_fs.empty()) { + m_shadows_enabled = false; + errorstream << "Error shadow mapping fs shader not found." << std::endl; + return; + } + + depth_shader_entities = gpu->addHighLevelShaderMaterial( + readShaderFile(depth_shader_vs).c_str(), "vertexMain", + video::EVST_VS_1_1, + readShaderFile(depth_shader_fs).c_str(), "pixelMain", + video::EPST_PS_1_2, m_shadow_depth_cb); + + if (depth_shader_entities == -1) { + // upsi, something went wrong loading shader. + m_shadows_enabled = false; + errorstream << "Error compiling shadow mapping shader (dynamic)." << std::endl; + return; + } + + // HACK, TODO: investigate this better + // Grab the material renderer once more so minetest doesn't crash + // on exit + m_driver->getMaterialRenderer(depth_shader_entities)->grab(); + } + + if (mixcsm_shader == -1) { + std::string depth_shader_vs = getShaderPath("shadow_shaders", "pass2_vertex.glsl"); + if (depth_shader_vs.empty()) { + m_shadows_enabled = false; + errorstream << "Error cascade shadow mapping fs shader not found." << std::endl; + return; + } + + std::string depth_shader_fs = getShaderPath("shadow_shaders", "pass2_fragment.glsl"); + if (depth_shader_fs.empty()) { + m_shadows_enabled = false; + errorstream << "Error cascade shadow mapping fs shader not found." << std::endl; + return; + } + m_shadow_mix_cb = new shadowScreenQuadCB(); + m_screen_quad = new shadowScreenQuad(); + mixcsm_shader = gpu->addHighLevelShaderMaterial( + readShaderFile(depth_shader_vs).c_str(), "vertexMain", + video::EVST_VS_1_1, + readShaderFile(depth_shader_fs).c_str(), "pixelMain", + video::EPST_PS_1_2, m_shadow_mix_cb); + + m_screen_quad->getMaterial().MaterialType = + (video::E_MATERIAL_TYPE)mixcsm_shader; + + if (mixcsm_shader == -1) { + // upsi, something went wrong loading shader. + delete m_shadow_mix_cb; + delete m_screen_quad; + m_shadows_enabled = false; + errorstream << "Error compiling cascade shadow mapping shader." << std::endl; + return; + } + + // HACK, TODO: investigate this better + // Grab the material renderer once more so minetest doesn't crash + // on exit + m_driver->getMaterialRenderer(mixcsm_shader)->grab(); + } + + if (m_shadow_map_colored && depth_shader_trans == -1) { + std::string depth_shader_vs = getShaderPath("shadow_shaders", "pass1_trans_vertex.glsl"); + if (depth_shader_vs.empty()) { + m_shadows_enabled = false; + errorstream << "Error shadow mapping vs shader not found." << std::endl; + return; + } + std::string depth_shader_fs = getShaderPath("shadow_shaders", "pass1_trans_fragment.glsl"); + if (depth_shader_fs.empty()) { + m_shadows_enabled = false; + errorstream << "Error shadow mapping fs shader not found." << std::endl; + return; + } + m_shadow_depth_trans_cb = new ShadowDepthShaderCB(); + + depth_shader_trans = gpu->addHighLevelShaderMaterial( + readShaderFile(depth_shader_vs).c_str(), "vertexMain", + video::EVST_VS_1_1, + readShaderFile(depth_shader_fs).c_str(), "pixelMain", + video::EPST_PS_1_2, m_shadow_depth_trans_cb); + + if (depth_shader_trans == -1) { + // upsi, something went wrong loading shader. + delete m_shadow_depth_trans_cb; + m_shadow_map_colored = false; + m_shadows_enabled = false; + errorstream << "Error compiling colored shadow mapping shader." << std::endl; + return; + } + + // HACK, TODO: investigate this better + // Grab the material renderer once more so minetest doesn't crash + // on exit + m_driver->getMaterialRenderer(depth_shader_trans)->grab(); + } +} + +std::string ShadowRenderer::readShaderFile(const std::string &path) +{ + std::string prefix; + if (m_shadow_map_colored) + prefix.append("#define COLORED_SHADOWS 1\n"); + + std::string content; + fs::ReadFile(path, content); + + return prefix + content; +} diff --git a/src/client/shadows/dynamicshadowsrender.h b/src/client/shadows/dynamicshadowsrender.h new file mode 100644 index 000000000..e4b3c3e22 --- /dev/null +++ b/src/client/shadows/dynamicshadowsrender.h @@ -0,0 +1,147 @@ +/* +Minetest +Copyright (C) 2021 Liso + +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 +#include +#include "irrlichttypes_extrabloated.h" +#include "client/shadows/dynamicshadows.h" + +class ShadowDepthShaderCB; +class shadowScreenQuad; +class shadowScreenQuadCB; + +enum E_SHADOW_MODE : u8 +{ + ESM_RECEIVE = 0, + ESM_BOTH, +}; + +struct NodeToApply +{ + NodeToApply(scene::ISceneNode *n, + E_SHADOW_MODE m = E_SHADOW_MODE::ESM_BOTH) : + node(n), + shadowMode(m){}; + bool operator<(const NodeToApply &other) const { return node < other.node; }; + + scene::ISceneNode *node; + + E_SHADOW_MODE shadowMode{E_SHADOW_MODE::ESM_BOTH}; + bool dirty{false}; +}; + +class ShadowRenderer +{ +public: + ShadowRenderer(IrrlichtDevice *device, Client *client); + + ~ShadowRenderer(); + + void initialize(); + + /// Adds a directional light shadow map (Usually just one (the sun) except in + /// Tattoine ). + size_t addDirectionalLight(); + DirectionalLight &getDirectionalLight(u32 index = 0); + size_t getDirectionalLightCount() const; + f32 getMaxShadowFar() const; + + /// Adds a shadow to the scene node. + /// The shadow mode can be ESM_BOTH, or ESM_RECEIVE. + /// ESM_BOTH casts and receives shadows + /// ESM_RECEIVE only receives but does not cast shadows. + /// + void addNodeToShadowList(scene::ISceneNode *node, + E_SHADOW_MODE shadowMode = ESM_BOTH); + void removeNodeFromShadowList(scene::ISceneNode *node); + + void update(video::ITexture *outputTarget = nullptr); + void drawDebug(); + + video::ITexture *get_texture() + { + return shadowMapTextureFinal; + } + + + bool is_active() const { return m_shadows_enabled; } + void setTimeOfDay(float isDay) { m_time_day = isDay; }; + + s32 getShadowSamples() const { return m_shadow_samples; } + float getShadowStrength() const { return m_shadow_strength; } + float getTimeOfDay() const { return m_time_day; } + +private: + video::ITexture *getSMTexture(const std::string &shadow_map_name, + video::ECOLOR_FORMAT texture_format, + bool force_creation = false); + + void renderShadowMap(video::ITexture *target, DirectionalLight &light, + scene::E_SCENE_NODE_RENDER_PASS pass = + scene::ESNRP_SOLID); + void renderShadowObjects(video::ITexture *target, DirectionalLight &light); + void mixShadowsQuad(); + void updateSMTextures(); + + // a bunch of variables + IrrlichtDevice *m_device{nullptr}; + scene::ISceneManager *m_smgr{nullptr}; + video::IVideoDriver *m_driver{nullptr}; + Client *m_client{nullptr}; + video::ITexture *shadowMapClientMap{nullptr}; + video::ITexture *shadowMapClientMapFuture{nullptr}; + video::ITexture *shadowMapTextureFinal{nullptr}; + video::ITexture *shadowMapTextureDynamicObjects{nullptr}; + video::ITexture *shadowMapTextureColors{nullptr}; + + std::vector m_light_list; + std::vector m_shadow_node_array; + + float m_shadow_strength; + float m_shadow_map_max_distance; + float m_shadow_map_texture_size; + float m_time_day{0.0f}; + int m_shadow_samples; + bool m_shadow_map_texture_32bit; + bool m_shadows_enabled; + bool m_shadow_map_colored; + u8 m_map_shadow_update_frames; /* Use this number of frames to update map shaodw */ + u8 m_current_frame{0}; /* Current frame */ + + video::ECOLOR_FORMAT m_texture_format{video::ECOLOR_FORMAT::ECF_R16F}; + video::ECOLOR_FORMAT m_texture_format_color{video::ECOLOR_FORMAT::ECF_R16G16}; + + // Shadow Shader stuff + + void createShaders(); + std::string readShaderFile(const std::string &path); + + s32 depth_shader{-1}; + s32 depth_shader_entities{-1}; + s32 depth_shader_trans{-1}; + s32 mixcsm_shader{-1}; + + ShadowDepthShaderCB *m_shadow_depth_cb{nullptr}; + ShadowDepthShaderCB *m_shadow_depth_trans_cb{nullptr}; + + shadowScreenQuad *m_screen_quad{nullptr}; + shadowScreenQuadCB *m_shadow_mix_cb{nullptr}; +}; diff --git a/src/client/shadows/shadowsScreenQuad.cpp b/src/client/shadows/shadowsScreenQuad.cpp new file mode 100644 index 000000000..5f6d38157 --- /dev/null +++ b/src/client/shadows/shadowsScreenQuad.cpp @@ -0,0 +1,61 @@ +/* +Minetest +Copyright (C) 2021 Liso + +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 "shadowsScreenQuad.h" + +shadowScreenQuad::shadowScreenQuad() +{ + Material.Wireframe = false; + Material.Lighting = false; + + video::SColor color(0x0); + Vertices[0] = video::S3DVertex( + -1.0f, -1.0f, 0.0f, 0, 0, 1, color, 0.0f, 1.0f); + Vertices[1] = video::S3DVertex( + -1.0f, 1.0f, 0.0f, 0, 0, 1, color, 0.0f, 0.0f); + Vertices[2] = video::S3DVertex( + 1.0f, 1.0f, 0.0f, 0, 0, 1, color, 1.0f, 0.0f); + Vertices[3] = video::S3DVertex( + 1.0f, -1.0f, 0.0f, 0, 0, 1, color, 1.0f, 1.0f); + Vertices[4] = video::S3DVertex( + -1.0f, -1.0f, 0.0f, 0, 0, 1, color, 0.0f, 1.0f); + Vertices[5] = video::S3DVertex( + 1.0f, 1.0f, 0.0f, 0, 0, 1, color, 1.0f, 0.0f); +} + +void shadowScreenQuad::render(video::IVideoDriver *driver) +{ + u16 indices[6] = {0, 1, 2, 3, 4, 5}; + driver->setMaterial(Material); + driver->setTransform(video::ETS_WORLD, core::matrix4()); + driver->drawIndexedTriangleList(&Vertices[0], 6, &indices[0], 2); +} + +void shadowScreenQuadCB::OnSetConstants( + video::IMaterialRendererServices *services, s32 userData) +{ + s32 TextureId = 0; + m_sm_client_map_setting.set(&TextureId, services); + + TextureId = 1; + m_sm_client_map_trans_setting.set(&TextureId, services); + + TextureId = 2; + m_sm_dynamic_sampler_setting.set(&TextureId, services); +} diff --git a/src/client/shadows/shadowsScreenQuad.h b/src/client/shadows/shadowsScreenQuad.h new file mode 100644 index 000000000..c18be9a2b --- /dev/null +++ b/src/client/shadows/shadowsScreenQuad.h @@ -0,0 +1,54 @@ +/* +Minetest +Copyright (C) 2021 Liso + +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 +#include +#include "client/shader.h" + +class shadowScreenQuad +{ +public: + shadowScreenQuad(); + + void render(video::IVideoDriver *driver); + video::SMaterial &getMaterial() { return Material; } + +private: + video::S3DVertex Vertices[6]; + video::SMaterial Material; +}; + +class shadowScreenQuadCB : public video::IShaderConstantSetCallBack +{ +public: + shadowScreenQuadCB() : + m_sm_client_map_setting("ShadowMapClientMap"), + m_sm_client_map_trans_setting("ShadowMapClientMapTraslucent"), + m_sm_dynamic_sampler_setting("ShadowMapSamplerdynamic") + {} + + virtual void OnSetConstants(video::IMaterialRendererServices *services, + s32 userData); +private: + CachedPixelShaderSetting m_sm_client_map_setting; + CachedPixelShaderSetting m_sm_client_map_trans_setting; + CachedPixelShaderSetting m_sm_dynamic_sampler_setting; +}; diff --git a/src/client/shadows/shadowsshadercallbacks.cpp b/src/client/shadows/shadowsshadercallbacks.cpp new file mode 100644 index 000000000..65a63f49c --- /dev/null +++ b/src/client/shadows/shadowsshadercallbacks.cpp @@ -0,0 +1,36 @@ +/* +Minetest +Copyright (C) 2021 Liso + +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 "client/shadows/shadowsshadercallbacks.h" + +void ShadowDepthShaderCB::OnSetConstants( + video::IMaterialRendererServices *services, s32 userData) +{ + video::IVideoDriver *driver = services->getVideoDriver(); + + core::matrix4 lightMVP = driver->getTransform(video::ETS_PROJECTION); + lightMVP *= driver->getTransform(video::ETS_VIEW); + lightMVP *= driver->getTransform(video::ETS_WORLD); + + m_light_mvp_setting.set(lightMVP.pointer(), services); + m_map_resolution_setting.set(&MapRes, services); + m_max_far_setting.set(&MaxFar, services); + s32 TextureId = 0; + m_color_map_sampler_setting.set(&TextureId, services); +} diff --git a/src/client/shadows/shadowsshadercallbacks.h b/src/client/shadows/shadowsshadercallbacks.h new file mode 100644 index 000000000..3549567c3 --- /dev/null +++ b/src/client/shadows/shadowsshadercallbacks.h @@ -0,0 +1,48 @@ +/* +Minetest +Copyright (C) 2021 Liso + +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 +#include +#include "client/shader.h" + +class ShadowDepthShaderCB : public video::IShaderConstantSetCallBack +{ +public: + ShadowDepthShaderCB() : + m_light_mvp_setting("LightMVP"), + m_map_resolution_setting("MapResolution"), + m_max_far_setting("MaxFar"), + m_color_map_sampler_setting("ColorMapSampler") + {} + + void OnSetMaterial(const video::SMaterial &material) override {} + + void OnSetConstants(video::IMaterialRendererServices *services, + s32 userData) override; + + f32 MaxFar{2048.0f}, MapRes{1024.0f}; + +private: + CachedVertexShaderSetting m_light_mvp_setting; + CachedVertexShaderSetting m_map_resolution_setting; + CachedVertexShaderSetting m_max_far_setting; + CachedPixelShaderSetting m_color_map_sampler_setting; +}; diff --git a/src/client/sky.cpp b/src/client/sky.cpp index 47296a7a5..1cf9a4afc 100644 --- a/src/client/sky.cpp +++ b/src/client/sky.cpp @@ -122,7 +122,14 @@ Sky::Sky(s32 id, RenderingEngine *rendering_engine, ITextureSource *tsrc, IShade m_materials[i].Lighting = true; m_materials[i].MaterialType = video::EMT_SOLID; } + m_directional_colored_fog = g_settings->getBool("directional_colored_fog"); + + if (g_settings->getBool("enable_dynamic_shadows")) { + float val = g_settings->getFloat("shadow_sky_body_orbit_tilt"); + m_sky_body_orbit_tilt = rangelim(val, 0.0f, 60.0f); + } + setStarCount(1000, true); } @@ -175,17 +182,7 @@ void Sky::render() video::SColorf mooncolor_f(0.50, 0.57, 0.65, 1); video::SColorf mooncolor2_f(0.85, 0.875, 0.9, 1); - float nightlength = 0.415; - float wn = nightlength / 2; - float wicked_time_of_day = 0; - if (m_time_of_day > wn && m_time_of_day < 1.0 - wn) - wicked_time_of_day = (m_time_of_day - wn) / (1.0 - wn * 2) * 0.5 + 0.25; - else if (m_time_of_day < 0.5) - wicked_time_of_day = m_time_of_day / wn * 0.25; - else - wicked_time_of_day = 1.0 - ((1.0 - m_time_of_day) / wn * 0.25); - /*std::cerr<<"time_of_day="< " - <<"wicked_time_of_day="< wn && time_of_day < 1.0f - wn) + wicked_time_of_day = (time_of_day - wn) / (1.0f - wn * 2) * 0.5f + 0.25f; + else if (time_of_day < 0.5f) + wicked_time_of_day = time_of_day / wn * 0.25f; + else + wicked_time_of_day = 1.0f - ((1.0f - time_of_day) / wn * 0.25f); + return wicked_time_of_day; +} diff --git a/src/client/sky.h b/src/client/sky.h index 121a16bb7..83106453b 100644 --- a/src/client/sky.h +++ b/src/client/sky.h @@ -105,6 +105,8 @@ public: ITextureSource *tsrc); const video::SColorf &getCurrentStarColor() const { return m_star_color; } + float getSkyBodyOrbitTilt() const { return m_sky_body_orbit_tilt; } + private: aabb3f m_box; video::SMaterial m_materials[SKY_MATERIAL_COUNT]; @@ -159,6 +161,7 @@ private: bool m_directional_colored_fog; bool m_in_clouds = true; // Prevent duplicating bools to remember old values bool m_enable_shaders = false; + float m_sky_body_orbit_tilt = 0.0f; 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); @@ -205,3 +208,7 @@ private: float horizon_position, float day_position); void setSkyDefaults(); }; + +// calculates value for sky body positions for the given observed time of day +// this is used to draw both Sun/Moon and shadows +float getWickedTimeOfDay(float time_of_day); diff --git a/src/client/sound_openal.cpp b/src/client/sound_openal.cpp index 8dceeede6..0eda8842b 100644 --- a/src/client/sound_openal.cpp +++ b/src/client/sound_openal.cpp @@ -362,6 +362,14 @@ public: for (auto &buffer : m_buffers) { for (SoundBuffer *sb : buffer.second) { + alDeleteBuffers(1, &sb->buffer_id); + + ALenum error = alGetError(); + if (error != AL_NO_ERROR) { + warningstream << "Audio: Failed to free stream for " + << buffer.first << ": " << alErrorString(error) << std::endl; + } + delete sb; } buffer.second.clear(); diff --git a/src/client/tile.cpp b/src/client/tile.cpp index 96312ea27..a31e3aca1 100644 --- a/src/client/tile.cpp +++ b/src/client/tile.cpp @@ -81,12 +81,8 @@ static bool replace_ext(std::string &path, const char *ext) std::string getImagePath(std::string path) { // A NULL-ended list of possible image extensions - const char *extensions[] = { - "png", "jpg", "bmp", "tga", - "pcx", "ppm", "psd", "wal", "rgb", - NULL - }; - // If there is no extension, add one + const char *extensions[] = { "png", "jpg", "bmp", "tga", NULL }; + // If there is no extension, assume PNG if (removeStringEnd(path, extensions).empty()) path = path + ".png"; // Check paths until something is found to exist diff --git a/src/client/wieldmesh.cpp b/src/client/wieldmesh.cpp index 08fd49fc0..6beed3f3a 100644 --- a/src/client/wieldmesh.cpp +++ b/src/client/wieldmesh.cpp @@ -33,6 +33,7 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "util/numeric.h" #include #include +#include "client/renderingengine.h" #define WIELD_SCALE_FACTOR 30.0 #define WIELD_SCALE_FACTOR_EXTRUDED 40.0 @@ -220,11 +221,18 @@ WieldMeshSceneNode::WieldMeshSceneNode(scene::ISceneManager *mgr, s32 id, bool l m_meshnode->setReadOnlyMaterials(false); m_meshnode->setVisible(false); dummymesh->drop(); // m_meshnode grabbed it + + m_shadow = RenderingEngine::get_shadow_renderer(); } WieldMeshSceneNode::~WieldMeshSceneNode() { sanity_check(g_extrusion_mesh_cache); + + // Remove node from shadow casters. m_shadow might be an invalid pointer! + if (auto shadow = RenderingEngine::get_shadow_renderer()) + shadow->removeNodeFromShadowList(m_meshnode); + if (g_extrusion_mesh_cache->drop()) g_extrusion_mesh_cache = nullptr; } @@ -527,6 +535,10 @@ void WieldMeshSceneNode::changeToMesh(scene::IMesh *mesh) // need to normalize normals when lighting is enabled (because of setScale()) m_meshnode->setMaterialFlag(video::EMF_NORMALIZE_NORMALS, m_lighting); m_meshnode->setVisible(true); + + // Add mesh to shadow caster + if (m_shadow) + m_shadow->addNodeToShadowList(m_meshnode); } void getItemMesh(Client *client, const ItemStack &item, ItemMesh *result) diff --git a/src/client/wieldmesh.h b/src/client/wieldmesh.h index 933097230..d1eeb64f5 100644 --- a/src/client/wieldmesh.h +++ b/src/client/wieldmesh.h @@ -27,6 +27,7 @@ struct ItemStack; class Client; class ITextureSource; struct ContentFeatures; +class ShadowRenderer; /*! * Holds color information of an item mesh's buffer. @@ -124,6 +125,8 @@ private: // so this variable is just required so we can implement // getBoundingBox() and is set to an empty box. aabb3f m_bounding_box; + + ShadowRenderer *m_shadow; }; void getItemMesh(Client *client, const ItemStack &item, ItemMesh *result); diff --git a/src/content/mods.cpp b/src/content/mods.cpp index f791fa797..6f088a5b3 100644 --- a/src/content/mods.cpp +++ b/src/content/mods.cpp @@ -30,6 +30,29 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "convert_json.h" #include "script/common/c_internal.h" +void ModSpec::checkAndLog() const +{ + if (!string_allowed(name, MODNAME_ALLOWED_CHARS)) { + throw ModError("Error loading mod \"" + name + + "\": Mod name does not follow naming conventions: " + "Only characters [a-z0-9_] are allowed."); + } + + // Log deprecation messages + auto handling_mode = get_deprecated_handling_mode(); + if (!deprecation_msgs.empty() && handling_mode != DeprecatedHandlingMode::Ignore) { + std::ostringstream os; + os << "Mod " << name << " at " << path << ":" << std::endl; + for (auto msg : deprecation_msgs) + os << "\t" << msg << std::endl; + + if (handling_mode == DeprecatedHandlingMode::Error) + throw ModError(os.str()); + else + warningstream << os.str(); + } +} + bool parseDependsString(std::string &dep, std::unordered_set &symbols) { dep = trim(dep); @@ -45,22 +68,6 @@ bool parseDependsString(std::string &dep, std::unordered_set &symbols) return !dep.empty(); } -static void log_mod_deprecation(const ModSpec &spec, const std::string &warning) -{ - auto handling_mode = get_deprecated_handling_mode(); - if (handling_mode != DeprecatedHandlingMode::Ignore) { - std::ostringstream os; - os << warning << " (" << spec.name << " at " << spec.path << ")" - << std::endl; - - if (handling_mode == DeprecatedHandlingMode::Error) { - throw ModError(os.str()); - } else { - warningstream << os.str(); - } - } -} - void parseModContents(ModSpec &spec) { // NOTE: this function works in mutual recursion with getModsInPath @@ -90,8 +97,7 @@ void parseModContents(ModSpec &spec) if (info.exists("name")) spec.name = info.get("name"); else - log_mod_deprecation(spec, "Mods not having a mod.conf file with " - "the name is deprecated."); + spec.deprecation_msgs.push_back("Mods not having a mod.conf file with the name is deprecated."); if (info.exists("author")) spec.author = info.get("author"); @@ -132,8 +138,7 @@ void parseModContents(ModSpec &spec) std::ifstream is((spec.path + DIR_DELIM + "depends.txt").c_str()); if (is.good()) - log_mod_deprecation(spec, "depends.txt is deprecated, " - "please use mod.conf instead."); + spec.deprecation_msgs.push_back("depends.txt is deprecated, please use mod.conf instead."); while (is.good()) { std::string dep; @@ -155,10 +160,8 @@ void parseModContents(ModSpec &spec) if (info.exists("description")) spec.desc = info.get("description"); - else if (fs::ReadFile(spec.path + DIR_DELIM + "description.txt", - spec.desc)) - log_mod_deprecation(spec, "description.txt is deprecated, please " - "use mod.conf instead."); + else if (fs::ReadFile(spec.path + DIR_DELIM + "description.txt", spec.desc)) + spec.deprecation_msgs.push_back("description.txt is deprecated, please use mod.conf instead."); } } diff --git a/src/content/mods.h b/src/content/mods.h index b3500fbc8..b56a97edb 100644 --- a/src/content/mods.h +++ b/src/content/mods.h @@ -49,6 +49,9 @@ struct ModSpec bool part_of_modpack = false; bool is_modpack = false; + // For logging purposes + std::vector deprecation_msgs; + // if modpack: std::map modpack_content; ModSpec(const std::string &name = "", const std::string &path = "") : @@ -59,6 +62,8 @@ struct ModSpec name(name), path(path), part_of_modpack(part_of_modpack) { } + + void checkAndLog() const; }; // Retrieves depends, optdepends, is_modpack and modpack_content diff --git a/src/database/database-leveldb.cpp b/src/database/database-leveldb.cpp index 73cd63f6d..39f4c8442 100644 --- a/src/database/database-leveldb.cpp +++ b/src/database/database-leveldb.cpp @@ -70,11 +70,11 @@ bool Database_LevelDB::saveBlock(const v3s16 &pos, const std::string &data) void Database_LevelDB::loadBlock(const v3s16 &pos, std::string *block) { - std::string datastr; leveldb::Status status = m_database->Get(leveldb::ReadOptions(), - i64tos(getBlockAsInteger(pos)), &datastr); + i64tos(getBlockAsInteger(pos)), block); - *block = (status.ok()) ? datastr : ""; + if (!status.ok()) + block->clear(); } bool Database_LevelDB::deleteBlock(const v3s16 &pos) @@ -131,7 +131,7 @@ void PlayerDatabaseLevelDB::savePlayer(RemotePlayer *player) std::string (long) serialized_inventory */ - std::ostringstream os; + std::ostringstream os(std::ios_base::binary); writeU8(os, 1); PlayerSAO *sao = player->getPlayerSAO(); @@ -142,7 +142,7 @@ void PlayerDatabaseLevelDB::savePlayer(RemotePlayer *player) writeF32(os, sao->getRotation().Y); writeU16(os, sao->getBreath()); - StringMap stringvars = sao->getMeta().getStrings(); + const auto &stringvars = sao->getMeta().getStrings(); writeU32(os, stringvars.size()); for (const auto &it : stringvars) { os << serializeString16(it.first); @@ -170,7 +170,7 @@ bool PlayerDatabaseLevelDB::loadPlayer(RemotePlayer *player, PlayerSAO *sao) player->getName(), &raw); if (!s.ok()) return false; - std::istringstream is(raw); + std::istringstream is(raw, std::ios_base::binary); if (readU8(is) > 1) return false; @@ -230,7 +230,7 @@ bool AuthDatabaseLevelDB::getAuth(const std::string &name, AuthEntry &res) leveldb::Status s = m_database->Get(leveldb::ReadOptions(), name, &raw); if (!s.ok()) return false; - std::istringstream is(raw); + std::istringstream is(raw, std::ios_base::binary); /* u8 version = 1 @@ -262,7 +262,7 @@ bool AuthDatabaseLevelDB::getAuth(const std::string &name, AuthEntry &res) bool AuthDatabaseLevelDB::saveAuth(const AuthEntry &authEntry) { - std::ostringstream os; + std::ostringstream os(std::ios_base::binary); writeU8(os, 1); os << serializeString16(authEntry.password); diff --git a/src/database/database-postgresql.cpp b/src/database/database-postgresql.cpp index e1bb39928..3469f4242 100644 --- a/src/database/database-postgresql.cpp +++ b/src/database/database-postgresql.cpp @@ -39,20 +39,24 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "remoteplayer.h" #include "server/player_sao.h" -Database_PostgreSQL::Database_PostgreSQL(const std::string &connect_string) : +Database_PostgreSQL::Database_PostgreSQL(const std::string &connect_string, + const char *type) : m_connect_string(connect_string) { if (m_connect_string.empty()) { - throw SettingNotFoundException( - "Set pgsql_connection string in world.mt to " + // Use given type to reference the exact setting in the error message + std::string s = type; + std::string msg = + "Set pgsql" + s + "_connection string in world.mt to " "use the postgresql backend\n" "Notes:\n" - "pgsql_connection has the following form: \n" - "\tpgsql_connection = host=127.0.0.1 port=5432 user=mt_user " - "password=mt_password dbname=minetest_world\n" + "pgsql" + s + "_connection has the following form: \n" + "\tpgsql" + s + "_connection = host=127.0.0.1 port=5432 " + "user=mt_user password=mt_password dbname=minetest" + s + "\n" "mt_user should have CREATE TABLE, INSERT, SELECT, UPDATE and " - "DELETE rights on the database.\n" - "Don't create mt_user as a SUPERUSER!"); + "DELETE rights on the database. " + "Don't create mt_user as a SUPERUSER!"; + throw SettingNotFoundException(msg); } } @@ -166,7 +170,7 @@ void Database_PostgreSQL::rollback() } MapDatabasePostgreSQL::MapDatabasePostgreSQL(const std::string &connect_string): - Database_PostgreSQL(connect_string), + Database_PostgreSQL(connect_string, ""), MapDatabase() { connectToDatabase(); @@ -270,10 +274,10 @@ void MapDatabasePostgreSQL::loadBlock(const v3s16 &pos, std::string *block) PGresult *results = execPrepared("read_block", ARRLEN(args), args, argLen, argFmt, false); - *block = ""; - if (PQntuples(results)) - *block = std::string(PQgetvalue(results, 0, 0), PQgetlength(results, 0, 0)); + block->assign(PQgetvalue(results, 0, 0), PQgetlength(results, 0, 0)); + else + block->clear(); PQclear(results); } @@ -315,7 +319,7 @@ void MapDatabasePostgreSQL::listAllLoadableBlocks(std::vector &dst) * Player Database */ PlayerDatabasePostgreSQL::PlayerDatabasePostgreSQL(const std::string &connect_string): - Database_PostgreSQL(connect_string), + Database_PostgreSQL(connect_string, "_player"), PlayerDatabase() { connectToDatabase(); @@ -492,6 +496,7 @@ void PlayerDatabasePostgreSQL::savePlayer(RemotePlayer *player) execPrepared("remove_player_inventory_items", 1, rmvalues); std::vector inventory_lists = sao->getInventory()->getLists(); + std::ostringstream oss; for (u16 i = 0; i < inventory_lists.size(); i++) { const InventoryList* list = inventory_lists[i]; const std::string &name = list->getName(); @@ -508,9 +513,10 @@ void PlayerDatabasePostgreSQL::savePlayer(RemotePlayer *player) execPrepared("add_player_inventory", 5, inv_values); for (u32 j = 0; j < list->getSize(); j++) { - std::ostringstream os; - list->getItem(j).serialize(os); - std::string itemStr = os.str(), slotId = itos(j); + oss.str(""); + oss.clear(); + list->getItem(j).serialize(oss); + std::string itemStr = oss.str(), slotId = itos(j); const char* invitem_values[] = { player->getName(), @@ -637,7 +643,8 @@ void PlayerDatabasePostgreSQL::listPlayers(std::vector &res) } AuthDatabasePostgreSQL::AuthDatabasePostgreSQL(const std::string &connect_string) : - Database_PostgreSQL(connect_string), AuthDatabase() + Database_PostgreSQL(connect_string, "_auth"), + AuthDatabase() { connectToDatabase(); } diff --git a/src/database/database-postgresql.h b/src/database/database-postgresql.h index f47deda33..81b4a2b10 100644 --- a/src/database/database-postgresql.h +++ b/src/database/database-postgresql.h @@ -29,7 +29,7 @@ class Settings; class Database_PostgreSQL: public Database { public: - Database_PostgreSQL(const std::string &connect_string); + Database_PostgreSQL(const std::string &connect_string, const char *type); ~Database_PostgreSQL(); void beginSave(); diff --git a/src/database/database-redis.cpp b/src/database/database-redis.cpp index 096ea504d..5ffff67b7 100644 --- a/src/database/database-redis.cpp +++ b/src/database/database-redis.cpp @@ -127,8 +127,7 @@ void Database_Redis::loadBlock(const v3s16 &pos, std::string *block) switch (reply->type) { case REDIS_REPLY_STRING: { - *block = std::string(reply->str, reply->len); - // std::string copies the memory so this won't cause any problems + block->assign(reply->str, reply->len); freeReplyObject(reply); return; } @@ -141,8 +140,7 @@ void Database_Redis::loadBlock(const v3s16 &pos, std::string *block) "Redis command 'HGET %s %s' errored: ") + errstr); } case REDIS_REPLY_NIL: { - *block = ""; - // block not found in database + block->clear(); freeReplyObject(reply); return; } diff --git a/src/database/database-sqlite3.cpp b/src/database/database-sqlite3.cpp index 4560743b9..898acc265 100644 --- a/src/database/database-sqlite3.cpp +++ b/src/database/database-sqlite3.cpp @@ -302,7 +302,10 @@ void MapDatabaseSQLite3::loadBlock(const v3s16 &pos, std::string *block) const char *data = (const char *) sqlite3_column_blob(m_stmt_read, 0); size_t len = sqlite3_column_bytes(m_stmt_read, 0); - *block = (data) ? std::string(data, len) : ""; + if (data) + block->assign(data, len); + else + block->clear(); sqlite3_step(m_stmt_read); // We should never get more than 1 row, so ok to reset @@ -491,6 +494,7 @@ void PlayerDatabaseSQLite3::savePlayer(RemotePlayer *player) sqlite3_reset(m_stmt_player_remove_inventory_items); std::vector inventory_lists = sao->getInventory()->getLists(); + std::ostringstream oss; for (u16 i = 0; i < inventory_lists.size(); i++) { const InventoryList* list = inventory_lists[i]; @@ -503,9 +507,10 @@ void PlayerDatabaseSQLite3::savePlayer(RemotePlayer *player) sqlite3_reset(m_stmt_player_add_inventory); for (u32 j = 0; j < list->getSize(); j++) { - std::ostringstream os; - list->getItem(j).serialize(os); - std::string itemStr = os.str(); + oss.str(""); + oss.clear(); + list->getItem(j).serialize(oss); + std::string itemStr = oss.str(); str_to_sqlite(m_stmt_player_add_inventory_items, 1, player->getName()); int_to_sqlite(m_stmt_player_add_inventory_items, 2, i); diff --git a/src/defaultsettings.cpp b/src/defaultsettings.cpp index 3e784523d..64335afff 100644 --- a/src/defaultsettings.cpp +++ b/src/defaultsettings.cpp @@ -65,6 +65,8 @@ void set_default_settings() settings->setDefault("max_out_chat_queue_size", "20"); settings->setDefault("pause_on_lost_focus", "false"); settings->setDefault("enable_register_confirmation", "true"); + settings->setDefault("clickable_chat_weblinks", "false"); + settings->setDefault("chat_weblink_color", "#8888FF"); // Cheat Menu settings->setDefault("cheat_menu_font", "FM_Standard"); @@ -246,7 +248,6 @@ void set_default_settings() settings->setDefault("screen_h", "600"); settings->setDefault("autosave_screensize", "true"); settings->setDefault("fullscreen", "false"); - settings->setDefault("fullscreen_bpp", "24"); settings->setDefault("vsync", "false"); settings->setDefault("fov", "72"); settings->setDefault("leaves_style", "fancy"); @@ -331,6 +332,18 @@ void set_default_settings() settings->setDefault("enable_waving_leaves", "false"); settings->setDefault("enable_waving_plants", "false"); + // Effects Shadows + settings->setDefault("enable_dynamic_shadows", "false"); + settings->setDefault("shadow_strength", "0.2"); + settings->setDefault("shadow_map_max_distance", "200.0"); + settings->setDefault("shadow_map_texture_size", "2048"); + settings->setDefault("shadow_map_texture_32bit", "true"); + settings->setDefault("shadow_map_color", "false"); + settings->setDefault("shadow_filters", "1"); + settings->setDefault("shadow_poisson_filter", "true"); + settings->setDefault("shadow_update_frames", "8"); + settings->setDefault("shadow_soft_radius", "1.0"); + settings->setDefault("shadow_sky_body_orbit_tilt", "0.0"); // Input settings->setDefault("invert_mouse", "false"); @@ -454,7 +467,7 @@ void set_default_settings() settings->setDefault("chat_message_limit_per_10sec", "8.0"); settings->setDefault("chat_message_limit_trigger_kick", "50"); settings->setDefault("sqlite_synchronous", "2"); - settings->setDefault("map_compression_level_disk", "3"); + settings->setDefault("map_compression_level_disk", "-1"); settings->setDefault("map_compression_level_net", "-1"); settings->setDefault("full_block_send_enable_min_time_from_building", "2.0"); settings->setDefault("dedicated_server_step", "0.09"); @@ -511,7 +524,6 @@ void set_default_settings() settings->setDefault("server_name", ""); settings->setDefault("server_description", ""); - settings->setDefault("high_precision_fpu", "true"); settings->setDefault("enable_console", "false"); settings->setDefault("screen_dpi", "72"); @@ -541,7 +553,7 @@ void set_default_settings() settings->setDefault("max_objects_per_block", "20"); settings->setDefault("sqlite_synchronous", "1"); settings->setDefault("map_compression_level_disk", "-1"); - settings->setDefault("map_compression_level_net", "3"); + settings->setDefault("map_compression_level_net", "-1"); settings->setDefault("server_map_save_interval", "15"); settings->setDefault("client_mapblock_limit", "1000"); settings->setDefault("active_block_range", "2"); diff --git a/src/emerge.cpp b/src/emerge.cpp index 32e7d9f24..9234fe6d3 100644 --- a/src/emerge.cpp +++ b/src/emerge.cpp @@ -165,20 +165,17 @@ EmergeManager::EmergeManager(Server *server) if (nthreads < 1) nthreads = 1; - m_qlimit_total = g_settings->getU16("emergequeue_limit_total"); + m_qlimit_total = g_settings->getU32("emergequeue_limit_total"); // FIXME: these fallback values are probably not good - if (!g_settings->getU16NoEx("emergequeue_limit_diskonly", m_qlimit_diskonly)) + if (!g_settings->getU32NoEx("emergequeue_limit_diskonly", m_qlimit_diskonly)) m_qlimit_diskonly = nthreads * 5 + 1; - if (!g_settings->getU16NoEx("emergequeue_limit_generate", m_qlimit_generate)) + if (!g_settings->getU32NoEx("emergequeue_limit_generate", m_qlimit_generate)) m_qlimit_generate = nthreads + 1; // don't trust user input for something very important like this - if (m_qlimit_total < 1) - m_qlimit_total = 1; - if (m_qlimit_diskonly < 1) - m_qlimit_diskonly = 1; - if (m_qlimit_generate < 1) - m_qlimit_generate = 1; + m_qlimit_total = rangelim(m_qlimit_total, 1, 1000000); + m_qlimit_diskonly = rangelim(m_qlimit_diskonly, 1, 1000000); + m_qlimit_generate = rangelim(m_qlimit_generate, 1, 1000000); for (s16 i = 0; i < nthreads; i++) m_threads.push_back(new EmergeThread(server, i)); @@ -358,6 +355,13 @@ bool EmergeManager::enqueueBlockEmergeEx( } +bool EmergeManager::isBlockInQueue(v3s16 pos) +{ + MutexAutoLock queuelock(m_queue_mutex); + return m_blocks_enqueued.find(pos) != m_blocks_enqueued.end(); +} + + // // Mapgen-related helper functions // @@ -418,14 +422,14 @@ bool EmergeManager::pushBlockEmergeData( void *callback_param, bool *entry_already_exists) { - u16 &count_peer = m_peer_queue_count[peer_requested]; + u32 &count_peer = m_peer_queue_count[peer_requested]; if ((flags & BLOCK_EMERGE_FORCE_QUEUE) == 0) { if (m_blocks_enqueued.size() >= m_qlimit_total) return false; if (peer_requested != PEER_ID_INEXISTENT) { - u16 qlimit_peer = (flags & BLOCK_EMERGE_ALLOW_GEN) ? + u32 qlimit_peer = (flags & BLOCK_EMERGE_ALLOW_GEN) ? m_qlimit_generate : m_qlimit_diskonly; if (count_peer >= qlimit_peer) return false; @@ -460,20 +464,18 @@ bool EmergeManager::pushBlockEmergeData( bool EmergeManager::popBlockEmergeData(v3s16 pos, BlockEmergeData *bedata) { - std::map::iterator it; - std::unordered_map::iterator it2; - - it = m_blocks_enqueued.find(pos); + auto it = m_blocks_enqueued.find(pos); if (it == m_blocks_enqueued.end()) return false; *bedata = it->second; - it2 = m_peer_queue_count.find(bedata->peer_requested); + auto it2 = m_peer_queue_count.find(bedata->peer_requested); if (it2 == m_peer_queue_count.end()) return false; - u16 &count_peer = it2->second; + u32 &count_peer = it2->second; + assert(count_peer != 0); count_peer--; @@ -645,7 +647,7 @@ MapBlock *EmergeThread::finishGen(v3s16 pos, BlockMakeData *bmdata, m_server->getScriptIface()->environment_OnGenerated( minp, maxp, m_mapgen->blockseed); } catch (LuaError &e) { - m_server->setAsyncFatalError("Lua: finishGen" + std::string(e.what())); + m_server->setAsyncFatalError(e); } /* diff --git a/src/emerge.h b/src/emerge.h index aac3e7dd3..e2d727973 100644 --- a/src/emerge.h +++ b/src/emerge.h @@ -174,6 +174,8 @@ public: EmergeCompletionCallback callback, void *callback_param); + bool isBlockInQueue(v3s16 pos); + v3s16 getContainingChunk(v3s16 blockpos); Mapgen *getCurrentMapgen(); @@ -192,11 +194,11 @@ private: std::mutex m_queue_mutex; std::map m_blocks_enqueued; - std::unordered_map m_peer_queue_count; + std::unordered_map m_peer_queue_count; - u16 m_qlimit_total; - u16 m_qlimit_diskonly; - u16 m_qlimit_generate; + u32 m_qlimit_total; + u32 m_qlimit_diskonly; + u32 m_qlimit_generate; // Managers of various map generation-related components // Note that each Mapgen gets a copy(!) of these to work with diff --git a/src/filesys.cpp b/src/filesys.cpp index 99b030624..a07370c0e 100644 --- a/src/filesys.cpp +++ b/src/filesys.cpp @@ -21,6 +21,7 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "util/string.h" #include #include +#include #include #include #include @@ -36,6 +37,7 @@ namespace fs #define _WIN32_WINNT 0x0501 #include #include +#include std::vector GetDirListing(const std::string &pathstring) { @@ -176,13 +178,27 @@ std::string TempPath() errorstream<<"GetTempPath failed, error = "< buf(bufsize); + std::string buf; + buf.resize(bufsize); DWORD len = GetTempPath(bufsize, &buf[0]); if(len == 0 || len > bufsize){ errorstream<<"GetTempPath failed, error = "< &dirs, const std::string &dir) diff --git a/src/filesys.h b/src/filesys.h index a9584b036..f72cb0ba2 100644 --- a/src/filesys.h +++ b/src/filesys.h @@ -71,6 +71,10 @@ bool DeleteSingleFileOrEmptyDirectory(const std::string &path); // Returns path to temp directory, can return "" on error std::string TempPath(); +// Returns path to securely-created temporary file (will already exist when this function returns) +// can return "" on error +std::string CreateTempFile(); + /* Returns a list of subdirectories, including the path itself, but excluding hidden directories (whose names start with . or _) */ diff --git a/src/gettext.cpp b/src/gettext.cpp index 6818004df..de042cf35 100644 --- a/src/gettext.cpp +++ b/src/gettext.cpp @@ -127,6 +127,10 @@ void init_gettext(const char *path, const std::string &configured_language, // Add user specified locale to environment setenv("LANGUAGE", configured_language.c_str(), 1); +#ifdef __ANDROID__ + setenv("LANG", configured_language.c_str(), 1); +#endif + // Reload locale with changed environment setlocale(LC_ALL, ""); #elif defined(_MSC_VER) diff --git a/src/gettext.h b/src/gettext.h index 42b375d86..5a3654be4 100644 --- a/src/gettext.h +++ b/src/gettext.h @@ -59,3 +59,21 @@ inline std::string strgettext(const std::string &text) { return text.empty() ? "" : gettext(text.c_str()); } + +/** + * Returns translated string with format args applied + * + * @tparam Args Template parameter for format args + * @param src Translation source string + * @param args Variable format args + * @return translated string + */ +template +inline std::wstring fwgettext(const char *src, Args&&... args) +{ + wchar_t buf[255]; + const wchar_t* str = wgettext(src); + swprintf(buf, sizeof(buf) / sizeof(wchar_t), str, std::forward(args)...); + delete[] str; + return std::wstring(buf); +} diff --git a/src/gui/guiChatConsole.cpp b/src/gui/guiChatConsole.cpp index baaaea5e8..0610c85cc 100644 --- a/src/gui/guiChatConsole.cpp +++ b/src/gui/guiChatConsole.cpp @@ -41,6 +41,10 @@ inline u32 clamp_u8(s32 value) return (u32) MYMIN(MYMAX(value, 0), 255); } +inline bool isInCtrlKeys(const irr::EKEY_CODE& kc) +{ + return kc == KEY_LCONTROL || kc == KEY_RCONTROL || kc == KEY_CONTROL; +} GUIChatConsole::GUIChatConsole( gui::IGUIEnvironment* env, @@ -91,6 +95,10 @@ GUIChatConsole::GUIChatConsole( // set default cursor options setCursor(true, true, 2.0, 0.1); + + // track ctrl keys for mouse event + m_is_ctrl_down = false; + m_cache_clickable_chat_weblinks = g_settings->getBool("clickable_chat_weblinks"); } GUIChatConsole::~GUIChatConsole() @@ -330,7 +338,7 @@ void GUIChatConsole::drawText() false, false, &AbsoluteClippingRect); - } else + } else #endif { // Otherwise use standard text @@ -405,8 +413,21 @@ bool GUIChatConsole::OnEvent(const SEvent& event) ChatPrompt &prompt = m_chat_backend->getPrompt(); - if(event.EventType == EET_KEY_INPUT_EVENT && event.KeyInput.PressedDown) + if (event.EventType == EET_KEY_INPUT_EVENT && !event.KeyInput.PressedDown) { + // CTRL up + if (isInCtrlKeys(event.KeyInput.Key)) + { + m_is_ctrl_down = false; + } + } + else if(event.EventType == EET_KEY_INPUT_EVENT && event.KeyInput.PressedDown) + { + // CTRL down + if (isInCtrlKeys(event.KeyInput.Key)) { + m_is_ctrl_down = true; + } + // Key input if (KeyPress(event.KeyInput) == getKeySetting("keymap_console")) { closeConsole(); @@ -559,8 +580,7 @@ bool GUIChatConsole::OnEvent(const SEvent& event) const c8 *text = os_operator->getTextFromClipboard(); if (!text) return true; - std::basic_string str((const unsigned char*)text); - prompt.input(std::wstring(str.begin(), str.end())); + prompt.input(utf8_to_wide(text)); return true; } else if(event.KeyInput.Key == KEY_KEY_X && event.KeyInput.Control) @@ -613,11 +633,24 @@ bool GUIChatConsole::OnEvent(const SEvent& event) } else if(event.EventType == EET_MOUSE_INPUT_EVENT) { - if(event.MouseInput.Event == EMIE_MOUSE_WHEEL) + if (event.MouseInput.Event == EMIE_MOUSE_WHEEL) { s32 rows = myround(-3.0 * event.MouseInput.Wheel); m_chat_backend->scroll(rows); } + // Middle click or ctrl-click opens weblink, if enabled in config + else if(m_cache_clickable_chat_weblinks && ( + event.MouseInput.Event == EMIE_MMOUSE_PRESSED_DOWN || + (event.MouseInput.Event == EMIE_LMOUSE_PRESSED_DOWN && m_is_ctrl_down) + )) + { + // If clicked within console output region + if (event.MouseInput.Y / m_fontsize.Y < (m_height / m_fontsize.Y) - 1 ) + { + // Translate pixel position to font position + middleClick(event.MouseInput.X / m_fontsize.X, event.MouseInput.Y / m_fontsize.Y); + } + } } #if (IRRLICHT_VERSION_MT_REVISION >= 2) else if(event.EventType == EET_STRING_INPUT_EVENT) @@ -640,3 +673,62 @@ void GUIChatConsole::setVisible(bool visible) } } +void GUIChatConsole::middleClick(s32 col, s32 row) +{ + // Prevent accidental rapid clicking + static u64 s_oldtime = 0; + u64 newtime = porting::getTimeMs(); + + // 0.6 seconds should suffice + if (newtime - s_oldtime < 600) + return; + s_oldtime = newtime; + + const std::vector & + frags = m_chat_backend->getConsoleBuffer().getFormattedLine(row).fragments; + std::string weblink = ""; // from frag meta + + // Identify targetted fragment, if exists + int indx = frags.size() - 1; + if (indx < 0) { + // Invalid row, frags is empty + return; + } + // Scan from right to left, offset by 1 font space because left margin + while (indx > -1 && (u32)col < frags[indx].column + 1) { + --indx; + } + if (indx > -1) { + weblink = frags[indx].weblink; + // Note if(indx < 0) then a frag somehow had a corrupt column field + } + + /* + // Debug help. Please keep this in case adjustments are made later. + std::string ws; + ws = "Middleclick: (" + std::to_string(col) + ',' + std::to_string(row) + ')' + " frags:"; + // show all frags () for the clicked row + for (u32 i=0;iaddUnparsedMessage(utf8_to_wide(msg.str())); + } +} diff --git a/src/gui/guiChatConsole.h b/src/gui/guiChatConsole.h index 1152f2b2d..32628f0d8 100644 --- a/src/gui/guiChatConsole.h +++ b/src/gui/guiChatConsole.h @@ -84,6 +84,9 @@ private: void drawText(); void drawPrompt(); + // If clicked fragment has a web url, send it to the system default web browser + void middleClick(s32 col, s32 row); + private: ChatBackend* m_chat_backend; Client* m_client; @@ -126,4 +129,9 @@ private: // font gui::IGUIFont *m_font = nullptr; v2u32 m_fontsize; + + // Enable clickable chat weblinks + bool m_cache_clickable_chat_weblinks; + // Track if a ctrl key is currently held down + bool m_is_ctrl_down; }; diff --git a/src/gui/guiEditBox.cpp b/src/gui/guiEditBox.cpp index ba548aa2d..8459107cd 100644 --- a/src/gui/guiEditBox.cpp +++ b/src/gui/guiEditBox.cpp @@ -25,6 +25,7 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "IGUIFont.h" #include "porting.h" +#include "util/string.h" GUIEditBox::~GUIEditBox() { @@ -232,10 +233,6 @@ bool GUIEditBox::OnEvent(const SEvent &event) bool GUIEditBox::processKey(const SEvent &event) { - if (!m_writable) { - return false; - } - if (!event.KeyInput.PressedDown) return false; @@ -521,8 +518,7 @@ void GUIEditBox::onKeyControlC(const SEvent &event) const s32 realmbgn = m_mark_begin < m_mark_end ? m_mark_begin : m_mark_end; const s32 realmend = m_mark_begin < m_mark_end ? m_mark_end : m_mark_begin; - core::stringc s; - s = Text.subString(realmbgn, realmend - realmbgn).c_str(); + std::string s = stringw_to_utf8(Text.subString(realmbgn, realmend - realmbgn)); m_operator->copyToClipboard(s.c_str()); } @@ -531,6 +527,9 @@ bool GUIEditBox::onKeyControlX(const SEvent &event, s32 &mark_begin, s32 &mark_e // First copy to clipboard onKeyControlC(event); + if (!m_writable) + return false; + if (m_passwordbox || !m_operator || m_mark_begin == m_mark_end) return false; @@ -556,7 +555,7 @@ bool GUIEditBox::onKeyControlX(const SEvent &event, s32 &mark_begin, s32 &mark_e bool GUIEditBox::onKeyControlV(const SEvent &event, s32 &mark_begin, s32 &mark_end) { - if (!isEnabled()) + if (!isEnabled() || !m_writable) return false; // paste from the clipboard @@ -568,29 +567,28 @@ bool GUIEditBox::onKeyControlV(const SEvent &event, s32 &mark_begin, s32 &mark_e // add new character if (const c8 *p = m_operator->getTextFromClipboard()) { + core::stringw inserted_text = utf8_to_stringw(p); if (m_mark_begin == m_mark_end) { // insert text core::stringw s = Text.subString(0, m_cursor_pos); - s.append(p); + s.append(inserted_text); s.append(Text.subString( m_cursor_pos, Text.size() - m_cursor_pos)); if (!m_max || s.size() <= m_max) { Text = s; - s = p; - m_cursor_pos += s.size(); + m_cursor_pos += inserted_text.size(); } } else { // replace text core::stringw s = Text.subString(0, realmbgn); - s.append(p); + s.append(inserted_text); s.append(Text.subString(realmend, Text.size() - realmend)); if (!m_max || s.size() <= m_max) { Text = s; - s = p; - m_cursor_pos = realmbgn + s.size(); + m_cursor_pos = realmbgn + inserted_text.size(); } } } @@ -602,7 +600,7 @@ bool GUIEditBox::onKeyControlV(const SEvent &event, s32 &mark_begin, s32 &mark_e bool GUIEditBox::onKeyBack(const SEvent &event, s32 &mark_begin, s32 &mark_end) { - if (!isEnabled() || Text.empty()) + if (!isEnabled() || Text.empty() || !m_writable) return false; core::stringw s; @@ -640,7 +638,7 @@ bool GUIEditBox::onKeyBack(const SEvent &event, s32 &mark_begin, s32 &mark_end) bool GUIEditBox::onKeyDelete(const SEvent &event, s32 &mark_begin, s32 &mark_end) { - if (!isEnabled() || Text.empty()) + if (!isEnabled() || Text.empty() || !m_writable) return false; core::stringw s; diff --git a/src/gui/guiEditBoxWithScrollbar.cpp b/src/gui/guiEditBoxWithScrollbar.cpp index c72070787..fb4bc2a0b 100644 --- a/src/gui/guiEditBoxWithScrollbar.cpp +++ b/src/gui/guiEditBoxWithScrollbar.cpp @@ -620,6 +620,17 @@ void GUIEditBoxWithScrollBar::createVScrollBar() if (Environment) skin = Environment->getSkin(); + s32 fontHeight = 1; + + if (m_override_font) { + fontHeight = m_override_font->getDimension(L"Ay").Height; + } else { + IGUIFont *font; + if (skin && (font = skin->getFont())) { + fontHeight = font->getDimension(L"Ay").Height; + } + } + m_scrollbar_width = skin ? skin->getSize(gui::EGDS_SCROLLBAR_SIZE) : 16; irr::core::rect scrollbarrect = m_frame_rect; @@ -628,8 +639,8 @@ void GUIEditBoxWithScrollBar::createVScrollBar() scrollbarrect, false, true); m_vscrollbar->setVisible(false); - m_vscrollbar->setSmallStep(1); - m_vscrollbar->setLargeStep(1); + m_vscrollbar->setSmallStep(3 * fontHeight); + m_vscrollbar->setLargeStep(10 * fontHeight); } diff --git a/src/gui/guiEngine.cpp b/src/gui/guiEngine.cpp index 694baf482..c39c3ee0d 100644 --- a/src/gui/guiEngine.cpp +++ b/src/gui/guiEngine.cpp @@ -437,9 +437,22 @@ void GUIEngine::drawBackground(video::IVideoDriver *driver) return; } + // Chop background image to the smaller screen dimension + v2u32 bg_size = screensize; + v2f32 scale( + (f32) bg_size.X / sourcesize.X, + (f32) bg_size.Y / sourcesize.Y); + if (scale.X < scale.Y) + bg_size.X = (int) (scale.Y * sourcesize.X); + else + bg_size.Y = (int) (scale.X * sourcesize.Y); + v2s32 offset = v2s32( + (s32) screensize.X - (s32) bg_size.X, + (s32) screensize.Y - (s32) bg_size.Y + ) / 2; /* Draw background texture */ draw2DImageFilterScaled(driver, texture, - core::rect(0, 0, screensize.X, screensize.Y), + core::rect(offset.X, offset.Y, bg_size.X + offset.X, bg_size.Y + offset.Y), core::rect(0, 0, sourcesize.X, sourcesize.Y), NULL, NULL, true); } @@ -614,10 +627,3 @@ void GUIEngine::stopSound(s32 handle) { m_sound_manager->stopSound(handle); } - -/******************************************************************************/ -unsigned int GUIEngine::queueAsync(const std::string &serialized_func, - const std::string &serialized_params) -{ - return m_script->queueAsync(serialized_func, serialized_params); -} diff --git a/src/gui/guiEngine.h b/src/gui/guiEngine.h index 70abce181..d7e6485ef 100644 --- a/src/gui/guiEngine.h +++ b/src/gui/guiEngine.h @@ -175,10 +175,6 @@ public: return m_scriptdir; } - /** pass async callback to scriptengine **/ - unsigned int queueAsync(const std::string &serialized_fct, - const std::string &serialized_params); - private: /** find and run the main menu script */ diff --git a/src/gui/guiFormSpecMenu.cpp b/src/gui/guiFormSpecMenu.cpp index c6435804f..797fd3ff6 100644 --- a/src/gui/guiFormSpecMenu.cpp +++ b/src/gui/guiFormSpecMenu.cpp @@ -1577,11 +1577,10 @@ void GUIFormSpecMenu::createTextField(parserData *data, FieldSpec &spec, } 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); - } + bool border = style.getBool(StyleSpec::BORDER, true); + e->setDrawBorder(border); + e->setDrawBackground(border); e->setOverrideFont(style.getFont()); e->drop(); @@ -3934,9 +3933,7 @@ void GUIFormSpecMenu::acceptInput(FormspecQuitMode quitmode) } if (e != 0) { - std::stringstream ss; - ss << (e->getActiveTab() +1); - fields[name] = ss.str(); + fields[name] = itos(e->getActiveTab() + 1); } } else if (s.ftype == f_CheckBox) { // No dynamic cast possible due to some distributions shipped @@ -3962,12 +3959,10 @@ void GUIFormSpecMenu::acceptInput(FormspecQuitMode quitmode) e = static_cast(element); if (e) { - std::stringstream os; - os << e->getPos(); if (s.fdefault == L"Changed") - fields[name] = "CHG:" + os.str(); + fields[name] = "CHG:" + itos(e->getPos()); else - fields[name] = "VAL:" + os.str(); + fields[name] = "VAL:" + itos(e->getPos()); } } else if (s.ftype == f_AnimatedImage) { // No dynamic cast possible due to some distributions shipped diff --git a/src/gui/guiVolumeChange.cpp b/src/gui/guiVolumeChange.cpp index f17cfa986..61ab758a1 100644 --- a/src/gui/guiVolumeChange.cpp +++ b/src/gui/guiVolumeChange.cpp @@ -93,11 +93,12 @@ void GUIVolumeChange::regenerateGui(v2u32 screensize) core::rect rect(0, 0, 160 * s, 20 * s); rect = rect + v2s32(size.X / 2 - 80 * s, size.Y / 2 - 70 * s); - const wchar_t *text = wgettext("Sound Volume: "); + wchar_t text[100]; + const wchar_t *str = wgettext("Sound Volume: %d%%"); + swprintf(text, sizeof(text) / sizeof(wchar_t), str, volume); + delete[] str; core::stringw volume_text = text; - delete [] text; - volume_text += core::stringw(volume) + core::stringw("%"); Environment->addStaticText(volume_text.c_str(), rect, false, true, this, ID_soundText); } @@ -183,11 +184,13 @@ bool GUIVolumeChange::OnEvent(const SEvent& event) g_settings->setFloat("sound_volume", (float) pos / 100); gui::IGUIElement *e = getElementFromId(ID_soundText); - const wchar_t *text = wgettext("Sound Volume: "); - core::stringw volume_text = text; - delete [] text; + wchar_t text[100]; + const wchar_t *str = wgettext("Sound Volume: %d%%"); + swprintf(text, sizeof(text) / sizeof(wchar_t), str, pos); + delete[] str; + + core::stringw volume_text = text; - volume_text += core::stringw(pos) + core::stringw("%"); e->setText(volume_text.c_str()); return true; } diff --git a/src/gui/modalMenu.cpp b/src/gui/modalMenu.cpp index 0d3fb55f0..1016de389 100644 --- a/src/gui/modalMenu.cpp +++ b/src/gui/modalMenu.cpp @@ -268,7 +268,7 @@ bool GUIModalMenu::preprocessEvent(const SEvent &event) std::string label = wide_to_utf8(getLabelByID(hovered->getID())); if (label.empty()) label = "text"; - message += gettext(label) + ":"; + message += strgettext(label) + ":"; // single line text input int type = 2; diff --git a/src/gui/touchscreengui.cpp b/src/gui/touchscreengui.cpp index 78b18c2d9..eb20b7e70 100644 --- a/src/gui/touchscreengui.cpp +++ b/src/gui/touchscreengui.cpp @@ -32,8 +32,6 @@ with this program; if not, write to the Free Software Foundation, Inc., #include #include -#include - using namespace irr::core; const char **button_imagenames = (const char *[]) { diff --git a/src/httpfetch.cpp b/src/httpfetch.cpp index 6137782ff..1307bfec3 100644 --- a/src/httpfetch.cpp +++ b/src/httpfetch.cpp @@ -761,10 +761,12 @@ void httpfetch_cleanup() { verbosestream<<"httpfetch_cleanup: cleaning up"<stop(); - g_httpfetch_thread->requestWakeUp(); - g_httpfetch_thread->wait(); - delete g_httpfetch_thread; + if (g_httpfetch_thread) { + g_httpfetch_thread->stop(); + g_httpfetch_thread->requestWakeUp(); + g_httpfetch_thread->wait(); + delete g_httpfetch_thread; + } curl_global_cleanup(); } diff --git a/src/hud.cpp b/src/hud.cpp index 1791e04df..e4ad7940f 100644 --- a/src/hud.cpp +++ b/src/hud.cpp @@ -50,6 +50,7 @@ const struct EnumString es_HudElementStat[] = {HUD_STAT_SIZE, "size"}, {HUD_STAT_Z_INDEX, "z_index"}, {HUD_STAT_TEXT2, "text2"}, + {HUD_STAT_STYLE, "style"}, {0, NULL}, }; diff --git a/src/hud.h b/src/hud.h index a0613ae98..769966688 100644 --- a/src/hud.h +++ b/src/hud.h @@ -33,6 +33,10 @@ with this program; if not, write to the Free Software Foundation, Inc., #define HUD_CORNER_LOWER 1 #define HUD_CORNER_CENTER 2 +#define HUD_STYLE_BOLD 1 +#define HUD_STYLE_ITALIC 2 +#define HUD_STYLE_MONO 4 + // Note that these visibility flags do not determine if the hud items are // actually drawn, but rather, whether to draw the item should the rest // of the game state permit it. @@ -78,6 +82,7 @@ enum HudElementStat { HUD_STAT_SIZE, HUD_STAT_Z_INDEX, HUD_STAT_TEXT2, + HUD_STAT_STYLE, }; enum HudCompassDir { @@ -102,6 +107,7 @@ struct HudElement { v2s32 size; s16 z_index = 0; std::string text2; + u32 style; }; extern const EnumString es_HudElementType[]; diff --git a/src/inventory.cpp b/src/inventory.cpp index fc1aaf371..da6517e62 100644 --- a/src/inventory.cpp +++ b/src/inventory.cpp @@ -460,7 +460,6 @@ void InventoryList::deSerialize(std::istream &is) std::getline(is, line, '\n'); std::istringstream iss(line); - //iss.imbue(std::locale("C")); std::string name; std::getline(iss, name, ' '); @@ -938,19 +937,16 @@ void Inventory::deSerialize(std::istream &is) InventoryList * Inventory::addList(const std::string &name, u32 size) { setModified(); + + // Remove existing lists s32 i = getListIndex(name); - if(i != -1) - { - if(m_lists[i]->getSize() != size) - { - delete m_lists[i]; - m_lists[i] = new InventoryList(name, size, m_itemdef); - m_lists[i]->setModified(); - } + if (i != -1) { + delete m_lists[i]; + m_lists[i] = new InventoryList(name, size, m_itemdef); + m_lists[i]->setModified(); return m_lists[i]; } - //don't create list with invalid name if (name.find(' ') != std::string::npos) return nullptr; diff --git a/src/inventory.h b/src/inventory.h index f36bc57cf..6c84f5fd1 100644 --- a/src/inventory.h +++ b/src/inventory.h @@ -298,6 +298,7 @@ public: void serialize(std::ostream &os, bool incremental = false) const; void deSerialize(std::istream &is); + // Creates a new list if none exists or truncates existing lists InventoryList * addList(const std::string &name, u32 size); InventoryList * getList(const std::string &name); const InventoryList * getList(const std::string &name) const; diff --git a/src/inventorymanager.cpp b/src/inventorymanager.cpp index 1e81c1dbc..a159bf786 100644 --- a/src/inventorymanager.cpp +++ b/src/inventorymanager.cpp @@ -273,7 +273,7 @@ void IMoveAction::apply(InventoryManager *mgr, ServerActiveObject *player, IGame } if (!list_to) { infostream << "IMoveAction::apply(): FAIL: destination list not found: " - << "to_inv=\""< list_to->getSize()) { - infostream << "IMoveAction::apply(): FAIL: destination index out of bounds: " - << "to_i=" << to_i - << ", size=" << list_to->getSize() << std::endl; + if (from_i < 0 || list_from->getSize() <= (u32) from_i) { + infostream << "IMoveAction::apply(): FAIL: source index out of bounds: " + << "size of from_list=\"" << list_from->getSize() << "\"" + << ", from_index=\"" << from_i << "\"" << std::endl; return; } + + if (to_i < 0 || list_to->getSize() <= (u32) to_i) { + infostream << "IMoveAction::apply(): FAIL: destination index out of bounds: " + << "size of to_list=\"" << list_to->getSize() << "\"" + << ", to_index=\"" << to_i << "\"" << std::endl; + return; + } + /* Do not handle rollback if both inventories are that of the same player */ diff --git a/src/itemstackmetadata.cpp b/src/itemstackmetadata.cpp index 7a26fbb0e..529e0149f 100644 --- a/src/itemstackmetadata.cpp +++ b/src/itemstackmetadata.cpp @@ -60,7 +60,7 @@ bool ItemStackMetadata::setString(const std::string &name, const std::string &va void ItemStackMetadata::serialize(std::ostream &os) const { - std::ostringstream os2; + std::ostringstream os2(std::ios_base::binary); os2 << DESERIALIZE_START; for (const auto &stringvar : m_stringvars) { if (!stringvar.first.empty() || !stringvar.second.empty()) diff --git a/src/main.cpp b/src/main.cpp index 7f96836b5..1044b327a 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -38,6 +38,7 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "player.h" #include "porting.h" #include "network/socket.h" +#include "mapblock.h" #if USE_CURSES #include "terminal_chat_console.h" #endif @@ -60,11 +61,8 @@ extern "C" { #endif } -#if !defined(SERVER) && \ - (IRRLICHT_VERSION_MAJOR == 1) && \ - (IRRLICHT_VERSION_MINOR == 8) && \ - (IRRLICHT_VERSION_REVISION == 2) - #error "Irrlicht 1.8.2 is known to be broken - please update Irrlicht to version >= 1.8.3" +#if !defined(__cpp_rtti) || !defined(__cpp_exceptions) +#error Minetest cannot be built without exceptions or RTTI #endif #define DEBUGFILE "debug.txt" @@ -91,6 +89,7 @@ static void list_worlds(bool print_name, bool print_path); static bool setup_log_params(const Settings &cmd_args); static bool create_userdata_path(); static bool init_common(const Settings &cmd_args, int argc, char *argv[]); +static void uninit_common(); static void startup_message(); static bool read_config_file(const Settings &cmd_args); static void init_log_streams(const Settings &cmd_args); @@ -110,6 +109,7 @@ static bool determine_subgame(GameParams *game_params); static bool run_dedicated_server(const GameParams &game_params, const Settings &cmd_args); static bool migrate_map_database(const GameParams &game_params, const Settings &cmd_args); +static bool recompress_map_database(const GameParams &game_params, const Settings &cmd_args, const Address &addr); /**********************************************************************/ @@ -201,6 +201,7 @@ int main(int argc, char *argv[]) errorstream << "Unittest support is not enabled in this binary. " << "If you want to enable it, compile project with BUILD_UNITTESTS=1 flag." << std::endl; + return 1; #endif } #endif @@ -236,9 +237,6 @@ int main(int argc, char *argv[]) print_modified_quicktune_values(); - // Stop httpfetch thread (if started) - httpfetch_cleanup(); - END_DEBUG_EXCEPTION_HANDLER return retval; @@ -303,9 +301,9 @@ static void set_allowed_options(OptionList *allowed_options) _("Migrate from current auth backend to another (Only works when using minetestserver or with --server)")))); allowed_options->insert(std::make_pair("terminal", ValueSpec(VALUETYPE_FLAG, _("Feature an interactive terminal (Only works when using minetestserver or with --server)")))); + allowed_options->insert(std::make_pair("recompress", ValueSpec(VALUETYPE_FLAG, + _("Recompress the blocks of the given map database.")))); #ifndef SERVER - allowed_options->insert(std::make_pair("videomodes", ValueSpec(VALUETYPE_FLAG, - _("Show available video modes")))); allowed_options->insert(std::make_pair("speedtests", ValueSpec(VALUETYPE_FLAG, _("Run speed tests")))); allowed_options->insert(std::make_pair("address", ValueSpec(VALUETYPE_STRING, @@ -488,13 +486,14 @@ static bool init_common(const Settings &cmd_args, int argc, char *argv[]) startup_message(); set_default_settings(); - // Initialize sockets sockets_init(); - atexit(sockets_cleanup); // Initialize g_settings Settings::createLayer(SL_GLOBAL); + // Set cleanup callback(s) to run at process exit + atexit(uninit_common); + if (!read_config_file(cmd_args)) return false; @@ -513,6 +512,17 @@ static bool init_common(const Settings &cmd_args, int argc, char *argv[]) return true; } +static void uninit_common() +{ + httpfetch_cleanup(); + + sockets_cleanup(); + + // It'd actually be okay to leak these but we want to please valgrind... + for (int i = 0; i < (int)SL_TOTAL_COUNT; i++) + delete Settings::getLayer((SettingsLayer)i); +} + static void startup_message() { infostream << PROJECT_NAME << " " << _("with") @@ -866,7 +876,7 @@ static bool run_dedicated_server(const GameParams &game_params, const Settings & return false; } - // Database migration + // Database migration/compression if (cmd_args.exists("migrate")) return migrate_map_database(game_params, cmd_args); @@ -876,6 +886,9 @@ static bool run_dedicated_server(const GameParams &game_params, const Settings & if (cmd_args.exists("migrate-auth")) return ServerEnvironment::migrateAuthDatabase(game_params, cmd_args); + if (cmd_args.getFlag("recompress")) + return recompress_map_database(game_params, cmd_args, bind_addr); + if (cmd_args.exists("terminal")) { #if USE_CURSES bool name_ok = true; @@ -1025,3 +1038,67 @@ static bool migrate_map_database(const GameParams &game_params, const Settings & return true; } + +static bool recompress_map_database(const GameParams &game_params, const Settings &cmd_args, const Address &addr) +{ + Settings world_mt; + const std::string world_mt_path = game_params.world_path + DIR_DELIM + "world.mt"; + + if (!world_mt.readConfigFile(world_mt_path.c_str())) { + errorstream << "Cannot read world.mt at " << world_mt_path << std::endl; + return false; + } + const std::string &backend = world_mt.get("backend"); + Server server(game_params.world_path, game_params.game_spec, false, addr, false); + MapDatabase *db = ServerMap::createDatabase(backend, game_params.world_path, world_mt); + + u32 count = 0; + u64 last_update_time = 0; + bool &kill = *porting::signal_handler_killstatus(); + const u8 serialize_as_ver = SER_FMT_VER_HIGHEST_WRITE; + + // This is ok because the server doesn't actually run + std::vector blocks; + db->listAllLoadableBlocks(blocks); + db->beginSave(); + std::istringstream iss(std::ios_base::binary); + std::ostringstream oss(std::ios_base::binary); + for (auto it = blocks.begin(); it != blocks.end(); ++it) { + if (kill) return false; + + std::string data; + db->loadBlock(*it, &data); + if (data.empty()) { + errorstream << "Failed to load block " << PP(*it) << std::endl; + return false; + } + + iss.str(data); + iss.clear(); + + MapBlock mb(nullptr, v3s16(0,0,0), &server); + u8 ver = readU8(iss); + mb.deSerialize(iss, ver, true); + + oss.str(""); + oss.clear(); + writeU8(oss, serialize_as_ver); + mb.serialize(oss, serialize_as_ver, true, -1); + + db->saveBlock(*it, oss.str()); + + count++; + if (count % 0xFF == 0 && porting::getTimeS() - last_update_time >= 1) { + std::cerr << " Recompressed " << count << " blocks, " + << (100.0f * count / blocks.size()) << "% completed.\r"; + db->endSave(); + db->beginSave(); + last_update_time = porting::getTimeS(); + } + } + std::cerr << std::endl; + db->endSave(); + + actionstream << "Done, " << count << " blocks were recompressed." << std::endl; + return true; +} diff --git a/src/map.cpp b/src/map.cpp index eeaf5c140..1648adec3 100644 --- a/src/map.cpp +++ b/src/map.cpp @@ -844,7 +844,7 @@ void Map::transformLiquids(std::map &modified_blocks, m_transforming_liquid.push_back(iter); voxalgo::update_lighting_nodes(this, changed_nodes, modified_blocks); - + env->getScriptIface()->on_liquid_transformed(changed_nodes); /* ---------------------------------------------------------------------- * Manage the queue so that it does not grow indefinately @@ -1564,6 +1564,11 @@ MapBlock *ServerMap::getBlockOrEmerge(v3s16 p3d) return block; } +bool ServerMap::isBlockInQueue(v3s16 pos) +{ + return m_emerge && m_emerge->isBlockInQueue(pos); +} + // N.B. This requires no synchronization, since data will not be modified unless // the VoxelManipulator being updated belongs to the same thread. void ServerMap::updateVManip(v3s16 pos) diff --git a/src/map.h b/src/map.h index e0db2e262..9c5c16368 100644 --- a/src/map.h +++ b/src/map.h @@ -367,6 +367,8 @@ public: */ MapBlock *getBlockOrEmerge(v3s16 p3d); + bool isBlockInQueue(v3s16 pos); + /* Database functions */ diff --git a/src/map_settings_manager.cpp b/src/map_settings_manager.cpp index 99e3cb0e6..7e86a9937 100644 --- a/src/map_settings_manager.cpp +++ b/src/map_settings_manager.cpp @@ -26,15 +26,24 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "map_settings_manager.h" MapSettingsManager::MapSettingsManager(const std::string &map_meta_path): - m_map_meta_path(map_meta_path) + m_map_meta_path(map_meta_path), + m_hierarchy(g_settings) { - m_map_settings = Settings::createLayer(SL_MAP, "[end_of_params]"); - Mapgen::setDefaultSettings(Settings::getLayer(SL_DEFAULTS)); + /* + * We build our own hierarchy which falls back to the global one. + * It looks as follows: (lowest prio first) + * 0: whatever is picked up from g_settings (incl. engine defaults) + * 1: defaults set by scripts (override_meta = false) + * 2: settings present in map_meta.txt or overriden by scripts + */ + m_defaults = new Settings("", &m_hierarchy, 1); + m_map_settings = new Settings("[end_of_params]", &m_hierarchy, 2); } MapSettingsManager::~MapSettingsManager() { + delete m_defaults; delete m_map_settings; delete mapgen_params; } @@ -43,14 +52,13 @@ MapSettingsManager::~MapSettingsManager() bool MapSettingsManager::getMapSetting( const std::string &name, std::string *value_out) { - // Get from map_meta.txt, then try from all other sources + // Try getting it normally first if (m_map_settings->getNoEx(name, *value_out)) return true; - // Compatibility kludge + // If not we may have to resolve some compatibility kludges if (name == "seed") return Settings::getLayer(SL_GLOBAL)->getNoEx("fixed_map_seed", *value_out); - return false; } @@ -72,7 +80,7 @@ bool MapSettingsManager::setMapSetting( if (override_meta) m_map_settings->set(name, value); else - Settings::getLayer(SL_GLOBAL)->set(name, value); + m_defaults->set(name, value); return true; } @@ -87,7 +95,7 @@ bool MapSettingsManager::setMapSettingNoiseParams( if (override_meta) m_map_settings->setNoiseParams(name, *value); else - Settings::getLayer(SL_GLOBAL)->setNoiseParams(name, *value); + m_defaults->setNoiseParams(name, *value); return true; } @@ -146,15 +154,8 @@ MapgenParams *MapSettingsManager::makeMapgenParams() if (mapgen_params) return mapgen_params; - assert(m_map_settings != NULL); - - // At this point, we have (in order of precedence): - // 1). SL_MAP containing map_meta.txt settings or - // explicit overrides from scripts - // 2). SL_GLOBAL containing all user-specified config file - // settings - // 3). SL_DEFAULTS containing any low-priority settings from - // scripts, e.g. mods using Lua as an enhanced config file) + assert(m_map_settings); + assert(m_defaults); // Now, get the mapgen type so we can create the appropriate MapgenParams std::string mg_name; diff --git a/src/map_settings_manager.h b/src/map_settings_manager.h index 9258d3032..fa271268d 100644 --- a/src/map_settings_manager.h +++ b/src/map_settings_manager.h @@ -20,8 +20,8 @@ with this program; if not, write to the Free Software Foundation, Inc., #pragma once #include +#include "settings.h" -class Settings; struct NoiseParams; struct MapgenParams; @@ -70,6 +70,8 @@ public: private: std::string m_map_meta_path; - // TODO: Rename to "m_settings" + + SettingsHierarchy m_hierarchy; + Settings *m_defaults; Settings *m_map_settings; }; diff --git a/src/mapblock.cpp b/src/mapblock.cpp index 0ca71e643..4958d3a65 100644 --- a/src/mapblock.cpp +++ b/src/mapblock.cpp @@ -355,7 +355,7 @@ static void correctBlockNodeIds(const NameIdMapping *nimap, MapNode *nodes, } } -void MapBlock::serialize(std::ostream &os, u8 version, bool disk, int compression_level) +void MapBlock::serialize(std::ostream &os_compressed, u8 version, bool disk, int compression_level) { if(!ser_ver_supported(version)) throw VersionMismatchException("ERROR: MapBlock format not supported"); @@ -365,6 +365,9 @@ void MapBlock::serialize(std::ostream &os, u8 version, bool disk, int compressio FATAL_ERROR_IF(version < SER_FMT_VER_LOWEST_WRITE, "Serialisation version error"); + std::ostringstream os_raw(std::ios_base::binary); + std::ostream &os = version >= 29 ? os_raw : os_compressed; + // First byte u8 flags = 0; if(is_underground) @@ -382,37 +385,52 @@ void MapBlock::serialize(std::ostream &os, u8 version, bool disk, int compressio Bulk node data */ NameIdMapping nimap; - if(disk) + SharedBuffer buf; + const u8 content_width = 2; + const u8 params_width = 2; + if(disk) { MapNode *tmp_nodes = new MapNode[nodecount]; - for(u32 i=0; indef()); - u8 content_width = 2; - u8 params_width = 2; - writeU8(os, content_width); - writeU8(os, params_width); - MapNode::serializeBulk(os, version, tmp_nodes, nodecount, - content_width, params_width, compression_level); + buf = MapNode::serializeBulk(version, tmp_nodes, nodecount, + content_width, params_width); delete[] tmp_nodes; + + // write timestamp and node/id mapping first + if (version >= 29) { + writeU32(os, getTimestamp()); + + nimap.serialize(os); + } } else { - u8 content_width = 2; - u8 params_width = 2; - writeU8(os, content_width); - writeU8(os, params_width); - MapNode::serializeBulk(os, version, data, nodecount, - content_width, params_width, compression_level); + buf = MapNode::serializeBulk(version, data, nodecount, + content_width, params_width); + } + + writeU8(os, content_width); + writeU8(os, params_width); + if (version >= 29) { + os.write(reinterpret_cast(*buf), buf.getSize()); + } else { + // prior to 29 node data was compressed individually + compress(buf, os, version, compression_level); } /* Node metadata */ - std::ostringstream oss(std::ios_base::binary); - m_node_metadata.serialize(oss, version, disk); - compressZlib(oss.str(), os, compression_level); + if (version >= 29) { + m_node_metadata.serialize(os, version, disk); + } else { + // use os_raw from above to avoid allocating another stream object + m_node_metadata.serialize(os_raw, version, disk); + // prior to 29 node data was compressed individually + compress(os_raw.str(), os, version, compression_level); + } /* Data that goes to disk, but not the network @@ -427,17 +445,24 @@ void MapBlock::serialize(std::ostream &os, u8 version, bool disk, int compressio // Static objects m_static_objects.serialize(os); - // Timestamp - writeU32(os, getTimestamp()); + if(version < 29){ + // Timestamp + writeU32(os, getTimestamp()); - // Write block-specific node definition id mapping - nimap.serialize(os); + // Write block-specific node definition id mapping + nimap.serialize(os); + } if(version >= 25){ // Node timers m_node_timers.serialize(os, version); } } + + if (version >= 29) { + // now compress the whole thing + compress(os_raw.str(), os_compressed, version, compression_level); + } } void MapBlock::serializeNetworkSpecific(std::ostream &os) @@ -449,7 +474,7 @@ void MapBlock::serializeNetworkSpecific(std::ostream &os) writeU8(os, 2); // version } -void MapBlock::deSerialize(std::istream &is, u8 version, bool disk) +void MapBlock::deSerialize(std::istream &in_compressed, u8 version, bool disk) { if(!ser_ver_supported(version)) throw VersionMismatchException("ERROR: MapBlock format not supported"); @@ -460,10 +485,16 @@ void MapBlock::deSerialize(std::istream &is, u8 version, bool disk) if(version <= 21) { - deSerialize_pre22(is, version, disk); + deSerialize_pre22(in_compressed, version, disk); return; } + // Decompress the whole block (version >= 29) + std::stringstream in_raw(std::ios_base::binary | std::ios_base::in | std::ios_base::out); + if (version >= 29) + decompress(in_compressed, in_raw, version); + std::istream &is = version >= 29 ? in_raw : in_compressed; + u8 flags = readU8(is); is_underground = (flags & 0x01) != 0; m_day_night_differs = (flags & 0x02) != 0; @@ -473,9 +504,20 @@ void MapBlock::deSerialize(std::istream &is, u8 version, bool disk) m_lighting_complete = readU16(is); m_generated = (flags & 0x08) == 0; - /* - Bulk node data - */ + NameIdMapping nimap; + if (disk && version >= 29) { + // Timestamp + TRACESTREAM(<<"MapBlock::deSerialize "<= 29) { + MapNode::deSerializeBulk(is, version, data, nodecount, content_width, params_width); + } else { + // use in_raw from above to avoid allocating another stream object + decompress(is, in_raw, version); + MapNode::deSerializeBulk(in_raw, version, data, nodecount, + content_width, params_width); + } /* NodeMetadata */ TRACESTREAM(<<"MapBlock::deSerialize "<= 23) - m_node_metadata.deSerialize(iss, m_gamedef->idef()); - else - content_nodemeta_deserialize_legacy(iss, - &m_node_metadata, &m_node_timers, - m_gamedef->idef()); - } catch(SerializationError &e) { - warningstream<<"MapBlock::deSerialize(): Ignoring an error" - <<" while deserializing node metadata at (" - <= 29) { + m_node_metadata.deSerialize(is, m_gamedef->idef()); + } else { + try { + // reuse in_raw + in_raw.str(""); + in_raw.clear(); + decompress(is, in_raw, version); + if (version >= 23) + m_node_metadata.deSerialize(in_raw, m_gamedef->idef()); + else + content_nodemeta_deserialize_legacy(in_raw, + &m_node_metadata, &m_node_timers, + m_gamedef->idef()); + } catch(SerializationError &e) { + warningstream<<"MapBlock::deSerialize(): Ignoring an error" + <<" while deserializing node metadata at (" + <= 25){ diff --git a/src/mapblock.h b/src/mapblock.h index 7b82301e9..8de631a29 100644 --- a/src/mapblock.h +++ b/src/mapblock.h @@ -140,7 +140,7 @@ public: //// Flags //// - inline bool isDummy() + inline bool isDummy() const { return !data; } @@ -473,7 +473,7 @@ public: // These don't write or read version by itself // Set disk to true for on-disk format, false for over-the-network format // Precondition: version >= SER_FMT_VER_LOWEST_WRITE - void serialize(std::ostream &os, u8 version, bool disk, int compression_level); + void serialize(std::ostream &result, u8 version, bool disk, int compression_level); // If disk == true: In addition to doing other things, will add // unknown blocks from id-name mapping to wndef void deSerialize(std::istream &is, u8 version, bool disk); diff --git a/src/mapgen/mg_schematic.cpp b/src/mapgen/mg_schematic.cpp index 653bad4fe..b9ba70302 100644 --- a/src/mapgen/mg_schematic.cpp +++ b/src/mapgen/mg_schematic.cpp @@ -339,7 +339,9 @@ bool Schematic::deserializeFromMts(std::istream *is) delete []schemdata; schemdata = new MapNode[nodecount]; - MapNode::deSerializeBulk(ss, SER_FMT_VER_HIGHEST_READ, schemdata, + std::stringstream d_ss(std::ios_base::binary | std::ios_base::in | std::ios_base::out); + decompress(ss, d_ss, MTSCHEM_MAPNODE_SER_FMT_VER); + MapNode::deSerializeBulk(d_ss, MTSCHEM_MAPNODE_SER_FMT_VER, schemdata, nodecount, 2, 2); // Fix probability values for nodes that were ignore; removed in v2 @@ -384,8 +386,9 @@ bool Schematic::serializeToMts(std::ostream *os) const } // compressed bulk node data - MapNode::serializeBulk(ss, SER_FMT_VER_HIGHEST_WRITE, - schemdata, size.X * size.Y * size.Z, 2, 2, -1); + SharedBuffer buf = MapNode::serializeBulk(MTSCHEM_MAPNODE_SER_FMT_VER, + schemdata, size.X * size.Y * size.Z, 2, 2); + compress(buf, ss, MTSCHEM_MAPNODE_SER_FMT_VER); return true; } @@ -598,8 +601,9 @@ void Schematic::applyProbabilities(v3s16 p0, } for (size_t i = 0; i != splist->size(); i++) { - s16 y = (*splist)[i].first - p0.Y; - slice_probs[y] = (*splist)[i].second; + s16 slice = (*splist)[i].first; + if (slice < size.Y) + slice_probs[slice] = (*splist)[i].second; } } diff --git a/src/mapgen/mg_schematic.h b/src/mapgen/mg_schematic.h index 5f64ea280..9189bb3a7 100644 --- a/src/mapgen/mg_schematic.h +++ b/src/mapgen/mg_schematic.h @@ -70,6 +70,7 @@ class Server; #define MTSCHEM_FILE_SIGNATURE 0x4d54534d // 'MTSM' #define MTSCHEM_FILE_VER_HIGHEST_READ 4 #define MTSCHEM_FILE_VER_HIGHEST_WRITE 4 +#define MTSCHEM_MAPNODE_SER_FMT_VER 28 // Fixed serialization version for schematics since these still need to use Zlib #define MTSCHEM_PROB_MASK 0x7F diff --git a/src/mapnode.cpp b/src/mapnode.cpp index c885bfe1d..73bd620fb 100644 --- a/src/mapnode.cpp +++ b/src/mapnode.cpp @@ -161,7 +161,9 @@ u8 MapNode::getWallMounted(const NodeDefManager *nodemgr) const if (f.param_type_2 == CPT2_WALLMOUNTED || f.param_type_2 == CPT2_COLORED_WALLMOUNTED) { return getParam2() & 0x07; - } else if (f.drawtype == NDT_SIGNLIKE || f.drawtype == NDT_TORCHLIKE) { + } else if (f.drawtype == NDT_SIGNLIKE || f.drawtype == NDT_TORCHLIKE || + f.drawtype == NDT_PLANTLIKE || + f.drawtype == NDT_PLANTLIKE_ROOTED) { return 1; } return 0; @@ -728,9 +730,10 @@ void MapNode::deSerialize(u8 *source, u8 version) } } } -void MapNode::serializeBulk(std::ostream &os, int version, + +SharedBuffer MapNode::serializeBulk(int version, const MapNode *nodes, u32 nodecount, - u8 content_width, u8 params_width, int compression_level) + u8 content_width, u8 params_width) { if (!ser_ver_supported(version)) throw VersionMismatchException("ERROR: MapNode format not supported"); @@ -744,8 +747,7 @@ void MapNode::serializeBulk(std::ostream &os, int version, throw SerializationError("MapNode::serializeBulk: serialization to " "version < 24 not possible"); - size_t databuf_size = nodecount * (content_width + params_width); - u8 *databuf = new u8[databuf_size]; + SharedBuffer databuf(nodecount * (content_width + params_width)); u32 start1 = content_width * nodecount; u32 start2 = (content_width + 1) * nodecount; @@ -756,14 +758,7 @@ void MapNode::serializeBulk(std::ostream &os, int version, writeU8(&databuf[start1 + i], nodes[i].param1); writeU8(&databuf[start2 + i], nodes[i].param2); } - - /* - Compress data to output stream - */ - - compressZlib(databuf, databuf_size, os, compression_level); - - delete [] databuf; + return databuf; } // Deserialize bulk node data @@ -779,15 +774,10 @@ void MapNode::deSerializeBulk(std::istream &is, int version, || params_width != 2) FATAL_ERROR("Deserialize bulk node data error"); - // Uncompress or read data - u32 len = nodecount * (content_width + params_width); - std::ostringstream os(std::ios_base::binary); - decompressZlib(is, os); - std::string s = os.str(); - if(s.size() != len) - throw SerializationError("deSerializeBulkNodes: " - "decompress resulted in invalid size"); - const u8 *databuf = reinterpret_cast(s.c_str()); + // read data + const u32 len = nodecount * (content_width + params_width); + Buffer databuf(len); + is.read(reinterpret_cast(*databuf), len); // Deserialize content if(content_width == 1) diff --git a/src/mapnode.h b/src/mapnode.h index 28ff9e43d..afd3a96be 100644 --- a/src/mapnode.h +++ b/src/mapnode.h @@ -21,6 +21,7 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "irrlichttypes_bloated.h" #include "light.h" +#include "util/pointer.h" #include #include @@ -293,9 +294,9 @@ struct MapNode // content_width = the number of bytes of content per node // params_width = the number of bytes of params per node // compressed = true to zlib-compress output - static void serializeBulk(std::ostream &os, int version, + static SharedBuffer serializeBulk(int version, const MapNode *nodes, u32 nodecount, - u8 content_width, u8 params_width, int compression_level); + u8 content_width, u8 params_width); static void deSerializeBulk(std::istream &is, int version, MapNode *nodes, u32 nodecount, u8 content_width, u8 params_width); diff --git a/src/network/clientopcodes.cpp b/src/network/clientopcodes.cpp index 55cfdd4dc..a98a5e7d1 100644 --- a/src/network/clientopcodes.cpp +++ b/src/network/clientopcodes.cpp @@ -204,7 +204,7 @@ const ServerCommandFactory serverCommandFactoryTable[TOSERVER_NUM_MSG_TYPES] = null_command_factory, // 0x3e null_command_factory, // 0x3f { "TOSERVER_REQUEST_MEDIA", 1, true }, // 0x40 - null_command_factory, // 0x41 + { "TOSERVER_HAVE_MEDIA", 2, true }, // 0x41 null_command_factory, // 0x42 { "TOSERVER_CLIENT_READY", 1, true }, // 0x43 null_command_factory, // 0x44 diff --git a/src/network/clientpackethandler.cpp b/src/network/clientpackethandler.cpp index 2fea03fbf..6497bb26a 100644 --- a/src/network/clientpackethandler.cpp +++ b/src/network/clientpackethandler.cpp @@ -90,7 +90,7 @@ void Client::handleCommand_Hello(NetworkPacket* pkt) // This is only neccessary though when we actually want to add casing support if (m_chosen_auth_mech != AUTH_MECHANISM_NONE) { - // we recieved a TOCLIENT_HELLO while auth was already going on + // we received a TOCLIENT_HELLO while auth was already going on errorstream << "Client: TOCLIENT_HELLO while auth was already going on" << "(chosen_mech=" << m_chosen_auth_mech << ")." << std::endl; if (m_chosen_auth_mech == AUTH_MECHANISM_SRP || @@ -158,7 +158,7 @@ void Client::handleCommand_AcceptSudoMode(NetworkPacket* pkt) m_password = m_new_password; - verbosestream << "Client: Recieved TOCLIENT_ACCEPT_SUDO_MODE." << std::endl; + verbosestream << "Client: Received TOCLIENT_ACCEPT_SUDO_MODE." << std::endl; // send packet to actually set the password startAuth(AUTH_MECHANISM_FIRST_SRP); @@ -263,7 +263,7 @@ void Client::handleCommand_NodemetaChanged(NetworkPacket *pkt) return; std::istringstream is(pkt->readLongString(), std::ios::binary); - std::stringstream sstr; + std::stringstream sstr(std::ios::binary | std::ios::in | std::ios::out); decompressZlib(is, sstr); NodeMetadataList meta_updates_list(false); @@ -684,21 +684,19 @@ void Client::handleCommand_AnnounceMedia(NetworkPacket* pkt) m_media_downloader->addFile(name, sha1_raw); } - try { + { std::string str; - *pkt >> str; Strfnd sf(str); - while(!sf.at_end()) { + while (!sf.at_end()) { std::string baseurl = trim(sf.next(",")); - if (!baseurl.empty()) + if (!baseurl.empty()) { + m_remote_media_servers.emplace_back(baseurl); m_media_downloader->addRemoteServer(baseurl); + } } } - catch(SerializationError& e) { - // not supported by server or turned off - } m_media_downloader->step(this); } @@ -730,31 +728,38 @@ void Client::handleCommand_Media(NetworkPacket* pkt) if (num_files == 0) return; - if (!m_media_downloader || !m_media_downloader->isStarted()) { - const char *problem = m_media_downloader ? - "media has not been requested" : - "all media has been received already"; - errorstream << "Client: Received media but " - << problem << "! " - << " bunch " << bunch_i << "/" << num_bunches - << " files=" << num_files - << " size=" << pkt->getSize() << std::endl; - return; + bool init_phase = m_media_downloader && m_media_downloader->isStarted(); + + if (init_phase) { + // Mesh update thread must be stopped while + // updating content definitions + sanity_check(!m_mesh_update_thread.isRunning()); } - // Mesh update thread must be stopped while - // updating content definitions - sanity_check(!m_mesh_update_thread.isRunning()); - - for (u32 i=0; i < num_files; i++) { - std::string name; + for (u32 i = 0; i < num_files; i++) { + std::string name, data; *pkt >> name; + data = pkt->readLongString(); - std::string data = pkt->readLongString(); - - m_media_downloader->conventionalTransferDone( - name, data, this); + bool ok = false; + if (init_phase) { + ok = m_media_downloader->conventionalTransferDone(name, data, this); + } else { + // Check pending dynamic transfers, one of them must be it + for (const auto &it : m_pending_media_downloads) { + if (it.second->conventionalTransferDone(name, data, this)) { + ok = true; + break; + } + } + } + if (!ok) { + errorstream << "Client: Received media \"" << name + << "\" but no downloads pending. " << num_bunches << " bunches, " + << num_files << " in this one. (init_phase=" << init_phase + << ")" << std::endl; + } } } @@ -769,12 +774,11 @@ void Client::handleCommand_NodeDef(NetworkPacket* pkt) // Decompress node definitions std::istringstream tmp_is(pkt->readLongString(), std::ios::binary); - std::ostringstream tmp_os; + std::stringstream tmp_os(std::ios::binary | std::ios::in | std::ios::out); decompressZlib(tmp_is, tmp_os); // Deserialize node definitions - std::istringstream tmp_is2(tmp_os.str()); - m_nodedef->deSerialize(tmp_is2); + m_nodedef->deSerialize(tmp_os); m_nodedef_received = true; } @@ -789,12 +793,11 @@ void Client::handleCommand_ItemDef(NetworkPacket* pkt) // Decompress item definitions std::istringstream tmp_is(pkt->readLongString(), std::ios::binary); - std::ostringstream tmp_os; + std::stringstream tmp_os(std::ios::binary | std::ios::in | std::ios::out); decompressZlib(tmp_is, tmp_os); // Deserialize node definitions - std::istringstream tmp_is2(tmp_os.str()); - m_itemdef->deSerialize(tmp_is2); + m_itemdef->deSerialize(tmp_os); m_itemdef_received = true; } @@ -915,6 +918,11 @@ void Client::handleCommand_Privileges(NetworkPacket* pkt) m_privileges.insert(priv); infostream << priv << " "; } + + // Enable basic_debug on server versions before it was added + if (m_proto_ver < 40) + m_privileges.insert("basic_debug"); + infostream << std::endl; } @@ -1078,6 +1086,7 @@ void Client::handleCommand_HudAdd(NetworkPacket* pkt) v2s32 size; s16 z_index = 0; std::string text2; + u32 style = 0; *pkt >> server_id >> type >> pos >> name >> scale >> text >> number >> item >> dir >> align >> offset; @@ -1086,6 +1095,7 @@ void Client::handleCommand_HudAdd(NetworkPacket* pkt) *pkt >> size; *pkt >> z_index; *pkt >> text2; + *pkt >> style; } catch(PacketError &e) {}; ClientEvent *event = new ClientEvent(); @@ -1106,6 +1116,7 @@ void Client::handleCommand_HudAdd(NetworkPacket* pkt) event->hudadd->size = size; event->hudadd->z_index = z_index; event->hudadd->text2 = text2; + event->hudadd->style = style; m_client_event_queue.push(event); } @@ -1133,17 +1144,29 @@ void Client::handleCommand_HudChange(NetworkPacket* pkt) *pkt >> server_id >> stat; - if (stat == HUD_STAT_POS || stat == HUD_STAT_SCALE || - stat == HUD_STAT_ALIGN || stat == HUD_STAT_OFFSET) - *pkt >> v2fdata; - else if (stat == HUD_STAT_NAME || stat == HUD_STAT_TEXT || stat == HUD_STAT_TEXT2) - *pkt >> sdata; - else if (stat == HUD_STAT_WORLD_POS) - *pkt >> v3fdata; - else if (stat == HUD_STAT_SIZE ) - *pkt >> v2s32data; - else - *pkt >> intdata; + // Keep in sync with:server.cpp -> SendHUDChange + switch ((HudElementStat)stat) { + case HUD_STAT_POS: + case HUD_STAT_SCALE: + case HUD_STAT_ALIGN: + case HUD_STAT_OFFSET: + *pkt >> v2fdata; + break; + case HUD_STAT_NAME: + case HUD_STAT_TEXT: + case HUD_STAT_TEXT2: + *pkt >> sdata; + break; + case HUD_STAT_WORLD_POS: + *pkt >> v3fdata; + break; + case HUD_STAT_SIZE: + *pkt >> v2s32data; + break; + default: + *pkt >> intdata; + break; + } ClientEvent *event = new ClientEvent(); event->type = CE_HUDCHANGE; @@ -1507,46 +1530,72 @@ void Client::handleCommand_PlayerSpeed(NetworkPacket *pkt) void Client::handleCommand_MediaPush(NetworkPacket *pkt) { std::string raw_hash, filename, filedata; + u32 token; bool cached; *pkt >> raw_hash >> filename >> cached; - filedata = pkt->readLongString(); + if (m_proto_ver >= 40) + *pkt >> token; + else + filedata = pkt->readLongString(); - if (raw_hash.size() != 20 || filedata.empty() || filename.empty() || + if (raw_hash.size() != 20 || filename.empty() || + (m_proto_ver < 40 && filedata.empty()) || !string_allowed(filename, TEXTURENAME_ALLOWED_CHARS)) { throw PacketError("Illegal filename, data or hash"); } - verbosestream << "Server pushes media file \"" << filename << "\" with " - << filedata.size() << " bytes of data (cached=" << cached - << ")" << std::endl; + verbosestream << "Server pushes media file \"" << filename << "\" "; + if (filedata.empty()) + verbosestream << "to be fetched "; + else + verbosestream << "with " << filedata.size() << " bytes "; + verbosestream << "(cached=" << cached << ")" << std::endl; if (m_media_pushed_files.count(filename) != 0) { - // Silently ignore for synchronization purposes + // Ignore (but acknowledge). Previously this was for sync purposes, + // but even in new versions media cannot be replaced at runtime. + if (m_proto_ver >= 40) + sendHaveMedia({ token }); return; } - // Compute and check checksum of data - std::string computed_hash; - { - SHA1 ctx; - ctx.addBytes(filedata.c_str(), filedata.size()); - unsigned char *buf = ctx.getDigest(); - computed_hash.assign((char*) buf, 20); - free(buf); - } - if (raw_hash != computed_hash) { - verbosestream << "Hash of file data mismatches, ignoring." << std::endl; + if (!filedata.empty()) { + // LEGACY CODEPATH + // Compute and check checksum of data + std::string computed_hash; + { + SHA1 ctx; + ctx.addBytes(filedata.c_str(), filedata.size()); + unsigned char *buf = ctx.getDigest(); + computed_hash.assign((char*) buf, 20); + free(buf); + } + if (raw_hash != computed_hash) { + verbosestream << "Hash of file data mismatches, ignoring." << std::endl; + return; + } + + // Actually load media + loadMedia(filedata, filename, true); + m_media_pushed_files.insert(filename); + + // Cache file for the next time when this client joins the same server + if (cached) + clientMediaUpdateCache(raw_hash, filedata); return; } - // Actually load media - loadMedia(filedata, filename, true); m_media_pushed_files.insert(filename); - // Cache file for the next time when this client joins the same server - if (cached) - clientMediaUpdateCache(raw_hash, filedata); + // create a downloader for this file + auto downloader = new SingleMediaDownloader(cached); + m_pending_media_downloads.emplace_back(token, downloader); + downloader->addFile(filename, raw_hash); + for (const auto &baseurl : m_remote_media_servers) + downloader->addRemoteServer(baseurl); + + downloader->step(this); } /* diff --git a/src/network/connection.cpp b/src/network/connection.cpp index 0ba8c36b2..a4970954f 100644 --- a/src/network/connection.cpp +++ b/src/network/connection.cpp @@ -200,17 +200,12 @@ RPBSearchResult ReliablePacketBuffer::findPacket(u16 seqnum) return i; } -RPBSearchResult ReliablePacketBuffer::notFound() -{ - return m_list.end(); -} - bool ReliablePacketBuffer::getFirstSeqnum(u16& result) { MutexAutoLock listlock(m_list_mutex); if (m_list.empty()) return false; - const BufferedPacket &p = *m_list.begin(); + const BufferedPacket &p = m_list.front(); result = readU16(&p.data[BASE_HEADER_SIZE + 1]); return true; } @@ -220,14 +215,14 @@ BufferedPacket ReliablePacketBuffer::popFirst() MutexAutoLock listlock(m_list_mutex); if (m_list.empty()) throw NotFoundException("Buffer is empty"); - BufferedPacket p = *m_list.begin(); - m_list.erase(m_list.begin()); + BufferedPacket p = std::move(m_list.front()); + m_list.pop_front(); if (m_list.empty()) { m_oldest_non_answered_ack = 0; } else { m_oldest_non_answered_ack = - readU16(&m_list.begin()->data[BASE_HEADER_SIZE + 1]); + readU16(&m_list.front().data[BASE_HEADER_SIZE + 1]); } return p; } @@ -241,15 +236,7 @@ BufferedPacket ReliablePacketBuffer::popSeqnum(u16 seqnum) << " not found in reliable buffer"<data[BASE_HEADER_SIZE+1])); - m_oldest_non_answered_ack = s; - } + BufferedPacket p = std::move(*r); m_list.erase(r); @@ -257,12 +244,12 @@ BufferedPacket ReliablePacketBuffer::popSeqnum(u16 seqnum) m_oldest_non_answered_ack = 0; } else { m_oldest_non_answered_ack = - readU16(&m_list.begin()->data[BASE_HEADER_SIZE + 1]); + readU16(&m_list.front().data[BASE_HEADER_SIZE + 1]); } return p; } -void ReliablePacketBuffer::insert(BufferedPacket &p, u16 next_expected) +void ReliablePacketBuffer::insert(const BufferedPacket &p, u16 next_expected) { MutexAutoLock listlock(m_list_mutex); if (p.data.getSize() < BASE_HEADER_SIZE + 3) { @@ -355,7 +342,7 @@ void ReliablePacketBuffer::insert(BufferedPacket &p, u16 next_expected) } /* update last packet number */ - m_oldest_non_answered_ack = readU16(&(*m_list.begin()).data[BASE_HEADER_SIZE+1]); + m_oldest_non_answered_ack = readU16(&m_list.front().data[BASE_HEADER_SIZE+1]); } void ReliablePacketBuffer::incrementTimeouts(float dtime) @@ -367,17 +354,19 @@ void ReliablePacketBuffer::incrementTimeouts(float dtime) } } -std::list ReliablePacketBuffer::getTimedOuts(float timeout, - unsigned int max_packets) +std::list + ReliablePacketBuffer::getTimedOuts(float timeout, u32 max_packets) { MutexAutoLock listlock(m_list_mutex); std::list timed_outs; for (BufferedPacket &bufferedPacket : m_list) { if (bufferedPacket.time >= timeout) { + // caller will resend packet so reset time and increase counter + bufferedPacket.time = 0.0f; + bufferedPacket.resend_count++; + timed_outs.push_back(bufferedPacket); - //this packet will be sent right afterwards reset timeout here - bufferedPacket.time = 0.0f; if (timed_outs.size() >= max_packets) break; } @@ -1051,20 +1040,20 @@ bool UDPPeer::processReliableSendCommand( m_connection->GetProtocolID(), m_connection->GetPeerID(), c.channelnum); - toadd.push(p); + toadd.push(std::move(p)); } if (have_sequence_number) { volatile u16 pcount = 0; while (!toadd.empty()) { - BufferedPacket p = toadd.front(); + BufferedPacket p = std::move(toadd.front()); toadd.pop(); // LOG(dout_con<getDesc() // << " queuing reliable packet for peer_id: " << c.peer_id // << " channel: " << (c.channelnum&0xFF) // << " seqnum: " << readU16(&p.data[BASE_HEADER_SIZE+1]) // << std::endl) - chan.queued_reliables.push(p); + chan.queued_reliables.push(std::move(p)); pcount++; } sanity_check(chan.queued_reliables.size() < 0xFFFF); @@ -1208,12 +1197,19 @@ Connection::~Connection() } /* Internal stuff */ -void Connection::putEvent(ConnectionEvent &e) + +void Connection::putEvent(const ConnectionEvent &e) { assert(e.type != CONNEVENT_NONE); // Pre-condition m_event_queue.push_back(e); } +void Connection::putEvent(ConnectionEvent &&e) +{ + assert(e.type != CONNEVENT_NONE); // Pre-condition + m_event_queue.push_back(std::move(e)); +} + void Connection::TriggerSend() { m_sendThread->Trigger(); @@ -1299,7 +1295,7 @@ ConnectionEvent Connection::waitEvent(u32 timeout_ms) } } -void Connection::putCommand(ConnectionCommand &c) +void Connection::putCommand(const ConnectionCommand &c) { if (!m_shutting_down) { m_command_queue.push_back(c); @@ -1307,6 +1303,14 @@ void Connection::putCommand(ConnectionCommand &c) } } +void Connection::putCommand(ConnectionCommand &&c) +{ + if (!m_shutting_down) { + m_command_queue.push_back(std::move(c)); + m_sendThread->Trigger(); + } +} + void Connection::Serve(Address bind_addr) { ConnectionCommand c; @@ -1408,7 +1412,7 @@ void Connection::Send(session_t peer_id, u8 channelnum, ConnectionCommand c; c.send(peer_id, channelnum, pkt, reliable); - putCommand(c); + putCommand(std::move(c)); } Address Connection::GetPeerAddress(session_t peer_id) @@ -1508,12 +1512,12 @@ u16 Connection::createPeer(Address& sender, MTProtocols protocol, int fd) << "createPeer(): giving peer_id=" << peer_id_new << std::endl); ConnectionCommand cmd; - SharedBuffer reply(4); + Buffer reply(4); writeU8(&reply[0], PACKET_TYPE_CONTROL); writeU8(&reply[1], CONTROLTYPE_SET_PEER_ID); writeU16(&reply[2], peer_id_new); cmd.createPeer(peer_id_new,reply); - putCommand(cmd); + putCommand(std::move(cmd)); // Create peer addition event ConnectionEvent e; @@ -1560,7 +1564,7 @@ void Connection::sendAck(session_t peer_id, u8 channelnum, u16 seqnum) writeU16(&ack[2], seqnum); c.ack(peer_id, channelnum, ack); - putCommand(c); + putCommand(std::move(c)); m_sendThread->Trigger(); } diff --git a/src/network/connection.h b/src/network/connection.h index 24cd4fe4a..49bb65c3e 100644 --- a/src/network/connection.h +++ b/src/network/connection.h @@ -19,7 +19,7 @@ with this program; if not, write to the Free Software Foundation, Inc., #pragma once -#include "irrlichttypes_bloated.h" +#include "irrlichttypes.h" #include "peerhandler.h" #include "socket.h" #include "constants.h" @@ -29,7 +29,6 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "util/numeric.h" #include "networkprotocol.h" #include -#include #include #include @@ -242,20 +241,19 @@ public: BufferedPacket popFirst(); BufferedPacket popSeqnum(u16 seqnum); - void insert(BufferedPacket &p, u16 next_expected); + void insert(const BufferedPacket &p, u16 next_expected); void incrementTimeouts(float dtime); - std::list getTimedOuts(float timeout, - unsigned int max_packets); + std::list getTimedOuts(float timeout, u32 max_packets); void print(); bool empty(); - RPBSearchResult notFound(); u32 size(); private: RPBSearchResult findPacket(u16 seqnum); // does not perform locking + inline RPBSearchResult notFound() { return m_list.end(); } std::list m_list; @@ -329,18 +327,6 @@ struct ConnectionCommand bool raw = false; ConnectionCommand() = default; - ConnectionCommand &operator=(const ConnectionCommand &other) - { - type = other.type; - address = other.address; - peer_id = other.peer_id; - channelnum = other.channelnum; - // We must copy the buffer here to prevent race condition - data = SharedBuffer(*other.data, other.data.getSize()); - reliable = other.reliable; - raw = other.raw; - return *this; - } void serve(Address address_) { @@ -364,7 +350,7 @@ struct ConnectionCommand void send(session_t peer_id_, u8 channelnum_, NetworkPacket *pkt, bool reliable_); - void ack(session_t peer_id_, u8 channelnum_, const SharedBuffer &data_) + void ack(session_t peer_id_, u8 channelnum_, const Buffer &data_) { type = CONCMD_ACK; peer_id = peer_id_; @@ -373,7 +359,7 @@ struct ConnectionCommand reliable = false; } - void createPeer(session_t peer_id_, const SharedBuffer &data_) + void createPeer(session_t peer_id_, const Buffer &data_) { type = CONCMD_CREATE_PEER; peer_id = peer_id_; @@ -707,7 +693,7 @@ struct ConnectionEvent ConnectionEvent() = default; - std::string describe() + const char *describe() const { switch(type) { case CONNEVENT_NONE: @@ -724,7 +710,7 @@ struct ConnectionEvent return "Invalid ConnectionEvent"; } - void dataReceived(session_t peer_id_, const SharedBuffer &data_) + void dataReceived(session_t peer_id_, const Buffer &data_) { type = CONNEVENT_DATA_RECEIVED; peer_id = peer_id_; @@ -763,7 +749,9 @@ public: /* Interface */ ConnectionEvent waitEvent(u32 timeout_ms); - void putCommand(ConnectionCommand &c); + // Warning: creates an unnecessary copy, prefer putCommand(T&&) if possible + void putCommand(const ConnectionCommand &c); + void putCommand(ConnectionCommand &&c); void SetTimeoutMs(u32 timeout) { m_bc_receive_timeout = timeout; } void Serve(Address bind_addr); @@ -802,11 +790,14 @@ protected: } UDPSocket m_udpSocket; + // Command queue: user -> SendThread MutexedQueue m_command_queue; bool Receive(NetworkPacket *pkt, u32 timeout); - void putEvent(ConnectionEvent &e); + // Warning: creates an unnecessary copy, prefer putEvent(T&&) if possible + void putEvent(const ConnectionEvent &e); + void putEvent(ConnectionEvent &&e); void TriggerSend(); @@ -815,6 +806,7 @@ protected: return getPeerNoEx(PEER_ID_SERVER) != nullptr; } private: + // Event queue: ReceiveThread -> user MutexedQueue m_event_queue; session_t m_peer_id = 0; diff --git a/src/network/connectionthreads.cpp b/src/network/connectionthreads.cpp index 7b62bc792..47678dac5 100644 --- a/src/network/connectionthreads.cpp +++ b/src/network/connectionthreads.cpp @@ -174,6 +174,11 @@ void ConnectionSendThread::runTimeouts(float dtime) std::vector timeouted_peers; std::vector peerIds = m_connection->getPeerIDs(); + const u32 numpeers = m_connection->m_peers.size(); + + if (numpeers == 0) + return; + for (session_t &peerId : peerIds) { PeerHelper peer = m_connection->getPeerNoEx(peerId); @@ -209,7 +214,6 @@ void ConnectionSendThread::runTimeouts(float dtime) float resend_timeout = udpPeer->getResendTimeout(); bool retry_count_exceeded = false; for (Channel &channel : udpPeer->channels) { - std::list timed_outs; // Remove timed out incomplete unreliable split packets channel.incoming_splits.removeUnreliableTimedOuts(dtime, m_timeout); @@ -217,13 +221,8 @@ void ConnectionSendThread::runTimeouts(float dtime) // Increment reliable packet times channel.outgoing_reliables_sent.incrementTimeouts(dtime); - unsigned int numpeers = m_connection->m_peers.size(); - - if (numpeers == 0) - return; - // Re-send timed out outgoing reliables - timed_outs = channel.outgoing_reliables_sent.getTimedOuts(resend_timeout, + auto timed_outs = channel.outgoing_reliables_sent.getTimedOuts(resend_timeout, (m_max_data_packets_per_iteration / numpeers)); channel.UpdatePacketLossCounter(timed_outs.size()); @@ -231,16 +230,14 @@ void ConnectionSendThread::runTimeouts(float dtime) m_iteration_packets_avaialble -= timed_outs.size(); - for (std::list::iterator k = timed_outs.begin(); - k != timed_outs.end(); ++k) { - session_t peer_id = readPeerId(*(k->data)); - u8 channelnum = readChannel(*(k->data)); - u16 seqnum = readU16(&(k->data[BASE_HEADER_SIZE + 1])); + for (const auto &k : timed_outs) { + session_t peer_id = readPeerId(*k.data); + u8 channelnum = readChannel(*k.data); + u16 seqnum = readU16(&(k.data[BASE_HEADER_SIZE + 1])); - channel.UpdateBytesLost(k->data.getSize()); - k->resend_count++; + channel.UpdateBytesLost(k.data.getSize()); - if (k->resend_count > MAX_RELIABLE_RETRY) { + if (k.resend_count > MAX_RELIABLE_RETRY) { retry_count_exceeded = true; timeouted_peers.push_back(peer->id); /* no need to check additional packets if a single one did timeout*/ @@ -249,14 +246,14 @@ void ConnectionSendThread::runTimeouts(float dtime) LOG(derr_con << m_connection->getDesc() << "RE-SENDING timed-out RELIABLE to " - << k->address.serializeString() + << k.address.serializeString() << "(t/o=" << resend_timeout << "): " << "from_peer_id=" << peer_id << ", channel=" << ((int) channelnum & 0xff) << ", seqnum=" << seqnum << std::endl); - rawSend(*k); + rawSend(k); // do not handle rtt here as we can't decide if this packet was // lost or really takes more time to transmit @@ -375,7 +372,7 @@ bool ConnectionSendThread::rawSendAsPacket(session_t peer_id, u8 channelnum, << " INFO: queueing reliable packet for peer_id: " << peer_id << " channel: " << (u32)channelnum << " seqnum: " << seqnum << std::endl); - channel->queued_reliables.push(p); + channel->queued_reliables.push(std::move(p)); return false; } @@ -717,13 +714,15 @@ void ConnectionSendThread::sendPackets(float dtime) channel.outgoing_reliables_sent.size() < channel.getWindowSize() && peer->m_increment_packets_remaining > 0) { - BufferedPacket p = channel.queued_reliables.front(); + BufferedPacket p = std::move(channel.queued_reliables.front()); channel.queued_reliables.pop(); + LOG(dout_con << m_connection->getDesc() << " INFO: sending a queued reliable packet " << " channel: " << i << ", seqnum: " << readU16(&p.data[BASE_HEADER_SIZE + 1]) << std::endl); + sendAsPacketReliable(p, &channel); peer->m_increment_packets_remaining--; } @@ -911,7 +910,7 @@ void ConnectionReceiveThread::receive(SharedBuffer &packetdata, if (data_left) { ConnectionEvent e; e.dataReceived(peer_id, resultdata); - m_connection->putEvent(e); + m_connection->putEvent(std::move(e)); } } catch (ProcessedSilentlyException &e) { @@ -1022,7 +1021,7 @@ void ConnectionReceiveThread::receive(SharedBuffer &packetdata, ConnectionEvent e; e.dataReceived(peer_id, resultdata); - m_connection->putEvent(e); + m_connection->putEvent(std::move(e)); } catch (ProcessedSilentlyException &e) { } diff --git a/src/network/networkpacket.cpp b/src/network/networkpacket.cpp index a71e26572..6b8b0f703 100644 --- a/src/network/networkpacket.cpp +++ b/src/network/networkpacket.cpp @@ -549,14 +549,11 @@ NetworkPacket& NetworkPacket::operator<<(video::SColor src) return *this; } -SharedBuffer NetworkPacket::oldForgePacket() +Buffer NetworkPacket::oldForgePacket() { - SharedBuffer sb(m_datasize + 2); + Buffer sb(m_datasize + 2); writeU16(&sb[0], m_command); + memcpy(&sb[2], m_data.data(), m_datasize); - u8* datas = getU8Ptr(0); - - if (datas != NULL) - memcpy(&sb[2], datas, m_datasize); return sb; } diff --git a/src/network/networkpacket.h b/src/network/networkpacket.h index c7ff03b8e..b1c44f055 100644 --- a/src/network/networkpacket.h +++ b/src/network/networkpacket.h @@ -115,7 +115,8 @@ public: NetworkPacket &operator<<(video::SColor src); // Temp, we remove SharedBuffer when migration finished - SharedBuffer oldForgePacket(); + // ^ this comment has been here for 4 years + Buffer oldForgePacket(); private: void checkReadOffset(u32 from_offset, u32 field_size); diff --git a/src/network/networkprotocol.h b/src/network/networkprotocol.h index 88a5ac177..8214cc5b1 100644 --- a/src/network/networkprotocol.h +++ b/src/network/networkprotocol.h @@ -205,6 +205,9 @@ with this program; if not, write to the Free Software Foundation, Inc., Updated set_sky packet Adds new sun, moon and stars packets Minimap modes + PROTOCOL VERSION 40: + Added 'basic_debug' privilege + TOCLIENT_MEDIA_PUSH changed, TOSERVER_HAVE_MEDIA added */ #define LATEST_PROTOCOL_VERSION 40 @@ -315,9 +318,8 @@ enum ToClientCommand /* std::string raw_hash std::string filename + u32 callback_token bool should_be_cached - u32 len - char filedata[len] */ // (oops, there is some gap here) @@ -936,7 +938,13 @@ enum ToServerCommand } */ - TOSERVER_RECEIVED_MEDIA = 0x41, // Obsolete + TOSERVER_HAVE_MEDIA = 0x41, + /* + u8 number of callback tokens + for each: + u32 token + */ + TOSERVER_BREATH = 0x42, // Obsolete TOSERVER_CLIENT_READY = 0x43, diff --git a/src/network/serveropcodes.cpp b/src/network/serveropcodes.cpp index aea5d7174..44b65e8da 100644 --- a/src/network/serveropcodes.cpp +++ b/src/network/serveropcodes.cpp @@ -89,7 +89,7 @@ const ToServerCommandHandler toServerCommandTable[TOSERVER_NUM_MSG_TYPES] = null_command_handler, // 0x3e null_command_handler, // 0x3f { "TOSERVER_REQUEST_MEDIA", TOSERVER_STATE_STARTUP, &Server::handleCommand_RequestMedia }, // 0x40 - null_command_handler, // 0x41 + { "TOSERVER_HAVE_MEDIA", TOSERVER_STATE_INGAME, &Server::handleCommand_HaveMedia }, // 0x41 null_command_handler, // 0x42 { "TOSERVER_CLIENT_READY", TOSERVER_STATE_STARTUP, &Server::handleCommand_ClientReady }, // 0x43 null_command_handler, // 0x44 @@ -167,7 +167,7 @@ const ClientCommandFactory clientCommandFactoryTable[TOCLIENT_NUM_MSG_TYPES] = { "TOCLIENT_TIME_OF_DAY", 0, true }, // 0x29 { "TOCLIENT_CSM_RESTRICTION_FLAGS", 0, true }, // 0x2A { "TOCLIENT_PLAYER_SPEED", 0, true }, // 0x2B - { "TOCLIENT_MEDIA_PUSH", 0, true }, // 0x2C (sent over channel 1 too) + { "TOCLIENT_MEDIA_PUSH", 0, true }, // 0x2C (sent over channel 1 too if legacy) null_command_factory, // 0x2D null_command_factory, // 0x2E { "TOCLIENT_CHAT_MESSAGE", 0, true }, // 0x2F diff --git a/src/network/serverpackethandler.cpp b/src/network/serverpackethandler.cpp index 708ddbf20..4c609644f 100644 --- a/src/network/serverpackethandler.cpp +++ b/src/network/serverpackethandler.cpp @@ -362,16 +362,15 @@ void Server::handleCommand_RequestMedia(NetworkPacket* pkt) session_t peer_id = pkt->getPeerId(); infostream << "Sending " << numfiles << " files to " << getPlayerName(peer_id) << std::endl; - verbosestream << "TOSERVER_REQUEST_MEDIA: " << std::endl; + verbosestream << "TOSERVER_REQUEST_MEDIA: requested file(s)" << std::endl; for (u16 i = 0; i < numfiles; i++) { std::string name; *pkt >> name; - tosend.push_back(name); - verbosestream << "TOSERVER_REQUEST_MEDIA: requested file " - << name << std::endl; + tosend.emplace_back(name); + verbosestream << " " << name << std::endl; } sendRequestedMedia(peer_id, tosend); @@ -510,10 +509,6 @@ void Server::process_PlayerPos(RemotePlayer *player, PlayerSAO *playersao, playersao->setWantedRange(wanted_range); player->keyPressed = keyPressed; - player->control.up = (keyPressed & (0x1 << 0)); - player->control.down = (keyPressed & (0x1 << 1)); - player->control.left = (keyPressed & (0x1 << 2)); - player->control.right = (keyPressed & (0x1 << 3)); player->control.jump = (keyPressed & (0x1 << 4)); player->control.aux1 = (keyPressed & (0x1 << 5)); player->control.sneak = (keyPressed & (0x1 << 6)); @@ -832,7 +827,6 @@ void Server::handleCommand_Damage(NetworkPacket* pkt) PlayerHPChangeReason reason(PlayerHPChangeReason::FALL); playersao->setHP((s32)playersao->getHP() - (s32)damage, reason); - SendPlayerHPOrDie(playersao, reason); } } @@ -1117,9 +1111,6 @@ void Server::handleCommand_Interact(NetworkPacket *pkt) float time_from_last_punch = playersao->resetTimeFromLastPunch(); - u16 src_original_hp = pointed_object->getHP(); - u16 dst_origin_hp = playersao->getHP(); - u16 wear = pointed_object->punch(dir, &toolcap, playersao, time_from_last_punch); @@ -1129,18 +1120,6 @@ void Server::handleCommand_Interact(NetworkPacket *pkt) if (changed) playersao->setWieldedItem(selected_item); - // If the object is a player and its HP changed - if (src_original_hp != pointed_object->getHP() && - pointed_object->getType() == ACTIVEOBJECT_TYPE_PLAYER) { - SendPlayerHPOrDie((PlayerSAO *)pointed_object, - PlayerHPChangeReason(PlayerHPChangeReason::PLAYER_PUNCH, playersao)); - } - - // If the puncher is a player and its HP changed - if (dst_origin_hp != playersao->getHP()) - SendPlayerHPOrDie(playersao, - PlayerHPChangeReason(PlayerHPChangeReason::PLAYER_PUNCH, pointed_object)); - return; } // action == INTERACT_START_DIGGING @@ -1821,3 +1800,30 @@ void Server::handleCommand_ModChannelMsg(NetworkPacket *pkt) broadcastModChannelMessage(channel_name, channel_msg, peer_id); } + +void Server::handleCommand_HaveMedia(NetworkPacket *pkt) +{ + std::vector tokens; + u8 numtokens; + + *pkt >> numtokens; + for (u16 i = 0; i < numtokens; i++) { + u32 n; + *pkt >> n; + tokens.emplace_back(n); + } + + const session_t peer_id = pkt->getPeerId(); + auto player = m_env->getPlayer(peer_id); + + for (const u32 token : tokens) { + auto it = m_pending_dyn_media.find(token); + if (it == m_pending_dyn_media.end()) + continue; + if (it->second.waiting_players.count(peer_id)) { + it->second.waiting_players.erase(peer_id); + if (player) + getScriptIface()->on_dynamic_media_added(token, player->getName()); + } + } +} diff --git a/src/nodemetadata.cpp b/src/nodemetadata.cpp index f98732385..b5052c3b8 100644 --- a/src/nodemetadata.cpp +++ b/src/nodemetadata.cpp @@ -113,13 +113,13 @@ int NodeMetadata::countNonPrivate() const */ void NodeMetadataList::serialize(std::ostream &os, u8 blockver, bool disk, - bool absolute_pos) const + bool absolute_pos, bool include_empty) const { /* Version 0 is a placeholder for "nothing to see here; go away." */ - u16 count = countNonEmpty(); + u16 count = include_empty ? m_data.size() : countNonEmpty(); if (count == 0) { writeU8(os, 0); // version return; @@ -134,7 +134,7 @@ void NodeMetadataList::serialize(std::ostream &os, u8 blockver, bool disk, i != m_data.end(); ++i) { v3s16 p = i->first; NodeMetadata *data = i->second; - if (data->empty()) + if (!include_empty && data->empty()) continue; if (absolute_pos) { diff --git a/src/nodemetadata.h b/src/nodemetadata.h index c028caf88..4b5b4d887 100644 --- a/src/nodemetadata.h +++ b/src/nodemetadata.h @@ -82,7 +82,7 @@ public: ~NodeMetadataList(); void serialize(std::ostream &os, u8 blockver, bool disk = true, - bool absolute_pos = false) const; + bool absolute_pos = false, bool include_empty = false) const; void deSerialize(std::istream &is, IItemDefManager *item_def_mgr, bool absolute_pos = false); diff --git a/src/object_properties.cpp b/src/object_properties.cpp index 2eebc27d6..db06f8930 100644 --- a/src/object_properties.cpp +++ b/src/object_properties.cpp @@ -83,6 +83,39 @@ std::string ObjectProperties::dump() return os.str(); } +bool ObjectProperties::validate() +{ + const char *func = "ObjectProperties::validate(): "; + bool ret = true; + + // cf. where serializeString16 is used below + for (u32 i = 0; i < textures.size(); i++) { + if (textures[i].size() > U16_MAX) { + warningstream << func << "texture " << (i+1) << " has excessive length, " + "clearing it." << std::endl; + textures[i].clear(); + ret = false; + } + } + if (nametag.length() > U16_MAX) { + warningstream << func << "nametag has excessive length, clearing it." << std::endl; + nametag.clear(); + ret = false; + } + if (infotext.length() > U16_MAX) { + warningstream << func << "infotext has excessive length, clearing it." << std::endl; + infotext.clear(); + ret = false; + } + if (wield_item.length() > U16_MAX) { + warningstream << func << "wield_item has excessive length, clearing it." << std::endl; + wield_item.clear(); + ret = false; + } + + return ret; +} + void ObjectProperties::serialize(std::ostream &os) const { writeU8(os, 4); // PROTOCOL_VERSION >= 37 @@ -105,7 +138,6 @@ void ObjectProperties::serialize(std::ostream &os) const writeU8(os, is_visible); writeU8(os, makes_footstep_sound); writeF32(os, automatic_rotate); - // Added in protocol version 14 os << serializeString16(mesh); writeU16(os, colors.size()); for (video::SColor color : colors) { diff --git a/src/object_properties.h b/src/object_properties.h index db28eebfd..79866a22c 100644 --- a/src/object_properties.h +++ b/src/object_properties.h @@ -68,6 +68,8 @@ struct ObjectProperties ObjectProperties(); std::string dump(); + // check limits of some important properties (strings) that'd cause exceptions later on + bool validate(); void serialize(std::ostream &os) const; void deSerialize(std::istream &is); }; diff --git a/src/player.h b/src/player.h index 9a4a41fa6..8f7b0a3fe 100644 --- a/src/player.h +++ b/src/player.h @@ -49,10 +49,6 @@ struct PlayerControl PlayerControl() = default; PlayerControl( - bool a_up, - bool a_down, - bool a_left, - bool a_right, bool a_jump, bool a_aux1, bool a_sneak, @@ -61,14 +57,10 @@ struct PlayerControl bool a_place, float a_pitch, float a_yaw, - float a_sidew_move_joystick_axis, - float a_forw_move_joystick_axis + float a_movement_speed, + float a_movement_direction ) { - up = a_up; - down = a_down; - left = a_left; - right = a_right; jump = a_jump; aux1 = a_aux1; sneak = a_sneak; @@ -77,13 +69,9 @@ struct PlayerControl place = a_place; pitch = a_pitch; yaw = a_yaw; - sidew_move_joystick_axis = a_sidew_move_joystick_axis; - forw_move_joystick_axis = a_forw_move_joystick_axis; + movement_speed = a_movement_speed; + movement_direction = a_movement_direction; } - bool up = false; - bool down = false; - bool left = false; - bool right = false; bool jump = false; bool aux1 = false; bool sneak = false; @@ -92,8 +80,9 @@ struct PlayerControl bool place = false; float pitch = 0.0f; float yaw = 0.0f; - float sidew_move_joystick_axis = 0.0f; - float forw_move_joystick_axis = 0.0f; + // Note: These two are NOT available on the server + float movement_speed = 0.0f; + float movement_direction = 0.0f; }; struct PlayerSettings diff --git a/src/porting_android.cpp b/src/porting_android.cpp index f5870c174..29e95b8ca 100644 --- a/src/porting_android.cpp +++ b/src/porting_android.cpp @@ -190,6 +190,7 @@ void initializePathsAndroid() path_user = path_storage + DIR_DELIM + PROJECT_NAME_C; path_share = path_storage + DIR_DELIM + PROJECT_NAME_C; + path_locale = path_share + DIR_DELIM + "locale"; path_cache = getAndroidPath(nativeActivity, app_global->activity->clazz, mt_getAbsPath, "getCacheDir"); migrateCachePath(); diff --git a/src/script/common/c_content.cpp b/src/script/common/c_content.cpp index 897ca2862..8ca3a722f 100644 --- a/src/script/common/c_content.cpp +++ b/src/script/common/c_content.cpp @@ -203,8 +203,6 @@ void read_object_properties(lua_State *L, int index, if (sao && prop->hp_max < sao->getHP()) { PlayerHPChangeReason reason(PlayerHPChangeReason::SET_HP); sao->setHP(prop->hp_max, reason); - if (sao->getType() == ACTIVEOBJECT_TYPE_PLAYER) - sao->getEnv()->getGameDef()->SendPlayerHPOrDie((PlayerSAO *)sao, reason); } } @@ -1407,26 +1405,28 @@ void read_inventory_list(lua_State *L, int tableindex, { if(tableindex < 0) tableindex = lua_gettop(L) + 1 + tableindex; + // If nil, delete list if(lua_isnil(L, tableindex)){ inv->deleteList(name); return; } - // Otherwise set list + + // Get Lua-specified items to insert into the list std::vector items = read_items(L, tableindex,srv); - int listsize = (forcesize != -1) ? forcesize : items.size(); + size_t listsize = (forcesize >= 0) ? forcesize : items.size(); + + // Create or resize/clear list InventoryList *invlist = inv->addList(name, listsize); - int index = 0; - for(std::vector::const_iterator - i = items.begin(); i != items.end(); ++i){ - if(forcesize != -1 && index == forcesize) - break; - invlist->changeItem(index, *i); - index++; + if (!invlist) { + luaL_error(L, "inventory list: cannot create list named '%s'", name); + return; } - while(forcesize != -1 && index < forcesize){ - invlist->deleteItem(index); - index++; + + for (size_t i = 0; i < items.size(); ++i) { + if (i == listsize) + break; // Truncate provided list of items + invlist->changeItem(i, items[i]); } } @@ -2013,6 +2013,8 @@ void read_hud_element(lua_State *L, HudElement *elem) elem->world_pos = lua_istable(L, -1) ? read_v3f(L, -1) : v3f(); lua_pop(L, 1); + elem->style = getintfield_default(L, 2, "style", 0); + /* check for known deprecated element usage */ if ((elem->type == HUD_ELEM_STATBAR) && (elem->size == v2s32())) log_deprecated(L,"Deprecated usage of statbar without size!"); @@ -2067,17 +2069,22 @@ void push_hud_element(lua_State *L, HudElement *elem) lua_pushstring(L, elem->text2.c_str()); lua_setfield(L, -2, "text2"); + + lua_pushinteger(L, elem->style); + lua_setfield(L, -2, "style"); } -HudElementStat read_hud_change(lua_State *L, HudElement *elem, void **value) +bool read_hud_change(lua_State *L, HudElementStat &stat, HudElement *elem, void **value) { - HudElementStat stat = HUD_STAT_NUMBER; - std::string statstr; - if (lua_isstring(L, 3)) { + std::string statstr = lua_tostring(L, 3); + { int statint; - statstr = lua_tostring(L, 3); - stat = string_to_enum(es_HudElementStat, statint, statstr) ? - (HudElementStat)statint : stat; + if (!string_to_enum(es_HudElementStat, statint, statstr)) { + script_log_unique(L, "Unknown HUD stat type: " + statstr, warningstream); + return false; + } + + stat = (HudElementStat)statint; } switch (stat) { @@ -2135,8 +2142,13 @@ HudElementStat read_hud_change(lua_State *L, HudElement *elem, void **value) elem->text2 = luaL_checkstring(L, 4); *value = &elem->text2; break; + case HUD_STAT_STYLE: + elem->style = luaL_checknumber(L, 4); + *value = &elem->style; + break; } - return stat; + + return true; } /******************************************************************************/ diff --git a/src/script/common/c_content.h b/src/script/common/c_content.h index dc8f19ef3..1aed7901e 100644 --- a/src/script/common/c_content.h +++ b/src/script/common/c_content.h @@ -122,7 +122,7 @@ void push_object_properties (lua_State *L, void push_inventory (lua_State *L, Inventory *inventory); - + void push_inventory_list (lua_State *L, Inventory *inv, const char *name); @@ -197,14 +197,14 @@ void read_json_value (lua_State *L, Json::Value &root, void push_pointed_thing(lua_State *L, const PointedThing &pointed, bool csm = false, bool hitpoint = false); -void push_objectRef (lua_State *L, const u16 id); +void push_objectRef (lua_State *L, const u16 id); -void read_hud_element (lua_State *L, HudElement *elem); +void read_hud_element (lua_State *L, HudElement *elem); -void push_hud_element (lua_State *L, HudElement *elem); +void push_hud_element (lua_State *L, HudElement *elem); -HudElementStat read_hud_change (lua_State *L, HudElement *elem, void **value); +bool read_hud_change (lua_State *L, HudElementStat &stat, HudElement *elem, void **value); -void push_collision_move_result(lua_State *L, const collisionMoveResult &res); +void push_collision_move_result(lua_State *L, const collisionMoveResult &res); -void push_physics_override (lua_State *L, float speed, float jump, float gravity, bool sneak, bool sneak_glitch, bool new_move); +void push_physics_override (lua_State *L, float speed, float jump, float gravity, bool sneak, bool sneak_glitch, bool new_move); diff --git a/src/script/common/c_converter.cpp b/src/script/common/c_converter.cpp index c00401b58..19734b913 100644 --- a/src/script/common/c_converter.cpp +++ b/src/script/common/c_converter.cpp @@ -51,12 +51,32 @@ if (value < F1000_MIN || value > F1000_MAX) { \ #define CHECK_POS_TAB(index) CHECK_TYPE(index, "position", LUA_TTABLE) +/** + * A helper which sets (if available) the vector metatable from builtin as metatable + * for the table on top of the stack + */ +static void set_vector_metatable(lua_State *L) +{ + // get vector.metatable + lua_getglobal(L, "vector"); + if (!lua_istable(L, -1)) { + // there is no global vector table + lua_pop(L, 1); + errorstream << "set_vector_metatable in c_converter.cpp: " << + "missing global vector table" << std::endl; + return; + } + lua_getfield(L, -1, "metatable"); + // set the metatable + lua_setmetatable(L, -3); + // pop vector global + lua_pop(L, 1); +} + + void push_float_string(lua_State *L, float value) { - std::stringstream ss; - std::string str; - ss << value; - str = ss.str(); + auto str = ftos(value); lua_pushstring(L, str.c_str()); } @@ -69,6 +89,7 @@ void push_v3f(lua_State *L, v3f p) lua_setfield(L, -2, "y"); lua_pushnumber(L, p.Z); lua_setfield(L, -2, "z"); + set_vector_metatable(L); } void push_v2f(lua_State *L, v2f p) @@ -281,6 +302,7 @@ void push_v3s16(lua_State *L, v3s16 p) lua_setfield(L, -2, "y"); lua_pushinteger(L, p.Z); lua_setfield(L, -2, "z"); + set_vector_metatable(L); } 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 ad5f836c5..df82dba14 100644 --- a/src/script/common/c_internal.cpp +++ b/src/script/common/c_internal.cpp @@ -18,10 +18,12 @@ with this program; if not, write to the Free Software Foundation, Inc., */ #include "common/c_internal.h" +#include "util/numeric.h" #include "debug.h" #include "log.h" #include "porting.h" #include "settings.h" +#include // std::find std::string script_get_backtrace(lua_State *L) { @@ -99,60 +101,35 @@ void script_error(lua_State *L, int pcall_result, const char *mod, const char *f throw LuaError(err_msg); } -// Push the list of callbacks (a lua table). -// Then push nargs arguments. -// Then call this function, which -// - runs the callbacks -// - replaces the table and arguments with the return value, -// computed depending on mode -void script_run_callbacks_f(lua_State *L, int nargs, - RunCallbacksMode mode, const char *fxn) -{ - FATAL_ERROR_IF(lua_gettop(L) < nargs + 1, "Not enough arguments"); - - // Insert error handler - PUSH_ERROR_HANDLER(L); - int error_handler = lua_gettop(L) - nargs - 1; - lua_insert(L, error_handler); - - // Insert run_callbacks between error handler and table - lua_getglobal(L, "core"); - lua_getfield(L, -1, "run_callbacks"); - lua_remove(L, -2); - lua_insert(L, error_handler + 1); - - // Insert mode after table - lua_pushnumber(L, (int) mode); - lua_insert(L, error_handler + 3); - - // Stack now looks like this: - // ... ... - - int result = lua_pcall(L, nargs + 2, 1, error_handler); - if (result != 0) - script_error(L, result, NULL, fxn); - - lua_remove(L, error_handler); -} - -static void script_log(lua_State *L, const std::string &message, - std::ostream &log_to, bool do_error, int stack_depth) +static void script_log_add_source(lua_State *L, std::string &message, 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 << ")"; + message.append(" (at " + std::string(ar.short_src) + ":" + + std::to_string(ar.currentline) + ")"); } else { - log_to << "(at ?:?)"; + message.append(" (at ?:?)"); } - log_to << std::endl; +} - if (do_error) - script_error(L, LUA_ERRRUN, NULL, NULL); - else - infostream << script_get_backtrace(L) << std::endl; +bool script_log_unique(lua_State *L, std::string message, std::ostream &log_to, + int stack_depth) +{ + thread_local std::vector logged_messages; + + script_log_add_source(L, message, stack_depth); + u64 hash = murmur_hash_64_ua(message.data(), message.length(), 0xBADBABE); + + if (std::find(logged_messages.begin(), logged_messages.end(), hash) + == logged_messages.end()) { + + logged_messages.emplace_back(hash); + log_to << message << std::endl; + return true; + } + return false; } DeprecatedHandlingMode get_deprecated_handling_mode() @@ -174,9 +151,18 @@ DeprecatedHandlingMode get_deprecated_handling_mode() return ret; } -void log_deprecated(lua_State *L, const std::string &message, int stack_depth) +void log_deprecated(lua_State *L, std::string message, int stack_depth) { DeprecatedHandlingMode mode = get_deprecated_handling_mode(); - if (mode != DeprecatedHandlingMode::Ignore) - script_log(L, message, warningstream, mode == DeprecatedHandlingMode::Error, stack_depth); + if (mode == DeprecatedHandlingMode::Ignore) + return; + + script_log_add_source(L, message, stack_depth); + warningstream << message << std::endl; + + if (mode == DeprecatedHandlingMode::Error) + script_error(L, LUA_ERRRUN, NULL, NULL); + else + infostream << script_get_backtrace(L) << std::endl; } + diff --git a/src/script/common/c_internal.h b/src/script/common/c_internal.h index 452c2dd5e..ab2d7b975 100644 --- a/src/script/common/c_internal.h +++ b/src/script/common/c_internal.h @@ -75,9 +75,6 @@ extern "C" { } \ } -#define script_run_callbacks(L, nargs, mode) \ - script_run_callbacks_f((L), (nargs), (mode), __FUNCTION__) - // What script_run_callbacks does with the return values of callbacks. // Regardless of the mode, if only one callback is defined, // its return value is the total return value. @@ -108,13 +105,17 @@ enum RunCallbacksMode // are converted by readParam to true or false, respectively. }; +// Gets a backtrace of the current execution point std::string script_get_backtrace(lua_State *L); +// Wrapper for CFunction calls that converts C++ exceptions to Lua errors int script_exception_wrapper(lua_State *L, lua_CFunction f); +// Takes an error from lua_pcall and throws it as a LuaError 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); -enum class DeprecatedHandlingMode { +bool script_log_unique(lua_State *L, std::string message, std::ostream &log_to, + int stack_depth = 1); + +enum DeprecatedHandlingMode { Ignore, Log, Error @@ -134,5 +135,4 @@ DeprecatedHandlingMode get_deprecated_handling_mode(); * @param message The deprecation method * @param stack_depth How far on the stack to the first user function (ie: not builtin or core) */ -void log_deprecated(lua_State *L, const std::string &message, - int stack_depth=1); +void log_deprecated(lua_State *L, std::string message, int stack_depth = 1); diff --git a/src/script/cpp_api/s_async.cpp b/src/script/cpp_api/s_async.cpp index 0619b32c0..dacdcd75a 100644 --- a/src/script/cpp_api/s_async.cpp +++ b/src/script/cpp_api/s_async.cpp @@ -32,20 +32,19 @@ extern "C" { #include "filesys.h" #include "porting.h" #include "common/c_internal.h" +#include "lua_api/l_base.h" /******************************************************************************/ AsyncEngine::~AsyncEngine() { - // Request all threads to stop for (AsyncWorkerThread *workerThread : workerThreads) { workerThread->stop(); } - // Wake up all threads - for (std::vector::iterator it = workerThreads.begin(); - it != workerThreads.end(); ++it) { + for (auto it : workerThreads) { + (void)it; jobQueueCounter.post(); } @@ -68,6 +67,7 @@ AsyncEngine::~AsyncEngine() /******************************************************************************/ void AsyncEngine::registerStateInitializer(StateInitializer func) { + FATAL_ERROR_IF(initDone, "Initializer may not be registered after init"); stateInitializers.push_back(func); } @@ -85,36 +85,36 @@ void AsyncEngine::initialize(unsigned int numEngines) } /******************************************************************************/ -unsigned int AsyncEngine::queueAsyncJob(const std::string &func, - const std::string ¶ms) +u32 AsyncEngine::queueAsyncJob(std::string &&func, std::string &¶ms, + const std::string &mod_origin) { jobQueueMutex.lock(); - LuaJobInfo toAdd; - toAdd.id = jobIdCounter++; - toAdd.serializedFunction = func; - toAdd.serializedParams = params; + u32 jobId = jobIdCounter++; - jobQueue.push_back(toAdd); + jobQueue.emplace_back(); + auto &to_add = jobQueue.back(); + to_add.id = jobId; + to_add.function = std::move(func); + to_add.params = std::move(params); + to_add.mod_origin = mod_origin; jobQueueCounter.post(); - jobQueueMutex.unlock(); - - return toAdd.id; + return jobId; } /******************************************************************************/ -LuaJobInfo AsyncEngine::getJob() +bool AsyncEngine::getJob(LuaJobInfo *job) { jobQueueCounter.wait(); jobQueueMutex.lock(); - LuaJobInfo retval; + bool retval = false; if (!jobQueue.empty()) { - retval = jobQueue.front(); + *job = std::move(jobQueue.front()); jobQueue.pop_front(); - retval.valid = true; + retval = true; } jobQueueMutex.unlock(); @@ -122,10 +122,10 @@ LuaJobInfo AsyncEngine::getJob() } /******************************************************************************/ -void AsyncEngine::putJobResult(const LuaJobInfo &result) +void AsyncEngine::putJobResult(LuaJobInfo &&result) { resultQueueMutex.lock(); - resultQueue.push_back(result); + resultQueue.emplace_back(std::move(result)); resultQueueMutex.unlock(); } @@ -134,26 +134,30 @@ void AsyncEngine::step(lua_State *L) { int error_handler = PUSH_ERROR_HANDLER(L); lua_getglobal(L, "core"); - resultQueueMutex.lock(); + + ScriptApiBase *script = ModApiBase::getScriptApiBase(L); + + MutexAutoLock autolock(resultQueueMutex); while (!resultQueue.empty()) { - LuaJobInfo jobDone = resultQueue.front(); + LuaJobInfo j = std::move(resultQueue.front()); resultQueue.pop_front(); lua_getfield(L, -1, "async_event_handler"); - - if (lua_isnil(L, -1)) { + if (lua_isnil(L, -1)) FATAL_ERROR("Async event handler does not exist!"); - } - luaL_checktype(L, -1, LUA_TFUNCTION); - lua_pushinteger(L, jobDone.id); - lua_pushlstring(L, jobDone.serializedResult.data(), - jobDone.serializedResult.size()); + lua_pushinteger(L, j.id); + lua_pushlstring(L, j.result.data(), j.result.size()); - PCALL_RESL(L, lua_pcall(L, 2, 0, error_handler)); + // Call handler + const char *origin = j.mod_origin.empty() ? nullptr : j.mod_origin.c_str(); + script->setOriginDirect(origin); + int result = lua_pcall(L, 2, 0, error_handler); + if (result) + script_error(L, result, origin, ""); } - resultQueueMutex.unlock(); + lua_pop(L, 2); // Pop core and error handler } @@ -168,8 +172,8 @@ void AsyncEngine::prepareEnvironment(lua_State* L, int top) /******************************************************************************/ AsyncWorkerThread::AsyncWorkerThread(AsyncEngine* jobDispatcher, const std::string &name) : - Thread(name), ScriptApiBase(ScriptingType::Async), + Thread(name), jobDispatcher(jobDispatcher) { lua_State *L = getStack(); @@ -196,9 +200,9 @@ void* AsyncWorkerThread::run() { lua_State *L = getStack(); - std::string script = getServer()->getBuiltinLuaPath() + DIR_DELIM + "init.lua"; try { - loadScript(script); + loadMod(getServer()->getBuiltinLuaPath() + DIR_DELIM + "init.lua", + BUILTIN_MOD_NAME); } catch (const ModError &e) { errorstream << "Execution of async base environment failed: " << e.what() << std::endl; @@ -213,44 +217,44 @@ void* AsyncWorkerThread::run() } // Main loop + LuaJobInfo j; while (!stopRequested()) { // Wait for job - LuaJobInfo toProcess = jobDispatcher->getJob(); - - if (!toProcess.valid || stopRequested()) { + if (!jobDispatcher->getJob(&j) || stopRequested()) continue; - } lua_getfield(L, -1, "job_processor"); - if (lua_isnil(L, -1)) { + if (lua_isnil(L, -1)) FATAL_ERROR("Unable to get async job processor!"); - } - luaL_checktype(L, -1, LUA_TFUNCTION); - // Call it - lua_pushlstring(L, - toProcess.serializedFunction.data(), - toProcess.serializedFunction.size()); - lua_pushlstring(L, - toProcess.serializedParams.data(), - toProcess.serializedParams.size()); + if (luaL_loadbuffer(L, j.function.data(), j.function.size(), "=(async)")) { + errorstream << "ASYNC WORKER: Unable to deserialize function" << std::endl; + lua_pushnil(L); + } + lua_pushlstring(L, j.params.data(), j.params.size()); + // Call it + setOriginDirect(j.mod_origin.empty() ? nullptr : j.mod_origin.c_str()); int result = lua_pcall(L, 2, 1, error_handler); if (result) { - PCALL_RES(result); - toProcess.serializedResult = ""; + try { + scriptError(result, ""); + } catch (const ModError &e) { + errorstream << e.what() << std::endl; + } } else { // Fetch result size_t length; const char *retval = lua_tolstring(L, -1, &length); - toProcess.serializedResult = std::string(retval, length); + j.result.assign(retval, length); } lua_pop(L, 1); // Pop retval // Put job result - jobDispatcher->putJobResult(toProcess); + if (!j.result.empty()) + jobDispatcher->putJobResult(std::move(j)); } lua_pop(L, 2); // Pop core and error handler diff --git a/src/script/cpp_api/s_async.h b/src/script/cpp_api/s_async.h index 99a4f891c..697cb0221 100644 --- a/src/script/cpp_api/s_async.h +++ b/src/script/cpp_api/s_async.h @@ -21,7 +21,6 @@ with this program; if not, write to the Free Software Foundation, Inc., #include #include -#include #include "threading/semaphore.h" #include "threading/thread.h" @@ -39,26 +38,29 @@ struct LuaJobInfo { LuaJobInfo() = default; - // Function to be called in async environment - std::string serializedFunction = ""; - // Parameter to be passed to function - std::string serializedParams = ""; - // Result of function call - std::string serializedResult = ""; + // Function to be called in async environment (from string.dump) + std::string function; + // Parameter to be passed to function (serialized) + std::string params; + // Result of function call (serialized) + std::string result; + // Name of the mod who invoked this call + std::string mod_origin; // JobID used to identify a job and match it to callback - unsigned int id = 0; - - bool valid = false; + u32 id; }; // Asynchronous working environment -class AsyncWorkerThread : public Thread, public ScriptApiBase { +class AsyncWorkerThread : public Thread, virtual public ScriptApiBase { + friend class AsyncEngine; public: - AsyncWorkerThread(AsyncEngine* jobDispatcher, const std::string &name); virtual ~AsyncWorkerThread(); void *run(); +protected: + AsyncWorkerThread(AsyncEngine* jobDispatcher, const std::string &name); + private: AsyncEngine *jobDispatcher = nullptr; }; @@ -89,7 +91,8 @@ public: * @param params Serialized parameters * @return jobid The job is queued */ - unsigned int queueAsyncJob(const std::string &func, const std::string ¶ms); + u32 queueAsyncJob(std::string &&func, std::string &¶ms, + const std::string &mod_origin = ""); /** * Engine step to process finished jobs @@ -102,15 +105,16 @@ protected: /** * Get a Job from queue to be processed * this function blocks until a job is ready - * @return a job to be processed + * @param job a job to be processed + * @return whether a job was available */ - LuaJobInfo getJob(); + bool getJob(LuaJobInfo *job); /** * Put a Job result back to result queue * @param result result of completed job */ - void putJobResult(const LuaJobInfo &result); + void putJobResult(LuaJobInfo &&result); /** * Initialize environment with current registred functions @@ -129,11 +133,10 @@ private: std::vector stateInitializers; // Internal counter to create job IDs - unsigned int jobIdCounter = 0; + u32 jobIdCounter = 0; // Mutex to protect job queue std::mutex jobQueueMutex; - // Job queue std::deque jobQueue; diff --git a/src/script/cpp_api/s_base.cpp b/src/script/cpp_api/s_base.cpp index 5711ccbfd..27d730b1d 100644 --- a/src/script/cpp_api/s_base.cpp +++ b/src/script/cpp_api/s_base.cpp @@ -332,13 +332,9 @@ void ScriptApiBase::setOriginDirect(const char *origin) void ScriptApiBase::setOriginFromTableRaw(int index, const char *fxn) { -#ifdef SCRIPTAPI_DEBUG lua_State *L = getStack(); - m_last_run_mod = lua_istable(L, index) ? getstringfield_default(L, index, "mod_origin", "") : ""; - //printf(">>>> running %s for mod: %s\n", fxn, m_last_run_mod.c_str()); -#endif } /* diff --git a/src/script/cpp_api/s_base.h b/src/script/cpp_api/s_base.h index a7a2c7203..e49745f4e 100644 --- a/src/script/cpp_api/s_base.h +++ b/src/script/cpp_api/s_base.h @@ -39,7 +39,6 @@ extern "C" { #include "config.h" #define SCRIPTAPI_LOCK_DEBUG -#define SCRIPTAPI_DEBUG // MUST be an invalid mod name so that mods can't // use that name to bypass security! @@ -111,7 +110,9 @@ public: Game *getGame() { return m_game; } #endif - std::string getOrigin() { return m_last_run_mod; } + // IMPORTANT: these cannot be used for any security-related uses, they exist + // only to enrich error messages + const std::string &getOrigin() { return m_last_run_mod; } void setOriginDirect(const char *origin); void setOriginFromTableRaw(int index, const char *fxn); @@ -130,8 +131,11 @@ protected: lua_State* getStack() { return m_luastack; } + // Checks that stack size is sane void realityCheck(); + // Takes an error from lua_pcall and throws it as a LuaError void scriptError(int result, const char *fxn); + // Dumps stack contents for debugging void stackDump(std::ostream &o); void setGameDef(IGameDef* gamedef) { m_gamedef = gamedef; } diff --git a/src/script/cpp_api/s_client.cpp b/src/script/cpp_api/s_client.cpp index 1ed273a30..5d20f547d 100644 --- a/src/script/cpp_api/s_client.cpp +++ b/src/script/cpp_api/s_client.cpp @@ -36,7 +36,11 @@ void ScriptApiClient::on_mods_loaded() lua_getglobal(L, "core"); lua_getfield(L, -1, "registered_on_mods_loaded"); // Call callbacks - runCallbacks(0, RUN_CALLBACKS_MODE_FIRST); + try { + runCallbacks(0, RUN_CALLBACKS_MODE_FIRST); + } catch (LuaError &e) { + getClient()->setFatalError(e); + } } void ScriptApiClient::on_shutdown() @@ -47,7 +51,11 @@ void ScriptApiClient::on_shutdown() lua_getglobal(L, "core"); lua_getfield(L, -1, "registered_on_shutdown"); // Call callbacks - runCallbacks(0, RUN_CALLBACKS_MODE_FIRST); + try { + runCallbacks(0, RUN_CALLBACKS_MODE_FIRST); + } catch (LuaError &e) { + getClient()->setFatalError(e); + } } bool ScriptApiClient::on_sending_message(const std::string &message) @@ -59,7 +67,12 @@ bool ScriptApiClient::on_sending_message(const std::string &message) lua_getfield(L, -1, "registered_on_sending_chat_message"); // Call callbacks lua_pushstring(L, message.c_str()); - runCallbacks(1, RUN_CALLBACKS_MODE_OR_SC); + try { + runCallbacks(1, RUN_CALLBACKS_MODE_OR_SC); + } catch (LuaError &e) { + getClient()->setFatalError(e); + return true; + } return readParam(L, -1); } @@ -72,7 +85,12 @@ bool ScriptApiClient::on_receiving_message(const std::string &message) lua_getfield(L, -1, "registered_on_receiving_chat_message"); // Call callbacks lua_pushstring(L, message.c_str()); - runCallbacks(1, RUN_CALLBACKS_MODE_OR_SC); + try { + runCallbacks(1, RUN_CALLBACKS_MODE_OR_SC); + } catch (LuaError &e) { + getClient()->setFatalError(e); + return true; + } return readParam(L, -1); } @@ -85,7 +103,11 @@ void ScriptApiClient::on_damage_taken(int32_t damage_amount) lua_getfield(L, -1, "registered_on_damage_taken"); // Call callbacks lua_pushinteger(L, damage_amount); - runCallbacks(1, RUN_CALLBACKS_MODE_OR_SC); + try { + runCallbacks(1, RUN_CALLBACKS_MODE_OR_SC); + } catch (LuaError &e) { + getClient()->setFatalError(e); + } } void ScriptApiClient::on_hp_modification(int32_t newhp) @@ -97,7 +119,11 @@ void ScriptApiClient::on_hp_modification(int32_t newhp) lua_getfield(L, -1, "registered_on_hp_modification"); // Call callbacks lua_pushinteger(L, newhp); - runCallbacks(1, RUN_CALLBACKS_MODE_OR_SC); + try { + runCallbacks(1, RUN_CALLBACKS_MODE_OR_SC); + } catch (LuaError &e) { + getClient()->setFatalError(e); + } } void ScriptApiClient::on_death() @@ -108,7 +134,11 @@ void ScriptApiClient::on_death() lua_getglobal(L, "core"); lua_getfield(L, -1, "registered_on_death"); // Call callbacks - runCallbacks(0, RUN_CALLBACKS_MODE_FIRST); + try { + runCallbacks(0, RUN_CALLBACKS_MODE_FIRST); + } catch (LuaError &e) { + getClient()->setFatalError(e); + } } void ScriptApiClient::environment_step(float dtime) @@ -123,8 +153,7 @@ void ScriptApiClient::environment_step(float dtime) try { runCallbacks(1, RUN_CALLBACKS_MODE_FIRST); } catch (LuaError &e) { - getClient()->setFatalError(std::string("Client environment_step: ") + e.what() + "\n" - + script_get_backtrace(L)); + getClient()->setFatalError(e); } } @@ -149,7 +178,11 @@ void ScriptApiClient::on_formspec_input(const std::string &formname, lua_pushlstring(L, value.c_str(), value.size()); lua_settable(L, -3); } - runCallbacks(2, RUN_CALLBACKS_MODE_OR_SC); + try { + runCallbacks(2, RUN_CALLBACKS_MODE_OR_SC); + } catch (LuaError &e) { + getClient()->setFatalError(e); + } } bool ScriptApiClient::on_dignode(v3s16 p, MapNode node) @@ -167,7 +200,12 @@ bool ScriptApiClient::on_dignode(v3s16 p, MapNode node) pushnode(L, node, ndef); // Call functions - runCallbacks(2, RUN_CALLBACKS_MODE_OR); + try { + runCallbacks(2, RUN_CALLBACKS_MODE_OR); + } catch (LuaError &e) { + getClient()->setFatalError(e); + return true; + } return lua_toboolean(L, -1); } @@ -186,7 +224,12 @@ bool ScriptApiClient::on_punchnode(v3s16 p, MapNode node) pushnode(L, node, ndef); // Call functions - runCallbacks(2, RUN_CALLBACKS_MODE_OR); + try { + runCallbacks(2, RUN_CALLBACKS_MODE_OR); + } catch (LuaError &e) { + getClient()->setFatalError(e); + return true; + } return readParam(L, -1); } @@ -203,7 +246,12 @@ bool ScriptApiClient::on_placenode(const PointedThing &pointed, const ItemDefini push_item_definition(L, item); // Call functions - runCallbacks(2, RUN_CALLBACKS_MODE_OR); + try { + runCallbacks(2, RUN_CALLBACKS_MODE_OR); + } catch (LuaError &e) { + getClient()->setFatalError(e); + return true; + } return readParam(L, -1); } @@ -220,7 +268,12 @@ bool ScriptApiClient::on_item_use(const ItemStack &item, const PointedThing &poi push_pointed_thing(L, pointed, true); // Call functions - runCallbacks(2, RUN_CALLBACKS_MODE_OR); + try { + runCallbacks(2, RUN_CALLBACKS_MODE_OR); + } catch (LuaError &e) { + getClient()->setFatalError(e); + return true; + } return readParam(L, -1); } @@ -348,7 +401,12 @@ bool ScriptApiClient::on_inventory_open(Inventory *inventory) push_inventory(L, inventory); - runCallbacks(1, RUN_CALLBACKS_MODE_OR); + try { + runCallbacks(1, RUN_CALLBACKS_MODE_OR); + } catch (LuaError &e) { + getClient()->setFatalError(e); + return true; + } return readParam(L, -1); } diff --git a/src/script/cpp_api/s_env.cpp b/src/script/cpp_api/s_env.cpp index 8da5debaa..874c37b6e 100644 --- a/src/script/cpp_api/s_env.cpp +++ b/src/script/cpp_api/s_env.cpp @@ -25,6 +25,8 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "mapgen/mapgen.h" #include "lua_api/l_env.h" #include "server.h" +#include "script/common/c_content.h" + void ScriptApiEnv::environment_OnGenerated(v3s16 minp, v3s16 maxp, u32 blockseed) @@ -51,13 +53,7 @@ void ScriptApiEnv::environment_Step(float dtime) lua_getfield(L, -1, "registered_globalsteps"); // Call callbacks lua_pushnumber(L, dtime); - try { - runCallbacks(1, RUN_CALLBACKS_MODE_FIRST); - } catch (LuaError &e) { - getServer()->setAsyncFatalError( - std::string("environment_Step: ") + e.what() + "\n" - + script_get_backtrace(L)); - } + runCallbacks(1, RUN_CALLBACKS_MODE_FIRST); } void ScriptApiEnv::player_event(ServerActiveObject *player, const std::string &type) @@ -74,13 +70,7 @@ void ScriptApiEnv::player_event(ServerActiveObject *player, const std::string &t // Call callbacks objectrefGetOrCreate(L, player); // player lua_pushstring(L,type.c_str()); // event type - try { - runCallbacks(2, RUN_CALLBACKS_MODE_FIRST); - } catch (LuaError &e) { - getServer()->setAsyncFatalError( - std::string("player_event: ") + e.what() + "\n" - + script_get_backtrace(L) ); - } + runCallbacks(2, RUN_CALLBACKS_MODE_FIRST); } void ScriptApiEnv::initializeEnvironment(ServerEnvironment *env) @@ -150,13 +140,19 @@ void ScriptApiEnv::initializeEnvironment(ServerEnvironment *env) bool simple_catch_up = true; getboolfield(L, current_abm, "catch_up", simple_catch_up); + + s16 min_y = INT16_MIN; + getintfield(L, current_abm, "min_y", min_y); + + s16 max_y = INT16_MAX; + getintfield(L, current_abm, "max_y", max_y); lua_getfield(L, current_abm, "action"); luaL_checktype(L, current_abm + 1, LUA_TFUNCTION); lua_pop(L, 1); LuaABM *abm = new LuaABM(L, id, trigger_contents, required_neighbors, - trigger_interval, trigger_chance, simple_catch_up); + trigger_interval, trigger_chance, simple_catch_up, min_y, max_y); env->addActiveBlockModifier(abm); @@ -249,9 +245,8 @@ void ScriptApiEnv::on_emerge_area_completion( try { PCALL_RES(lua_pcall(L, 4, 0, error_handler)); } catch (LuaError &e) { - server->setAsyncFatalError( - std::string("on_emerge_area_completion: ") + e.what() + "\n" - + script_get_backtrace(L)); + // Note: don't throw here, we still need to run the cleanup code below + server->setAsyncFatalError(e); } lua_pop(L, 1); // Pop error handler @@ -261,3 +256,35 @@ void ScriptApiEnv::on_emerge_area_completion( luaL_unref(L, LUA_REGISTRYINDEX, state->args_ref); } } + +void ScriptApiEnv::on_liquid_transformed( + const std::vector> &list) +{ + SCRIPTAPI_PRECHECKHEADER + + // Get core.registered_on_liquid_transformed + lua_getglobal(L, "core"); + lua_getfield(L, -1, "registered_on_liquid_transformed"); + luaL_checktype(L, -1, LUA_TTABLE); + lua_remove(L, -2); + + // Skip converting list and calling hook if there are + // no registered callbacks. + if(lua_objlen(L, -1) < 1) return; + + // Convert the list to a pos array and a node array for lua + int index = 1; + const NodeDefManager *ndef = getEnv()->getGameDef()->ndef(); + lua_createtable(L, list.size(), 0); + lua_createtable(L, list.size(), 0); + for(std::pair p : list) { + lua_pushnumber(L, index); + push_v3s16(L, p.first); + lua_rawset(L, -4); + lua_pushnumber(L, index++); + pushnode(L, p.second, ndef); + lua_rawset(L, -3); + } + + runCallbacks(2, RUN_CALLBACKS_MODE_FIRST); +} diff --git a/src/script/cpp_api/s_env.h b/src/script/cpp_api/s_env.h index 232a08aaf..090858f17 100644 --- a/src/script/cpp_api/s_env.h +++ b/src/script/cpp_api/s_env.h @@ -21,6 +21,8 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "cpp_api/s_base.h" #include "irr_v3d.h" +#include "mapnode.h" +#include class ServerEnvironment; struct ScriptCallbackState; @@ -41,5 +43,8 @@ public: void on_emerge_area_completion(v3s16 blockpos, int action, ScriptCallbackState *state); + // Called after liquid transform changes + void on_liquid_transformed(const std::vector> &list); + void initializeEnvironment(ServerEnvironment *env); }; diff --git a/src/script/cpp_api/s_item.cpp b/src/script/cpp_api/s_item.cpp index 24955cefc..48dce14f3 100644 --- a/src/script/cpp_api/s_item.cpp +++ b/src/script/cpp_api/s_item.cpp @@ -29,6 +29,9 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "inventory.h" #include "inventorymanager.h" +#define WRAP_LUAERROR(e, detail) \ + LuaError(std::string(__FUNCTION__) + ": " + (e).what() + ". " detail) + bool ScriptApiItem::item_OnDrop(ItemStack &item, ServerActiveObject *dropper, v3f pos) { @@ -49,7 +52,7 @@ bool ScriptApiItem::item_OnDrop(ItemStack &item, try { item = read_item(L, -1, getServer()->idef()); } catch (LuaError &e) { - throw LuaError(std::string(e.what()) + ". item=" + item.name); + throw WRAP_LUAERROR(e, "item=" + item.name); } } lua_pop(L, 2); // Pop item and error handler @@ -81,7 +84,7 @@ bool ScriptApiItem::item_OnPlace(ItemStack &item, try { item = read_item(L, -1, getServer()->idef()); } catch (LuaError &e) { - throw LuaError(std::string(e.what()) + ". item=" + item.name); + throw WRAP_LUAERROR(e, "item=" + item.name); } } lua_pop(L, 2); // Pop item and error handler @@ -108,7 +111,7 @@ bool ScriptApiItem::item_OnUse(ItemStack &item, try { item = read_item(L, -1, getServer()->idef()); } catch (LuaError &e) { - throw LuaError(std::string(e.what()) + ". item=" + item.name); + throw WRAP_LUAERROR(e, "item=" + item.name); } } lua_pop(L, 2); // Pop item and error handler @@ -133,7 +136,7 @@ bool ScriptApiItem::item_OnSecondaryUse(ItemStack &item, try { item = read_item(L, -1, getServer()->idef()); } catch (LuaError &e) { - throw LuaError(std::string(e.what()) + ". item=" + item.name); + throw WRAP_LUAERROR(e, "item=" + item.name); } } lua_pop(L, 2); // Pop item and error handler @@ -165,7 +168,7 @@ bool ScriptApiItem::item_OnCraft(ItemStack &item, ServerActiveObject *user, try { item = read_item(L, -1, getServer()->idef()); } catch (LuaError &e) { - throw LuaError(std::string(e.what()) + ". item=" + item.name); + throw WRAP_LUAERROR(e, "item=" + item.name); } } lua_pop(L, 2); // Pop item and error handler @@ -197,7 +200,7 @@ bool ScriptApiItem::item_CraftPredict(ItemStack &item, ServerActiveObject *user, try { item = read_item(L, -1, getServer()->idef()); } catch (LuaError &e) { - throw LuaError(std::string(e.what()) + ". item=" + item.name); + throw WRAP_LUAERROR(e, "item=" + item.name); } } lua_pop(L, 2); // Pop item and error handler diff --git a/src/script/cpp_api/s_mainmenu.h b/src/script/cpp_api/s_mainmenu.h index aef36ce39..470577a29 100644 --- a/src/script/cpp_api/s_mainmenu.h +++ b/src/script/cpp_api/s_mainmenu.h @@ -38,7 +38,7 @@ public: void handleMainMenuEvent(std::string text); /** - * process field data recieved from formspec + * process field data received from formspec * @param fields data in field format */ void handleMainMenuButtons(const StringMap &fields); diff --git a/src/script/cpp_api/s_nodemeta.cpp b/src/script/cpp_api/s_nodemeta.cpp index c081e9fc4..7ab3757f3 100644 --- a/src/script/cpp_api/s_nodemeta.cpp +++ b/src/script/cpp_api/s_nodemeta.cpp @@ -43,7 +43,7 @@ int ScriptApiNodemeta::nodemeta_inventory_AllowMove( return 0; // Push callback function on stack - std::string nodename = ndef->get(node).name; + const auto &nodename = ndef->get(node).name; if (!getItemCallback(nodename.c_str(), "allow_metadata_inventory_move", &ma.to_inv.p)) return count; @@ -58,7 +58,7 @@ int ScriptApiNodemeta::nodemeta_inventory_AllowMove( PCALL_RES(lua_pcall(L, 7, 1, error_handler)); if (!lua_isnumber(L, -1)) throw LuaError("allow_metadata_inventory_move should" - " return a number, guilty node: " + nodename); + " return a number. node=" + nodename); int num = luaL_checkinteger(L, -1); lua_pop(L, 2); // Pop integer and error handler return num; @@ -81,7 +81,7 @@ int ScriptApiNodemeta::nodemeta_inventory_AllowPut( return 0; // Push callback function on stack - std::string nodename = ndef->get(node).name; + const auto &nodename = ndef->get(node).name; if (!getItemCallback(nodename.c_str(), "allow_metadata_inventory_put", &ma.to_inv.p)) return stack.count; @@ -94,7 +94,7 @@ int ScriptApiNodemeta::nodemeta_inventory_AllowPut( PCALL_RES(lua_pcall(L, 5, 1, error_handler)); if(!lua_isnumber(L, -1)) throw LuaError("allow_metadata_inventory_put should" - " return a number, guilty node: " + nodename); + " return a number. node=" + nodename); int num = luaL_checkinteger(L, -1); lua_pop(L, 2); // Pop integer and error handler return num; @@ -117,7 +117,7 @@ int ScriptApiNodemeta::nodemeta_inventory_AllowTake( return 0; // Push callback function on stack - std::string nodename = ndef->get(node).name; + const auto &nodename = ndef->get(node).name; if (!getItemCallback(nodename.c_str(), "allow_metadata_inventory_take", &ma.from_inv.p)) return stack.count; @@ -130,7 +130,7 @@ int ScriptApiNodemeta::nodemeta_inventory_AllowTake( PCALL_RES(lua_pcall(L, 5, 1, error_handler)); if (!lua_isnumber(L, -1)) throw LuaError("allow_metadata_inventory_take should" - " return a number, guilty node: " + nodename); + " return a number. node=" + nodename); int num = luaL_checkinteger(L, -1); lua_pop(L, 2); // Pop integer and error handler return num; @@ -153,7 +153,7 @@ void ScriptApiNodemeta::nodemeta_inventory_OnMove( return; // Push callback function on stack - std::string nodename = ndef->get(node).name; + const auto &nodename = ndef->get(node).name; if (!getItemCallback(nodename.c_str(), "on_metadata_inventory_move", &ma.from_inv.p)) return; @@ -186,7 +186,7 @@ void ScriptApiNodemeta::nodemeta_inventory_OnPut( return; // Push callback function on stack - std::string nodename = ndef->get(node).name; + const auto &nodename = ndef->get(node).name; if (!getItemCallback(nodename.c_str(), "on_metadata_inventory_put", &ma.to_inv.p)) return; @@ -217,7 +217,7 @@ void ScriptApiNodemeta::nodemeta_inventory_OnTake( return; // Push callback function on stack - std::string nodename = ndef->get(node).name; + const auto &nodename = ndef->get(node).name; if (!getItemCallback(nodename.c_str(), "on_metadata_inventory_take", &ma.from_inv.p)) return; diff --git a/src/script/cpp_api/s_security.cpp b/src/script/cpp_api/s_security.cpp index 8fe5d2c5a..bd9c80e15 100644 --- a/src/script/cpp_api/s_security.cpp +++ b/src/script/cpp_api/s_security.cpp @@ -18,7 +18,7 @@ with this program; if not, write to the Free Software Foundation, Inc., */ #include "cpp_api/s_security.h" - +#include "lua_api/l_base.h" #include "filesys.h" #include "porting.h" #include "server.h" @@ -541,15 +541,8 @@ bool ScriptApiSecurity::checkPath(lua_State *L, const char *path, if (!removed.empty()) abs_path += DIR_DELIM + removed; - // Get server from registry - lua_rawgeti(L, LUA_REGISTRYINDEX, CUSTOM_RIDX_SCRIPTAPI); - ScriptApiBase *script; -#if INDIRECT_SCRIPTAPI_RIDX - script = (ScriptApiBase *) *(void**)(lua_touserdata(L, -1)); -#else - script = (ScriptApiBase *) lua_touserdata(L, -1); -#endif - lua_pop(L, 1); + // Get gamedef from registry + ScriptApiBase *script = ModApiBase::getScriptApiBase(L); const IGameDef *gamedef = script->getGameDef(); if (!gamedef) return false; @@ -672,13 +665,7 @@ int ScriptApiSecurity::sl_g_load(lua_State *L) int ScriptApiSecurity::sl_g_loadfile(lua_State *L) { #ifndef SERVER - lua_rawgeti(L, LUA_REGISTRYINDEX, CUSTOM_RIDX_SCRIPTAPI); -#if INDIRECT_SCRIPTAPI_RIDX - ScriptApiBase *script = (ScriptApiBase *) *(void**)(lua_touserdata(L, -1)); -#else - ScriptApiBase *script = (ScriptApiBase *) lua_touserdata(L, -1); -#endif - lua_pop(L, 1); + ScriptApiBase *script = ModApiBase::getScriptApiBase(L); // Client implementation if (script->getType() == ScriptingType::Client) { diff --git a/src/script/cpp_api/s_server.cpp b/src/script/cpp_api/s_server.cpp index 96cb28b28..6ddb2630d 100644 --- a/src/script/cpp_api/s_server.cpp +++ b/src/script/cpp_api/s_server.cpp @@ -20,6 +20,7 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "cpp_api/s_server.h" #include "cpp_api/s_internal.h" #include "common/c_converter.h" +#include "util/numeric.h" // myrand bool ScriptApiServer::getAuth(const std::string &playername, std::string *dst_password, @@ -196,3 +197,68 @@ std::string ScriptApiServer::formatChatMessage(const std::string &name, return ret; } + +u32 ScriptApiServer::allocateDynamicMediaCallback(int f_idx) +{ + lua_State *L = getStack(); + + if (f_idx < 0) + f_idx = lua_gettop(L) + f_idx + 1; + + lua_getglobal(L, "core"); + lua_getfield(L, -1, "dynamic_media_callbacks"); + luaL_checktype(L, -1, LUA_TTABLE); + + // Find a randomly generated token that doesn't exist yet + int tries = 100; + u32 token; + while (1) { + token = myrand(); + lua_rawgeti(L, -2, token); + bool is_free = lua_isnil(L, -1); + lua_pop(L, 1); + if (is_free) + break; + if (--tries < 0) + FATAL_ERROR("Ran out of callbacks IDs?!"); + } + + // core.dynamic_media_callbacks[token] = callback_func + lua_pushvalue(L, f_idx); + lua_rawseti(L, -2, token); + + lua_pop(L, 2); + + verbosestream << "allocateDynamicMediaCallback() = " << token << std::endl; + return token; +} + +void ScriptApiServer::freeDynamicMediaCallback(u32 token) +{ + lua_State *L = getStack(); + + verbosestream << "freeDynamicMediaCallback(" << token << ")" << std::endl; + + // core.dynamic_media_callbacks[token] = nil + lua_getglobal(L, "core"); + lua_getfield(L, -1, "dynamic_media_callbacks"); + luaL_checktype(L, -1, LUA_TTABLE); + lua_pushnil(L); + lua_rawseti(L, -2, token); + lua_pop(L, 2); +} + +void ScriptApiServer::on_dynamic_media_added(u32 token, const char *playername) +{ + SCRIPTAPI_PRECHECKHEADER + + int error_handler = PUSH_ERROR_HANDLER(L); + lua_getglobal(L, "core"); + lua_getfield(L, -1, "dynamic_media_callbacks"); + luaL_checktype(L, -1, LUA_TTABLE); + lua_rawgeti(L, -1, token); + luaL_checktype(L, -1, LUA_TFUNCTION); + + lua_pushstring(L, playername); + PCALL_RES(lua_pcall(L, 1, 0, error_handler)); +} diff --git a/src/script/cpp_api/s_server.h b/src/script/cpp_api/s_server.h index d8639cba7..c5c3d5596 100644 --- a/src/script/cpp_api/s_server.h +++ b/src/script/cpp_api/s_server.h @@ -49,6 +49,12 @@ public: const std::string &password); bool setPassword(const std::string &playername, const std::string &password); + + /* dynamic media handling */ + u32 allocateDynamicMediaCallback(int f_idx); + void freeDynamicMediaCallback(u32 token); + void on_dynamic_media_added(u32 token, const char *playername); + private: void getAuthHandler(); void readPrivileges(int index, std::set &result); diff --git a/src/script/lua_api/l_areastore.cpp b/src/script/lua_api/l_areastore.cpp index 908c766b0..45724e604 100644 --- a/src/script/lua_api/l_areastore.cpp +++ b/src/script/lua_api/l_areastore.cpp @@ -372,7 +372,7 @@ void LuaAreaStore::Register(lua_State *L) lua_pop(L, 1); // drop metatable - luaL_openlib(L, 0, methods, 0); // fill methodtable + luaL_register(L, nullptr, methods); // fill methodtable lua_pop(L, 1); // drop methodtable // Can be created from Lua (AreaStore()) diff --git a/src/script/lua_api/l_auth.cpp b/src/script/lua_api/l_auth.cpp index 0fc57ba3a..32d8a7411 100644 --- a/src/script/lua_api/l_auth.cpp +++ b/src/script/lua_api/l_auth.cpp @@ -32,8 +32,11 @@ AuthDatabase *ModApiAuth::getAuthDb(lua_State *L) { ServerEnvironment *server_environment = dynamic_cast(getEnv(L)); - if (!server_environment) + if (!server_environment) { + luaL_error(L, "Attempt to access an auth function but the auth" + " system is yet not initialized. This causes bugs."); return nullptr; + } return server_environment->getAuthDatabase(); } diff --git a/src/script/lua_api/l_camera.cpp b/src/script/lua_api/l_camera.cpp index 40251154c..d85d16283 100644 --- a/src/script/lua_api/l_camera.cpp +++ b/src/script/lua_api/l_camera.cpp @@ -219,7 +219,7 @@ void LuaCamera::Register(lua_State *L) lua_pop(L, 1); - luaL_openlib(L, 0, methods, 0); + luaL_register(L, nullptr, methods); lua_pop(L, 1); } diff --git a/src/script/lua_api/l_env.cpp b/src/script/lua_api/l_env.cpp index d6dc79ca8..74db996a4 100644 --- a/src/script/lua_api/l_env.cpp +++ b/src/script/lua_api/l_env.cpp @@ -46,13 +46,22 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "client/client.h" #endif -struct EnumString ModApiEnvMod::es_ClearObjectsMode[] = +const EnumString ModApiEnvMod::es_ClearObjectsMode[] = { {CLEAR_OBJECTS_MODE_FULL, "full"}, {CLEAR_OBJECTS_MODE_QUICK, "quick"}, {0, NULL}, }; +const EnumString ModApiEnvMod::es_BlockStatusType[] = +{ + {ServerEnvironment::BS_UNKNOWN, "unknown"}, + {ServerEnvironment::BS_EMERGING, "emerging"}, + {ServerEnvironment::BS_LOADED, "loaded"}, + {ServerEnvironment::BS_ACTIVE, "active"}, + {0, NULL}, +}; + /////////////////////////////////////////////////////////////////////////////// @@ -228,7 +237,7 @@ void LuaRaycast::Register(lua_State *L) lua_pop(L, 1); - luaL_openlib(L, 0, methods, 0); + luaL_register(L, nullptr, methods); lua_pop(L, 1); lua_register(L, className, create_object); @@ -1547,6 +1556,24 @@ int ModApiEnvMod::l_forceload_block(lua_State *L) return 0; } +// compare_block_status(nodepos) +int ModApiEnvMod::l_compare_block_status(lua_State *L) +{ + GET_ENV_PTR; + + v3s16 nodepos = check_v3s16(L, 1); + std::string condition_s = luaL_checkstring(L, 2); + auto status = env->getBlockStatus(getNodeBlockPos(nodepos)); + + int condition_i = -1; + if (!string_to_enum(es_BlockStatusType, condition_i, condition_s)) + return 0; // Unsupported + + lua_pushboolean(L, status >= condition_i); + return 1; +} + + // forceload_free_block(blockpos) // blockpos = {x=num, y=num, z=num} int ModApiEnvMod::l_forceload_free_block(lua_State *L) @@ -1620,6 +1647,7 @@ void ModApiEnvMod::Initialize(lua_State *L, int top) API_FCT(transforming_liquid_add); API_FCT(forceload_block); API_FCT(forceload_free_block); + API_FCT(compare_block_status); API_FCT(get_translated_string); } diff --git a/src/script/lua_api/l_env.h b/src/script/lua_api/l_env.h index 29044c0e8..a5ac21e21 100644 --- a/src/script/lua_api/l_env.h +++ b/src/script/lua_api/l_env.h @@ -207,6 +207,9 @@ private: // stops forceloading a position static int l_forceload_free_block(lua_State *L); + // compare_block_status(nodepos) + static int l_compare_block_status(lua_State *L); + // Get a string translated server side static int l_get_translated_string(lua_State * L); @@ -219,7 +222,8 @@ public: static void Initialize(lua_State *L, int top); static void InitializeClient(lua_State *L, int top); - static struct EnumString es_ClearObjectsMode[]; + static const EnumString es_ClearObjectsMode[]; + static const EnumString es_BlockStatusType[]; }; class LuaABM : public ActiveBlockModifier { @@ -231,17 +235,21 @@ private: float m_trigger_interval; u32 m_trigger_chance; bool m_simple_catch_up; + s16 m_min_y; + s16 m_max_y; public: LuaABM(lua_State *L, int id, const std::vector &trigger_contents, const std::vector &required_neighbors, - float trigger_interval, u32 trigger_chance, bool simple_catch_up): + float trigger_interval, u32 trigger_chance, bool simple_catch_up, s16 min_y, s16 max_y): m_id(id), m_trigger_contents(trigger_contents), m_required_neighbors(required_neighbors), m_trigger_interval(trigger_interval), m_trigger_chance(trigger_chance), - m_simple_catch_up(simple_catch_up) + m_simple_catch_up(simple_catch_up), + m_min_y(min_y), + m_max_y(max_y) { } virtual const std::vector &getTriggerContents() const @@ -264,6 +272,14 @@ public: { return m_simple_catch_up; } + virtual s16 getMinY() + { + return m_min_y; + } + virtual s16 getMaxY() + { + return m_max_y; + } virtual void trigger(ServerEnvironment *env, v3s16 p, MapNode n, u32 active_object_count, u32 active_object_count_wider); }; diff --git a/src/script/lua_api/l_http.cpp b/src/script/lua_api/l_http.cpp index 5ea3b3f99..751ec9837 100644 --- a/src/script/lua_api/l_http.cpp +++ b/src/script/lua_api/l_http.cpp @@ -42,12 +42,10 @@ void ModApiHttp::read_http_fetch_request(lua_State *L, HTTPFetchRequest &req) req.caller = httpfetch_caller_alloc_secure(); getstringfield(L, 1, "url", req.url); - lua_getfield(L, 1, "user_agent"); - if (lua_isstring(L, -1)) - req.useragent = getstringfield_default(L, 1, "user_agent", ""); - lua_pop(L, 1); + getstringfield(L, 1, "user_agent", req.useragent); req.multipart = getboolfield_default(L, 1, "multipart", false); - req.timeout = getintfield_default(L, 1, "timeout", 3) * 1000; + if (getintfield(L, 1, "timeout", req.timeout)) + req.timeout *= 1000; lua_getfield(L, 1, "method"); if (lua_isstring(L, -1)) { diff --git a/src/script/lua_api/l_inventory.cpp b/src/script/lua_api/l_inventory.cpp index 434d0a76c..0dd418462 100644 --- a/src/script/lua_api/l_inventory.cpp +++ b/src/script/lua_api/l_inventory.cpp @@ -456,7 +456,7 @@ void InvRef::Register(lua_State *L) lua_pop(L, 1); // drop metatable - luaL_openlib(L, 0, methods, 0); // fill methodtable + luaL_register(L, nullptr, methods); // fill methodtable lua_pop(L, 1); // drop methodtable // Cannot be created from Lua diff --git a/src/script/lua_api/l_item.cpp b/src/script/lua_api/l_item.cpp index b098eccf0..2ea2bd4f6 100644 --- a/src/script/lua_api/l_item.cpp +++ b/src/script/lua_api/l_item.cpp @@ -488,7 +488,7 @@ void LuaItemStack::Register(lua_State *L) lua_pop(L, 1); // drop metatable - luaL_openlib(L, 0, methods, 0); // fill methodtable + luaL_register(L, nullptr, methods); // fill methodtable lua_pop(L, 1); // drop methodtable // Can be created from Lua (ItemStack(itemstack or itemstring or table or nil)) diff --git a/src/script/lua_api/l_itemstackmeta.cpp b/src/script/lua_api/l_itemstackmeta.cpp index d1ba1bda4..739fb9221 100644 --- a/src/script/lua_api/l_itemstackmeta.cpp +++ b/src/script/lua_api/l_itemstackmeta.cpp @@ -114,7 +114,7 @@ void ItemStackMetaRef::Register(lua_State *L) lua_pop(L, 1); // drop metatable - luaL_openlib(L, 0, methods, 0); // fill methodtable + luaL_register(L, nullptr, methods); // fill methodtable lua_pop(L, 1); // drop methodtable // Cannot be created from Lua diff --git a/src/script/lua_api/l_localplayer.cpp b/src/script/lua_api/l_localplayer.cpp index 4f57ee00f..769b3ef2b 100644 --- a/src/script/lua_api/l_localplayer.cpp +++ b/src/script/lua_api/l_localplayer.cpp @@ -295,16 +295,20 @@ int LuaLocalPlayer::l_get_control(lua_State *L) }; lua_createtable(L, 0, 12); - set("up", c.up); - set("down", c.down); - set("left", c.left); - set("right", c.right); - set("jump", c.jump); - set("aux1", c.aux1); + set("jump", c.jump); + set("aux1", c.aux1); set("sneak", c.sneak); - set("zoom", c.zoom); - set("dig", c.dig); + set("zoom", c.zoom); + set("dig", c.dig); set("place", c.place); + // Player movement in polar coordinates and non-binary speed + set("movement_speed", c.movement_speed); + set("movement_direction", c.movement_direction); + // Provide direction keys to ensure compatibility + set("up", player->keyPressed & (1 << 0)); // Up, down, left, and right were removed in favor of + set("down", player->keyPressed & (1 << 1)); // analog direction indicators and are therefore not + set("left", player->keyPressed & (1 << 2)); // available as booleans anymore. The corresponding values + set("right", player->keyPressed & (1 << 3)); // can still be read from the keyPressed bits though. return 1; } @@ -452,10 +456,11 @@ int LuaLocalPlayer::l_hud_change(lua_State *L) if (!element) return 0; + HudElementStat stat; void *unused; - read_hud_change(L, element, &unused); + bool ok = read_hud_change(L, stat, element, &unused); - lua_pushboolean(L, true); + lua_pushboolean(L, ok); return 1; } @@ -550,7 +555,7 @@ void LuaLocalPlayer::Register(lua_State *L) lua_pop(L, 1); // Drop metatable - luaL_openlib(L, 0, methods, 0); // fill methodtable + luaL_register(L, nullptr, methods); // fill methodtable lua_pop(L, 1); // Drop methodtable } diff --git a/src/script/lua_api/l_mainmenu.cpp b/src/script/lua_api/l_mainmenu.cpp index d88bf31c1..8eb0e252a 100644 --- a/src/script/lua_api/l_mainmenu.cpp +++ b/src/script/lua_api/l_mainmenu.cpp @@ -21,6 +21,7 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "lua_api/l_internal.h" #include "common/c_content.h" #include "cpp_api/s_async.h" +#include "scripting_mainmenu.h" #include "gui/guiEngine.h" #include "gui/guiMainMenu.h" #include "gui/guiKeyChangeMenu.h" @@ -741,13 +742,12 @@ int ModApiMainMenu::l_get_video_drivers(lua_State *L) lua_newtable(L); for (u32 i = 0; i != drivers.size(); i++) { - const char *name = RenderingEngine::getVideoDriverName(drivers[i]); - const char *fname = RenderingEngine::getVideoDriverFriendlyName(drivers[i]); + auto &info = RenderingEngine::getVideoDriverInfo(drivers[i]); lua_newtable(L); - lua_pushstring(L, name); + lua_pushstring(L, info.name.c_str()); lua_setfield(L, -2, "name"); - lua_pushstring(L, fname); + lua_pushstring(L, info.friendly_name.c_str()); lua_setfield(L, -2, "friendly_name"); lua_rawseti(L, -2, i + 1); @@ -756,28 +756,6 @@ int ModApiMainMenu::l_get_video_drivers(lua_State *L) return 1; } -/******************************************************************************/ -int ModApiMainMenu::l_get_video_modes(lua_State *L) -{ - std::vector > videomodes - = RenderingEngine::getSupportedVideoModes(); - - lua_newtable(L); - for (u32 i = 0; i != videomodes.size(); i++) { - lua_newtable(L); - lua_pushnumber(L, videomodes[i].X); - lua_setfield(L, -2, "w"); - lua_pushnumber(L, videomodes[i].Y); - lua_setfield(L, -2, "h"); - lua_pushnumber(L, videomodes[i].Z); - lua_setfield(L, -2, "depth"); - - lua_rawseti(L, -2, i + 1); - } - - return 1; -} - /******************************************************************************/ int ModApiMainMenu::l_gettext(lua_State *L) { @@ -843,20 +821,20 @@ int ModApiMainMenu::l_open_dir(lua_State *L) /******************************************************************************/ int ModApiMainMenu::l_do_async_callback(lua_State *L) { - GUIEngine* engine = getGuiEngine(L); + MainMenuScripting *script = getScriptApi(L); size_t func_length, param_length; const char* serialized_func_raw = luaL_checklstring(L, 1, &func_length); - const char* serialized_param_raw = luaL_checklstring(L, 2, ¶m_length); sanity_check(serialized_func_raw != NULL); sanity_check(serialized_param_raw != NULL); - std::string serialized_func = std::string(serialized_func_raw, func_length); - std::string serialized_param = std::string(serialized_param_raw, param_length); + u32 jobId = script->queueAsync( + std::string(serialized_func_raw, func_length), + std::string(serialized_param_raw, param_length)); - lua_pushinteger(L, engine->queueAsync(serialized_func, serialized_param)); + lua_pushinteger(L, jobId); return 1; } @@ -899,7 +877,6 @@ void ModApiMainMenu::Initialize(lua_State *L, int top) API_FCT(download_file); API_FCT(gettext); API_FCT(get_video_drivers); - API_FCT(get_video_modes); API_FCT(get_screen_info); API_FCT(get_min_supp_proto); API_FCT(get_max_supp_proto); diff --git a/src/script/lua_api/l_mainmenu.h b/src/script/lua_api/l_mainmenu.h index 33ac9e721..ec2d20da2 100644 --- a/src/script/lua_api/l_mainmenu.h +++ b/src/script/lua_api/l_mainmenu.h @@ -140,8 +140,6 @@ private: static int l_get_video_drivers(lua_State *L); - static int l_get_video_modes(lua_State *L); - //version compatibility static int l_get_min_supp_proto(lua_State *L); diff --git a/src/script/lua_api/l_mapgen.cpp b/src/script/lua_api/l_mapgen.cpp index eb3d49a5e..f173bd162 100644 --- a/src/script/lua_api/l_mapgen.cpp +++ b/src/script/lua_api/l_mapgen.cpp @@ -752,9 +752,7 @@ int ModApiMapgen::l_get_mapgen_params(lua_State *L) lua_setfield(L, -2, "mgname"); settingsmgr->getMapSetting("seed", &value); - std::istringstream ss(value); - u64 seed; - ss >> seed; + u64 seed = from_string(value); lua_pushinteger(L, seed); lua_setfield(L, -2, "seed"); diff --git a/src/script/lua_api/l_minimap.cpp b/src/script/lua_api/l_minimap.cpp index 3bbb6e5e3..a135e0bd5 100644 --- a/src/script/lua_api/l_minimap.cpp +++ b/src/script/lua_api/l_minimap.cpp @@ -211,7 +211,7 @@ void LuaMinimap::Register(lua_State *L) lua_pop(L, 1); // drop metatable - luaL_openlib(L, 0, methods, 0); // fill methodtable + luaL_register(L, nullptr, methods); // fill methodtable lua_pop(L, 1); // drop methodtable } diff --git a/src/script/lua_api/l_modchannels.cpp b/src/script/lua_api/l_modchannels.cpp index 0485b276a..931c2749c 100644 --- a/src/script/lua_api/l_modchannels.cpp +++ b/src/script/lua_api/l_modchannels.cpp @@ -107,7 +107,7 @@ void ModChannelRef::Register(lua_State *L) lua_pop(L, 1); // Drop metatable - luaL_openlib(L, 0, methods, 0); // fill methodtable + luaL_register(L, nullptr, methods); // fill methodtable lua_pop(L, 1); // Drop methodtable } diff --git a/src/script/lua_api/l_nodemeta.cpp b/src/script/lua_api/l_nodemeta.cpp index 57052cb42..60d14f8f2 100644 --- a/src/script/lua_api/l_nodemeta.cpp +++ b/src/script/lua_api/l_nodemeta.cpp @@ -234,7 +234,7 @@ void NodeMetaRef::RegisterCommon(lua_State *L) void NodeMetaRef::Register(lua_State *L) { RegisterCommon(L); - luaL_openlib(L, 0, methodsServer, 0); // fill methodtable + luaL_register(L, nullptr, methodsServer); // fill methodtable lua_pop(L, 1); // drop methodtable } @@ -260,7 +260,7 @@ const luaL_Reg NodeMetaRef::methodsServer[] = { void NodeMetaRef::RegisterClient(lua_State *L) { RegisterCommon(L); - luaL_openlib(L, 0, methodsClient, 0); // fill methodtable + luaL_register(L, nullptr, methodsClient); // fill methodtable lua_pop(L, 1); // drop methodtable } diff --git a/src/script/lua_api/l_nodetimer.cpp b/src/script/lua_api/l_nodetimer.cpp index c2df52c05..8a302149f 100644 --- a/src/script/lua_api/l_nodetimer.cpp +++ b/src/script/lua_api/l_nodetimer.cpp @@ -122,7 +122,7 @@ void NodeTimerRef::Register(lua_State *L) lua_pop(L, 1); // drop metatable - luaL_openlib(L, 0, methods, 0); // fill methodtable + luaL_register(L, nullptr, methods); // fill methodtable lua_pop(L, 1); // drop methodtable // Cannot be created from Lua diff --git a/src/script/lua_api/l_noise.cpp b/src/script/lua_api/l_noise.cpp index e0861126a..f43ba837a 100644 --- a/src/script/lua_api/l_noise.cpp +++ b/src/script/lua_api/l_noise.cpp @@ -122,7 +122,7 @@ void LuaPerlinNoise::Register(lua_State *L) lua_pop(L, 1); - luaL_openlib(L, 0, methods, 0); + luaL_register(L, nullptr, methods); lua_pop(L, 1); lua_register(L, className, create_object); @@ -380,7 +380,7 @@ void LuaPerlinNoiseMap::Register(lua_State *L) lua_pop(L, 1); - luaL_openlib(L, 0, methods, 0); + luaL_register(L, nullptr, methods); lua_pop(L, 1); lua_register(L, className, create_object); @@ -485,7 +485,7 @@ void LuaPseudoRandom::Register(lua_State *L) lua_pop(L, 1); - luaL_openlib(L, 0, methods, 0); + luaL_register(L, nullptr, methods); lua_pop(L, 1); lua_register(L, className, create_object); @@ -584,7 +584,7 @@ void LuaPcgRandom::Register(lua_State *L) lua_pop(L, 1); - luaL_openlib(L, 0, methods, 0); + luaL_register(L, nullptr, methods); lua_pop(L, 1); lua_register(L, className, create_object); @@ -699,7 +699,7 @@ void LuaSecureRandom::Register(lua_State *L) lua_pop(L, 1); - luaL_openlib(L, 0, methods, 0); + luaL_register(L, nullptr, methods); lua_pop(L, 1); lua_register(L, className, create_object); diff --git a/src/script/lua_api/l_object.cpp b/src/script/lua_api/l_object.cpp index 8ae99b929..b7185f7ec 100644 --- a/src/script/lua_api/l_object.cpp +++ b/src/script/lua_api/l_object.cpp @@ -172,27 +172,11 @@ int ObjectRef::l_punch(lua_State *L) float time_from_last_punch = readParam(L, 3, 1000000.0f); ToolCapabilities toolcap = read_tool_capabilities(L, 4); v3f dir = readParam(L, 5, sao->getBasePosition() - puncher->getBasePosition()); - dir.normalize(); - u16 src_original_hp = sao->getHP(); - u16 dst_origin_hp = puncher->getHP(); u16 wear = sao->punch(dir, &toolcap, puncher, time_from_last_punch); lua_pushnumber(L, wear); - // If the punched is a player, and its HP changed - if (src_original_hp != sao->getHP() && - sao->getType() == ACTIVEOBJECT_TYPE_PLAYER) { - getServer(L)->SendPlayerHPOrDie((PlayerSAO *)sao, - PlayerHPChangeReason(PlayerHPChangeReason::PLAYER_PUNCH, puncher)); - } - - // If the puncher is a player, and its HP changed - if (dst_origin_hp != puncher->getHP() && - puncher->getType() == ACTIVEOBJECT_TYPE_PLAYER) { - getServer(L)->SendPlayerHPOrDie((PlayerSAO *)puncher, - PlayerHPChangeReason(PlayerHPChangeReason::PLAYER_PUNCH, sao)); - } return 1; } @@ -238,8 +222,6 @@ int ObjectRef::l_set_hp(lua_State *L) } sao->setHP(hp, reason); - if (sao->getType() == ACTIVEOBJECT_TYPE_PLAYER) - getServer(L)->SendPlayerHPOrDie((PlayerSAO *)sao, reason); if (reason.hasLuaReference()) luaL_unref(L, LUA_REGISTRYINDEX, reason.lua_reference); return 0; @@ -685,6 +667,7 @@ int ObjectRef::l_set_properties(lua_State *L) return 0; read_object_properties(L, 2, sao, prop, getServer(L)->idef()); + prop->validate(); sao->notifyObjectPropertiesModified(); return 0; } @@ -752,6 +735,7 @@ int ObjectRef::l_set_nametag_attributes(lua_State *L) std::string nametag = getstringfield_default(L, 2, "text", ""); prop->nametag = nametag; + prop->validate(); sao->notifyObjectPropertiesModified(); lua_pushboolean(L, true); return 1; @@ -1390,13 +1374,13 @@ int ObjectRef::l_get_player_control(lua_State *L) const PlayerControl &control = player->getPlayerControl(); lua_newtable(L); - lua_pushboolean(L, control.up); + lua_pushboolean(L, player->keyPressed & (1 << 0)); lua_setfield(L, -2, "up"); - lua_pushboolean(L, control.down); + lua_pushboolean(L, player->keyPressed & (1 << 1)); lua_setfield(L, -2, "down"); - lua_pushboolean(L, control.left); + lua_pushboolean(L, player->keyPressed & (1 << 2)); lua_setfield(L, -2, "left"); - lua_pushboolean(L, control.right); + lua_pushboolean(L, player->keyPressed & (1 << 3)); lua_setfield(L, -2, "right"); lua_pushboolean(L, control.jump); lua_setfield(L, -2, "jump"); @@ -1553,12 +1537,14 @@ int ObjectRef::l_hud_change(lua_State *L) if (elem == nullptr) return 0; + HudElementStat stat; void *value = nullptr; - HudElementStat stat = read_hud_change(L, elem, &value); + bool ok = read_hud_change(L, stat, elem, &value); - getServer(L)->hudChange(player, id, stat, value); + if (ok) + getServer(L)->hudChange(player, id, stat, value); - lua_pushboolean(L, true); + lua_pushboolean(L, ok); return 1; } @@ -2311,7 +2297,7 @@ void ObjectRef::Register(lua_State *L) lua_pop(L, 1); // drop metatable - luaL_openlib(L, 0, methods, 0); // fill methodtable + luaL_register(L, nullptr, methods); // fill methodtable lua_pop(L, 1); // drop methodtable } diff --git a/src/script/lua_api/l_playermeta.cpp b/src/script/lua_api/l_playermeta.cpp index 558672e38..2706c99df 100644 --- a/src/script/lua_api/l_playermeta.cpp +++ b/src/script/lua_api/l_playermeta.cpp @@ -97,7 +97,7 @@ void PlayerMetaRef::Register(lua_State *L) lua_pop(L, 1); // drop metatable - luaL_openlib(L, 0, methods, 0); + luaL_register(L, nullptr, methods); lua_pop(L, 1); // Cannot be created from Lua diff --git a/src/script/lua_api/l_server.cpp b/src/script/lua_api/l_server.cpp index 026f5282c..b4672fe2a 100644 --- a/src/script/lua_api/l_server.cpp +++ b/src/script/lua_api/l_server.cpp @@ -23,6 +23,7 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "common/c_content.h" #include "cpp_api/s_base.h" #include "cpp_api/s_security.h" +#include "scripting_server.h" #include "server.h" #include "environment.h" #include "remoteplayer.h" @@ -453,29 +454,37 @@ int ModApiServer::l_sound_fade(lua_State *L) } // dynamic_add_media(filepath) -int ModApiServer::l_dynamic_add_media_raw(lua_State *L) +int ModApiServer::l_dynamic_add_media(lua_State *L) { NO_MAP_LOCK_REQUIRED; if (!getEnv(L)) throw LuaError("Dynamic media cannot be added before server has started up"); + Server *server = getServer(L); + + std::string filepath; + std::string to_player; + bool ephemeral = false; + + if (lua_istable(L, 1)) { + getstringfield(L, 1, "filepath", filepath); + getstringfield(L, 1, "to_player", to_player); + getboolfield(L, 1, "ephemeral", ephemeral); + } else { + filepath = readParam(L, 1); + } + if (filepath.empty()) + luaL_typerror(L, 1, "non-empty string"); + luaL_checktype(L, 2, LUA_TFUNCTION); - std::string filepath = readParam(L, 1); CHECK_SECURE_PATH(L, filepath.c_str(), false); - std::vector sent_to; - bool ok = getServer(L)->dynamicAddMedia(filepath, sent_to); - if (ok) { - // (see wrapper code in builtin) - lua_createtable(L, sent_to.size(), 0); - int i = 0; - for (RemotePlayer *player : sent_to) { - lua_pushstring(L, player->getName()); - lua_rawseti(L, -2, ++i); - } - } else { - lua_pushboolean(L, false); - } + u32 token = server->getScriptIface()->allocateDynamicMediaCallback(2); + + bool ok = server->dynamicAddMedia(filepath, token, to_player, ephemeral); + if (!ok) + server->getScriptIface()->freeDynamicMediaCallback(token); + lua_pushboolean(L, ok); return 1; } @@ -499,31 +508,6 @@ int ModApiServer::l_notify_authentication_modified(lua_State *L) return 0; } -// get_last_run_mod() -int ModApiServer::l_get_last_run_mod(lua_State *L) -{ - NO_MAP_LOCK_REQUIRED; - lua_rawgeti(L, LUA_REGISTRYINDEX, CUSTOM_RIDX_CURRENT_MOD_NAME); - std::string current_mod = readParam(L, -1, ""); - if (current_mod.empty()) { - lua_pop(L, 1); - lua_pushstring(L, getScriptApiBase(L)->getOrigin().c_str()); - } - return 1; -} - -// set_last_run_mod(modname) -int ModApiServer::l_set_last_run_mod(lua_State *L) -{ - NO_MAP_LOCK_REQUIRED; -#ifdef SCRIPTAPI_DEBUG - const char *mod = lua_tostring(L, 1); - getScriptApiBase(L)->setOriginDirect(mod); - //printf(">>>> last mod set from Lua: %s\n", mod); -#endif - return 0; -} - void ModApiServer::Initialize(lua_State *L, int top) { API_FCT(request_shutdown); @@ -544,7 +528,7 @@ void ModApiServer::Initialize(lua_State *L, int top) API_FCT(sound_play); API_FCT(sound_stop); API_FCT(sound_fade); - API_FCT(dynamic_add_media_raw); + API_FCT(dynamic_add_media); API_FCT(get_player_information); API_FCT(get_player_privs); @@ -555,7 +539,4 @@ void ModApiServer::Initialize(lua_State *L, int top) API_FCT(kick_player); API_FCT(unban_player_or_ip); API_FCT(notify_authentication_modified); - - API_FCT(get_last_run_mod); - API_FCT(set_last_run_mod); } diff --git a/src/script/lua_api/l_server.h b/src/script/lua_api/l_server.h index 2df180b17..c688e494b 100644 --- a/src/script/lua_api/l_server.h +++ b/src/script/lua_api/l_server.h @@ -71,7 +71,7 @@ private: static int l_sound_fade(lua_State *L); // dynamic_add_media(filepath) - static int l_dynamic_add_media_raw(lua_State *L); + static int l_dynamic_add_media(lua_State *L); // get_player_privs(name, text) static int l_get_player_privs(lua_State *L); @@ -103,12 +103,6 @@ private: // notify_authentication_modified(name) static int l_notify_authentication_modified(lua_State *L); - // get_last_run_mod() - static int l_get_last_run_mod(lua_State *L); - - // set_last_run_mod(modname) - static int l_set_last_run_mod(lua_State *L); - public: static void Initialize(lua_State *L, int top); }; diff --git a/src/script/lua_api/l_settings.cpp b/src/script/lua_api/l_settings.cpp index a82073ed4..14398dda2 100644 --- a/src/script/lua_api/l_settings.cpp +++ b/src/script/lua_api/l_settings.cpp @@ -334,7 +334,7 @@ void LuaSettings::Register(lua_State* L) lua_pop(L, 1); // drop metatable - luaL_openlib(L, 0, methods, 0); // fill methodtable + luaL_register(L, nullptr, methods); // fill methodtable lua_pop(L, 1); // drop methodtable // Can be created from Lua (Settings(filename)) diff --git a/src/script/lua_api/l_storage.cpp b/src/script/lua_api/l_storage.cpp index cba34fb63..978b315d5 100644 --- a/src/script/lua_api/l_storage.cpp +++ b/src/script/lua_api/l_storage.cpp @@ -110,7 +110,7 @@ void StorageRef::Register(lua_State *L) lua_pop(L, 1); // drop metatable - luaL_openlib(L, 0, methods, 0); // fill methodtable + luaL_register(L, nullptr, methods); // fill methodtable lua_pop(L, 1); // drop methodtable } diff --git a/src/script/lua_api/l_util.cpp b/src/script/lua_api/l_util.cpp index 624828956..d575eb603 100644 --- a/src/script/lua_api/l_util.cpp +++ b/src/script/lua_api/l_util.cpp @@ -40,6 +40,7 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "version.h" #include "util/hex.h" #include "util/sha1.h" +#include "util/png.h" #include #include @@ -271,11 +272,11 @@ int ModApiUtil::l_compress(lua_State *L) const char *data = luaL_checklstring(L, 1, &size); int level = -1; - if (!lua_isnone(L, 3) && !lua_isnil(L, 3)) - level = readParam(L, 3); + if (!lua_isnoneornil(L, 3)) + level = readParam(L, 3); - std::ostringstream os; - compressZlib(std::string(data, size), os, level); + std::ostringstream os(std::ios_base::binary); + compressZlib(reinterpret_cast(data), size, os, level); std::string out = os.str(); @@ -291,8 +292,8 @@ int ModApiUtil::l_decompress(lua_State *L) size_t size; const char *data = luaL_checklstring(L, 1, &size); - std::istringstream is(std::string(data, size)); - std::ostringstream os; + std::istringstream is(std::string(data, size), std::ios_base::binary); + std::ostringstream os(std::ios_base::binary); decompressZlib(is, os); std::string out = os.str(); @@ -497,6 +498,67 @@ int ModApiUtil::l_colorspec_to_colorstring(lua_State *L) return 0; } +// colorspec_to_bytes(colorspec) +int ModApiUtil::l_colorspec_to_bytes(lua_State *L) +{ + NO_MAP_LOCK_REQUIRED; + + video::SColor color(0); + if (read_color(L, 1, &color)) { + u8 colorbytes[4] = { + (u8) color.getRed(), + (u8) color.getGreen(), + (u8) color.getBlue(), + (u8) color.getAlpha(), + }; + lua_pushlstring(L, (const char*) colorbytes, 4); + return 1; + } + + return 0; +} + +// encode_png(w, h, data, level) +int ModApiUtil::l_encode_png(lua_State *L) +{ + NO_MAP_LOCK_REQUIRED; + + // The args are already pre-validated on the lua side. + u32 width = readParam(L, 1); + u32 height = readParam(L, 2); + const char *data = luaL_checklstring(L, 3, NULL); + s32 compression = readParam(L, 4); + + std::string out = encodePNG((const u8*)data, width, height, compression); + + lua_pushlstring(L, out.data(), out.size()); + return 1; +} + +// get_last_run_mod() +int ModApiUtil::l_get_last_run_mod(lua_State *L) +{ + NO_MAP_LOCK_REQUIRED; + + lua_rawgeti(L, LUA_REGISTRYINDEX, CUSTOM_RIDX_CURRENT_MOD_NAME); + std::string current_mod = readParam(L, -1, ""); + if (current_mod.empty()) { + lua_pop(L, 1); + lua_pushstring(L, getScriptApiBase(L)->getOrigin().c_str()); + } + return 1; +} + +// set_last_run_mod(modname) +int ModApiUtil::l_set_last_run_mod(lua_State *L) +{ + NO_MAP_LOCK_REQUIRED; + + const char *mod = luaL_checkstring(L, 1); + getScriptApiBase(L)->setOriginDirect(mod); + return 0; +} + void ModApiUtil::Initialize(lua_State *L, int top) { API_FCT(log); @@ -532,6 +594,12 @@ void ModApiUtil::Initialize(lua_State *L, int top) API_FCT(get_version); API_FCT(sha1); API_FCT(colorspec_to_colorstring); + API_FCT(colorspec_to_bytes); + + API_FCT(encode_png); + + API_FCT(get_last_run_mod); + API_FCT(set_last_run_mod); LuaSettings::create(L, g_settings, g_settings_path); lua_setfield(L, top, "settings"); @@ -559,6 +627,7 @@ void ModApiUtil::InitializeClient(lua_State *L, int top) API_FCT(get_version); API_FCT(sha1); API_FCT(colorspec_to_colorstring); + API_FCT(colorspec_to_bytes); LuaSettings::create(L, g_settings, g_settings_path); lua_setfield(L, top, "settings"); @@ -590,6 +659,10 @@ void ModApiUtil::InitializeAsync(lua_State *L, int top) API_FCT(get_version); API_FCT(sha1); API_FCT(colorspec_to_colorstring); + API_FCT(colorspec_to_bytes); + + API_FCT(get_last_run_mod); + API_FCT(set_last_run_mod); LuaSettings::create(L, g_settings, g_settings_path); lua_setfield(L, top, "settings"); diff --git a/src/script/lua_api/l_util.h b/src/script/lua_api/l_util.h index 6943a6afb..cc91e8d39 100644 --- a/src/script/lua_api/l_util.h +++ b/src/script/lua_api/l_util.h @@ -104,6 +104,18 @@ private: // colorspec_to_colorstring(colorspec) static int l_colorspec_to_colorstring(lua_State *L); + // colorspec_to_bytes(colorspec) + static int l_colorspec_to_bytes(lua_State *L); + + // encode_png(w, h, data, level) + static int l_encode_png(lua_State *L); + + // get_last_run_mod() + static int l_get_last_run_mod(lua_State *L); + + // set_last_run_mod(modname) + static int l_set_last_run_mod(lua_State *L); + public: static void Initialize(lua_State *L, int top); static void InitializeAsync(lua_State *L, int top); diff --git a/src/script/lua_api/l_vmanip.cpp b/src/script/lua_api/l_vmanip.cpp index b99b1d98c..e040e545b 100644 --- a/src/script/lua_api/l_vmanip.cpp +++ b/src/script/lua_api/l_vmanip.cpp @@ -450,7 +450,7 @@ void LuaVoxelManip::Register(lua_State *L) lua_pop(L, 1); // drop metatable - luaL_openlib(L, 0, methods, 0); // fill methodtable + luaL_register(L, nullptr, methods); // fill methodtable lua_pop(L, 1); // drop methodtable // Can be created from Lua (VoxelManip()) diff --git a/src/script/scripting_mainmenu.cpp b/src/script/scripting_mainmenu.cpp index b102a66a1..2a0cadb23 100644 --- a/src/script/scripting_mainmenu.cpp +++ b/src/script/scripting_mainmenu.cpp @@ -92,9 +92,9 @@ void MainMenuScripting::step() } /******************************************************************************/ -unsigned int MainMenuScripting::queueAsync(const std::string &serialized_func, - const std::string &serialized_param) +u32 MainMenuScripting::queueAsync(std::string &&serialized_func, + std::string &&serialized_param) { - return asyncEngine.queueAsyncJob(serialized_func, serialized_param); + return asyncEngine.queueAsyncJob(std::move(serialized_func), std::move(serialized_param)); } diff --git a/src/script/scripting_mainmenu.h b/src/script/scripting_mainmenu.h index 9e23bdc1b..3c329654a 100644 --- a/src/script/scripting_mainmenu.h +++ b/src/script/scripting_mainmenu.h @@ -38,8 +38,9 @@ public: void step(); // Pass async events from engine to async threads - unsigned int queueAsync(const std::string &serialized_func, - const std::string &serialized_params); + u32 queueAsync(std::string &&serialized_func, + std::string &&serialized_param); + private: void initializeModApi(lua_State *L, int top); static void registerLuaClasses(lua_State *L, int top); diff --git a/src/serialization.cpp b/src/serialization.cpp index 310604f54..b6ce3b37f 100644 --- a/src/serialization.cpp +++ b/src/serialization.cpp @@ -21,7 +21,8 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "util/serialize.h" -#include "zlib.h" +#include +#include /* report a zlib or i/o error */ void zerr(int ret) @@ -197,27 +198,133 @@ void decompressZlib(std::istream &is, std::ostream &os, size_t limit) inflateEnd(&z); } -void compress(const SharedBuffer &data, std::ostream &os, u8 version) +struct ZSTD_Deleter { + void operator() (ZSTD_CStream* cstream) { + ZSTD_freeCStream(cstream); + } + + void operator() (ZSTD_DStream* dstream) { + ZSTD_freeDStream(dstream); + } +}; + +void compressZstd(const u8 *data, size_t data_size, std::ostream &os, int level) { - if(version >= 11) + // reusing the context is recommended for performance + // it will destroyed when the thread ends + thread_local std::unique_ptr stream(ZSTD_createCStream()); + + ZSTD_initCStream(stream.get(), level); + + const size_t bufsize = 16384; + char output_buffer[bufsize]; + + ZSTD_inBuffer input = { data, data_size, 0 }; + ZSTD_outBuffer output = { output_buffer, bufsize, 0 }; + + while (input.pos < input.size) { + size_t ret = ZSTD_compressStream(stream.get(), &output, &input); + if (ZSTD_isError(ret)) { + dstream << ZSTD_getErrorName(ret) << std::endl; + throw SerializationError("compressZstd: failed"); + } + if (output.pos) { + os.write(output_buffer, output.pos); + output.pos = 0; + } + } + + size_t ret; + do { + ret = ZSTD_endStream(stream.get(), &output); + if (ZSTD_isError(ret)) { + dstream << ZSTD_getErrorName(ret) << std::endl; + throw SerializationError("compressZstd: failed"); + } + if (output.pos) { + os.write(output_buffer, output.pos); + output.pos = 0; + } + } while (ret != 0); + +} + +void compressZstd(const std::string &data, std::ostream &os, int level) +{ + compressZstd((u8*)data.c_str(), data.size(), os, level); +} + +void decompressZstd(std::istream &is, std::ostream &os) +{ + // reusing the context is recommended for performance + // it will destroyed when the thread ends + thread_local std::unique_ptr stream(ZSTD_createDStream()); + + ZSTD_initDStream(stream.get()); + + const size_t bufsize = 16384; + char output_buffer[bufsize]; + char input_buffer[bufsize]; + + ZSTD_outBuffer output = { output_buffer, bufsize, 0 }; + ZSTD_inBuffer input = { input_buffer, 0, 0 }; + size_t ret; + do { - compressZlib(*data ,data.getSize(), os); + if (input.size == input.pos) { + is.read(input_buffer, bufsize); + input.size = is.gcount(); + input.pos = 0; + } + + ret = ZSTD_decompressStream(stream.get(), &output, &input); + if (ZSTD_isError(ret)) { + dstream << ZSTD_getErrorName(ret) << std::endl; + throw SerializationError("decompressZstd: failed"); + } + if (output.pos) { + os.write(output_buffer, output.pos); + output.pos = 0; + } + } while (ret != 0); + + // Unget all the data that ZSTD_decompressStream didn't take + is.clear(); // Just in case EOF is set + for (u32 i = 0; i < input.size - input.pos; i++) { + is.unget(); + if (is.fail() || is.bad()) + throw SerializationError("decompressZstd: unget failed"); + } +} + +void compress(u8 *data, u32 size, std::ostream &os, u8 version, int level) +{ + if(version >= 29) + { + // map the zlib levels [0,9] to [1,10]. -1 becomes 0 which indicates the default (currently 3) + compressZstd(data, size, os, level + 1); return; } - if(data.getSize() == 0) + if(version >= 11) + { + compressZlib(data, size, os, level); + return; + } + + if(size == 0) return; // Write length (u32) u8 tmp[4]; - writeU32(tmp, data.getSize()); + writeU32(tmp, size); os.write((char*)tmp, 4); // We will be writing 8-bit pairs of more_count and byte u8 more_count = 0; u8 current_byte = data[0]; - for(u32 i=1; i &data, std::ostream &os, u8 version) os.write((char*)¤t_byte, 1); } +void compress(const SharedBuffer &data, std::ostream &os, u8 version, int level) +{ + compress(*data, data.getSize(), os, version, level); +} + +void compress(const std::string &data, std::ostream &os, u8 version, int level) +{ + compress((u8*)data.c_str(), data.size(), os, version, level); +} + void decompress(std::istream &is, std::ostream &os, u8 version) { + if(version >= 29) + { + decompressZstd(is, os); + return; + } + if(version >= 11) { decompressZlib(is, os); diff --git a/src/serialization.h b/src/serialization.h index f399983c4..e83a8c179 100644 --- a/src/serialization.h +++ b/src/serialization.h @@ -63,13 +63,14 @@ with this program; if not, write to the Free Software Foundation, Inc., 26: Never written; read the same as 25 27: Added light spreading flags to blocks 28: Added "private" flag to NodeMetadata + 29: Switched compression to zstd, a bit of reorganization */ // This represents an uninitialized or invalid format #define SER_FMT_VER_INVALID 255 // Highest supported serialization version -#define SER_FMT_VER_HIGHEST_READ 28 +#define SER_FMT_VER_HIGHEST_READ 29 // Saved on disk version -#define SER_FMT_VER_HIGHEST_WRITE 28 +#define SER_FMT_VER_HIGHEST_WRITE 29 // Lowest supported serialization version #define SER_FMT_VER_LOWEST_READ 0 // Lowest serialization version for writing @@ -89,7 +90,12 @@ void compressZlib(const u8 *data, size_t data_size, std::ostream &os, int level void compressZlib(const std::string &data, std::ostream &os, int level = -1); void decompressZlib(std::istream &is, std::ostream &os, size_t limit = 0); +void compressZstd(const u8 *data, size_t data_size, std::ostream &os, int level = 0); +void compressZstd(const std::string &data, std::ostream &os, int level = 0); +void decompressZstd(std::istream &is, std::ostream &os); + // These choose between zlib and a self-made one according to version -void compress(const SharedBuffer &data, std::ostream &os, u8 version); -//void compress(const std::string &data, std::ostream &os, u8 version); +void compress(const SharedBuffer &data, std::ostream &os, u8 version, int level = -1); +void compress(const std::string &data, std::ostream &os, u8 version, int level = -1); +void compress(u8 *data, u32 size, std::ostream &os, u8 version, int level = -1); void decompress(std::istream &is, std::ostream &os, u8 version); diff --git a/src/server.cpp b/src/server.cpp index a8d452783..7fb9a78e9 100644 --- a/src/server.cpp +++ b/src/server.cpp @@ -103,7 +103,13 @@ void *ServerThread::run() * doesn't busy wait) and will process any remaining packets. */ - m_server->AsyncRunStep(true); + try { + m_server->AsyncRunStep(true); + } catch (con::ConnectionBindFailed &e) { + m_server->setAsyncFatalError(e.what()); + } catch (LuaError &e) { + m_server->setAsyncFatalError(e); + } while (!stopRequested()) { try { @@ -117,8 +123,7 @@ void *ServerThread::run() } catch (con::ConnectionBindFailed &e) { m_server->setAsyncFatalError(e.what()); } catch (LuaError &e) { - m_server->setAsyncFatalError( - "ServerThread::run Lua: " + std::string(e.what())); + m_server->setAsyncFatalError(e); } } @@ -665,6 +670,17 @@ void Server::AsyncRunStep(bool initial_step) } else { m_lag_gauge->increment(dtime/100); } + + { + float &counter = m_step_pending_dyn_media_timer; + counter += dtime; + if (counter >= 5.0f) { + stepPendingDynMediaCallbacks(counter); + counter = 0; + } + } + + #if USE_CURL // send masterserver announce { @@ -1079,8 +1095,7 @@ PlayerSAO* Server::StageTwoClientInit(session_t peer_id) if (playersao->isDead()) SendDeathscreen(peer_id, false, v3f(0,0,0)); else - SendPlayerHPOrDie(playersao, - PlayerHPChangeReason(PlayerHPChangeReason::SET_HP)); + SendPlayerHP(peer_id); // Send Breath SendPlayerBreath(playersao); @@ -1638,7 +1653,7 @@ 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->z_index << form->text2; + << form->z_index << form->text2 << form->style; Send(&pkt); } @@ -1673,10 +1688,7 @@ void Server::SendHUDChange(session_t peer_id, u32 id, HudElementStat stat, void case HUD_STAT_SIZE: pkt << *(v2s32 *) value; break; - case HUD_STAT_NUMBER: - case HUD_STAT_ITEM: - case HUD_STAT_DIR: - default: + default: // all other types pkt << *(u32 *) value; break; } @@ -2313,7 +2325,7 @@ void Server::sendMetadataChanged(const std::list &meta_updates, float far // Send the meta changes std::ostringstream os(std::ios::binary); - meta_updates_list.serialize(os, client->net_proto_version, false, true); + meta_updates_list.serialize(os, client->serialization_version, false, true, true); std::ostringstream oss(std::ios::binary); compressZlib(os.str(), oss); @@ -2442,9 +2454,8 @@ bool Server::addMediaFile(const std::string &filename, // If name is not in a supported format, ignore it const char *supported_ext[] = { ".png", ".jpg", ".bmp", ".tga", - ".pcx", ".ppm", ".psd", ".wal", ".rgb", ".ogg", - ".x", ".b3d", ".md2", ".obj", + ".x", ".b3d", ".obj", // Custom translation file format ".tr", NULL @@ -2532,6 +2543,8 @@ void Server::sendMediaAnnouncement(session_t peer_id, const std::string &lang_co std::string lang_suffix; lang_suffix.append(".").append(lang_code).append(".tr"); for (const auto &i : m_media) { + if (i.second.no_announce) + continue; if (str_ends_with(i.first, ".tr") && !str_ends_with(i.first, lang_suffix)) continue; media_sent++; @@ -2540,6 +2553,8 @@ void Server::sendMediaAnnouncement(session_t peer_id, const std::string &lang_co pkt << media_sent; for (const auto &i : m_media) { + if (i.second.no_announce) + continue; if (str_ends_with(i.first, ".tr") && !str_ends_with(i.first, lang_suffix)) continue; pkt << i.first << i.second.sha1_digest; @@ -2558,11 +2573,9 @@ struct SendableMedia std::string path; std::string data; - SendableMedia(const std::string &name_="", const std::string &path_="", - const std::string &data_=""): - name(name_), - path(path_), - data(data_) + SendableMedia(const std::string &name, const std::string &path, + std::string &&data): + name(name), path(path), data(std::move(data)) {} }; @@ -2589,40 +2602,19 @@ void Server::sendRequestedMedia(session_t peer_id, continue; } - //TODO get path + name - std::string tpath = m_media[name].path; + const auto &m = m_media[name]; // Read data - std::ifstream fis(tpath.c_str(), std::ios_base::binary); - if(!fis.good()){ - errorstream<<"Server::sendRequestedMedia(): Could not open \"" - <= bytes_per_bunch) { @@ -2665,6 +2657,33 @@ void Server::sendRequestedMedia(session_t peer_id, } } +void Server::stepPendingDynMediaCallbacks(float dtime) +{ + MutexAutoLock lock(m_env_mutex); + + for (auto it = m_pending_dyn_media.begin(); it != m_pending_dyn_media.end();) { + it->second.expiry_timer -= dtime; + bool del = it->second.waiting_players.empty() || it->second.expiry_timer < 0; + + if (!del) { + it++; + continue; + } + + const auto &name = it->second.filename; + if (!name.empty()) { + assert(m_media.count(name)); + // if no_announce isn't set we're definitely deleting the wrong file! + sanity_check(m_media[name].no_announce); + + fs::DeleteSingleFileOrEmptyDirectory(m_media[name].path); + m_media.erase(name); + } + getScriptIface()->freeDynamicMediaCallback(it->first); + it = m_pending_dyn_media.erase(it); + } +} + void Server::SendMinimapModes(session_t peer_id, std::vector &modes, size_t wanted_mode) { @@ -3001,6 +3020,9 @@ std::wstring Server::handleChat(const std::string &name, } auto message = trim(wide_to_utf8(wmessage)); + if (message.empty()) + return L""; + if (message.find_first_of("\n\r") != std::wstring::npos) { return L"Newlines are not permitted in chat messages"; } @@ -3459,14 +3481,18 @@ void Server::deleteParticleSpawner(const std::string &playername, u32 id) SendDeleteParticleSpawner(peer_id, id); } -bool Server::dynamicAddMedia(const std::string &filepath, - std::vector &sent_to) +bool Server::dynamicAddMedia(std::string filepath, + const u32 token, const std::string &to_player, bool ephemeral) { std::string filename = fs::GetFilenameFromPath(filepath.c_str()); - if (m_media.find(filename) != m_media.end()) { - errorstream << "Server::dynamicAddMedia(): file \"" << filename - << "\" already exists in media cache" << std::endl; - return false; + auto it = m_media.find(filename); + if (it != m_media.end()) { + // Allow the same path to be "added" again in certain conditions + if (ephemeral || it->second.path != filepath) { + errorstream << "Server::dynamicAddMedia(): file \"" << filename + << "\" already exists in media cache" << std::endl; + return false; + } } // Load the file and add it to our media cache @@ -3475,35 +3501,91 @@ bool Server::dynamicAddMedia(const std::string &filepath, if (!ok) return false; + if (ephemeral) { + // Create a copy of the file and swap out the path, this removes the + // requirement that mods keep the file accessible at the original path. + filepath = fs::CreateTempFile(); + bool ok = ([&] () -> bool { + if (filepath.empty()) + return false; + std::ofstream os(filepath.c_str(), std::ios::binary); + if (!os.good()) + return false; + os << filedata; + os.close(); + return !os.fail(); + })(); + if (!ok) { + errorstream << "Server: failed to create a copy of media file " + << "\"" << filename << "\"" << std::endl; + m_media.erase(filename); + return false; + } + verbosestream << "Server: \"" << filename << "\" temporarily copied to " + << filepath << std::endl; + + m_media[filename].path = filepath; + m_media[filename].no_announce = true; + // stepPendingDynMediaCallbacks will clean this up later. + } else if (!to_player.empty()) { + m_media[filename].no_announce = true; + } + // Push file to existing clients NetworkPacket pkt(TOCLIENT_MEDIA_PUSH, 0); - pkt << raw_hash << filename << (bool) true; - pkt.putLongString(filedata); + pkt << raw_hash << filename << (bool)ephemeral; + NetworkPacket legacy_pkt = pkt; + + // Newer clients get asked to fetch the file (asynchronous) + pkt << token; + // Older clients have an awful hack that just throws the data at them + legacy_pkt.putLongString(filedata); + + std::unordered_set delivered, waiting; m_clients.lock(); for (auto &pair : m_clients.getClientList()) { if (pair.second->getState() < CS_DefinitionsSent) continue; - if (pair.second->net_proto_version < 39) + const auto proto_ver = pair.second->net_proto_version; + if (proto_ver < 39) continue; - if (auto player = m_env->getPlayer(pair.second->peer_id)) - sent_to.emplace_back(player); - /* - FIXME: this is a very awful hack - The network layer only guarantees ordered delivery inside a channel. - Since the very next packet could be one that uses the media, we have - to push the media over ALL channels to ensure it is processed before - it is used. - In practice this means we have to send it twice: - - channel 1 (HUD) - - channel 0 (everything else: e.g. play_sound, object messages) - */ - m_clients.send(pair.second->peer_id, 1, &pkt, true); - m_clients.send(pair.second->peer_id, 0, &pkt, true); + const session_t peer_id = pair.second->peer_id; + if (!to_player.empty() && getPlayerName(peer_id) != to_player) + continue; + + if (proto_ver < 40) { + delivered.emplace(peer_id); + /* + The network layer only guarantees ordered delivery inside a channel. + Since the very next packet could be one that uses the media, we have + to push the media over ALL channels to ensure it is processed before + it is used. In practice this means channels 1 and 0. + */ + m_clients.send(peer_id, 1, &legacy_pkt, true); + m_clients.send(peer_id, 0, &legacy_pkt, true); + } else { + waiting.emplace(peer_id); + Send(peer_id, &pkt); + } } m_clients.unlock(); + // Run callback for players that already had the file delivered (legacy-only) + for (session_t peer_id : delivered) { + if (auto player = m_env->getPlayer(peer_id)) + getScriptIface()->on_dynamic_media_added(token, player->getName()); + } + + // Save all others in our pending state + auto &state = m_pending_dyn_media[token]; + state.waiting_players = std::move(waiting); + // regardless of success throw away the callback after a while + state.expiry_timer = 60.0f; + if (ephemeral) + state.filename = filename; + return true; } diff --git a/src/server.h b/src/server.h index 9857215d0..c5db0fdfb 100644 --- a/src/server.h +++ b/src/server.h @@ -43,6 +43,7 @@ with this program; if not, write to the Free Software Foundation, Inc., #include #include #include +#include class ChatEvent; struct ChatEventChat; @@ -81,12 +82,14 @@ enum ClientDeletionReason { struct MediaInfo { std::string path; - std::string sha1_digest; + std::string sha1_digest; // base64-encoded + bool no_announce; // true: not announced in TOCLIENT_ANNOUNCE_MEDIA (at player join) MediaInfo(const std::string &path_="", const std::string &sha1_digest_=""): path(path_), - sha1_digest(sha1_digest_) + sha1_digest(sha1_digest_), + no_announce(false) { } }; @@ -197,6 +200,7 @@ public: void handleCommand_FirstSrp(NetworkPacket* pkt); void handleCommand_SrpBytesA(NetworkPacket* pkt); void handleCommand_SrpBytesM(NetworkPacket* pkt); + void handleCommand_HaveMedia(NetworkPacket *pkt); void ProcessData(NetworkPacket *pkt); @@ -257,7 +261,8 @@ public: void deleteParticleSpawner(const std::string &playername, u32 id); - bool dynamicAddMedia(const std::string &filepath, std::vector &sent_to); + bool dynamicAddMedia(std::string filepath, u32 token, + const std::string &to_player, bool ephemeral); ServerInventoryManager *getInventoryMgr() const { return m_inventory_mgr.get(); } void sendDetachedInventory(Inventory *inventory, const std::string &name, session_t peer_id); @@ -295,6 +300,10 @@ public: inline void setAsyncFatalError(const std::string &error) { m_async_fatal_error.set(error); } + inline void setAsyncFatalError(const LuaError &e) + { + setAsyncFatalError(std::string("Lua: ") + e.what()); + } bool showFormspec(const char *name, const std::string &formspec, const std::string &formname); Map & getMap() { return m_env->getMap(); } @@ -395,6 +404,12 @@ private: float m_timer = 0.0f; }; + struct PendingDynamicMediaCallback { + std::string filename; // only set if media entry and file is to be deleted + float expiry_timer; + std::unordered_set waiting_players; + }; + void init(); void SendMovement(session_t peer_id); @@ -466,6 +481,7 @@ private: void sendMediaAnnouncement(session_t peer_id, const std::string &lang_code); void sendRequestedMedia(session_t peer_id, const std::vector &tosend); + void stepPendingDynMediaCallbacks(float dtime); // Adds a ParticleSpawner on peer with peer_id (PEER_ID_INEXISTENT == all) void SendAddParticleSpawner(session_t peer_id, u16 protocol_version, @@ -650,6 +666,10 @@ private: // media files known to server std::unordered_map m_media; + // pending dynamic media callbacks, clients inform the server when they have a file fetched + std::unordered_map m_pending_dyn_media; + float m_step_pending_dyn_media_timer = 0.0f; + /* Sounds */ diff --git a/src/server/mods.cpp b/src/server/mods.cpp index 83fa12da9..609d8c346 100644 --- a/src/server/mods.cpp +++ b/src/server/mods.cpp @@ -61,12 +61,8 @@ void ServerModManager::loadMods(ServerScripting *script) infostream << std::endl; // Load and run "mod" scripts for (const ModSpec &mod : m_sorted_mods) { - if (!string_allowed(mod.name, MODNAME_ALLOWED_CHARS)) { - throw ModError("Error loading mod \"" + mod.name + - "\": Mod name does not follow naming " - "conventions: " - "Only characters [a-z0-9_] are allowed."); - } + mod.checkAndLog(); + std::string script_path = mod.path + DIR_DELIM + "init.lua"; auto t = porting::getTimeMs(); script->loadMod(script_path, mod.name); diff --git a/src/server/player_sao.cpp b/src/server/player_sao.cpp index 0d31f2e0b..d4d036726 100644 --- a/src/server/player_sao.cpp +++ b/src/server/player_sao.cpp @@ -167,7 +167,6 @@ void PlayerSAO::step(float dtime, bool send_recommended) if (m_breath == 0) { PlayerHPChangeReason reason(PlayerHPChangeReason::DROWNING); setHP(m_hp - c.drowning, reason); - m_env->getGameDef()->SendPlayerHPOrDie(this, reason); } } } @@ -216,7 +215,6 @@ void PlayerSAO::step(float dtime, bool send_recommended) s32 newhp = (s32)m_hp - (s32)damage_per_second; PlayerHPChangeReason reason(PlayerHPChangeReason::NODE_DAMAGE, nodename); setHP(newhp, reason); - m_env->getGameDef()->SendPlayerHPOrDie(this, reason); } } @@ -491,6 +489,8 @@ void PlayerSAO::setHP(s32 hp, const PlayerHPChangeReason &reason) // Update properties on death if ((hp == 0) != (oldhp == 0)) m_properties_sent = false; + + m_env->getGameDef()->SendPlayerHPOrDie(this, reason); } void PlayerSAO::setBreath(const u16 breath, bool send) diff --git a/src/server/serverinventorymgr.cpp b/src/server/serverinventorymgr.cpp index 2a80c9bbe..3aee003b4 100644 --- a/src/server/serverinventorymgr.cpp +++ b/src/server/serverinventorymgr.cpp @@ -157,8 +157,8 @@ bool ServerInventoryManager::removeDetachedInventory(const std::string &name) m_env->getGameDef()->sendDetachedInventory( nullptr, name, player->getPeerId()); - } else { - // Notify all players about the change + } else if (m_env) { + // Notify all players about the change as soon ServerEnv exists m_env->getGameDef()->sendDetachedInventory( nullptr, name, PEER_ID_INEXISTENT); } diff --git a/src/server/unit_sao.cpp b/src/server/unit_sao.cpp index fa6c8f0f4..acbdd478a 100644 --- a/src/server/unit_sao.cpp +++ b/src/server/unit_sao.cpp @@ -124,6 +124,19 @@ void UnitSAO::sendOutdatedData() void UnitSAO::setAttachment(int parent_id, const std::string &bone, v3f position, v3f rotation, bool force_visible) { + auto *obj = parent_id ? m_env->getActiveObject(parent_id) : nullptr; + if (obj) { + // Do checks to avoid circular references + // The chain of wanted parent must not refer or contain "this" + for (obj = obj->getParent(); obj; obj = obj->getParent()) { + if (obj == this) { + warningstream << "Mod bug: Attempted to attach object " << m_id << " to parent " + << parent_id << " but former is an (in)direct parent of latter." << std::endl; + return; + } + } + } + // Attachments need to be handled on both the server and client. // If we just attach on the server, we can only copy the position of the parent. // Attachments are still sent to clients at an interval so players might see them diff --git a/src/serverenvironment.cpp b/src/serverenvironment.cpp index cd5ac0753..b8ba25235 100644 --- a/src/serverenvironment.cpp +++ b/src/serverenvironment.cpp @@ -729,6 +729,8 @@ struct ActiveABM int chance; std::vector required_neighbors; bool check_required_neighbors; // false if required_neighbors is known to be empty + s16 min_y; + s16 max_y; }; class ABMHandler @@ -773,6 +775,9 @@ public: } else { aabm.chance = chance; } + // y limits + aabm.min_y = abm->getMinY(); + aabm.max_y = abm->getMaxY(); // Trigger neighbors const std::vector &required_neighbors_s = @@ -885,6 +890,9 @@ public: v3s16 p = p0 + block->getPosRelative(); for (ActiveABM &aabm : *m_aabms[c]) { + if ((p.Y < aabm.min_y) || (p.Y > aabm.max_y)) + continue; + if (myrand() % aabm.chance != 0) continue; @@ -1542,6 +1550,21 @@ void ServerEnvironment::step(float dtime) m_server->sendDetachedInventories(PEER_ID_INEXISTENT, true); } +ServerEnvironment::BlockStatus ServerEnvironment::getBlockStatus(v3s16 blockpos) +{ + if (m_active_blocks.contains(blockpos)) + return BS_ACTIVE; + + const MapBlock *block = m_map->getBlockNoCreateNoEx(blockpos); + if (block && !block->isDummy()) + return BS_LOADED; + + if (m_map->isBlockInQueue(blockpos)) + return BS_EMERGING; + + return BS_UNKNOWN; +} + u32 ServerEnvironment::addParticleSpawner(float exptime) { // Timers with lifetime 0 do not expire diff --git a/src/serverenvironment.h b/src/serverenvironment.h index a11c814ed..8733c2dd2 100644 --- a/src/serverenvironment.h +++ b/src/serverenvironment.h @@ -67,6 +67,10 @@ public: virtual u32 getTriggerChance() = 0; // Whether to modify chance to simulate time lost by an unnattended block virtual bool getSimpleCatchUp() = 0; + // get min Y for apply abm + virtual s16 getMinY() = 0; + // get max Y for apply abm + virtual s16 getMaxY() = 0; // This is called usually at interval for 1/chance of the nodes virtual void trigger(ServerEnvironment *env, v3s16 p, MapNode n){}; virtual void trigger(ServerEnvironment *env, v3s16 p, MapNode n, @@ -342,7 +346,16 @@ public: void reportMaxLagEstimate(float f) { m_max_lag_estimate = f; } float getMaxLagEstimate() { return m_max_lag_estimate; } - std::set* getForceloadedBlocks() { return &m_active_blocks.m_forceloaded_list; }; + std::set* getForceloadedBlocks() { return &m_active_blocks.m_forceloaded_list; } + + // Sorted by how ready a mapblock is + enum BlockStatus { + BS_UNKNOWN, + BS_EMERGING, + BS_LOADED, + BS_ACTIVE // always highest value + }; + BlockStatus getBlockStatus(v3s16 blockpos); // Sets the static object status all the active objects in the specified block // This is only really needed for deleting blocks from the map diff --git a/src/settings.cpp b/src/settings.cpp index cff393e5f..f4de5bec9 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -33,35 +33,90 @@ with this program; if not, write to the Free Software Foundation, Inc., #include #include -Settings *g_settings = nullptr; // Populated in main() +Settings *g_settings = nullptr; +static SettingsHierarchy g_hierarchy; std::string g_settings_path; -Settings *Settings::s_layers[SL_TOTAL_COUNT] = {0}; // Zeroed by compiler std::unordered_map Settings::s_flags; +/* Settings hierarchy implementation */ + +SettingsHierarchy::SettingsHierarchy(Settings *fallback) +{ + layers.push_back(fallback); +} + + +Settings *SettingsHierarchy::getLayer(int layer) const +{ + if (layer < 0 || layer >= (int)layers.size()) + throw BaseException("Invalid settings layer"); + return layers[layer]; +} + + +Settings *SettingsHierarchy::getParent(int layer) const +{ + assert(layer >= 0 && layer < (int)layers.size()); + // iterate towards the origin (0) to find the next fallback layer + for (int i = layer - 1; i >= 0; --i) { + if (layers[i]) + return layers[i]; + } + + return nullptr; +} + + +void SettingsHierarchy::onLayerCreated(int layer, Settings *obj) +{ + if (layer < 0) + throw BaseException("Invalid settings layer"); + if ((int)layers.size() < layer + 1) + layers.resize(layer + 1); + + Settings *&pos = layers[layer]; + if (pos) + throw BaseException("Setting layer " + itos(layer) + " already exists"); + + pos = obj; + // This feels bad + if (this == &g_hierarchy && layer == (int)SL_GLOBAL) + g_settings = obj; +} + + +void SettingsHierarchy::onLayerRemoved(int layer) +{ + assert(layer >= 0 && layer < layers.size()); + layers[layer] = nullptr; + if (this == &g_hierarchy && layer == (int)SL_GLOBAL) + g_settings = nullptr; +} + +/* Settings implementation */ Settings *Settings::createLayer(SettingsLayer sl, const std::string &end_tag) { - if ((int)sl < 0 || sl >= SL_TOTAL_COUNT) - throw BaseException("Invalid settings layer"); - - Settings *&pos = s_layers[(size_t)sl]; - if (pos) - throw BaseException("Setting layer " + std::to_string(sl) + " already exists"); - - pos = new Settings(end_tag); - pos->m_settingslayer = sl; - - if (sl == SL_GLOBAL) - g_settings = pos; - return pos; + return new Settings(end_tag, &g_hierarchy, (int)sl); } Settings *Settings::getLayer(SettingsLayer sl) { sanity_check((int)sl >= 0 && sl < SL_TOTAL_COUNT); - return s_layers[(size_t)sl]; + return g_hierarchy.layers[(int)sl]; +} + + +Settings::Settings(const std::string &end_tag, SettingsHierarchy *h, + int settings_layer) : + m_end_tag(end_tag), + m_hierarchy(h), + m_settingslayer(settings_layer) +{ + if (m_hierarchy) + m_hierarchy->onLayerCreated(m_settingslayer, this); } @@ -69,12 +124,8 @@ Settings::~Settings() { MutexAutoLock lock(m_mutex); - if (m_settingslayer < SL_TOTAL_COUNT) - s_layers[(size_t)m_settingslayer] = nullptr; - - // Compatibility - if (m_settingslayer == SL_GLOBAL) - g_settings = nullptr; + if (m_hierarchy) + m_hierarchy->onLayerRemoved(m_settingslayer); clearNoLock(); } @@ -86,8 +137,8 @@ Settings & Settings::operator = (const Settings &other) return *this; // TODO: Avoid copying Settings objects. Make this private. - FATAL_ERROR_IF(m_settingslayer != SL_TOTAL_COUNT && other.m_settingslayer != SL_TOTAL_COUNT, - ("Tried to copy unique Setting layer " + std::to_string(m_settingslayer)).c_str()); + FATAL_ERROR_IF(m_hierarchy || other.m_hierarchy, + "Cannot copy or overwrite Settings object that belongs to a hierarchy"); MutexAutoLock lock(m_mutex); MutexAutoLock lock2(other.m_mutex); @@ -410,18 +461,7 @@ bool Settings::parseCommandLine(int argc, char *argv[], Settings *Settings::getParent() const { - // If the Settings object is within the hierarchy structure, - // iterate towards the origin (0) to find the next fallback layer - if (m_settingslayer >= SL_TOTAL_COUNT) - return nullptr; - - for (int i = (int)m_settingslayer - 1; i >= 0; --i) { - if (s_layers[i]) - return s_layers[i]; - } - - // No parent - return nullptr; + return m_hierarchy ? m_hierarchy->getParent(m_settingslayer) : nullptr; } @@ -497,11 +537,8 @@ float Settings::getFloat(const std::string &name) const u64 Settings::getU64(const std::string &name) const { - u64 value = 0; std::string s = get(name); - std::istringstream ss(s); - ss >> value; - return value; + return from_string(s); } @@ -715,6 +752,15 @@ bool Settings::getS16NoEx(const std::string &name, s16 &val) const } } +bool Settings::getU32NoEx(const std::string &name, u32 &val) const +{ + try { + val = getU32(name); + return true; + } catch (SettingNotFoundException &e) { + return false; + } +} bool Settings::getS32NoEx(const std::string &name, s32 &val) const { @@ -823,6 +869,8 @@ bool Settings::set(const std::string &name, const std::string &value) // TODO: Remove this function bool Settings::setDefault(const std::string &name, const std::string &value) { + FATAL_ERROR_IF(m_hierarchy != &g_hierarchy, "setDefault is only valid on " + "global settings"); return getLayer(SL_DEFAULTS)->set(name, value); } diff --git a/src/settings.h b/src/settings.h index e22d949d3..4e32a3488 100644 --- a/src/settings.h +++ b/src/settings.h @@ -21,6 +21,7 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "irrlichttypes_bloated.h" #include "util/string.h" +#include "util/basic_macros.h" #include #include #include @@ -60,14 +61,36 @@ enum SettingsParseEvent { SPE_MULTILINE, }; +// Describes the global setting layers, SL_GLOBAL is where settings are read from enum SettingsLayer { SL_DEFAULTS, SL_GAME, SL_GLOBAL, - SL_MAP, SL_TOTAL_COUNT }; +// Implements the hierarchy a settings object may be part of +class SettingsHierarchy { +public: + /* + * A settings object that may be part of another hierarchy can + * occupy the index 0 as a fallback. If not set you can use 0 on your own. + */ + SettingsHierarchy(Settings *fallback = nullptr); + + DISABLE_CLASS_COPY(SettingsHierarchy) + + Settings *getLayer(int layer) const; + +private: + friend class Settings; + Settings *getParent(int layer) const; + void onLayerCreated(int layer, Settings *obj); + void onLayerRemoved(int layer); + + std::vector layers; +}; + struct ValueSpec { ValueSpec(ValueType a_type, const char *a_help=NULL) { @@ -100,13 +123,15 @@ typedef std::unordered_map SettingEntries; class Settings { public: + /* These functions operate on the global hierarchy! */ static Settings *createLayer(SettingsLayer sl, const std::string &end_tag = ""); static Settings *getLayer(SettingsLayer sl); - SettingsLayer getLayerType() const { return m_settingslayer; } + /**/ Settings(const std::string &end_tag = "") : m_end_tag(end_tag) {} + Settings(const std::string &end_tag, SettingsHierarchy *h, int settings_layer); ~Settings(); Settings & operator += (const Settings &other); @@ -161,6 +186,7 @@ public: bool getFlag(const std::string &name) const; bool getU16NoEx(const std::string &name, u16 &val) const; bool getS16NoEx(const std::string &name, s16 &val) const; + bool getU32NoEx(const std::string &name, u32 &val) const; bool getS32NoEx(const std::string &name, s32 &val) const; bool getU64NoEx(const std::string &name, u64 &val) const; bool getFloatNoEx(const std::string &name, float &val) const; @@ -200,9 +226,9 @@ public: // remove a setting bool remove(const std::string &name); - /************** - * Miscellany * - **************/ + /***************** + * Miscellaneous * + *****************/ void setDefault(const std::string &name, const FlagDesc *flagdesc, u32 flags); const FlagDesc *getFlagDescFallback(const std::string &name) const; @@ -214,6 +240,10 @@ public: void removeSecureSettings(); + // Returns the settings layer this object is. + // If within the global hierarchy you can cast this to enum SettingsLayer + inline int getLayer() const { return m_settingslayer; } + private: /*********************** * Reading and writing * @@ -257,7 +287,8 @@ private: // All methods that access m_settings/m_defaults directly should lock this. mutable std::mutex m_mutex; - static Settings *s_layers[SL_TOTAL_COUNT]; - SettingsLayer m_settingslayer = SL_TOTAL_COUNT; + SettingsHierarchy *m_hierarchy = nullptr; + int m_settingslayer = -1; + static std::unordered_map s_flags; }; diff --git a/src/settings_translation_file.cpp b/src/settings_translation_file.cpp index 317186e94..49591d1ee 100644 --- a/src/settings_translation_file.cpp +++ b/src/settings_translation_file.cpp @@ -11,7 +11,7 @@ fake_function() { gettext("Pitch move mode"); gettext("If enabled, makes move directions relative to the player's pitch when flying or swimming."); gettext("Fast movement"); - gettext("Fast movement (via the \"special\" key).\nThis requires the \"fast\" privilege on the server."); + gettext("Fast movement (via the \"Aux1\" key).\nThis requires the \"fast\" privilege on the server."); gettext("Noclip"); gettext("If enabled together with fly mode, player is able to fly through solid nodes.\nThis requires the \"noclip\" privilege on the server."); gettext("Cinematic mode"); @@ -24,12 +24,12 @@ fake_function() { gettext("Invert vertical mouse movement."); gettext("Mouse sensitivity"); gettext("Mouse sensitivity multiplier."); - gettext("Special key for climbing/descending"); - gettext("If enabled, \"special\" key instead of \"sneak\" key is used for climbing down and\ndescending."); + gettext("Aux1 key for climbing/descending"); + gettext("If enabled, \"Aux1\" key instead of \"Sneak\" key is used for climbing down and\ndescending."); gettext("Double tap jump for fly"); gettext("Double-tapping the jump key toggles fly mode."); gettext("Always fly and fast"); - gettext("If disabled, \"special\" key is used to fly fast if both fly and fast mode are\nenabled."); + gettext("If disabled, \"Aux1\" key is used to fly fast if both fly and fast mode are\nenabled."); gettext("Place repetition interval"); gettext("The time in seconds it takes between repeated node placements when holding\nthe place button."); gettext("Automatic jumping"); @@ -44,8 +44,8 @@ fake_function() { gettext("The length in pixels it takes for touch screen interaction to start."); gettext("Fixed virtual joystick"); gettext("(Android) Fixes the position of virtual joystick.\nIf disabled, virtual joystick will center to first-touch's position."); - gettext("Virtual joystick triggers aux button"); - gettext("(Android) Use virtual joystick to trigger \"aux\" button.\nIf enabled, virtual joystick will also tap \"aux\" button when out of main circle."); + gettext("Virtual joystick triggers Aux1 button"); + gettext("(Android) Use virtual joystick to trigger \"Aux1\" button.\nIf enabled, virtual joystick will also tap \"Aux1\" button when out of main circle."); gettext("Enable joysticks"); gettext("Enable joysticks"); gettext("Joystick ID"); @@ -76,7 +76,7 @@ fake_function() { gettext("Key for placing.\nSee http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"); gettext("Inventory key"); gettext("Key for opening the inventory.\nSee http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"); - gettext("Special key"); + gettext("Aux1 key"); gettext("Key for moving fast in fast mode.\nSee http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"); gettext("Chat key"); gettext("Key for opening the chat window.\nSee http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"); @@ -233,9 +233,9 @@ fake_function() { gettext("Trilinear filtering"); gettext("Use trilinear filtering when scaling textures."); gettext("Clean transparent textures"); - gettext("Filtered textures can blend RGB values with fully-transparent neighbors,\nwhich PNG optimizers usually discard, sometimes resulting in a dark or\nlight edge to transparent textures. Apply this filter to clean that up\nat texture load time."); + gettext("Filtered textures can blend RGB values with fully-transparent neighbors,\nwhich PNG optimizers usually discard, often resulting in dark or\nlight edges to transparent textures. Apply a filter to clean that up\nat texture load time. This is automatically enabled if mipmapping is enabled."); gettext("Minimum texture size"); - gettext("When using bilinear/trilinear/anisotropic filters, low-resolution textures\ncan be blurred, so automatically upscale them with nearest-neighbor\ninterpolation to preserve crisp pixels. This sets the minimum texture size\nfor the upscaled textures; higher values look sharper, but require more\nmemory. Powers of 2 are recommended. Setting this higher than 1 may not\nhave a visible effect unless bilinear/trilinear/anisotropic filtering is\nenabled.\nThis is also used as the base node texture size for world-aligned\ntexture autoscaling."); + gettext("When using bilinear/trilinear/anisotropic filters, low-resolution textures\ncan be blurred, so automatically upscale them with nearest-neighbor\ninterpolation to preserve crisp pixels. This sets the minimum texture size\nfor the upscaled textures; higher values look sharper, but require more\nmemory. Powers of 2 are recommended. This setting is ONLY applies if\nbilinear/trilinear/anisotropic filtering is enabled.\nThis is also used as the base node texture size for world-aligned\ntexture autoscaling."); gettext("FSAA"); gettext("Use multi-sample antialiasing (MSAA) to smooth out block edges.\nThis algorithm smooths out the 3D viewport while keeping the image sharp,\nbut it doesn't affect the insides of textures\n(which is especially noticeable with transparent textures).\nVisible spaces appear between nodes when shaders are disabled.\nIf set to 0, MSAA is disabled.\nA restart is required after changing this option."); gettext("Undersampling"); @@ -261,6 +261,29 @@ fake_function() { gettext("Set to true to enable waving leaves.\nRequires shaders to be enabled."); gettext("Waving plants"); gettext("Set to true to enable waving plants.\nRequires shaders to be enabled."); + gettext("Dynamic shadows"); + gettext("Dynamic shadows"); + gettext("Set to true to enable Shadow Mapping.\nRequires shaders to be enabled."); + gettext("Shadow strength"); + gettext("Set the shadow strength.\nLower value means lighter shadows, higher value means darker shadows."); + gettext("Shadow map max distance in nodes to render shadows"); + gettext("Maximum distance to render shadows."); + gettext("Shadow map texture size"); + gettext("Texture size to render the shadow map on.\nThis must be a power of two.\nBigger numbers create better shadowsbut it is also more expensive."); + gettext("Shadow map texture in 32 bits"); + gettext("Sets shadow texture quality to 32 bits.\nOn false, 16 bits texture will be used.\nThis can cause much more artifacts in the shadow."); + gettext("Poisson filtering"); + gettext("Enable poisson disk filtering.\nOn true uses poisson disk to make \"soft shadows\". Otherwise uses PCF filtering."); + gettext("Shadow filter quality"); + gettext("Define shadow filtering quality\nThis simulates the soft shadows effect by applying a PCF or poisson disk\nbut also uses more resources."); + gettext("Colored shadows"); + gettext("Enable colored shadows. \nOn true translucent nodes cast colored shadows. This is expensive."); + gettext("Map update time"); + gettext("Set the shadow update time.\nLower value means shadows and map updates faster, but it consume more resources.\nMinimun value 0.001 seconds max value 0.2 seconds"); + gettext("Soft shadow radius"); + gettext("Set the soft shadow radius size.\nLower values mean sharper shadows bigger values softer.\nMinimun value 1.0 and max value 10.0"); + gettext("Sky Body Orbit Tilt"); + gettext("Set the tilt of Sun/Moon orbit in degrees\nValue of 0 means no tilt / vertical orbit.\nMinimun value 0.0 and max value 60.0"); gettext("Advanced"); gettext("Arm inertia"); gettext("Arm inertia, gives a more realistic movement of\nthe arm when the camera moves."); @@ -275,15 +298,13 @@ fake_function() { 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("Width component of the initial window size. Ignored in fullscreen mode."); gettext("Screen height"); - gettext("Height component of the initial window size."); + gettext("Height component of the initial window size. Ignored in fullscreen mode."); gettext("Autosave screen size"); gettext("Save window size automatically when modified."); gettext("Full screen"); gettext("Fullscreen mode."); - gettext("Full screen BPP"); - gettext("Bits per pixel (aka color depth) in fullscreen mode."); gettext("VSync"); gettext("Vertical screen synchronization."); gettext("Field of view"); @@ -303,7 +324,7 @@ fake_function() { gettext("Texture path"); gettext("Path to texture directory. All textures are first searched from here."); gettext("Video driver"); - gettext("The rendering back-end for Irrlicht.\nA restart is required after changing this.\nNote: On Android, stick with OGLES1 if unsure! App may fail to start otherwise.\nOn other platforms, OpenGL is recommended.\nShaders are supported by OpenGL (desktop only) and OGLES2 (experimental)"); + gettext("The rendering back-end.\nA restart is required after changing this.\nNote: On Android, stick with OGLES1 if unsure! App may fail to start otherwise.\nOn other platforms, OpenGL is recommended.\nShaders are supported by OpenGL (desktop only) and OGLES2 (experimental)"); gettext("Cloud radius"); gettext("Radius of cloud area stated in number of 64 node cloud squares.\nValues larger than 26 will start to produce sharp cutoffs at cloud area corners."); gettext("View bobbing factor"); @@ -407,12 +428,6 @@ fake_function() { 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"); @@ -542,6 +557,8 @@ fake_function() { 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("Chat command time message threshold"); + gettext("If the execution of a chat command takes longer than this specified time in\nseconds, add the time information to the chat command message"); gettext("Shutdown message"); gettext("A message to be displayed to all clients when the server shuts down."); gettext("Crash message"); @@ -679,14 +696,12 @@ fake_function() { gettext("IPv6"); 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."); + gettext("cURL interactive timeout"); + gettext("Maximum time an interactive request (e.g. server list fetch) may take, stated in milliseconds."); gettext("cURL parallel limit"); gettext("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).\nOnly has an effect if compiled with cURL."); gettext("cURL file download timeout"); - gettext("Maximum time in ms a file download (e.g. a mod download) may take."); - gettext("High-precision FPU"); - gettext("Makes DirectX work with LuaJIT. Disable if it causes troubles."); + gettext("Maximum time a file download (e.g. a mod download) may take, stated in milliseconds."); gettext("Main menu script"); gettext("Replaces the default main menu with a custom one."); gettext("Engine profiling data print interval"); diff --git a/src/staticobject.cpp b/src/staticobject.cpp index 86e455b9f..1160ec68f 100644 --- a/src/staticobject.cpp +++ b/src/staticobject.cpp @@ -37,6 +37,7 @@ void StaticObject::serialize(std::ostream &os) // data os< bool { + if (obj.data.size() > U16_MAX) { + errorstream << "StaticObjectList::serialize(): " + "object has excessive static data (" << obj.data.size() << + "), deleting it." << std::endl; + return true; + } + return false; + }; + for (auto it = m_stored.begin(); it != m_stored.end(); ) { + if (problematic(*it)) + it = m_stored.erase(it); + else + it++; + } + for (auto it = m_active.begin(); it != m_active.end(); ) { + if (problematic(it->second)) + it = m_active.erase(it); + else + it++; + } + // version u8 version = 0; writeU8(os, version); diff --git a/src/translation.cpp b/src/translation.cpp index 55c958fa2..1e43b0894 100644 --- a/src/translation.cpp +++ b/src/translation.cpp @@ -64,7 +64,13 @@ void Translations::loadTranslation(const std::string &data) line.resize(line.length() - 1); if (str_starts_with(line, "# textdomain:")) { - textdomain = utf8_to_wide(trim(str_split(line, ':')[1])); + auto parts = str_split(line, ':'); + if (parts.size() < 2) { + errorstream << "Invalid textdomain translation line \"" << line + << "\"" << std::endl; + continue; + } + textdomain = utf8_to_wide(trim(parts[1])); } if (line.empty() || line[0] == '#') continue; diff --git a/src/unittest/test_areastore.cpp b/src/unittest/test_areastore.cpp index 691cd69d2..2af3ca90c 100644 --- a/src/unittest/test_areastore.cpp +++ b/src/unittest/test_areastore.cpp @@ -135,7 +135,7 @@ void TestAreaStore::testSerialization() b.data = "Area BB"; store.insertArea(&b); - std::ostringstream os; + std::ostringstream os(std::ios_base::binary); store.serialize(os); std::string str = os.str(); @@ -157,7 +157,7 @@ void TestAreaStore::testSerialization() UASSERTEQ(const std::string &, str, str_wanted); - std::istringstream is(str); + std::istringstream is(str, std::ios_base::binary); store.deserialize(is); // deserialize() doesn't clear the store diff --git a/src/unittest/test_compression.cpp b/src/unittest/test_compression.cpp index dfcadd4b2..a96282f58 100644 --- a/src/unittest/test_compression.cpp +++ b/src/unittest/test_compression.cpp @@ -37,6 +37,7 @@ public: void testRLECompression(); void testZlibCompression(); void testZlibLargeData(); + void testZstdLargeData(); void testZlibLimit(); void _testZlibLimit(u32 size, u32 limit); }; @@ -48,6 +49,7 @@ void TestCompression::runTests(IGameDef *gamedef) TEST(testRLECompression); TEST(testZlibCompression); TEST(testZlibLargeData); + TEST(testZstdLargeData); TEST(testZlibLimit); } @@ -111,7 +113,7 @@ void TestCompression::testZlibCompression() fromdata[3]=1; std::ostringstream os(std::ios_base::binary); - compress(fromdata, os, SER_FMT_VER_HIGHEST_READ); + compressZlib(*fromdata, fromdata.getSize(), os); std::string str_out = os.str(); @@ -124,7 +126,7 @@ void TestCompression::testZlibCompression() std::istringstream is(str_out, std::ios_base::binary); std::ostringstream os2(std::ios_base::binary); - decompress(is, os2, SER_FMT_VER_HIGHEST_READ); + decompressZlib(is, os2); std::string str_out2 = os2.str(); infostream << "decompress: "; @@ -174,6 +176,42 @@ void TestCompression::testZlibLargeData() } } +void TestCompression::testZstdLargeData() +{ + infostream << "Test: Testing zstd wrappers with a large amount " + "of pseudorandom data" << std::endl; + + u32 size = 500000; + infostream << "Test: Input size of large compressZstd is " + << size << std::endl; + + std::string data_in; + data_in.resize(size); + PseudoRandom pseudorandom(9420); + for (u32 i = 0; i < size; i++) + data_in[i] = pseudorandom.range(0, 255); + + std::ostringstream os_compressed(std::ios::binary); + compressZstd(data_in, os_compressed, 0); + infostream << "Test: Output size of large compressZstd is " + << os_compressed.str().size()< buf = pkt.oldForgePacket(); + auto buf = pkt.oldForgePacket(); UASSERTEQ(int, buf.getSize(), sizeof(expected)); UASSERT(!memcmp(expected, &buf[0], buf.getSize())); } @@ -280,7 +280,7 @@ void TestConnection::testConnectSendReceive() NetworkPacket pkt; pkt.putRawPacket((u8*) "Hello World !", 14, 0); - SharedBuffer sentdata = pkt.oldForgePacket(); + auto sentdata = pkt.oldForgePacket(); infostream<<"** running client.Send()"< sentdata = pkt.oldForgePacket(); + auto sentdata = pkt.oldForgePacket(); server.Send(peer_id_client, 0, &pkt, true); //sleep_ms(3000); - SharedBuffer recvdata; + Buffer recvdata; infostream << "** running client.Receive()" << std::endl; session_t peer_id = 132; u16 size = 0; diff --git a/src/unittest/test_irrptr.cpp b/src/unittest/test_irrptr.cpp index aa857ff46..3484f1514 100644 --- a/src/unittest/test_irrptr.cpp +++ b/src/unittest/test_irrptr.cpp @@ -91,6 +91,12 @@ void TestIrrPtr::testRefCounting() obj->getReferenceCount()); } +#if defined(__clang__) + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wself-assign-overloaded" + #pragma GCC diagnostic ignored "-Wself-move" +#endif + void TestIrrPtr::testSelfAssignment() { irr_ptr p1{new IReferenceCounted()}; @@ -129,3 +135,7 @@ void TestIrrPtr::testNullHandling() UASSERT(!p2); UASSERT(!p3); } + +#if defined(__clang__) + #pragma GCC diagnostic pop +#endif diff --git a/src/unittest/test_map_settings_manager.cpp b/src/unittest/test_map_settings_manager.cpp index 81ca68705..17c31fe79 100644 --- a/src/unittest/test_map_settings_manager.cpp +++ b/src/unittest/test_map_settings_manager.cpp @@ -148,6 +148,11 @@ void TestMapSettingsManager::testMapSettingsManager() check_noise_params(&dummy, &script_np_factor); } + // The settings manager MUST leave user settings alone + mgr.setMapSetting("testname", "1"); + mgr.setMapSetting("testname", "1", true); + UASSERT(!Settings::getLayer(SL_GLOBAL)->exists("testname")); + // Now make our Params and see if the values are correctly sourced MapgenParams *params = mgr.makeMapgenParams(); UASSERT(params->mgtype == MAPGEN_V5); diff --git a/src/unittest/test_utilities.cpp b/src/unittest/test_utilities.cpp index 93ba3f844..039110d54 100644 --- a/src/unittest/test_utilities.cpp +++ b/src/unittest/test_utilities.cpp @@ -23,6 +23,7 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "util/enriched_string.h" #include "util/numeric.h" #include "util/string.h" +#include "util/base64.h" class TestUtilities : public TestBase { public: @@ -56,6 +57,7 @@ public: void testMyround(); void testStringJoin(); void testEulerConversion(); + void testBase64(); }; static TestUtilities g_test_instance; @@ -87,6 +89,7 @@ void TestUtilities::runTests(IGameDef *gamedef) TEST(testMyround); TEST(testStringJoin); TEST(testEulerConversion); + TEST(testBase64); } //////////////////////////////////////////////////////////////////////////////// @@ -537,3 +540,93 @@ void TestUtilities::testEulerConversion() setPitchYawRoll(m2, v2); UASSERT(within(m1, m2, tolL)); } + +void TestUtilities::testBase64() +{ + // Test character set + UASSERT(base64_is_valid("ABCDEFGHIJKLMNOPQRSTUVWXYZ" + "abcdefghijklmnopqrstuvwxyz" + "0123456789+/") == true); + UASSERT(base64_is_valid("/+9876543210" + "zyxwvutsrqponmlkjihgfedcba" + "ZYXWVUTSRQPONMLKJIHGFEDCBA") == true); + UASSERT(base64_is_valid("ABCDEFGHIJKLMNOPQRSTUVWXYZ" + "abcdefghijklmnopqrstuvwxyz" + "0123456789+.") == false); + UASSERT(base64_is_valid("ABCDEFGHIJKLMNOPQRSTUVWXYZ" + "abcdefghijklmnopqrstuvwxyz" + "0123456789 /") == false); + + // Test empty string + UASSERT(base64_is_valid("") == true); + + // Test different lengths, with and without padding, + // with correct and incorrect padding + UASSERT(base64_is_valid("A") == false); + UASSERT(base64_is_valid("AA") == true); + UASSERT(base64_is_valid("AAA") == true); + UASSERT(base64_is_valid("AAAA") == true); + UASSERT(base64_is_valid("AAAAA") == false); + UASSERT(base64_is_valid("AAAAAA") == true); + UASSERT(base64_is_valid("AAAAAAA") == true); + UASSERT(base64_is_valid("AAAAAAAA") == true); + UASSERT(base64_is_valid("A===") == false); + UASSERT(base64_is_valid("AA==") == true); + UASSERT(base64_is_valid("AAA=") == true); + UASSERT(base64_is_valid("AAAA") == true); + UASSERT(base64_is_valid("AAAA====") == false); + UASSERT(base64_is_valid("AAAAA===") == false); + UASSERT(base64_is_valid("AAAAAA==") == true); + UASSERT(base64_is_valid("AAAAAAA=") == true); + UASSERT(base64_is_valid("AAAAAAA==") == false); + UASSERT(base64_is_valid("AAAAAAA===") == false); + UASSERT(base64_is_valid("AAAAAAA====") == false); + UASSERT(base64_is_valid("AAAAAAAA") == true); + UASSERT(base64_is_valid("AAAAAAAA=") == false); + UASSERT(base64_is_valid("AAAAAAAA==") == false); + UASSERT(base64_is_valid("AAAAAAAA===") == false); + UASSERT(base64_is_valid("AAAAAAAA====") == false); + + // Test if canonical encoding + // Last character limitations, length % 4 == 3 + UASSERT(base64_is_valid("AAB") == false); + UASSERT(base64_is_valid("AAE") == true); + UASSERT(base64_is_valid("AAQ") == true); + UASSERT(base64_is_valid("AAB=") == false); + UASSERT(base64_is_valid("AAE=") == true); + UASSERT(base64_is_valid("AAQ=") == true); + UASSERT(base64_is_valid("AAAAAAB=") == false); + UASSERT(base64_is_valid("AAAAAAE=") == true); + UASSERT(base64_is_valid("AAAAAAQ=") == true); + // Last character limitations, length % 4 == 2 + UASSERT(base64_is_valid("AB") == false); + UASSERT(base64_is_valid("AE") == false); + UASSERT(base64_is_valid("AQ") == true); + UASSERT(base64_is_valid("AB==") == false); + UASSERT(base64_is_valid("AE==") == false); + UASSERT(base64_is_valid("AQ==") == true); + UASSERT(base64_is_valid("AAAAAB==") == false); + UASSERT(base64_is_valid("AAAAAE==") == false); + UASSERT(base64_is_valid("AAAAAQ==") == true); + + // Extraneous character present + UASSERT(base64_is_valid(".") == false); + UASSERT(base64_is_valid("A.") == false); + UASSERT(base64_is_valid("AA.") == false); + UASSERT(base64_is_valid("AAA.") == false); + UASSERT(base64_is_valid("AAAA.") == false); + UASSERT(base64_is_valid("AAAAA.") == false); + UASSERT(base64_is_valid("A.A") == false); + UASSERT(base64_is_valid("AA.A") == false); + UASSERT(base64_is_valid("AAA.A") == false); + UASSERT(base64_is_valid("AAAA.A") == false); + UASSERT(base64_is_valid("AAAAA.A") == false); + UASSERT(base64_is_valid("\xE1""AAA") == false); + + // Padding in wrong position + UASSERT(base64_is_valid("A=A") == false); + UASSERT(base64_is_valid("AA=A") == false); + UASSERT(base64_is_valid("AAA=A") == false); + UASSERT(base64_is_valid("AAAA=A") == false); + UASSERT(base64_is_valid("AAAAA=A") == false); +} \ No newline at end of file diff --git a/src/util/CMakeLists.txt b/src/util/CMakeLists.txt index cd2e468d1..6bc97915f 100644 --- a/src/util/CMakeLists.txt +++ b/src/util/CMakeLists.txt @@ -15,4 +15,5 @@ set(UTIL_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/string.cpp ${CMAKE_CURRENT_SOURCE_DIR}/srp.cpp ${CMAKE_CURRENT_SOURCE_DIR}/timetaker.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/png.cpp PARENT_SCOPE) diff --git a/src/util/base64.cpp b/src/util/base64.cpp index 6e1584410..0c2455222 100644 --- a/src/util/base64.cpp +++ b/src/util/base64.cpp @@ -33,18 +33,39 @@ static const std::string base64_chars = "abcdefghijklmnopqrstuvwxyz" "0123456789+/"; +static const std::string base64_chars_padding_1 = "AEIMQUYcgkosw048"; +static const std::string base64_chars_padding_2 = "AQgw"; static inline bool is_base64(unsigned char c) { - return isalnum(c) || c == '+' || c == '/' || c == '='; + return (c >= '0' && c <= '9') + || (c >= 'A' && c <= 'Z') + || (c >= 'a' && c <= 'z') + || c == '+' || c == '/'; } bool base64_is_valid(std::string const& s) { - for (char i : s) - if (!is_base64(i)) + size_t i = 0; + for (; i < s.size(); ++i) + if (!is_base64(s[i])) + break; + unsigned char padding = 3 - ((i + 3) % 4); + if ((padding == 1 && base64_chars_padding_1.find(s[i - 1]) == std::string::npos) + || (padding == 2 && base64_chars_padding_2.find(s[i - 1]) == std::string::npos) + || padding == 3) + return false; + int actual_padding = s.size() - i; + // omission of padding characters is allowed + if (actual_padding == 0) + return true; + + // remaining characters (max. 2) may only be padding + for (; i < s.size(); ++i) + if (s[i] != '=') return false; - return true; + // number of padding characters needs to match + return padding == actual_padding; } std::string base64_encode(unsigned char const* bytes_to_encode, unsigned int in_len) { diff --git a/src/util/container.h b/src/util/container.h index 1c4a219f0..001066563 100644 --- a/src/util/container.h +++ b/src/util/container.h @@ -140,6 +140,13 @@ public: m_signal.post(); } + void push_back(T &&t) + { + MutexAutoLock lock(m_mutex); + m_queue.push_back(std::move(t)); + m_signal.post(); + } + /* this version of pop_front returns a empty element of T on timeout. * Make sure default constructor of T creates a recognizable "empty" element */ diff --git a/src/util/numeric.cpp b/src/util/numeric.cpp index 99e4cfb5c..702ddce95 100644 --- a/src/util/numeric.cpp +++ b/src/util/numeric.cpp @@ -159,7 +159,7 @@ bool isBlockInSight(v3s16 blockpos_b, v3f camera_pos, v3f camera_dir, return true; } -s16 adjustDist(s16 dist, float zoom_fov) +inline float adjustDist(float dist, float zoom_fov) { // 1.775 ~= 72 * PI / 180 * 1.4, the default FOV on the client. // The heuristic threshold for zooming is half of that. @@ -167,8 +167,13 @@ s16 adjustDist(s16 dist, float zoom_fov) if (zoom_fov < 0.001f || zoom_fov > threshold_fov) return dist; - return std::round(dist * std::cbrt((1.0f - std::cos(threshold_fov)) / - (1.0f - std::cos(zoom_fov / 2.0f)))); + return dist * std::cbrt((1.0f - std::cos(threshold_fov)) / + (1.0f - std::cos(zoom_fov / 2.0f))); +} + +s16 adjustDist(s16 dist, float zoom_fov) +{ + return std::round(adjustDist((float)dist, zoom_fov)); } void setPitchYawRollRad(core::matrix4 &m, const v3f &rot) diff --git a/src/util/png.cpp b/src/util/png.cpp new file mode 100755 index 000000000..7ac2e94a1 --- /dev/null +++ b/src/util/png.cpp @@ -0,0 +1,68 @@ +/* +Minetest +Copyright (C) 2021 hecks + +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 "png.h" +#include +#include +#include +#include +#include "util/serialize.h" +#include "serialization.h" +#include "irrlichttypes.h" + +static void writeChunk(std::ostringstream &target, const std::string &chunk_str) +{ + assert(chunk_str.size() >= 4); + assert(chunk_str.size() - 4 < U32_MAX); + writeU32(target, chunk_str.size() - 4); // Write length minus the identifier + target << chunk_str; + writeU32(target, crc32(0,(const u8*)chunk_str.data(), chunk_str.size())); +} + +std::string encodePNG(const u8 *data, u32 width, u32 height, s32 compression) +{ + auto file = std::ostringstream(std::ios::binary); + file << "\x89PNG\r\n\x1a\n"; + + { + auto IHDR = std::ostringstream(std::ios::binary); + IHDR << "IHDR"; + writeU32(IHDR, width); + writeU32(IHDR, height); + // 8 bpp, color type 6 (RGBA) + IHDR.write("\x08\x06\x00\x00\x00", 5); + writeChunk(file, IHDR.str()); + } + + { + auto IDAT = std::ostringstream(std::ios::binary); + IDAT << "IDAT"; + auto scanlines = std::ostringstream(std::ios::binary); + for(u32 i = 0; i < height; i++) { + scanlines.write("\x00", 1); // Null predictor + scanlines.write((const char*) data + width * 4 * i, width * 4); + } + compressZlib(scanlines.str(), IDAT, compression); + writeChunk(file, IDAT.str()); + } + + file.write("\x00\x00\x00\x00IEND\xae\x42\x60\x82", 12); + + return file.str(); +} diff --git a/src/util/png.h b/src/util/png.h new file mode 100755 index 000000000..92387aef0 --- /dev/null +++ b/src/util/png.h @@ -0,0 +1,27 @@ +/* +Minetest +Copyright (C) 2021 hecks + +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 +#include "irrlichttypes.h" + +/* Simple PNG encoder. Encodes an RGBA image with no predictors. + Returns a binary string. */ +std::string encodePNG(const u8 *data, u32 width, u32 height, s32 compression); diff --git a/src/util/pointer.h b/src/util/pointer.h index d29ec8739..7fc5de551 100644 --- a/src/util/pointer.h +++ b/src/util/pointer.h @@ -51,6 +51,19 @@ public: else data = NULL; } + Buffer(Buffer &&buffer) + { + m_size = buffer.m_size; + if(m_size != 0) + { + data = buffer.data; + buffer.data = nullptr; + buffer.m_size = 0; + } + else + data = nullptr; + } + // Copies whole buffer Buffer(const T *t, unsigned int size) { m_size = size; @@ -62,10 +75,12 @@ public: else data = NULL; } + ~Buffer() { drop(); } + Buffer& operator=(const Buffer &buffer) { if(this == &buffer) @@ -81,6 +96,23 @@ public: data = NULL; return *this; } + Buffer& operator=(Buffer &&buffer) + { + if(this == &buffer) + return *this; + drop(); + m_size = buffer.m_size; + if(m_size != 0) + { + data = buffer.data; + buffer.data = nullptr; + buffer.m_size = 0; + } + else + data = nullptr; + return *this; + } + T & operator[](unsigned int i) const { return data[i]; @@ -89,10 +121,12 @@ public: { return data; } + unsigned int getSize() const { return m_size; } + private: void drop() { diff --git a/src/util/serialize.cpp b/src/util/serialize.cpp index d770101f2..281061229 100644 --- a/src/util/serialize.cpp +++ b/src/util/serialize.cpp @@ -248,7 +248,7 @@ std::string serializeJsonStringIfNeeded(const std::string &s) std::string deSerializeJsonStringIfNeeded(std::istream &is) { - std::ostringstream tmp_os; + std::stringstream tmp_os(std::ios_base::binary | std::ios_base::in | std::ios_base::out); bool expect_initial_quote = true; bool is_json = false; bool was_backslash = false; @@ -280,8 +280,7 @@ std::string deSerializeJsonStringIfNeeded(std::istream &is) expect_initial_quote = false; } if (is_json) { - std::istringstream tmp_is(tmp_os.str(), std::ios::binary); - return deSerializeJsonString(tmp_is); + return deSerializeJsonString(tmp_os); } return tmp_os.str(); diff --git a/util/buildbot/buildwin32.sh b/util/buildbot/buildwin32.sh index 1b0a997a8..bfa1e4a09 100755 --- a/util/buildbot/buildwin32.sh +++ b/util/buildbot/buildwin32.sh @@ -30,7 +30,7 @@ if [ -z "$toolchain_file" ]; then fi echo "Using $toolchain_file" -irrlicht_version=1.9.0mt1 +irrlicht_version=1.9.0mt3 ogg_version=1.3.4 vorbis_version=1.3.7 curl_version=7.76.1 @@ -40,6 +40,7 @@ sqlite3_version=3.35.5 luajit_version=2.1.0-beta3 leveldb_version=1.23 zlib_version=1.2.11 +zstd_version=1.4.9 mkdir -p $libdir @@ -66,6 +67,7 @@ download () { cd $libdir download "https://github.com/minetest/irrlicht/releases/download/$irrlicht_version/win32.zip" irrlicht-$irrlicht_version.zip download "http://minetest.kitsunemimi.pw/zlib-$zlib_version-win32.zip" +download "http://minetest.kitsunemimi.pw/zstd-$zstd_version-win32.zip" download "http://minetest.kitsunemimi.pw/libogg-$ogg_version-win32.zip" download "http://minetest.kitsunemimi.pw/libvorbis-$vorbis_version-win32.zip" download "http://minetest.kitsunemimi.pw/curl-$curl_version-win32.zip" @@ -97,7 +99,7 @@ cd $builddir mkdir build cd build -irr_dlls=$(echo $libdir/irrlicht/bin/*.dll | tr ' ' ';') +irr_dlls=$(echo $libdir/irrlicht/lib/*.dll | tr ' ' ';') vorbis_dlls=$(echo $libdir/libvorbis/bin/libvorbis{,file}-*.dll | tr ' ' ';') gettext_dlls=$(echo $libdir/gettext/bin/lib{intl,iconv}-*.dll | tr ' ' ';') @@ -113,14 +115,17 @@ cmake -S $sourcedir -B . \ -DENABLE_FREETYPE=1 \ -DENABLE_LEVELDB=1 \ \ - -DIRRLICHT_INCLUDE_DIR=$libdir/irrlicht/include/irrlichtmt \ - -DIRRLICHT_LIBRARY=$libdir/irrlicht/lib/libIrrlichtMt.dll.a \ + -DCMAKE_PREFIX_PATH=$libdir/irrlicht \ -DIRRLICHT_DLL="$irr_dlls" \ \ -DZLIB_INCLUDE_DIR=$libdir/zlib/include \ - -DZLIB_LIBRARIES=$libdir/zlib/lib/libz.dll.a \ + -DZLIB_LIBRARY=$libdir/zlib/lib/libz.dll.a \ -DZLIB_DLL=$libdir/zlib/bin/zlib1.dll \ \ + -DZSTD_INCLUDE_DIR=$libdir/zstd/include \ + -DZSTD_LIBRARY=$libdir/zstd/lib/libzstd.dll.a \ + -DZSTD_DLL=$libdir/zstd/bin/libzstd.dll \ + \ -DLUA_INCLUDE_DIR=$libdir/luajit/include \ -DLUA_LIBRARY=$libdir/luajit/libluajit.a \ \ diff --git a/util/buildbot/buildwin64.sh b/util/buildbot/buildwin64.sh index a352cc8db..5acb43b73 100755 --- a/util/buildbot/buildwin64.sh +++ b/util/buildbot/buildwin64.sh @@ -18,8 +18,19 @@ mkdir -p $builddir builddir="$( cd "$builddir" && pwd )" libdir=$builddir/libs -toolchain_file=$dir/toolchain_x86_64-w64-mingw32.cmake -irrlicht_version=1.9.0mt1 +# Test which win64 compiler is present +which x86_64-w64-mingw32-gcc &>/dev/null && + toolchain_file=$dir/toolchain_x86_64-w64-mingw32.cmake +which x86_64-w64-mingw32-gcc-posix &>/dev/null && + toolchain_file=$dir/toolchain_x86_64-w64-mingw32-posix.cmake + +if [ -z "$toolchain_file" ]; then + echo "Unable to determine which mingw32 compiler to use" + exit 1 +fi +echo "Using $toolchain_file" + +irrlicht_version=1.9.0mt3 ogg_version=1.3.4 vorbis_version=1.3.7 curl_version=7.76.1 @@ -29,6 +40,7 @@ sqlite3_version=3.35.5 luajit_version=2.1.0-beta3 leveldb_version=1.23 zlib_version=1.2.11 +zstd_version=1.4.9 mkdir -p $libdir @@ -55,6 +67,7 @@ download () { cd $libdir download "https://github.com/minetest/irrlicht/releases/download/$irrlicht_version/win64.zip" irrlicht-$irrlicht_version.zip download "http://minetest.kitsunemimi.pw/zlib-$zlib_version-win64.zip" +download "http://minetest.kitsunemimi.pw/zstd-$zstd_version-win64.zip" download "http://minetest.kitsunemimi.pw/libogg-$ogg_version-win64.zip" download "http://minetest.kitsunemimi.pw/libvorbis-$vorbis_version-win64.zip" download "http://minetest.kitsunemimi.pw/curl-$curl_version-win64.zip" @@ -86,7 +99,7 @@ cd $builddir mkdir build cd build -irr_dlls=$(echo $libdir/irrlicht/bin/*.dll | tr ' ' ';') +irr_dlls=$(echo $libdir/irrlicht/lib/*.dll | tr ' ' ';') vorbis_dlls=$(echo $libdir/libvorbis/bin/libvorbis{,file}-*.dll | tr ' ' ';') gettext_dlls=$(echo $libdir/gettext/bin/lib{intl,iconv}-*.dll | tr ' ' ';') @@ -102,14 +115,17 @@ cmake -S $sourcedir -B . \ -DENABLE_FREETYPE=1 \ -DENABLE_LEVELDB=1 \ \ - -DIRRLICHT_INCLUDE_DIR=$libdir/irrlicht/include/irrlichtmt \ - -DIRRLICHT_LIBRARY=$libdir/irrlicht/lib/libIrrlichtMt.dll.a \ + -DCMAKE_PREFIX_PATH=$libdir/irrlicht \ -DIRRLICHT_DLL="$irr_dlls" \ \ -DZLIB_INCLUDE_DIR=$libdir/zlib/include \ - -DZLIB_LIBRARIES=$libdir/zlib/lib/libz.dll.a \ + -DZLIB_LIBRARY=$libdir/zlib/lib/libz.dll.a \ -DZLIB_DLL=$libdir/zlib/bin/zlib1.dll \ \ + -DZSTD_INCLUDE_DIR=$libdir/zstd/include \ + -DZSTD_LIBRARY=$libdir/zstd/lib/libzstd.dll.a \ + -DZSTD_DLL=$libdir/zstd/bin/libzstd.dll \ + \ -DLUA_INCLUDE_DIR=$libdir/luajit/include \ -DLUA_LIBRARY=$libdir/luajit/libluajit.a \ \ diff --git a/util/buildbot/toolchain_x86_64-w64-mingw32-posix.cmake b/util/buildbot/toolchain_x86_64-w64-mingw32-posix.cmake new file mode 100644 index 000000000..b6b237657 --- /dev/null +++ b/util/buildbot/toolchain_x86_64-w64-mingw32-posix.cmake @@ -0,0 +1,19 @@ +# name of the target operating system +SET(CMAKE_SYSTEM_NAME Windows) + +# which compilers to use for C and C++ +# *-posix is Ubuntu's naming for the MinGW variant that comes with support +# for pthreads / std::thread (required by MT) +SET(CMAKE_C_COMPILER x86_64-w64-mingw32-gcc-posix) +SET(CMAKE_CXX_COMPILER x86_64-w64-mingw32-g++-posix) +SET(CMAKE_RC_COMPILER x86_64-w64-mingw32-windres) + +# here is the target environment located +SET(CMAKE_FIND_ROOT_PATH /usr/x86_64-w64-mingw32) + +# adjust the default behaviour of the FIND_XXX() commands: +# search headers and libraries in the target environment, search +# programs in the host environment +set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) +set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) +set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) diff --git a/util/bump_version.sh b/util/bump_version.sh index 4b12935bd..3e64bfd86 100755 --- a/util/bump_version.sh +++ b/util/bump_version.sh @@ -25,13 +25,13 @@ perform_release() { sed -i -re "s/^set\(DEVELOPMENT_BUILD TRUE\)$/set(DEVELOPMENT_BUILD FALSE)/" CMakeLists.txt - sed -i 's/project.ext.set("versionExtra", "-dev")/project.ext.set("versionExtra", "")/' build/android/build.gradle - sed -i -re "s/\"versionCode\", [0-9]+/\"versionCode\", $NEW_ANDROID_VERSION_CODE/" build/android/build.gradle + sed -i 's/project.ext.set("versionExtra", "-dev")/project.ext.set("versionExtra", "")/' android/build.gradle + sed -i -re "s/\"versionCode\", [0-9]+/\"versionCode\", $NEW_ANDROID_VERSION_CODE/" android/build.gradle sed -i '/\